1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <setjmp.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_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
23 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
24 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
25 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
26 typedef struct RootObj RootObj;
27 typedef struct TNimType TNimType;
28 typedef struct TNimNode TNimNode;
29 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
30 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
31 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
32 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
33 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
34 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
35 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
36 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
37 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
38 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
39 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
40 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
41 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
42 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
43 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
44 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
45 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
46 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
47 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
48 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
49 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
50 typedef struct NimStringDesc NimStringDesc;
51 typedef struct TGenericSeq TGenericSeq;
52 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
53 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
54 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
55 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
56 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
57 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
58 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
59 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
60 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
61 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
62 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
63 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
64 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
65 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
66 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
67 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
68 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
69 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
70 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
71 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
72 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
73 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
74 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
75 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
76 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
77 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
78 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
79 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
80 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
81 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
82 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
83 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
84 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
85 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
86 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
87 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
88 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
89 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
90 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
91 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
92 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
93 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
94 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
95 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
96 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
97 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
98 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
99 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
100 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
101 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
102 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
103 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
104 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
105 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
106 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
107 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
108 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
109 typedef struct tySequence__i7xpiUsxyv6cQ1xK3JbcGQ tySequence__i7xpiUsxyv6cQ1xK3JbcGQ;
110 typedef struct Exception Exception;
111 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
112 typedef struct TSafePoint TSafePoint;
113 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
114 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
115 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
116 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
117 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
118 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
119 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
120 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
121 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
122 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
123 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
124 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
125 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
126 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
127 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
128 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
129 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
130 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
131 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
132 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
133 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
134 typedef struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg;
135 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
136 typedef struct tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ;
137 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
138 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
139 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
140 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
141 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
142 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
143 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
144 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
145 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
146 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
147 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
148 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
149 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
150 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
151 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
152 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
153 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
154 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
155 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
156 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
157 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
158 typedef struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg;
159 typedef struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw;
160 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
161 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
162 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
163 typedef struct tyTuple__8bH5UHA9aimOFoSY4U42gzw tyTuple__8bH5UHA9aimOFoSY4U42gzw;
164 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
165 typedef struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA;
166 typedef struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ;
167 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
168 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
169 typedef struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA;
170 typedef struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA;
171 typedef struct tySequence__bGUffHlsVXt0g6ZKEF4OfQ tySequence__bGUffHlsVXt0g6ZKEF4OfQ;
172 typedef struct tyTuple__Qqa8F49azZNOOP4FK3LKbhw tyTuple__Qqa8F49azZNOOP4FK3LKbhw;
173 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
174 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
175 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
176 typedef struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ;
177 typedef struct tySequence__0dpGN6F4ocevqUQGsaf41w tySequence__0dpGN6F4ocevqUQGsaf41w;
178 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
179 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
180 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
181 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
182 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
183 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
184 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
185 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
186 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
187 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
188 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
189 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
190 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
191 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
192 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
193 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
194 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
195 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
196 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
197 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
198 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
199 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
200 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
201 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
202 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
203 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
204 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
205 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
206 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
207 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
208 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
209 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
210 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
211 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
212 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
213 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
214 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
215 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
216 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
217 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
218 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
219 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
220 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
221 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
222 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
223 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
224 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
225 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
226 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
227 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
228 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
229 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
230 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
231 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
232 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
233 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
234 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
235 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
236 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
237 NU16 line;
238 NI16 col;
239 NI32 fileIndex;
240 };
241 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
242 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
243 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
244 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
245 struct TNimType {
246 NI size;
247 NI align;
248 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
249 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
250 TNimType* base;
251 TNimNode* node;
252 void* finalizer;
253 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
254 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
255 };
256 struct RootObj {
257 TNimType* m_type;
258 };
259 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
260   RootObj Sup;
261 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
262 };
263 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
264 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
265 NI counter;
266 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
267 };
268 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
269 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
270 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
271 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
272 typedef struct {
273 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
274 void* ClE_0;
275 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
276 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
277 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__qlV9aWvA5wrWVg9bI5PqwJyA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
278 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
279 typedef struct {
280 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
281 void* ClE_0;
282 } tyProc__3cacbJ4la9bDJNibHybQSnA;
283 typedef struct {
284 N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, void* ClE_0);
285 void* ClE_0;
286 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
287 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
288 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
289 NI elems;
290 NI counter;
291 NI max;
292 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
293 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
294 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
295 };
296 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
297 NI counter;
298 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
299 };
300 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
301 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col);
302 struct TGenericSeq {
303 NI len;
304 NI reserved;
305 };
306 struct NimStringDesc {
307   TGenericSeq Sup;
308 NIM_CHAR data[SEQ_DECL_SIZE];
309 };
310 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
311 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
312 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
313 NI counter;
314 };
315 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
316 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
317 NI counter;
318 };
319 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
320 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
321 NI counter;
322 };
323 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
324   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
325 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
326 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
327 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
328 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
329 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
330 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
331 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
332 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
333 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
334 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
335 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
336 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
337 NI instCounter;
338 NI* templInstCounter;
339 NI inGenericContext;
340 NI inStaticContext;
341 NI inUnrolledContext;
342 NI compilesContextId;
343 NI compilesContextIdGenerator;
344 NI inGenericInst;
345 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
346 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
347 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
348 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
349 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
350 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
351 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
352 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
353 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
354 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
355 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
356 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
357 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
358 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
359 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
360 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
361 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
362 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
363 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
364 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
365 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
366 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
367 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
368 NI topStmts;
369 NI lastGenericIdx;
370 NI hloLoopDetector;
371 NI inParallelStmt;
372 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
373 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
374 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
375 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
376 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
377 NimStringDesc* recursiveDep;
378 NIM_BOOL suggestionsMade;
379 NIM_BOOL isAmbiguous;
380 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
381 NI inTypeContext;
382 NI inConceptDecl;
383 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
384 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
385 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
386 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
387 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
388 NI inUncheckedAssignSection;
389 };
390 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
391 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
392 NI counter;
393 };
394 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
395 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
396 NI counter;
397 };
398 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
399 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
400 NI counter;
401 };
402 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
403 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
404 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
405 NI counter;
406 };
407 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
408 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
409 NI counter;
410 };
411 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
412 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
413 NI counter;
414 };
415 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
416 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
417 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
418 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
419 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
420 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
421 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
422 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
423 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
424 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
425 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
426 };
427 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
428 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
429 NI counter;
430 };
431 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
432 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
433 NI counter;
434 };
435 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
436 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
437 NI counter;
438 };
439 typedef struct {
440 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
441 void* ClE_0;
442 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
443 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
444 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
445 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
446 NI counter;
447 };
448 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
449 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
450 NI counter;
451 };
452 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
453 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
454 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
455 tySequence__23SMqauuRsbDANhthj9bWlA* data;
456 NI counter;
457 };
458 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
459 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
460 NI counter;
461 };
462 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
463 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
464 NI counter;
465 };
466 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
467 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
468 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
469 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
470 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
471 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
472 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
473 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
474 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
475 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
476 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
477 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
478 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
479 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
480 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
481 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
482 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
483 };
484 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
485 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
486 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
487 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
488 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
489 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
490 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
491 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
492 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
493 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
494 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
495 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
496 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
497 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
498 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
499 NIM_BOOL suggestMode;
500 NIM_BOOL invalidTransitiveClosure;
501 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
502 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
503 RootObj* backend;
504 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
505 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
506 RootObj* vm;
507 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
508 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
509 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
510 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
511 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
512 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
513 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
514 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
515 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
516 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
517 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
518 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
519 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
520 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
521 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
522 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
523 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
524 tySequence__MAQKEADohlpnXTModtugbQ* passes;
525 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
526 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
527 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
528 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
529 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
530 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
531 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
532 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
533 };
534 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
535 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
536 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
537 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
538 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
539 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
540 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
541 NI intSize;
542 NI floatSize;
543 NI ptrSize;
544 NimStringDesc* tnl;
545 };
546 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
547 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
548 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
549 NIM_BOOL trackPosAttached;
550 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
551 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
552 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
553 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
554 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
555 NI32 systemFileIdx;
556 };
557 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
558 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
559 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
560 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
561 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
562 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
563 NI counter;
564 };
565 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
566 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
567 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
568 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
569 NI Field0;
570 NI Field1;
571 NI Field2;
572 };
573 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
574 typedef struct {
575 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
576 void* ClE_0;
577 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
578 typedef struct {
579 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
580 void* ClE_0;
581 } tyProc__k2HFjxisIgDALbEUFojxaQ;
582 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
583 typedef struct {
584 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
585 void* ClE_0;
586 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
587 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
588 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
589 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
590 NI linesCompiled;
591 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
592 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
593 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
594 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
595 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
596 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
597 NimStringDesc* unitSep;
598 NI evalTemplateCounter;
599 NI evalMacroCounter;
600 NI8 exitcode;
601 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
602 NimStringDesc* cmdInput;
603 NIM_BOOL projectIsCmd;
604 NIM_BOOL implicitCmd;
605 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
606 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
607 NIM_BOOL hintProcessingDots;
608 NI verbosity;
609 NI numberOfProcessors;
610 NF lastCmdTime;
611 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
612 NI spellSuggestMax;
613 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
614 NimStringDesc* headerFile;
615 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
616 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
617 NimStringDesc* arguments;
618 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
619 NIM_BOOL oldNewlines;
620 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
621 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
622 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
623 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
624 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
625 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
626 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
627 NI mainPackageId;
628 NI errorCounter;
629 NI hintCounter;
630 NI warnCounter;
631 NI errorMax;
632 NI maxLoopIterationsVM;
633 NIM_BOOL isVmTrace;
634 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
635 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
636 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
637 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
638 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
639 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
640 NimStringDesc* outFile;
641 NimStringDesc* outDir;
642 NimStringDesc* jsonBuildFile;
643 NimStringDesc* prefixDir;
644 NimStringDesc* libpath;
645 NimStringDesc* nimcacheDir;
646 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
647 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
648 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
649 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
650 NimStringDesc* projectName;
651 NimStringDesc* projectPath;
652 NimStringDesc* projectFull;
653 NIM_BOOL projectIsStdin;
654 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
655 NI32 projectMainIdx;
656 NI32 projectMainIdx2;
657 NimStringDesc* command;
658 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
659 NimStringDesc* commandLine;
660 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
661 NIM_BOOL keepComments;
662 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
663 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
664 NimStringDesc* docSeeSrcUrl;
665 NimStringDesc* docRoot;
666 NimStringDesc* docCmd;
667 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
668 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
669 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
670 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
671 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
672 NimStringDesc* linkOptionsCmd;
673 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
674 NimStringDesc* linkOptions;
675 NimStringDesc* compileOptions;
676 NimStringDesc* cCompilerPath;
677 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
678 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
679 NI suggestVersion;
680 NI suggestMaxResults;
681 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
682 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
683 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
684 NimStringDesc* cppCustomNamespace;
685 NimStringDesc* nimMainPrefix;
686 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
687 };
688 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
689 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
690 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
691 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
692 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
693 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
694 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
695 union{
696 struct {NI64 intVal;
697 } _kind_1;
698 struct {NF floatVal;
699 } _kind_2;
700 struct {NimStringDesc* strVal;
701 } _kind_3;
702 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
703 } _kind_4;
704 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
705 } _kind_5;
706 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
707 } _kind_6;
708 };
709 };
710 struct Exception {
711   RootObj Sup;
712 Exception* parent;
713 NCSTRING name;
714 NimStringDesc* message;
715 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
716 Exception* up;
717 };
718 struct TSafePoint {
719 TSafePoint* prev;
720 NI status;
721 jmp_buf context;
722 };
723 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
724 struct TNimNode {
725 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
726 NI offset;
727 TNimType* typ;
728 NCSTRING name;
729 NI len;
730 TNimNode** sons;
731 };
732 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
733 NI refcount;
734 TNimType* typ;
735 };
736 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
737 void* bottom;
738 };
739 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
740 NI len;
741 NI cap;
742 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
743 };
744 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
745 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
746 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
747 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
748 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
749 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
750 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
751 };
752 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
753 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
754 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
755 NI key;
756 NI upperBound;
757 NI level;
758 };
759 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
760 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
761 NI Field1;
762 };
763 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
764 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
765 NI len;
766 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
767 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
768 };
769 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
770 NI minLargeObj;
771 NI maxLargeObj;
772 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
773 NU32 flBitmap;
774 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
775 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
776 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
777 NI currMem;
778 NI maxMem;
779 NI freeMem;
780 NI occ;
781 NI lastSize;
782 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
783 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
784 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
785 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
786 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
787 NIM_BOOL locked;
788 NIM_BOOL blockChunkSizeIncrease;
789 NI nextChunkSize;
790 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
791 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
792 };
793 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
794 NI stackScans;
795 NI cycleCollections;
796 NI maxThreshold;
797 NI maxStackSize;
798 NI maxStackCells;
799 NI cycleTableSize;
800 NI64 maxPause;
801 };
802 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
803 NI counter;
804 NI max;
805 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
806 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
807 };
808 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
809 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
810 NI cycleThreshold;
811 NI zctThreshold;
812 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
813 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
814 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
815 NI recGcLock;
816 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
817 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
818 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
819 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
820 NI gcThreadId;
821 };
822 typedef NU8 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q;
823 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
824 NI32 module;
825 NI32 item;
826 };
827 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
828   RootObj Sup;
829 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
830 };
831 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
832 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
833 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
834 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
835 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
836 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
837 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
838 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
839 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
840 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
841 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
842 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
843 };
844 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
845   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
846 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
847 union{
848 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
849 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
850 } _kind_1;
851 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
852 NI bitsize;
853 NI alignment;
854 } _kind_2;
855 };
856 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
857 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
858 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
859 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
860 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
861 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
862 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
863 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
864 NI position;
865 NI offset;
866 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
867 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
868 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
869 };
870 struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg {
871 NI h;
872 };
873 struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw {
874 NI depthLevel;
875 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
876 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* parent;
877 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* allowPrivateAccess;
878 };
879 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
880 NI id;
881 NimStringDesc* s;
882 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
883 NI h;
884 };
885 struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ {
886 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section;
887 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* qualifiedPath;
888 NimStringDesc** name;
889 NimStringDesc* filePath;
890 NI line;
891 NI column;
892 NimStringDesc* doc;
893 NimStringDesc* forth;
894 NI quality;
895 NIM_BOOL isGlobal;
896 NIM_BOOL contextFits;
897 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix;
898 NU8 symkind;
899 NI scope;
900 NI localUsages;
901 NI globalUsages;
902 NI tokenLen;
903 NI version;
904 };
905 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
906 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
907 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
908 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
909 NI a;
910 NI b;
911 };
912 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
913 struct tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ {
914   RootObj Sup;
915 NI colonstate_;
916 NimStringDesc* line1;
917 };
918 typedef struct {
919 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (NI col, void* ClE_0);
920 void* ClE_0;
921 } tyProc__cOOsXj9cY0bKt2oqNqLbhZw;
922 typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_5) (NI col);
923 typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_6) (NI col);
924 typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_7) (NI col);
925 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
926 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
927 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
928 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
929   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
930 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
931 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
932 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
933 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
934 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
935 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
936 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
937 NI64 size;
938 NI16 align;
939 NI16 paddingAtEnd;
940 NI16 lockLevel;
941 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
942 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
943 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
944 };
945 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
946 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
947 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
948 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
949 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
950 };
951 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
952 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
953 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
954 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
955 };
956 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
957 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
958 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
959 };
960 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
961 NimStringDesc* definedSymbols;
962 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
963 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
964 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
965 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
966 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
967 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
968 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
969 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
970 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
971 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
972 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
973 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
974 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
975 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
976 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
977 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
978 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
979 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
980 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
981 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
982 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
983 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
984 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
985 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
986 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
987 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
988 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
989 };
990 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
991 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
992 NI counter;
993 };
994 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
995 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
996 NIM_BOOL symsInit;
997 NIM_BOOL typesInit;
998 NIM_BOOL loadedButAliveSetChanged;
999 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
1000 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
1001 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
1002 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1003 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
1004 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
1005 };
1006 struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw {
1007 NI lastModule;
1008 NU32 lastLit;
1009 NI32 lastFile;
1010 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1011 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
1012 };
1013 struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg {
1014 tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw decoder;
1015 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* values;
1016 NI i;
1017 NI module;
1018 };
1019 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
1020 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1021 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
1022 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
1023 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
1024 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
1025 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
1026 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
1027 };
1028 struct tyTuple__8bH5UHA9aimOFoSY4U42gzw {
1029 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1030 NI Field1;
1031 NIM_BOOL Field2;
1032 };
1033 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
1034 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
1035 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
1036 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
1037 union{
1038 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
1039 } _mode_2;
1040 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
1041 } _mode_3;
1042 };
1043 };
1044 typedef NU8 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg;
1045 typedef NU8 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w;
1046 struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ {
1047 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w kind;
1048 NI arg;
1049 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
1050 };
1051 struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA {
1052 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1053 NI exactMatches;
1054 NI genericMatches;
1055 NI subtypeMatches;
1056 NI intConvMatches;
1057 NI convMatches;
1058 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg state;
1059 tyObject_TType__facALICuu8zUj0hjvbTLFg* callee;
1060 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* calleeSym;
1061 NI calleeScope;
1062 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
1063 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
1064 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1065 NIM_BOOL baseTypeMatch;
1066 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fauxMatch;
1067 NIM_BOOL genericConverter;
1068 NIM_BOOL coerceDistincts;
1069 NIM_BOOL typedescMatched;
1070 NIM_BOOL isNoCall;
1071 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* inferredTypes;
1072 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1073 NI inheritancePenalty;
1074 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1075 NIM_BOOL diagnosticsEnabled;
1076 };
1077 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
1078 typedef NU8 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw;
1079 typedef NU8 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg;
1080 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
1081 NI32 module;
1082 NI32 symId;
1083 NI32 typeId_0;
1084 NIM_BOOL sealed;
1085 };
1086 struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg {
1087 tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateType;
1088 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prev;
1089 NI depth;
1090 };
1091 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
1092 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
1093 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
1094 };
1095 typedef NU8 tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg;
1096 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
1097 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
1098 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
1099 NimStringDesc* Field0;
1100 NI Field1;
1101 NI Field2;
1102 };
1103 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
1104 typedef NU8 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA;
1105 struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA {
1106 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA Field0;
1107 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw Field1;
1108 };
1109 typedef NU8 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ;
1110 typedef NU8 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ;
1111 struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA {
1112   RootObj Sup;
1113 NI colonstate_;
1114 NimStringDesc* errorPrefix1;
1115 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeClass2;
1116 tyProc__k2HFjxisIgDALbEUFojxaQ oldWriteHook3;
1117 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics4;
1118 };
1119 struct tyTuple__Qqa8F49azZNOOP4FK3LKbhw {
1120 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1121 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field1;
1122 };
1123 typedef N_CLOSURE_PTR(void, TM__EV5hHJmjIY9cla9b9be7fSVJQ_40) (NimStringDesc* output);
1124 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_47) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1125 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_48) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1126 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_54) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1127 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_55) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1128 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
1129 typedef NU8 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag;
1130 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
1131 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
1132 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
1133 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1134 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
1135 };
1136 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
1137 NI Field0;
1138 NI Field1;
1139 };
1140 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
1141 NI Field0;
1142 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
1143 };
1144 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
1145 typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2];
1146 typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
1147 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
1148 typedef struct {
1149 N_NIMCALL_PTR(NI, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y, void* ClE_0);
1150 void* ClE_0;
1151 } tyProc__pNH4eLNN9aK2oskAhILvUcw;
1152 typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
1153 typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_87) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y);
1154 typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_88) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y);
1155 typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y, void* ClE_0);
1156 typedef N_CLOSURE_PTR(void, TM__EV5hHJmjIY9cla9b9be7fSVJQ_90) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result);
1157 typedef NU8 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg;
1158 struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ {
1159 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1160 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1161 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1162 NIM_BOOL enabled;
1163 };
1164 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
1165 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
1166 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_103) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1167 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
1168 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
1169 RootObj* val;
1170 };
1171 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
1172 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
1173 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1174 };
1175 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
1176 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1177 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1178 };
1179 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
1180 NI Field0;
1181 NI Field1;
1182 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
1183 };
1184 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
1185 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
1186 NI counter;
1187 };
1188 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
1189 NI32 thisModule;
1190 NI32 lastFile;
1191 NU32 lastLit;
1192 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
1193 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
1194 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
1195 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
1196 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
1197 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1198 };
1199 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
1200 NU32 module;
1201 NI32 item;
1202 };
1203 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
1204 NI module;
1205 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
1206 };
1207 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
1208 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1209 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1210 };
1211 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
1212 NI Field0;
1213 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1214 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
1215 };
1216 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
1217 NI module;
1218 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
1219 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
1220 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1221 };
1222 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
1223 NI Field0;
1224 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1225 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
1226 };
1227 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
1228 NI Field0;
1229 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1230 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
1231 };
1232 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
1233 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1234 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1235 };
1236 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
1237 NI Field0;
1238 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
1239 };
1240 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
1241 NI Field0;
1242 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1243 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1244 };
1245 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1246 NI Field0;
1247 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1248 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1249 };
1250 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1251 NI Field0;
1252 NimStringDesc* Field1;
1253 NI32 Field2;
1254 };
1255 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1256 NI Field0;
1257 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1258 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1259 };
1260 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1261 NI Field0;
1262 NI32 Field1;
1263 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1264 };
1265 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1266 NI Field0;
1267 NI32 Field1;
1268 NI32 Field2;
1269 };
1270 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1271 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1272 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1273 };
1274 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1275 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1276 NI Field0;
1277 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1278 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1279 };
1280 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1281 NI Field0;
1282 NI Field1;
1283 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1284 };
1285 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1286 NI Field0;
1287 NimStringDesc* Field1;
1288 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1289 };
1290 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1291 NI Field0;
1292 NimStringDesc* Field1;
1293 NI64 Field2;
1294 };
1295 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1296 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1297 NI entries;
1298 };
1299 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1300 NI Field0;
1301 NimStringDesc* Field1;
1302 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1303 };
1304 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1305 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1306 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1307 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1308 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1309 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1310 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1311 NIM_BOOL Field3;
1312 };
1313 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1314 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1315 NimStringDesc* Field1;
1316 };
1317 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1318 NimStringDesc* fullPath;
1319 NimStringDesc* projPath;
1320 NimStringDesc* shortName;
1321 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1322 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1323 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1324 NimStringDesc* dirtyFile;
1325 NimStringDesc* hash;
1326 NIM_BOOL dirty;
1327 };
1328 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1329 NI Field0;
1330 NimStringDesc* Field1;
1331 };
1332 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1333 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1334 NimStringDesc* nimname;
1335 NimStringDesc* cname;
1336 NimStringDesc* obj;
1337 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1338 NimStringDesc* customArgs;
1339 };
1340 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1341 NCSTRING procname;
1342 NI line;
1343 NCSTRING filename;
1344 };
1345 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1346 NU32 Field0;
1347 NimStringDesc* Field1;
1348 };
1349 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1350 NU16 line;
1351 NI16 col;
1352 NU32 file;
1353 };
1354 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1355 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1356 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1357 NI32 operand;
1358 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1359 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1360 };
1361 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1362 NU32 Field0;
1363 NI32 Field1;
1364 };
1365 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1366 NU32 Field0;
1367 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1368 };
1369 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1370 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1371 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1372 };
1373 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1374 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1375 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1376 };
1377 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1378 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1379 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1380 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1381 };
1382 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1383 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1384 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1385 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1386 };
1387 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1388 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1389 NI Field1;
1390 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1391 };
1392 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1393 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1394 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1395 NIM_BOOL generated;
1396 NIM_BOOL isOverriden;
1397 NU32 name;
1398 NI32 path;
1399 };
1400 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1401 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1402 NU32 name;
1403 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1404 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1405 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1406 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1407 NI32 ast;
1408 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1409 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1410 NI bitsize;
1411 NI alignment;
1412 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1413 NI position;
1414 NI offset;
1415 NU32 externalName;
1416 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1417 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1418 NI32 constraint;
1419 };
1420 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1421 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1422 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1423 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1424 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1425 NI32 n;
1426 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1427 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1428 NI64 size;
1429 NI16 align;
1430 NI16 paddingAtEnd;
1431 NI16 lockLevel;
1432 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1433 NI32 nonUniqueId;
1434 };
1435 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1436 NI Field0;
1437 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1438 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1439 };
1440 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1441 NI Field0;
1442 NI32 Field1;
1443 NU32 Field2;
1444 };
1445 struct tySequence__i7xpiUsxyv6cQ1xK3JbcGQ {
1446   TGenericSeq Sup;
1447   tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* data[SEQ_DECL_SIZE];
1448 };
1449 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1450   TGenericSeq Sup;
1451   NimStringDesc* data[SEQ_DECL_SIZE];
1452 };
1453 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1454   TGenericSeq Sup;
1455   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1456 };
1457 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1458   TGenericSeq Sup;
1459   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1460 };
1461 struct tySequence__bGUffHlsVXt0g6ZKEF4OfQ {
1462   TGenericSeq Sup;
1463   tyTuple__Qqa8F49azZNOOP4FK3LKbhw data[SEQ_DECL_SIZE];
1464 };
1465 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1466   TGenericSeq Sup;
1467   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1468 };
1469 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1470   TGenericSeq Sup;
1471   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1472 };
1473 struct tySequence__0dpGN6F4ocevqUQGsaf41w {
1474   TGenericSeq Sup;
1475   tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ data[SEQ_DECL_SIZE];
1476 };
1477 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1478   TGenericSeq Sup;
1479   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1480 };
1481 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1482   TGenericSeq Sup;
1483   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1484 };
1485 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1486   TGenericSeq Sup;
1487   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1488 };
1489 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1490   TGenericSeq Sup;
1491   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1492 };
1493 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1494   TGenericSeq Sup;
1495   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1496 };
1497 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1498   TGenericSeq Sup;
1499   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1500 };
1501 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1502   TGenericSeq Sup;
1503   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1504 };
1505 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1506   TGenericSeq Sup;
1507   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1508 };
1509 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1510   TGenericSeq Sup;
1511   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1512 };
1513 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1514   TGenericSeq Sup;
1515   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1516 };
1517 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1518   TGenericSeq Sup;
1519   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1520 };
1521 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1522   TGenericSeq Sup;
1523   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1524 };
1525 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1526   TGenericSeq Sup;
1527   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1528 };
1529 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1530   TGenericSeq Sup;
1531   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1532 };
1533 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1534   TGenericSeq Sup;
1535   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1536 };
1537 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1538   TGenericSeq Sup;
1539   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1540 };
1541 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1542   TGenericSeq Sup;
1543   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1544 };
1545 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1546   TGenericSeq Sup;
1547   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1548 };
1549 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1550   TGenericSeq Sup;
1551   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1552 };
1553 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1554   TGenericSeq Sup;
1555   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1556 };
1557 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1558   TGenericSeq Sup;
1559   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1560 };
1561 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1562   TGenericSeq Sup;
1563   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1564 };
1565 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1566   TGenericSeq Sup;
1567   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1568 };
1569 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1570   TGenericSeq Sup;
1571   NI32 data[SEQ_DECL_SIZE];
1572 };
1573 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1574   TGenericSeq Sup;
1575   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1576 };
1577 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1578   TGenericSeq Sup;
1579   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1580 };
1581 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1582   TGenericSeq Sup;
1583   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1584 };
1585 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1586   TGenericSeq Sup;
1587   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1588 };
1589 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1590   TGenericSeq Sup;
1591   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1592 };
1593 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1594   TGenericSeq Sup;
1595   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1596 };
1597 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1598   TGenericSeq Sup;
1599   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1600 };
1601 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1602   TGenericSeq Sup;
1603   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1604 };
1605 struct tySequence__MAQKEADohlpnXTModtugbQ {
1606   TGenericSeq Sup;
1607   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1608 };
1609 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1610   TGenericSeq Sup;
1611   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1612 };
1613 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1614   TGenericSeq Sup;
1615   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1616 };
1617 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1618   TGenericSeq Sup;
1619   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1620 };
1621 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1622   TGenericSeq Sup;
1623   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1624 };
1625 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1626   TGenericSeq Sup;
1627   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1628 };
1629 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1630   TGenericSeq Sup;
1631   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1632 };
1633 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1634   TGenericSeq Sup;
1635   NU32 data[SEQ_DECL_SIZE];
1636 };
1637 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1638   TGenericSeq Sup;
1639   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1640 };
1641 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1642   TGenericSeq Sup;
1643   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1644 };
1645 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1646   TGenericSeq Sup;
1647   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1648 };
1649 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1650   TGenericSeq Sup;
1651   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1652 };
1653 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1654   TGenericSeq Sup;
1655   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1656 };
1657 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1658   TGenericSeq Sup;
1659   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1660 };
1661 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1662   TGenericSeq Sup;
1663   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1664 };
1665 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1666   TGenericSeq Sup;
1667   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1668 };
1669 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1670   TGenericSeq Sup;
1671   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1672 };
1673 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1674   TGenericSeq Sup;
1675   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1676 };
1677 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1678   TGenericSeq Sup;
1679   NI64 data[SEQ_DECL_SIZE];
1680 };
1681 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1682   TGenericSeq Sup;
1683   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1684 };
1685 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1686   TGenericSeq Sup;
1687   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1688 };
1689 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1690   TGenericSeq Sup;
1691   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1692 };
1693 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1694   TGenericSeq Sup;
1695   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1696 };
1697 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1698   TGenericSeq Sup;
1699   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1700 };
1701 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exactEquals__msgs_997)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
1702 N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1703 N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1704 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1705 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
1706 static N_INLINE(void, popSafePoint)(void);
1707 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
1708 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
1709 static N_INLINE(void, popCurrentException)(void);
1710 static N_INLINE(void, asgnRef)(void** dest, void* src);
1711 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1712 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1713 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1714 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1715 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1716 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1717 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1718 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1719 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
1720 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1721 N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1722 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1723 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1724 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initTabIter__astalgo_3777)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab);
1725 static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res);
1726 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1727 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__prefixmatches_10)(NimStringDesc* p, NimStringDesc* s);
1728 N_LIB_PRIVATE N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*, symToSuggest__sigmatch_4528)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isLocal, tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI quality, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix, NIM_BOOL inTypeContext, NI scope, NIM_BOOL useSuppliedInfo);
1729 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1730 static N_INLINE(void, nimGCunrefRC1)(void* p);
1731 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1732 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
1733 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
1734 static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value);
1735 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
1736 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
1737 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1738 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1739 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1740 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1741 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1742 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
1743 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1744 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1745 N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1746 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1747 static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op);
1748 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, sourceLine__msgs_1101)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
1749 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0);
1750 static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start);
1751 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
1752 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
1753 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
1754 static N_INLINE(NIM_CHAR, X5BX5D___system_7328)(NimStringDesc* s, NI i);
1755 N_LIB_PRIVATE N_NIMCALL(NI, identLen__linter_11)(NimStringDesc* line, NI start);
1756 static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start);
1757 N_LIB_PRIVATE N_NIMCALL(void, fastSubstr__pureZparseutils_170)(NimStringDesc* s, NimStringDesc** token, NI start, NI length);
1758 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1759 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1760 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1761 N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1762 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1763 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1764 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1765 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1766 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIter__astalgo_3762)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab);
1767 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
1768 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module);
1769 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initRodIterAllSyms__icZic_8667)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, NI32 module, NIM_BOOL importHidden);
1770 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextRodIter__icZic_8962)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tySequence__rQHmYk1HzcwNxKBymIFHpA** g);
1771 N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1772 N_LIB_PRIVATE N_NIMCALL(void, suggestSymList__sigmatch_5040)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1773 N_LIB_PRIVATE N_NIMCALL(void, suggestField__sigmatch_5026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1774 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f);
1775 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1776 N_LIB_PRIVATE N_NIMCALL(void, suggestObject__sigmatch_5060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1777 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1778 N_LIB_PRIVATE N_NIMCALL(void, suggestOperations__sigmatch_5194)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1779 static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res);
1780 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__renderer_73)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i);
1781 static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg);
1782 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argtypeMatches__sigmatch_4281)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NIM_BOOL fromHlo);
1783 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
1784 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
1785 static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
1786 N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
1787 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatch__sigmatch_3583)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig);
1788 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatchAux__sigmatch_3268)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argSemantized, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig);
1789 N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_3976)(tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1790 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1791 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeFromExpr__semdata_804)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1792 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1793 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
1794 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1795 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRel__sigmatch_202)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig, tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg flags);
1796 static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val);
1797 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
1798 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1799 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1800 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1801 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1802 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
1803 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved);
1804 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypesInBody__semtypinst_988)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, NIM_BOOL allowMetaTypes);
1805 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1806 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
1807 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee);
1808 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent);
1809 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1810 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b);
1811 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, considerQuotedIdent__lookups_28)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* origin);
1812 static N_INLINE(NIM_BOOL, sameEnumTypes__types_2087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1813 N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1814 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
1815 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1816 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1817 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1465)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1818 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1819 N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1440)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1820 N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1579)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1821 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1822 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1823 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleRange__sigmatch_476)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag min, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag max);
1824 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1825 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_745)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1826 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1827 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1828 static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1829 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1830 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete);
1831 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1832 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1833 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_780)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1834 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_794)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1835 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs);
1836 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeWithSons__semdata_821)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons);
1837 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1838 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1839 N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1840 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic__ast_4956)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1841 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1842 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);
1843 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1844 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1845 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1846 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b);
1847 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2038)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1848 N_LIB_PRIVATE N_NIMCALL(NI, isObjectSubtype__sigmatch_656)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin);
1849 N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin);
1850 static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2083)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1851 static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f);
1852 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1853 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1854 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_3495)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1855 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, generateTypeInstance__semtypinst_1050)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1856 static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1857 N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3686)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw rel);
1858 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3416)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
1859 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2210)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1860 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, prepareMetatypeForSigmatch__semtypinst_1064)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1861 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1862 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, conceptMatch__concepts_538)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* concpt, tyObject_TType__facALICuu8zUj0hjvbTLFg* arg, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* bindings, tyObject_TType__facALICuu8zUj0hjvbTLFg* invocation);
1863 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped);
1864 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericSubtype__sigmatch_744)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, NI* d, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin);
1865 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f);
1866 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3617)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1867 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1868 static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op);
1869 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1870 N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*, openScope__lookups_69)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1871 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1872 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1873 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1874 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1875 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1876 static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op);
1877 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1878 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1879 N_LIB_PRIVATE N_NIMCALL(void, addDeclAt__lookups_815)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1880 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0);
1881 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
1882 N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_101)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1883 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
1884 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1885 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1886 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1887 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1888 N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_4390)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1889 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
1890 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1891 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeStaticExpr__semdata_826)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1892 N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch);
1893 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1894 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitConv__sigmatch_3067)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1895 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1896 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3351)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1897 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getInstantiatedType__sigmatch_3053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f);
1898 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1899 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1900 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newProcNode__ast_3821)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pattern, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptions);
1901 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1902 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, userConvMatch__sigmatch_3095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1903 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchNodeKinds__parampatterns_505)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1904 static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1905 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__parampatterns_334)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
1906 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1907 N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1908 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1909 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1910 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1911 N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1912 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1913 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1914 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename__msgs_602)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
1915 N_LIB_PRIVATE N_NIMCALL(void, styleCheckUse__linter_192)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1916 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1917 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0);
1918 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc);
1919 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1920 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1921 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1922 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1923 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1924 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1925 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key);
1926 static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc);
1927 N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x);
1928 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
1929 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
1930 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
1931 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y);
1932 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
1933 N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i);
1934 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1936 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1937 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, localConvMatch__sigmatch_3181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1938 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1939 N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1940 N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_3610)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q src);
1941 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1942 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1943 N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1944 N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1945 N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1946 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item);
1947 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item);
1948 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1949 N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1950 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1951 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argsFit__sigmatch_5113)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig);
1952 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_189)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
1953 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled);
1954 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, originatingModule__ast_4669)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1955 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipGenericOwner__ast_4658)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1956 N_LIB_PRIVATE N_NIMCALL(void, partialMatch__sigmatch_4175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m);
1957 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1958 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1959 N_LIB_PRIVATE N_NIMCALL(void, matchesAux__sigmatch_3784)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
1960 N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1961 N_LIB_PRIVATE N_NIMCALL(void, openShadowScope__lookups_903)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1962 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1963 N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1964 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1965 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1966 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeRangeType__semdata_1039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI64 first, NI64 last, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* intType);
1967 N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1968 N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1969 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1970 N_LIB_PRIVATE N_NIMCALL(void, mergeShadowScope__lookups_907)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1971 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getNamedParamFromList__astalgo_293)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident);
1972 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1973 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1974 N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_425)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1975 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1976 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1977 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1978 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1979 N_LIB_PRIVATE N_NIMCALL(void, closeShadowScope__lookups_905)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1980 N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1981 N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1982 N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1983 N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len);
1984 N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sigmatch_4787)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1985 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1986 N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b);
1987 N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y);
1988 N_LIB_PRIVATE N_NIMCALL(void, suggestWriteln__msgs_421)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s);
1989 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest);
1990 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4697)(tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ c);
1991 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
1992 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1993 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
1994 N_LIB_PRIVATE N_NIMCALL(void, suggestQuit__msgs_446)(void);
1995 static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op);
1996 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1997 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1998 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1999 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2000 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_381)(NI32 fileInfoIdx, NI line, NI col);
2001 extern TNimType NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_;
2002 extern TNimType NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_;
2003 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
2004 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_3 = {
2005 0x00, 0x00, 0x00, 0x00, 0x72, 0xed, 0x00, 0xf4,
2006 0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
2007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2008 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2009 ;
2010 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
2011 N_LIB_PRIVATE TNimType NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_;
2012 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
2013 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
2014 N_LIB_PRIVATE TNimType NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_;
2015 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_8 = {
2016 0x00, 0x00, 0x00, 0x00, 0x72, 0xef, 0x00, 0xf4,
2017 0x01, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78,
2018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2019 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2020 ;
2021 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_9, "=", 1);
2022 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_10 = {
2023 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
2024 0x00}
2025 ;
2026 extern TNimType NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_;
2027 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_11 = {
2028 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
2029 0x00}
2030 ;
2031 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_12 = {
2032 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
2033 0x00}
2034 ;
2035 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_13 = {
2036 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2037 0x00}
2038 ;
2039 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
2040 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_14 = {
2041 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2042 0x00}
2043 ;
2044 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_15 = {
2045 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x10,
2046 0x00}
2047 ;
2048 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_16 = {
2049 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
2050 0x00}
2051 ;
2052 extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractInst__ast_355;
2053 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_17, "unknown", 7);
2054 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_18, "cannot infer the value of the static param \'", 44);
2055 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_19, "\'", 1);
2056 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_21, "/home/runner/work/nightlies/nightlies/nim/compiler/sigmatch.nim", 63);
2057 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_20 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2058 ((NI) 886),
2059 ((NI) 12)}
2060 ;
2061 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_22 = {
2062 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
2063 0x00}
2064 ;
2065 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_23 = {
2066 0x00, 0x08, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00,
2067 0x00}
2068 ;
2069 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_24 = {
2070 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2071 0x00}
2072 ;
2073 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_25 = {
2074 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2075 0x00}
2076 ;
2077 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
2078 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_26, "wrong instantiated type!", 24);
2079 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_27 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2080 ((NI) 1511),
2081 ((NI) 23)}
2082 ;
2083 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_28 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2084 ((NI) 1545),
2085 ((NI) 25)}
2086 ;
2087 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_29 = {
2088 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
2089 0x00}
2090 ;
2091 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_30 = {
2092 0x10, 0x08, 0x10, 0x00, 0x00, 0x60, 0x08, 0x00,
2093 0x00}
2094 ;
2095 N_LIB_PRIVATE TNimType NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_;
2096 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
2097 extern TNimType NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_;
2098 N_LIB_PRIVATE TNimType NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_;
2099 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_32 = {
2100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
2101 0x00}
2102 ;
2103 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_33, " too nested for type matching", 29);
2104 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_34 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2105 ((NI) 670),
2106 ((NI) 16)}
2107 ;
2108 N_LIB_PRIVATE TNimType NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_;
2109 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
2110 N_LIB_PRIVATE TNimType NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_;
2111 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_37, ":", 1);
2112 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_38, "Error:", 6);
2113 static NIM_CONST tyProc__k2HFjxisIgDALbEUFojxaQ TM__EV5hHJmjIY9cla9b9be7fSVJQ_39 = {NIM_NIL,NIM_NIL};
2114 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_41, "(", 1);
2115 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_42, ", ", 2);
2116 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_43, ")", 1);
2117 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_44 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2118 ((NI) 1677),
2119 ((NI) 27)}
2120 ;
2121 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_45, " unknown type kind ", 19);
2122 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
2123 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_46 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2124 ((NI) 1838),
2125 ((NI) 18)}
2126 ;
2127 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_49, "getInstantiatedType", 19);
2128 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_50 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2129 ((NI) 1865),
2130 ((NI) 17)}
2131 ;
2132 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_51 = {
2133 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
2134 0x00}
2135 ;
2136 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_52, "implicitConv", 12);
2137 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_53 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2138 ((NI) 1878),
2139 ((NI) 37)}
2140 ;
2141 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_56 = {
2142 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
2143 0x00}
2144 ;
2145 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_57, "suggest.nim(538, 12) `result == nil or result.kind == nkPragma` ", 64);
2146 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_58, "enum \'", 6);
2147 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_59, "\' which contains field \'", 24);
2148 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_60, "; ", 2);
2149 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_61, " is deprecated", 14);
2150 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_63, "/home/runner/work/nightlies/nightlies/nim/compiler/suggest.nim", 62);
2151 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_62 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2152 ((NI) 550),
2153 ((NI) 15)}
2154 ;
2155 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_64 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2156 ((NI) 552),
2157 ((NI) 9)}
2158 ;
2159 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_65, "$1usage of \'$2\' is an {.error.} defined at $3", 45);
2160 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_66 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2161 ((NI) 563),
2162 ((NI) 12)}
2163 ;
2164 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_67 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2165 ((NI) 565),
2166 ((NI) 6)}
2167 ;
2168 extern TNimType NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_;
2169 N_LIB_PRIVATE TNimType NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_;
2170 extern TNimType NTIpcontext__EjEifkTC8tg9afiUW4StSSA_;
2171 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
2172 N_LIB_PRIVATE TNimType NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_;
2173 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
2174 extern TNimType NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_;
2175 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
2176 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
2177 N_LIB_PRIVATE TNimType NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_;
2178 N_LIB_PRIVATE TNimType NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_;
2179 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_76, "x.state is not csMatch", 22);
2180 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_77 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2181 ((NI) 2237),
2182 ((NI) 21)}
2183 ;
2184 static NIM_CONST tyArray__HU7qaqKu9czJLT84iCBJnsA TM__EV5hHJmjIY9cla9b9be7fSVJQ_78 = {((NI) 0),
2185 ((NI) 256)}
2186 ;
2187 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_79, "sigmatch.nim(2377, 18) `n[a][0].kind == nkEmpty and n[a][1].kind in {nkBracket, nkArgList}` ", 92);
2188 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
2189 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_80, "named parameter has to be an identifier", 39);
2190 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_81 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2191 ((NI) 2394),
2192 ((NI) 18)}
2193 ;
2194 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_82 = {
2195 0x00, 0x88, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
2196 0x00}
2197 ;
2198 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_83, "matches", 7);
2199 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_84 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2200 ((NI) 2462),
2201 ((NI) 23)}
2202 ;
2203 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_85, "cannot convert $1 to $2", 23);
2204 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_86 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2205 ((NI) 2514),
2206 ((NI) 22)}
2207 ;
2208 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_91, "skGlobalVar", 11);
2209 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_92, "skGlobalLet", 11);
2210 extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_;
2211 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_93, ".", 1);
2212 extern TNimType NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_;
2213 N_LIB_PRIVATE TNimType NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_;
2214 N_LIB_PRIVATE TNimType NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_;
2215 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_95, ": ", 2);
2216 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_96, " | ", 3);
2217 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_97, "void", 4);
2218 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_98, "The default parameter \'$1\' has incompatible type with the explicitly requested proc instantiation", 97);
2219 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_99 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2220 ((NI) 2576),
2221 ((NI) 20)}
2222 ;
2223 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_100, "cannot instantiate: \'", 21);
2224 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_101 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2225 ((NI) 2618),
2226 ((NI) 14)}
2227 ;
2228 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_102 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2229 ((NI) 2627),
2230 ((NI) 14)}
2231 ;
2232 extern TSafePoint* excHandler__system_2565;
2233 extern TSafePoint* excHandler__system_2565;
2234 extern TSafePoint* excHandler__system_2565;
2235 extern TSafePoint* excHandler__system_2565;
2236 extern Exception* currException__system_2566;
2237 extern Exception* currException__system_2566;
2238 extern Exception* currException__system_2566;
2239 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(void,pushSafePoint)2240 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
2241 	(*s).prev = excHandler__system_2565;
2242 	excHandler__system_2565 = s;
2243 }
N_INLINE(void,popSafePoint)2244 static N_INLINE(void, popSafePoint)(void) {
2245 	excHandler__system_2565 = (*excHandler__system_2565).prev;
2246 }
N_INLINE(Exception *,nimBorrowCurrentException)2247 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
2248 	Exception* result;
2249 	result = NIM_NIL;
2250 	result = currException__system_2566;
2251 	return result;
2252 }
N_INLINE(NI,pluspercent___system_696)2253 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2254 	NI result;
2255 	result = (NI)0;
2256 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
2257 	return result;
2258 }
N_INLINE(void,incRef__system_5308)2259 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2260 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2261 }
N_INLINE(NI,minuspercent___system_716)2262 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2263 	NI result;
2264 	result = (NI)0;
2265 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
2266 	return result;
2267 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)2268 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
2269 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2270 	NI T1_;
2271 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2272 	T1_ = (NI)0;
2273 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
2274 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2275 	return result;
2276 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2277 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2278 	NIM_BOOL result;
2279 	result = (NIM_BOOL)0;
2280 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
2281 	return result;
2282 }
N_INLINE(void,rtlAddZCT__system_5313)2283 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2284 	addZCT__system_5264((&gch__system_5217.zct), c);
2285 }
N_INLINE(void,decRef__system_5315)2286 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2287 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2288 	{
2289 		NIM_BOOL T3_;
2290 		T3_ = (NIM_BOOL)0;
2291 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2292 		if (!T3_) goto LA4_;
2293 		rtlAddZCT__system_5313(c);
2294 	}
2295 	LA4_: ;
2296 }
N_INLINE(void,asgnRef)2297 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2298 	{
2299 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2300 		if (!!((src == NIM_NIL))) goto LA3_;
2301 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2302 		T5_ = usrToCell__system_5270(src);
2303 		incRef__system_5308(T5_);
2304 	}
2305 	LA3_: ;
2306 	{
2307 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2308 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
2309 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2310 		T10_ = usrToCell__system_5270((*dest));
2311 		decRef__system_5315(T10_);
2312 	}
2313 	LA8_: ;
2314 	(*dest) = src;
2315 }
N_INLINE(void,popCurrentException)2316 static N_INLINE(void, popCurrentException)(void) {
2317 	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
2318 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,safeSemExpr__sigmatch_6411)2319 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2320 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
2321 	TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_2;
2322 	result = NIM_NIL;
2323 	pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_2);
2324 	TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = _setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.context);
2325 	if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status == 0) {
2326 	result = (*c).semExpr(c, n, 0);
2327 	popSafePoint();
2328 	}
2329 	else {
2330 		popSafePoint();
2331 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
2332 			TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = 0;
2333 			result = (*(*c).graph).emptyNode;
2334 			popCurrentException();
2335 		}
2336 	}
2337 	if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status != 0) reraiseException();
2338 	return result;
2339 }
N_INLINE(NI,len__ast_3198)2340 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2341 	NI result;
2342 	NI T1_;
2343 	result = (NI)0;
2344 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2345 	result = T1_;
2346 	return result;
2347 }
N_INLINE(void,nimSetMem__systemZmemory_7)2348 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2349 	void* T1_;
2350 	T1_ = (void*)0;
2351 	T1_ = memset(a, v, ((size_t) (size)));
2352 }
N_INLINE(void,nimZeroMem)2353 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2354 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
2355 }
N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q,prefixMatch__sigmatch_4914)2356 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2357 	tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q result;
2358 	result = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
2359 	switch ((*n).kind) {
2360 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
2361 	{
2362 		result = prefixMatch__prefixmatches_10((*(*n)._kind_5.ident).s, (*(*s).name).s);
2363 	}
2364 	break;
2365 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2366 	{
2367 		result = prefixMatch__prefixmatches_10((*(*(*n)._kind_4.sym).name).s, (*(*s).name).s);
2368 	}
2369 	break;
2370 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
2371 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
2372 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
2373 	{
2374 		{
2375 			NI T6_;
2376 			T6_ = (NI)0;
2377 			T6_ = len__ast_3198(n);
2378 			if (!(((NI) 0) < T6_)) goto LA7_;
2379 			result = prefixMatch__sigmatch_4914(s, (*n)._kind_6.sons->data[((NI) 0)]);
2380 		}
2381 		LA7_: ;
2382 	}
2383 	break;
2384 	default:
2385 	{
2386 	}
2387 	break;
2388 	}
2389 	return result;
2390 }
N_INLINE(NIM_BOOL,filterSym__sigmatch_4909)2391 static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) {
2392 	NIM_BOOL result;
2393 	result = (NIM_BOOL)0;
2394 	{
2395 		if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA3_;
2396 		{
2397 			if (!!((prefix == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
2398 			(*res) = prefixMatch__sigmatch_4914(s, prefix);
2399 			result = !(((*res) == ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0)));
2400 		}
2401 		goto LA5_;
2402 		LA7_: ;
2403 		{
2404 			result = NIM_TRUE;
2405 		}
2406 		LA5_: ;
2407 	}
2408 	LA3_: ;
2409 	return result;
2410 }
N_INLINE(void,nimGCunrefRC1)2411 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2412 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2413 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2414 	T1_ = usrToCell__system_5270(p);
2415 	decRef__system_5315(T1_);
2416 }
N_INLINE(void,nimGCunrefNoCycle)2417 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
2418 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2419 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2420 	T1_ = usrToCell__system_5270(p);
2421 	decRef__system_5315(T1_);
2422 }
N_INLINE(NIM_BOOL,contains__pureZtimes_2283)2423 static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) {
2424 	NIM_BOOL result;
2425 	NIM_BOOL T1_;
2426 	result = (NIM_BOOL)0;
2427 	T1_ = (NIM_BOOL)0;
2428 	T1_ = (s.a <= value);
2429 	if (!(T1_)) goto LA2_;
2430 	T1_ = (value <= s.b);
2431 	LA2_: ;
2432 	result = T1_;
2433 	return result;
2434 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)2435 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
2436 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
2437 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
2438 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
2439 	result.a = a;
2440 	result.b = b;
2441 	return result;
2442 }
N_INLINE(void,appendChar)2443 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2444 	(*dest).data[(*dest).Sup.len] = c;
2445 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2446 	(*dest).Sup.len += ((NI) 1);
2447 }
N_INLINE(void,nimCopyMem)2448 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2449 	void* T1_;
2450 	T1_ = (void*)0;
2451 	T1_ = memcpy(dest, source, ((size_t) (size)));
2452 }
N_INLINE(void,copyMem__system_1727)2453 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2454 	nimCopyMem(dest, source, size);
2455 }
N_INLINE(void,appendString)2456 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2457 	{
2458 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2459 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2460 		(*dest).Sup.len += (*src).Sup.len;
2461 	}
2462 	LA3_: ;
2463 }
N_INLINE(NI,toLinenumber__msgs_609)2464 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2465 	NI result;
2466 	result = (NI)0;
2467 	result = ((NI) (info.line));
2468 	return result;
2469 }
N_INLINE(NI,toColumn__msgs_612)2470 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2471 	NI result;
2472 	result = (NI)0;
2473 	result = ((NI) (info.col));
2474 	return result;
2475 }
N_NIMCALL(void,Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)2476 static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op) {
2477 	tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* a;
2478 	a = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*)p;
2479 	nimGCvisit((void*)(*a).line1, op);
2480 }
N_CLOSURE(NIM_BOOL,isOpeningBacktick__sigmatch_4458)2481 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0) {
2482 	NIM_BOOL result;
2483 	tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenvP_;
2484 	result = (NIM_BOOL)0;
2485 	colonenvP_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) ClE_0;
2486 	{
2487 		NIM_BOOL T3_;
2488 		T3_ = (NIM_BOOL)0;
2489 		T3_ = (((NI) 0) <= col);
2490 		if (!(T3_)) goto LA4_;
2491 		T3_ = (col < ((*colonenvP_).line1 ? (*colonenvP_).line1->Sup.len : 0));
2492 		LA4_: ;
2493 		if (!T3_) goto LA5_;
2494 		{
2495 			tyProc__cOOsXj9cY0bKt2oqNqLbhZw T11_;
2496 			NIM_BOOL T12_;
2497 			if (!((NU8)((*colonenvP_).line1->data[col]) == (NU8)(96))) goto LA9_;
2498 			nimZeroMem((void*)(&T11_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2499 			T11_.ClP_0 = isOpeningBacktick__sigmatch_4458; T11_.ClE_0 = colonenvP_;
2500 			T12_ = (NIM_BOOL)0;
2501 			T12_ = T11_.ClE_0? T11_.ClP_0((NI)(col - ((NI) 1)), T11_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_5)(T11_.ClP_0))((NI)(col - ((NI) 1)));
2502 			result = !(T12_);
2503 		}
2504 		goto LA7_;
2505 		LA9_: ;
2506 		{
2507 			tyProc__cOOsXj9cY0bKt2oqNqLbhZw T14_;
2508 			nimZeroMem((void*)(&T14_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2509 			T14_.ClP_0 = isOpeningBacktick__sigmatch_4458; T14_.ClE_0 = colonenvP_;
2510 			result = T14_.ClE_0? T14_.ClP_0((NI)(col - ((NI) 1)), T14_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_6)(T14_.ClP_0))((NI)(col - ((NI) 1)));
2511 		}
2512 		LA7_: ;
2513 	}
2514 	goto LA1_;
2515 	LA5_: ;
2516 	{
2517 		result = NIM_FALSE;
2518 	}
2519 	LA1_: ;
2520 	return result;
2521 }
N_INLINE(NI,skipUntil__pureZparseutils_148)2522 static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start) {
2523 	NI result;
2524 	result = (NI)0;
2525 	result = ((NI) 0);
2526 	{
2527 		while (1) {
2528 			NIM_BOOL T3_;
2529 			T3_ = (NIM_BOOL)0;
2530 			T3_ = ((NI)(start + result) < (s ? s->Sup.len : 0));
2531 			if (!(T3_)) goto LA4_;
2532 			T3_ = !(((NU8)(s->data[(NI)(result + start)]) == (NU8)(until)));
2533 			LA4_: ;
2534 			if (!T3_) goto LA2;
2535 			result += ((NI) 1);
2536 		} LA2: ;
2537 	}
2538 	return result;
2539 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_865)2540 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
2541 	NimStringDesc* result;
2542 	NI a;
2543 	NI L;
2544 	result = NIM_NIL;
2545 	a = x.a;
2546 	L = (NI)((NI)(x.b - a) + ((NI) 1));
2547 	result = mnewString(((NI) (L)));
2548 	{
2549 		NI i;
2550 		NI i_2;
2551 		i = (NI)0;
2552 		i_2 = ((NI) 0);
2553 		{
2554 			while (1) {
2555 				if (!(i_2 < L)) goto LA3;
2556 				i = i_2;
2557 				result->data[i] = s->data[(NI)(i + a)];
2558 				i_2 += ((NI) 1);
2559 			} LA3: ;
2560 		}
2561 	}
2562 	return result;
2563 }
N_INLINE(NIM_CHAR,X5BX5D___system_7328)2564 static N_INLINE(NIM_CHAR, X5BX5D___system_7328)(NimStringDesc* s, NI i) {
2565 	NIM_CHAR result;
2566 	result = (NIM_CHAR)0;
2567 	result = s->data[(NI)((s ? s->Sup.len : 0) - i)];
2568 	return result;
2569 }
N_INLINE(NI,parseWhile__pureZparseutils_226)2570 static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start) {
2571 	NI result;
2572 	NI i;
2573 	result = (NI)0;
2574 	i = start;
2575 	{
2576 		while (1) {
2577 			NIM_BOOL T3_;
2578 			T3_ = (NIM_BOOL)0;
2579 			T3_ = (i < (s ? s->Sup.len : 0));
2580 			if (!(T3_)) goto LA4_;
2581 			T3_ = ((validChars[(NU)(((NU8)(s->data[i])))>>3] &(1U<<((NU)(((NU8)(s->data[i])))&7U)))!=0);
2582 			LA4_: ;
2583 			if (!T3_) goto LA2;
2584 			i += ((NI) 1);
2585 		} LA2: ;
2586 	}
2587 	result = (NI)(i - start);
2588 	fastSubstr__pureZparseutils_170(s, token, start, result);
2589 	return result;
2590 }
N_INLINE(int,nimCmpMem)2591 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
2592 	int result;
2593 	result = (int)0;
2594 	result = memcmp(a, b, ((size_t) (size)));
2595 	return result;
2596 }
N_INLINE(NIM_BOOL,equalMem__system_1735)2597 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
2598 	NIM_BOOL result;
2599 	int T1_;
2600 	result = (NIM_BOOL)0;
2601 	T1_ = (int)0;
2602 	T1_ = nimCmpMem(a, b, size);
2603 	result = (T1_ == ((NI32) 0));
2604 	return result;
2605 }
N_INLINE(NIM_BOOL,eqStrings)2606 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
2607 	NIM_BOOL result;
2608 	NI alen;
2609 	NI blen;
2610 {	result = (NIM_BOOL)0;
2611 	alen = (a ? a->Sup.len : 0);
2612 	blen = (b ? b->Sup.len : 0);
2613 	{
2614 		if (!(alen == blen)) goto LA3_;
2615 		{
2616 			if (!(alen == ((NI) 0))) goto LA7_;
2617 			result = NIM_TRUE;
2618 			goto BeforeRet_;
2619 		}
2620 		LA7_: ;
2621 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
2622 		goto BeforeRet_;
2623 	}
2624 	LA3_: ;
2625 	}BeforeRet_: ;
2626 	return result;
2627 }
N_NIMCALL(NI,getTokenLenFromSource__sigmatch_4451)2628 N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2629 	NI result;
2630 	tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenv_;
2631 	NI column;
2632 	result = (NI)0;
2633 	colonenv_ = NIM_NIL;
2634 	colonenv_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) newObj((&NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_), sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ));
2635 	(*colonenv_).Sup.m_type = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_);
2636 	asgnRef((void**) (&(*colonenv_).line1), sourceLine__msgs_1101(conf, info));
2637 	column = toColumn__msgs_612(info);
2638 	{
2639 		if (!(((*colonenv_).line1 ? (*colonenv_).line1->Sup.len : 0) < column)) goto LA3_;
2640 		result = ((NI) 0);
2641 	}
2642 	goto LA1_;
2643 	LA3_: ;
2644 	{
2645 		NIM_BOOL T6_;
2646 		NIM_BOOL T7_;
2647 		tyProc__cOOsXj9cY0bKt2oqNqLbhZw T10_;
2648 		T6_ = (NIM_BOOL)0;
2649 		T7_ = (NIM_BOOL)0;
2650 		T7_ = (((NI) 0) < column);
2651 		if (!(T7_)) goto LA8_;
2652 		T7_ = ((NU8)((*colonenv_).line1->data[(NI)(column - ((NI) 1))]) == (NU8)(96));
2653 		LA8_: ;
2654 		T6_ = T7_;
2655 		if (!(T6_)) goto LA9_;
2656 		nimZeroMem((void*)(&T10_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2657 		T10_.ClP_0 = isOpeningBacktick__sigmatch_4458; T10_.ClE_0 = colonenv_;
2658 		T6_ = T10_.ClE_0? T10_.ClP_0((NI)(column - ((NI) 1)), T10_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_7)(T10_.ClP_0))((NI)(column - ((NI) 1)));
2659 		LA9_: ;
2660 		if (!T6_) goto LA11_;
2661 		result = skipUntil__pureZparseutils_148((*colonenv_).line1, 96, column);
2662 		{
2663 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T15_;
2664 			NimStringDesc* T16_;
2665 			NI T17_;
2666 			T15_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1)));
2667 			T16_ = NIM_NIL;
2668 			T16_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T15_);
2669 			T17_ = (NI)0;
2670 			T17_ = nsuCmpIgnoreStyle(T16_, ident);
2671 			if (!!((T17_ == ((NI) 0)))) goto LA18_;
2672 			result = ((NI) 0);
2673 		}
2674 		LA18_: ;
2675 	}
2676 	goto LA1_;
2677 	LA11_: ;
2678 	{
2679 		NIM_BOOL T21_;
2680 		NIM_CHAR T23_;
2681 		T21_ = (NIM_BOOL)0;
2682 		T21_ = (((NU8)(ident->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(255)) || ((NU8)(ident->data[((NI) 0)])) == ((NU8)(95)));
2683 		if (!(T21_)) goto LA22_;
2684 		T23_ = (NIM_CHAR)0;
2685 		T23_ = X5BX5D___system_7328(ident, ((NI) 1));
2686 		T21_ = !(((NU8)(T23_) == (NU8)(61)));
2687 		LA22_: ;
2688 		if (!T21_) goto LA24_;
2689 		result = identLen__linter_11((*colonenv_).line1, column);
2690 		{
2691 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T28_;
2692 			NimStringDesc* T29_;
2693 			NI T30_;
2694 			T28_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1)));
2695 			T29_ = NIM_NIL;
2696 			T29_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T28_);
2697 			T30_ = (NI)0;
2698 			T30_ = nsuCmpIgnoreStyle(T29_, ident);
2699 			if (!!((T30_ == ((NI) 0)))) goto LA31_;
2700 			result = ((NI) 0);
2701 		}
2702 		LA31_: ;
2703 	}
2704 	goto LA1_;
2705 	LA24_: ;
2706 	{
2707 		NimStringDesc* sourceIdent;
2708 		sourceIdent = NIM_NIL;
2709 		result = parseWhile__pureZparseutils_226((*colonenv_).line1, (&sourceIdent), TM__EV5hHJmjIY9cla9b9be7fSVJQ_8, column);
2710 		{
2711 			NIM_BOOL T36_;
2712 			NIM_CHAR T37_;
2713 			T36_ = (NIM_BOOL)0;
2714 			T37_ = (NIM_CHAR)0;
2715 			T37_ = X5BX5D___system_7328(ident, ((NI) 1));
2716 			T36_ = ((NU8)(T37_) == (NU8)(61));
2717 			if (!(T36_)) goto LA38_;
2718 			T36_ = (((NU8)(ident->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(255)) || ((NU8)(ident->data[((NI) 0)])) == ((NU8)(95)));
2719 			LA38_: ;
2720 			if (!T36_) goto LA39_;
2721 			{
2722 				if (!!(eqStrings(sourceIdent, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_9)))) goto LA43_;
2723 				result = ((NI) 0);
2724 			}
2725 			LA43_: ;
2726 		}
2727 		goto LA34_;
2728 		LA39_: ;
2729 		{
2730 			NIM_BOOL T46_;
2731 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T48_;
2732 			NimStringDesc* T49_;
2733 			T46_ = (NIM_BOOL)0;
2734 			T46_ = ((ident ? ident->Sup.len : 0) < (sourceIdent ? sourceIdent->Sup.len : 0));
2735 			if (!(T46_)) goto LA47_;
2736 			T48_ = dotdot___pureZunicode_840(((NI) 0), ((ident ? ident->Sup.len : 0)-1));
2737 			T49_ = NIM_NIL;
2738 			T49_ = X5BX5D___pureZunicode_865(sourceIdent, T48_);
2739 			T46_ = eqStrings(T49_, ident);
2740 			LA47_: ;
2741 			if (!T46_) goto LA50_;
2742 			result = (ident ? ident->Sup.len : 0);
2743 		}
2744 		goto LA34_;
2745 		LA50_: ;
2746 		{
2747 			if (!!(eqStrings(sourceIdent, ident))) goto LA53_;
2748 			result = ((NI) 0);
2749 		}
2750 		goto LA34_;
2751 		LA53_: ;
2752 		LA34_: ;
2753 	}
2754 	LA1_: ;
2755 	return result;
2756 }
N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ *,symToSuggest__sigmatch_4528)2757 N_LIB_PRIVATE N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*, symToSuggest__sigmatch_4528)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isLocal, tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI quality, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix, NIM_BOOL inTypeContext, NI scope, NIM_BOOL useSuppliedInfo) {
2758 	tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result;
2759 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q infox;
2760 	result = NIM_NIL;
2761 	result = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*) newObj((&NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_), sizeof(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ));
2762 	(*result).section = section;
2763 	(*result).quality = quality;
2764 	(*result).isGlobal = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
2765 	(*result).prefix = prefix;
2766 	(*result).contextFits = (inTypeContext == ((144 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
2767 	(*result).scope = scope;
2768 	(*result).name = (&(*(*s).name).s);
2769 	(*result).symkind = ((NU8) ((*s).kind));
2770 	{
2771 		if (!!((((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0))) goto LA3_;
2772 		if ((*result).qualifiedPath) { nimGCunrefRC1((*result).qualifiedPath); (*result).qualifiedPath = NIM_NIL; }
2773 		{
2774 			NIM_BOOL T7_;
2775 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow;
2776 			T7_ = (NIM_BOOL)0;
2777 			T7_ = !(isLocal);
2778 			if (!(T7_)) goto LA8_;
2779 			T7_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2780 			LA8_: ;
2781 			if (!T7_) goto LA9_;
2782 			ow = (*s).owner;
2783 			{
2784 				NIM_BOOL T13_;
2785 				NIM_BOOL T14_;
2786 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow2;
2787 				NI T19_;
2788 				NimStringDesc* T20_;
2789 				T13_ = (NIM_BOOL)0;
2790 				T14_ = (NIM_BOOL)0;
2791 				T14_ = !((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2792 				if (!(T14_)) goto LA15_;
2793 				T14_ = !(((*ow).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2794 				LA15_: ;
2795 				T13_ = T14_;
2796 				if (!(T13_)) goto LA16_;
2797 				T13_ = !(((*ow).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2798 				LA16_: ;
2799 				if (!T13_) goto LA17_;
2800 				ow2 = (*ow).owner;
2801 				asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2802 				T19_ = (*result).qualifiedPath->Sup.len++;
2803 				T20_ = NIM_NIL;
2804 				T20_ = (*result).qualifiedPath->data[T19_]; (*result).qualifiedPath->data[T19_] = copyStringRC1((*(*ow2).name).s);
2805 				if (T20_) nimGCunrefNoCycle(T20_);
2806 			}
2807 			LA17_: ;
2808 			{
2809 				NI T25_;
2810 				NimStringDesc* T26_;
2811 				if (!!((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA23_;
2812 				asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2813 				T25_ = (*result).qualifiedPath->Sup.len++;
2814 				T26_ = NIM_NIL;
2815 				T26_ = (*result).qualifiedPath->data[T25_]; (*result).qualifiedPath->data[T25_] = copyStringRC1((*(*ow).name).s);
2816 				if (T26_) nimGCunrefNoCycle(T26_);
2817 			}
2818 			LA23_: ;
2819 		}
2820 		LA9_: ;
2821 		{
2822 			NIM_BOOL T29_;
2823 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T31_;
2824 			NimStringDesc* T34_;
2825 			NI T35_;
2826 			NimStringDesc* T36_;
2827 			T29_ = (NIM_BOOL)0;
2828 			T29_ = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_3[(NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))&7U)))!=0);
2829 			if (T29_) goto LA30_;
2830 			T31_ = dotdot___pureZunicode_840(((NI) 1), ((NI) 66));
2831 			T29_ = contains__pureZtimes_2283(T31_, (*(*s).name).id);
2832 			LA30_: ;
2833 			if (!T29_) goto LA32_;
2834 			T34_ = NIM_NIL;
2835 			T34_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 2);
2836 appendChar(T34_, 96);
2837 appendString(T34_, (*(*s).name).s);
2838 appendChar(T34_, 96);
2839 			asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2840 			T35_ = (*result).qualifiedPath->Sup.len++;
2841 			T36_ = NIM_NIL;
2842 			T36_ = (*result).qualifiedPath->data[T35_]; (*result).qualifiedPath->data[T35_] = copyStringRC1(T34_);
2843 			if (T36_) nimGCunrefNoCycle(T36_);
2844 		}
2845 		goto LA27_;
2846 		LA32_: ;
2847 		{
2848 			NI T38_;
2849 			NimStringDesc* T39_;
2850 			asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2851 			T38_ = (*result).qualifiedPath->Sup.len++;
2852 			T39_ = NIM_NIL;
2853 			T39_ = (*result).qualifiedPath->data[T38_]; (*result).qualifiedPath->data[T38_] = copyStringRC1((*(*s).name).s);
2854 			if (T39_) nimGCunrefNoCycle(T39_);
2855 		}
2856 		LA27_: ;
2857 		{
2858 			if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA42_;
2859 			asgnRef((void**) (&(*result).forth), typeToString__types_50((*s).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0)));
2860 		}
2861 		goto LA40_;
2862 		LA42_: ;
2863 		{
2864 			asgnRef((void**) (&(*result).forth), ((NimStringDesc*) NIM_NIL));
2865 		}
2866 		LA40_: ;
2867 	}
2868 	LA3_: ;
2869 	{
2870 		NIM_BOOL T47_;
2871 		T47_ = (NIM_BOOL)0;
2872 		T47_ = useSuppliedInfo;
2873 		if (T47_) goto LA48_;
2874 		T47_ = ((784 &((NU16)1<<((NU)(section)&15U)))!=0);
2875 		LA48_: ;
2876 		if (!T47_) goto LA49_;
2877 		infox = info;
2878 	}
2879 	goto LA45_;
2880 	LA49_: ;
2881 	{
2882 		infox = (*s).info;
2883 	}
2884 	LA45_: ;
2885 	asgnRef((void**) (&(*result).filePath), toFullPath__msgs_538((*g).config, infox.fileIndex));
2886 	(*result).line = toLinenumber__msgs_609(infox);
2887 	(*result).column = toColumn__msgs_612(infox);
2888 	(*result).version = (*(*g).config).suggestVersion;
2889 	{
2890 		if (!!((section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8)))) goto LA54_;
2891 		(*result).tokenLen = ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0);
2892 	}
2893 	goto LA52_;
2894 	LA54_: ;
2895 	{
2896 		(*result).tokenLen = getTokenLenFromSource__sigmatch_4451((*g).config, (*(*s).name).s, infox);
2897 	}
2898 	LA52_: ;
2899 	return result;
2900 }
N_INLINE(NI,len__ast_4002)2901 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2902 	NI result;
2903 	NI T1_;
2904 	result = (NI)0;
2905 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2906 	result = T1_;
2907 	return result;
2908 }
N_NIMCALL(NI,getQuality__sigmatch_5002)2909 N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2910 	NI result;
2911 	result = (NI)0;
2912 	result = ((NI) 100);
2913 	{
2914 		NIM_BOOL T3_;
2915 		NI T5_;
2916 		tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1;
2917 		T3_ = (NIM_BOOL)0;
2918 		T3_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2919 		if (!(T3_)) goto LA4_;
2920 		T5_ = (NI)0;
2921 		T5_ = len__ast_4002((*s).typ);
2922 		T3_ = (((NI) 1) < T5_);
2923 		LA4_: ;
2924 		if (!T3_) goto LA6_;
2925 		exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10);
2926 		{
2927 			if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA10_;
2928 			exp_1 = elemType__types_263(exp_1);
2929 		}
2930 		LA10_: ;
2931 		{
2932 			if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA14_;
2933 			result = ((NI) 50);
2934 		}
2935 		LA14_: ;
2936 	}
2937 	LA6_: ;
2938 	{
2939 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA18_;
2940 		result = ((NI) ((NI)(((NI) (result)) - ((NI) 5))));
2941 	}
2942 	LA18_: ;
2943 	return result;
2944 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2697)2945 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) {
2946 	NIM_BOOL result;
2947 	NIM_BOOL T1_;
2948 	NI T2_;
2949 	result = (NIM_BOOL)0;
2950 	T1_ = (NIM_BOOL)0;
2951 	T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0);
2952 	T1_ = (module < T2_);
2953 	if (!(T1_)) goto LA3_;
2954 	T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3));
2955 	LA3_: ;
2956 	result = T1_;
2957 	return result;
2958 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2709)2959 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
2960 	NIM_BOOL result;
2961 	result = (NIM_BOOL)0;
2962 	result = isCachedModule__modulegraphs_2697(g, (*m).position);
2963 	return result;
2964 }
N_NIMCALL(void,suggestEverything__sigmatch_5217)2965 N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
2966 	{
2967 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
2968 		NI scopeN;
2969 		NIM_BOOL isLocal;
2970 		NIM_BOOL isLocal_2;
2971 		NI scopeN_2;
2972 		it = NIM_NIL;
2973 		scopeN = (NI)0;
2974 		isLocal = (NIM_BOOL)0;
2975 		isLocal_2 = NIM_TRUE;
2976 		scopeN_2 = ((NI) 0);
2977 		{
2978 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
2979 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
2980 			scope = NIM_NIL;
2981 			current = (*c).currentScope;
2982 			{
2983 				while (1) {
2984 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
2985 					scope = current;
2986 					{
2987 						if (!(scope == (*c).topLevelScope)) goto LA7_;
2988 						isLocal_2 = NIM_FALSE;
2989 					}
2990 					LA7_: ;
2991 					scopeN_2 -= ((NI) 1);
2992 					{
2993 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
2994 						tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
2995 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2996 						item = NIM_NIL;
2997 						nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
2998 						s = initTabIter__astalgo_3777((&it_2), (*scope).symbols);
2999 						{
3000 							while (1) {
3001 								tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
3002 								tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
3003 								if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
3004 								item = s;
3005 								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3006 								colontmp_.Field0 = item;
3007 								colontmp_.Field1 = scopeN_2;
3008 								colontmp_.Field2 = isLocal_2;
3009 								it = colontmp_.Field0;
3010 								scopeN = colontmp_.Field1;
3011 								isLocal = colontmp_.Field2;
3012 								pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3013 								{
3014 									NIM_BOOL T14_;
3015 									NI T17_;
3016 									tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_;
3017 									NI T19_;
3018 									T14_ = (NIM_BOOL)0;
3019 									T14_ = filterSym__sigmatch_4909(it, f, (&pm));
3020 									if (!T14_) goto LA15_;
3021 									T17_ = (NI)0;
3022 									T17_ = getQuality__sigmatch_5002(it);
3023 									T18_ = NIM_NIL;
3024 									T18_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3025 									unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3026 									T19_ = (*outputs)->Sup.len++;
3027 									asgnRef((void**) (&(*outputs)->data[T19_]), T18_);
3028 								}
3029 								LA15_: ;
3030 								s = nextIter__astalgo_3762((&it_2), (*scope).symbols);
3031 							} LA11: ;
3032 						}
3033 					}
3034 					current = (*current).parent;
3035 				} LA4: ;
3036 			}
3037 		}
3038 		scopeN_2 -= ((NI) 1);
3039 		isLocal_2 = NIM_FALSE;
3040 		{
3041 			tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
3042 			NI i;
3043 			NI L;
3044 			NI T21_;
3045 			im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
3046 			i = ((NI) 0);
3047 			T21_ = ((*c).imports ? (*c).imports->Sup.len : 0);
3048 			L = T21_;
3049 			{
3050 				while (1) {
3051 					if (!(i < L)) goto LA23;
3052 					im = (&(*c).imports->data[i]);
3053 					{
3054 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3055 						NIM_BOOL importHidden;
3056 						s_2 = NIM_NIL;
3057 						importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
3058 						{
3059 							NIM_BOOL T27_;
3060 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
3061 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
3062 							T27_ = (NIM_BOOL)0;
3063 							T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
3064 							if (!T27_) goto LA28_;
3065 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
3066 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
3067 							{
3068 								while (1) {
3069 									tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
3070 									tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
3071 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31;
3072 									s_2 = r;
3073 									nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3074 									colontmp__2.Field0 = s_2;
3075 									colontmp__2.Field1 = scopeN_2;
3076 									colontmp__2.Field2 = isLocal_2;
3077 									it = colontmp__2.Field0;
3078 									scopeN = colontmp__2.Field1;
3079 									isLocal = colontmp__2.Field2;
3080 									pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3081 									{
3082 										NIM_BOOL T34_;
3083 										NI T37_;
3084 										tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_;
3085 										NI T39_;
3086 										T34_ = (NIM_BOOL)0;
3087 										T34_ = filterSym__sigmatch_4909(it, f, (&pm_2));
3088 										if (!T34_) goto LA35_;
3089 										T37_ = (NI)0;
3090 										T37_ = getQuality__sigmatch_5002(it);
3091 										T38_ = NIM_NIL;
3092 										T38_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3093 										unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3094 										T39_ = (*outputs)->Sup.len++;
3095 										asgnRef((void**) (&(*outputs)->data[T39_]), T38_);
3096 									}
3097 									LA35_: ;
3098 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
3099 								} LA31: ;
3100 							}
3101 						}
3102 						goto LA25_;
3103 						LA28_: ;
3104 						{
3105 							{
3106 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
3107 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
3108 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
3109 								NI i_2;
3110 								NI L_2;
3111 								NI T46_;
3112 								s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3113 								colontmp__3 = NIM_NIL;
3114 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
3115 								{
3116 									if (!importHidden) goto LA44_;
3117 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
3118 								}
3119 								LA44_: ;
3120 								colontmp__3 = (*retX60gensym17_).data;
3121 								i_2 = ((NI) 0);
3122 								T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
3123 								L_2 = T46_;
3124 								{
3125 									while (1) {
3126 										if (!(i_2 < L_2)) goto LA48;
3127 										s_3 = &colontmp__3->data[i_2];
3128 										{
3129 											tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
3130 											tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
3131 											if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_;
3132 											s_2 = (*s_3);
3133 											nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3134 											colontmp__4.Field0 = s_2;
3135 											colontmp__4.Field1 = scopeN_2;
3136 											colontmp__4.Field2 = isLocal_2;
3137 											it = colontmp__4.Field0;
3138 											scopeN = colontmp__4.Field1;
3139 											isLocal = colontmp__4.Field2;
3140 											pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3141 											{
3142 												NIM_BOOL T55_;
3143 												NI T58_;
3144 												tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_;
3145 												NI T60_;
3146 												T55_ = (NIM_BOOL)0;
3147 												T55_ = filterSym__sigmatch_4909(it, f, (&pm_3));
3148 												if (!T55_) goto LA56_;
3149 												T58_ = (NI)0;
3150 												T58_ = getQuality__sigmatch_5002(it);
3151 												T59_ = NIM_NIL;
3152 												T59_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3153 												unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3154 												T60_ = (*outputs)->Sup.len++;
3155 												asgnRef((void**) (&(*outputs)->data[T60_]), T59_);
3156 											}
3157 											LA56_: ;
3158 										}
3159 										LA51_: ;
3160 										i_2 += ((NI) 1);
3161 									} LA48: ;
3162 								}
3163 							}
3164 						}
3165 						LA25_: ;
3166 					}
3167 					i += ((NI) 1);
3168 				} LA23: ;
3169 			}
3170 		}
3171 	}
3172 }
N_INLINE(NIM_BOOL,fieldVisible__sigmatch_4944)3173 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) {
3174 	NIM_BOOL result;
3175 	NI fmoduleId;
3176 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym794_;
3177 	NIM_BOOL T1_;
3178 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym796_;
3179 {	result = (NIM_BOOL)0;
3180 	xX60gensym794_ = getModule__astalgo_216(f);
3181 	fmoduleId = (NI)((NI)((NU32)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym794_).Sup.itemId.item)));
3182 	T1_ = (NIM_BOOL)0;
3183 	T1_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
3184 	if (T1_) goto LA2_;
3185 	xX60gensym796_ = (*c).module;
3186 	T1_ = (fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym796_).Sup.itemId.item))));
3187 	LA2_: ;
3188 	result = T1_;
3189 	{
3190 		if (!!(result)) goto LA5_;
3191 		{
3192 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** module;
3193 			NI i;
3194 			NI L;
3195 			NI T8_;
3196 			module = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3197 			i = ((NI) 0);
3198 			T8_ = ((*c).friendModules ? (*c).friendModules->Sup.len : 0);
3199 			L = T8_;
3200 			{
3201 				while (1) {
3202 					if (!(i < L)) goto LA10;
3203 					module = &(*c).friendModules->data[i];
3204 					{
3205 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym797_;
3206 						xX60gensym797_ = (*module);
3207 						if (!(fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym797_).Sup.itemId.item))))) goto LA13_;
3208 						result = NIM_TRUE;
3209 						goto BeforeRet_;
3210 					}
3211 					LA13_: ;
3212 					i += ((NI) 1);
3213 				} LA10: ;
3214 			}
3215 		}
3216 		{
3217 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symObj;
3218 			if (!((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA17_;
3219 			symObj = (*f).owner;
3220 			{
3221 				if (!((*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA21_;
3222 				symObj = (*(*(*symObj).typ).sons->data[((NI) 0)]).sym;
3223 			}
3224 			LA21_: ;
3225 			{
3226 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
3227 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
3228 				scope = NIM_NIL;
3229 				current = (*c).currentScope;
3230 				{
3231 					while (1) {
3232 						if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA25;
3233 						scope = current;
3234 						{
3235 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym;
3236 							NI i_2;
3237 							NI L_2;
3238 							NI T27_;
3239 							sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3240 							i_2 = ((NI) 0);
3241 							T27_ = ((*scope).allowPrivateAccess ? (*scope).allowPrivateAccess->Sup.len : 0);
3242 							L_2 = T27_;
3243 							{
3244 								while (1) {
3245 									if (!(i_2 < L_2)) goto LA29;
3246 									sym = &(*scope).allowPrivateAccess->data[i_2];
3247 									{
3248 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym800_;
3249 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym801_;
3250 										xX60gensym800_ = symObj;
3251 										xX60gensym801_ = (*sym);
3252 										if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym800_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym800_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym801_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym801_).Sup.itemId.item))))) goto LA32_;
3253 										result = NIM_TRUE;
3254 										goto BeforeRet_;
3255 									}
3256 									LA32_: ;
3257 									i_2 += ((NI) 1);
3258 								} LA29: ;
3259 							}
3260 						}
3261 						current = (*current).parent;
3262 					} LA25: ;
3263 				}
3264 			}
3265 		}
3266 		LA17_: ;
3267 	}
3268 	LA5_: ;
3269 	}BeforeRet_: ;
3270 	return result;
3271 }
N_NIMCALL(void,suggestField__sigmatch_5026)3272 N_LIB_PRIVATE N_NIMCALL(void, suggestField__sigmatch_5026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
3273 	tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
3274 	pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3275 	{
3276 		NIM_BOOL T3_;
3277 		NI T7_;
3278 		tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T8_;
3279 		NI T9_;
3280 		T3_ = (NIM_BOOL)0;
3281 		T3_ = filterSym__sigmatch_4909(s, f, (&pm));
3282 		if (!(T3_)) goto LA4_;
3283 		T3_ = fieldVisible__sigmatch_4944(c, s);
3284 		LA4_: ;
3285 		if (!T3_) goto LA5_;
3286 		T7_ = (NI)0;
3287 		T7_ = getQuality__sigmatch_5002(s);
3288 		T8_ = NIM_NIL;
3289 		T8_ = symToSuggest__sigmatch_4528((*c).graph, s, NIM_TRUE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T7_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) 0), NIM_FALSE);
3290 		unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3291 		T9_ = (*outputs)->Sup.len++;
3292 		asgnRef((void**) (&(*outputs)->data[T9_]), T8_);
3293 	}
3294 	LA5_: ;
3295 }
N_NIMCALL(void,suggestSymList__sigmatch_5040)3296 N_LIB_PRIVATE N_NIMCALL(void, suggestSymList__sigmatch_5040)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
3297 	{
3298 		NI i;
3299 		NI colontmp_;
3300 		NI i_2;
3301 		i = (NI)0;
3302 		colontmp_ = (NI)0;
3303 		colontmp_ = len__ast_3198(list);
3304 		i_2 = ((NI) 0);
3305 		{
3306 			while (1) {
3307 				if (!(i_2 < colontmp_)) goto LA3;
3308 				i = i_2;
3309 				{
3310 					if (!((*(*list)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
3311 					suggestField__sigmatch_5026(c, (*(*list)._kind_6.sons->data[i])._kind_4.sym, f, info, outputs);
3312 				}
3313 				LA6_: ;
3314 				i_2 += ((NI) 1);
3315 			} LA3: ;
3316 		}
3317 	}
3318 }
N_NIMCALL(void,suggestObject__sigmatch_5060)3319 N_LIB_PRIVATE N_NIMCALL(void, suggestObject__sigmatch_5060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
3320 	switch ((*n).kind) {
3321 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
3322 	{
3323 		{
3324 			NI i;
3325 			NI colontmp_;
3326 			NI i_2;
3327 			i = (NI)0;
3328 			colontmp_ = (NI)0;
3329 			colontmp_ = len__ast_3198(n);
3330 			i_2 = ((NI) 0);
3331 			{
3332 				while (1) {
3333 					if (!(i_2 < colontmp_)) goto LA4;
3334 					i = i_2;
3335 					suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[i], f, info, outputs);
3336 					i_2 += ((NI) 1);
3337 				} LA4: ;
3338 			}
3339 		}
3340 	}
3341 	break;
3342 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3343 	{
3344 		{
3345 			NI T8_;
3346 			T8_ = (NI)0;
3347 			T8_ = len__ast_3198(n);
3348 			if (!(((NI) 0) < T8_)) goto LA9_;
3349 			suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[((NI) 0)], f, info, outputs);
3350 			{
3351 				NI i_3;
3352 				NI colontmp__2;
3353 				NI i_4;
3354 				i_3 = (NI)0;
3355 				colontmp__2 = (NI)0;
3356 				colontmp__2 = len__ast_3198(n);
3357 				i_4 = ((NI) 1);
3358 				{
3359 					while (1) {
3360 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
3361 						if (!(i_4 < colontmp__2)) goto LA13;
3362 						i_3 = i_4;
3363 						T14_ = NIM_NIL;
3364 						T14_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
3365 						suggestObject__sigmatch_5060(c, T14_, f, info, outputs);
3366 						i_4 += ((NI) 1);
3367 					} LA13: ;
3368 				}
3369 			}
3370 		}
3371 		LA9_: ;
3372 	}
3373 	break;
3374 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3375 	{
3376 		suggestField__sigmatch_5026(c, (*n)._kind_4.sym, f, info, outputs);
3377 	}
3378 	break;
3379 	default:
3380 	{
3381 	}
3382 	break;
3383 	}
3384 }
N_INLINE(NIM_BOOL,filterSymNoOpr__sigmatch_4935)3385 static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) {
3386 	NIM_BOOL result;
3387 	NIM_BOOL T1_;
3388 	NIM_BOOL T2_;
3389 	NIM_BOOL T5_;
3390 	result = (NIM_BOOL)0;
3391 	T1_ = (NIM_BOOL)0;
3392 	T2_ = (NIM_BOOL)0;
3393 	T2_ = filterSym__sigmatch_4909(s, prefix, res);
3394 	if (!(T2_)) goto LA3_;
3395 	T2_ = (((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(255)));
3396 	LA3_: ;
3397 	T1_ = T2_;
3398 	if (!(T1_)) goto LA4_;
3399 	T5_ = (NIM_BOOL)0;
3400 	T5_ = isKeyword__renderer_73((*s).name);
3401 	T1_ = !(T5_);
3402 	LA4_: ;
3403 	result = T1_;
3404 	return result;
3405 }
N_INLINE(void,initCandidateAux__sigmatch_94)3406 static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3407 	tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_;
3408 	unsureAsgnRef((void**) (&(*c).c), ctx);
3409 	(*c).exactMatches = ((NI) 0);
3410 	(*c).subtypeMatches = ((NI) 0);
3411 	(*c).convMatches = ((NI) 0);
3412 	(*c).intConvMatches = ((NI) 0);
3413 	(*c).genericMatches = ((NI) 0);
3414 	(*c).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0);
3415 	nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
3416 	nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
3417 	(*c).firstMismatch.kind = T1_.kind;
3418 	(*c).firstMismatch.arg = T1_.arg;
3419 	unsureAsgnRef((void**) (&(*c).firstMismatch.formal), T1_.formal);
3420 	unsureAsgnRef((void**) (&(*c).callee), callee);
3421 	unsureAsgnRef((void**) (&(*c).call), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3422 	(*c).baseTypeMatch = NIM_FALSE;
3423 	(*c).genericConverter = NIM_FALSE;
3424 	(*c).inheritancePenalty = ((NI) 0);
3425 }
N_NIMCALL(void,initCandidate__sigmatch_116)3426 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3427 	initCandidateAux__sigmatch_94(ctx, c, callee);
3428 	unsureAsgnRef((void**) (&(*c).calleeSym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3429 	initIdTable__ast_4096((&(*c).bindings));
3430 }
N_NIMCALL(void,newCandidate__sigmatch_195)3431 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
3432 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
3433 	(*Result).exactMatches = 0;
3434 	(*Result).genericMatches = 0;
3435 	(*Result).subtypeMatches = 0;
3436 	(*Result).intConvMatches = 0;
3437 	(*Result).convMatches = 0;
3438 	(*Result).state = 0;
3439 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
3440 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
3441 	(*Result).calleeScope = 0;
3442 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
3443 	(*Result).bindings.counter = 0;
3444 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
3445 	(*Result).magic = 0;
3446 	(*Result).baseTypeMatch = 0;
3447 	(*Result).fauxMatch = 0;
3448 	(*Result).genericConverter = 0;
3449 	(*Result).coerceDistincts = 0;
3450 	(*Result).typedescMatched = 0;
3451 	(*Result).isNoCall = 0;
3452 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
3453 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
3454 	(*Result).inheritancePenalty = 0;
3455 	(*Result).firstMismatch.kind = 0;
3456 	(*Result).firstMismatch.arg = 0;
3457 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
3458 	(*Result).diagnosticsEnabled = 0;
3459 	initCandidate__sigmatch_116(ctx, Result, callee);
3460 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)3461 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3462 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3463 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3464 	(*x).typeId_0 += ((NI) 1);
3465 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3466 	result.module = (*x).module;
3467 	result.item = (*x).typeId_0;
3468 	return result;
3469 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)3470 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
3471 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3472 	result = NIM_NIL;
3473 	{
3474 		NIM_BOOL T3_;
3475 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
3476 		T3_ = (NIM_BOOL)0;
3477 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3478 		if (!(T3_)) goto LA4_;
3479 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
3480 		LA4_: ;
3481 		if (!T3_) goto LA5_;
3482 		T7_ = nextTypeId__ast_3151(id);
3483 		result = copyType__ast_4046(t, T7_, (*t).owner);
3484 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3485 	}
3486 	goto LA1_;
3487 	LA5_: ;
3488 	{
3489 		result = t;
3490 	}
3491 	LA1_: ;
3492 	return result;
3493 }
N_INLINE(void,put__sigmatch_120)3494 static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val) {
3495 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3496 	T1_ = NIM_NIL;
3497 	T1_ = skipIntLit__magicsys_124(val, (*(*c).c).Sup.idgen);
3498 	idTablePut__astalgo_70((&(*c).bindings), &key->Sup, &T1_->Sup.Sup);
3499 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryResolvingStaticExpr__sigmatch_1227)3500 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved) {
3501 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3502 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* instantiated;
3503 	result = NIM_NIL;
3504 	instantiated = replaceTypesInBody__semtypinst_988((*c).c, (*c).bindings, n, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), allowUnresolved);
3505 	result = (*(*c).c).semExpr((*c).c, instantiated, 0);
3506 	return result;
3507 }
N_INLINE(NI,safeLen__ast_3191)3508 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3509 	NI result;
3510 	result = (NI)0;
3511 	{
3512 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
3513 		result = ((NI) 0);
3514 	}
3515 	goto LA1_;
3516 	LA3_: ;
3517 	{
3518 		result = len__ast_3198(n);
3519 	}
3520 	LA1_: ;
3521 	return result;
3522 }
N_INLINE(NIM_BOOL,eqeq___idents_220)3523 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
3524 	NIM_BOOL result;
3525 	result = (NIM_BOOL)0;
3526 	{
3527 		NIM_BOOL T3_;
3528 		T3_ = (NIM_BOOL)0;
3529 		T3_ = (a == 0);
3530 		if (T3_) goto LA4_;
3531 		T3_ = (b == 0);
3532 		LA4_: ;
3533 		if (!T3_) goto LA5_;
3534 		result = (a == b);
3535 	}
3536 	goto LA1_;
3537 	LA5_: ;
3538 	{
3539 		result = ((*a).id == (*b).id);
3540 	}
3541 	LA1_: ;
3542 	return result;
3543 }
N_NIMCALL(NIM_BOOL,shouldSkipDistinct__sigmatch_1199)3544 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent) {
3545 	NIM_BOOL result;
3546 {	result = (NIM_BOOL)0;
3547 	{
3548 		if (!((*rules).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA3_;
3549 		{
3550 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
3551 			r = NIM_NIL;
3552 			{
3553 				NI i;
3554 				NI colontmp_;
3555 				NI i_2;
3556 				i = (NI)0;
3557 				colontmp_ = (NI)0;
3558 				colontmp_ = safeLen__ast_3191(rules);
3559 				i_2 = ((NI) 0);
3560 				{
3561 					while (1) {
3562 						if (!(i_2 < colontmp_)) goto LA8;
3563 						i = i_2;
3564 						r = (*rules)._kind_6.sons->data[i];
3565 						{
3566 							tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
3567 							NIM_BOOL T12_;
3568 							T11_ = NIM_NIL;
3569 							T11_ = considerQuotedIdent__lookups_28((*m).c, r, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3570 							T12_ = (NIM_BOOL)0;
3571 							T12_ = eqeq___idents_220(T11_, callIdent);
3572 							if (!T12_) goto LA13_;
3573 							result = NIM_TRUE;
3574 							goto BeforeRet_;
3575 						}
3576 						LA13_: ;
3577 						i_2 += ((NI) 1);
3578 					} LA8: ;
3579 				}
3580 			}
3581 		}
3582 		result = NIM_FALSE;
3583 		goto BeforeRet_;
3584 	}
3585 	goto LA1_;
3586 	LA3_: ;
3587 	{
3588 		{
3589 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r_2;
3590 			r_2 = NIM_NIL;
3591 			{
3592 				NI i_3;
3593 				NI colontmp__2;
3594 				NI i_4;
3595 				i_3 = (NI)0;
3596 				colontmp__2 = (NI)0;
3597 				colontmp__2 = safeLen__ast_3191(rules);
3598 				i_4 = ((NI) 0);
3599 				{
3600 					while (1) {
3601 						if (!(i_4 < colontmp__2)) goto LA19;
3602 						i_3 = i_4;
3603 						r_2 = (*rules)._kind_6.sons->data[i_3];
3604 						{
3605 							tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T22_;
3606 							NIM_BOOL T23_;
3607 							T22_ = NIM_NIL;
3608 							T22_ = considerQuotedIdent__lookups_28((*m).c, r_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3609 							T23_ = (NIM_BOOL)0;
3610 							T23_ = eqeq___idents_220(T22_, callIdent);
3611 							if (!T23_) goto LA24_;
3612 							result = NIM_FALSE;
3613 							goto BeforeRet_;
3614 						}
3615 						LA24_: ;
3616 						i_4 += ((NI) 1);
3617 					} LA19: ;
3618 				}
3619 			}
3620 		}
3621 		result = NIM_TRUE;
3622 		goto BeforeRet_;
3623 	}
3624 	LA1_: ;
3625 	}BeforeRet_: ;
3626 	return result;
3627 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,maybeSkipDistinct__sigmatch_1210)3628 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee) {
3629 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3630 	result = NIM_NIL;
3631 	{
3632 		NIM_BOOL T3_;
3633 		NIM_BOOL T4_;
3634 		NIM_BOOL T5_;
3635 		T3_ = (NIM_BOOL)0;
3636 		T4_ = (NIM_BOOL)0;
3637 		T5_ = (NIM_BOOL)0;
3638 		T5_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3639 		if (!(T5_)) goto LA6_;
3640 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
3641 		LA6_: ;
3642 		T4_ = T5_;
3643 		if (!(T4_)) goto LA7_;
3644 		T4_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3645 		LA7_: ;
3646 		T3_ = T4_;
3647 		if (!(T3_)) goto LA8_;
3648 		T3_ = shouldSkipDistinct__sigmatch_1199(m, (*t).n, (*callee).name);
3649 		LA8_: ;
3650 		if (!T3_) goto LA9_;
3651 		result = base__types_63(t);
3652 	}
3653 	goto LA1_;
3654 	LA9_: ;
3655 	{
3656 		result = t;
3657 	}
3658 	LA1_: ;
3659 	return result;
3660 }
N_INLINE(NIM_BOOL,sameEnumTypes__types_2087)3661 static N_INLINE(NIM_BOOL, sameEnumTypes__types_2087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
3662 	NIM_BOOL result;
3663 	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym297_;
3664 	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym298_;
3665 	result = (NIM_BOOL)0;
3666 	xX60gensym297_ = a;
3667 	xX60gensym298_ = b;
3668 	result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym297_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym297_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym298_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym298_).Sup.itemId.item))));
3669 	return result;
3670 }
N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,typeRangeRel__sigmatch_981)3671 N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
3672 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
3673 	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
3674 	{
3675 		NIM_BOOL T3_;
3676 		T3_ = (NIM_BOOL)0;
3677 		T3_ = isOrdinalType__types_299(f, NIM_FALSE);
3678 		if (!T3_) goto LA4_;
3679 		{
3680 			NIM_BOOL T8_;
3681 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
3682 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
3683 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
3684 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
3685 			T8_ = (NIM_BOOL)0;
3686 			T9_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3687 			T10_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3688 			T8_ = eqeq___int495056_313(T9_, T10_);
3689 			if (!(T8_)) goto LA11_;
3690 			T12_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3691 			T13_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3692 			T8_ = eqeq___int495056_313(T12_, T13_);
3693 			LA11_: ;
3694 			if (!T8_) goto LA14_;
3695 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3696 		}
3697 		goto LA6_;
3698 		LA14_: ;
3699 		{
3700 			NIM_BOOL T17_;
3701 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
3702 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
3703 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_;
3704 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
3705 			T17_ = (NIM_BOOL)0;
3706 			T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3707 			T19_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3708 			T17_ = lteq___int495056_309(T18_, T19_);
3709 			if (!(T17_)) goto LA20_;
3710 			T21_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3711 			T22_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3712 			T17_ = lteq___int495056_309(T21_, T22_);
3713 			LA20_: ;
3714 			if (!T17_) goto LA23_;
3715 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3716 		}
3717 		goto LA6_;
3718 		LA23_: ;
3719 		{
3720 			NIM_BOOL T26_;
3721 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T27_;
3722 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
3723 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_;
3724 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T31_;
3725 			T26_ = (NIM_BOOL)0;
3726 			T27_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3727 			T28_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3728 			T26_ = lteq___int495056_309(T27_, T28_);
3729 			if (!(T26_)) goto LA29_;
3730 			T30_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3731 			T31_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3732 			T26_ = lteq___int495056_309(T30_, T31_);
3733 			LA29_: ;
3734 			if (!T26_) goto LA32_;
3735 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3736 		}
3737 		goto LA6_;
3738 		LA32_: ;
3739 		{
3740 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
3741 		}
3742 		LA6_: ;
3743 	}
3744 	goto LA1_;
3745 	LA4_: ;
3746 	{
3747 		{
3748 			NIM_BOOL T38_;
3749 			NF T39_;
3750 			NF T40_;
3751 			NF T42_;
3752 			NF T43_;
3753 			T38_ = (NIM_BOOL)0;
3754 			T39_ = (NF)0;
3755 			T39_ = firstFloat__types_1440(a);
3756 			T40_ = (NF)0;
3757 			T40_ = firstFloat__types_1440(f);
3758 			T38_ = (T39_ == T40_);
3759 			if (!(T38_)) goto LA41_;
3760 			T42_ = (NF)0;
3761 			T42_ = lastFloat__types_1579(a);
3762 			T43_ = (NF)0;
3763 			T43_ = lastFloat__types_1579(f);
3764 			T38_ = (T42_ == T43_);
3765 			LA41_: ;
3766 			if (!T38_) goto LA44_;
3767 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3768 		}
3769 		goto LA36_;
3770 		LA44_: ;
3771 		{
3772 			NIM_BOOL T47_;
3773 			NF T48_;
3774 			NF T49_;
3775 			NF T51_;
3776 			NF T52_;
3777 			T47_ = (NIM_BOOL)0;
3778 			T48_ = (NF)0;
3779 			T48_ = firstFloat__types_1440(f);
3780 			T49_ = (NF)0;
3781 			T49_ = firstFloat__types_1440(a);
3782 			T47_ = (T48_ <= T49_);
3783 			if (!(T47_)) goto LA50_;
3784 			T51_ = (NF)0;
3785 			T51_ = lastFloat__types_1579(a);
3786 			T52_ = (NF)0;
3787 			T52_ = lastFloat__types_1579(f);
3788 			T47_ = (T51_ <= T52_);
3789 			LA50_: ;
3790 			if (!T47_) goto LA53_;
3791 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3792 		}
3793 		goto LA36_;
3794 		LA53_: ;
3795 		{
3796 			NIM_BOOL T56_;
3797 			NF T57_;
3798 			NF T58_;
3799 			NF T60_;
3800 			NF T61_;
3801 			T56_ = (NIM_BOOL)0;
3802 			T57_ = (NF)0;
3803 			T57_ = firstFloat__types_1440(a);
3804 			T58_ = (NF)0;
3805 			T58_ = lastFloat__types_1579(f);
3806 			T56_ = (T57_ <= T58_);
3807 			if (!(T56_)) goto LA59_;
3808 			T60_ = (NF)0;
3809 			T60_ = firstFloat__types_1440(f);
3810 			T61_ = (NF)0;
3811 			T61_ = lastFloat__types_1579(a);
3812 			T56_ = (T60_ <= T61_);
3813 			LA59_: ;
3814 			if (!T56_) goto LA62_;
3815 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3816 		}
3817 		goto LA36_;
3818 		LA62_: ;
3819 		{
3820 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
3821 		}
3822 		LA36_: ;
3823 	}
3824 	LA1_: ;
3825 	return result;
3826 }
N_INLINE(NIM_BOOL,isIntLit__types_186)3827 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3828 	NIM_BOOL result;
3829 	NIM_BOOL T1_;
3830 	NIM_BOOL T2_;
3831 	result = (NIM_BOOL)0;
3832 	T1_ = (NIM_BOOL)0;
3833 	T2_ = (NIM_BOOL)0;
3834 	T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3835 	if (!(T2_)) goto LA3_;
3836 	T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3837 	LA3_: ;
3838 	T1_ = T2_;
3839 	if (!(T1_)) goto LA4_;
3840 	T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
3841 	LA4_: ;
3842 	result = T1_;
3843 	return result;
3844 }
N_NIMCALL(NIM_BOOL,isConvertibleToRange__sigmatch_548)3845 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
3846 	NIM_BOOL result;
3847 	result = (NIM_BOOL)0;
3848 	{
3849 		NIM_BOOL T3_;
3850 		T3_ = (NIM_BOOL)0;
3851 		T3_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
3852 		if (!(T3_)) goto LA4_;
3853 		T3_ = ((*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
3854 		LA4_: ;
3855 		if (!T3_) goto LA5_;
3856 		switch ((*f).kind) {
3857 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
3858 		{
3859 			NIM_BOOL T8_;
3860 			T8_ = (NIM_BOOL)0;
3861 			T8_ = isIntLit__types_186(a);
3862 			if (T8_) goto LA9_;
3863 			T8_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32));
3864 			LA9_: ;
3865 			result = T8_;
3866 		}
3867 		break;
3868 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
3869 		{
3870 			NIM_BOOL T11_;
3871 			T11_ = (NIM_BOOL)0;
3872 			T11_ = isIntLit__types_186(a);
3873 			if (T11_) goto LA12_;
3874 			T11_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
3875 			LA12_: ;
3876 			result = T11_;
3877 		}
3878 		break;
3879 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
3880 		{
3881 			NIM_BOOL T14_;
3882 			T14_ = (NIM_BOOL)0;
3883 			T14_ = isIntLit__types_186(a);
3884 			if (T14_) goto LA15_;
3885 			T14_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3886 			LA15_: ;
3887 			result = T14_;
3888 		}
3889 		break;
3890 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
3891 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
3892 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
3893 		{
3894 			result = NIM_TRUE;
3895 		}
3896 		break;
3897 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
3898 		{
3899 			NIM_BOOL T18_;
3900 			T18_ = (NIM_BOOL)0;
3901 			T18_ = isIntLit__types_186(a);
3902 			if (T18_) goto LA19_;
3903 			T18_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
3904 			LA19_: ;
3905 			result = T18_;
3906 		}
3907 		break;
3908 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
3909 		{
3910 			NIM_BOOL T21_;
3911 			T21_ = (NIM_BOOL)0;
3912 			T21_ = isIntLit__types_186(a);
3913 			if (T21_) goto LA22_;
3914 			T21_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
3915 			LA22_: ;
3916 			result = T21_;
3917 		}
3918 		break;
3919 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
3920 		{
3921 			NIM_BOOL T24_;
3922 			T24_ = (NIM_BOOL)0;
3923 			T24_ = isIntLit__types_186(a);
3924 			if (T24_) goto LA25_;
3925 			T24_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42));
3926 			LA25_: ;
3927 			result = T24_;
3928 		}
3929 		break;
3930 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
3931 		{
3932 			NIM_BOOL T27_;
3933 			T27_ = (NIM_BOOL)0;
3934 			T27_ = isIntLit__types_186(a);
3935 			if (T27_) goto LA28_;
3936 			T27_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3937 			LA28_: ;
3938 			result = T27_;
3939 		}
3940 		break;
3941 		default:
3942 		{
3943 			result = NIM_FALSE;
3944 		}
3945 		break;
3946 		}
3947 	}
3948 	goto LA1_;
3949 	LA5_: ;
3950 	{
3951 		NIM_BOOL T33_;
3952 		if (!((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39))) goto LA31_;
3953 		T33_ = (NIM_BOOL)0;
3954 		T33_ = isIntLit__types_186(a);
3955 		if (T33_) goto LA34_;
3956 		T33_ = ((*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
3957 		LA34_: ;
3958 		result = T33_;
3959 	}
3960 	goto LA1_;
3961 	LA31_: ;
3962 	LA1_: ;
3963 	return result;
3964 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,handleRange__sigmatch_476)3965 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleRange__sigmatch_476)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag min, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag max) {
3966 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
3967 	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
3968 	{
3969 		if (!((*a).kind == (*f).kind)) goto LA3_;
3970 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3971 	}
3972 	goto LA1_;
3973 	LA3_: ;
3974 	{
3975 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ab;
3976 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
3977 		ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
3978 		k = (*ab).kind;
3979 		{
3980 			if (!(k == (*f).kind)) goto LA8_;
3981 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4);
3982 		}
3983 		goto LA6_;
3984 		LA8_: ;
3985 		{
3986 			NIM_BOOL T11_;
3987 			NIM_BOOL T12_;
3988 			NIM_BOOL T13_;
3989 			NIM_BOOL T14_;
3990 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
3991 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
3992 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_;
3993 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
3994 			T11_ = (NIM_BOOL)0;
3995 			T12_ = (NIM_BOOL)0;
3996 			T13_ = (NIM_BOOL)0;
3997 			T14_ = (NIM_BOOL)0;
3998 			T14_ = (k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3999 			if (!(T14_)) goto LA15_;
4000 			T14_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4001 			LA15_: ;
4002 			T13_ = T14_;
4003 			if (!(T13_)) goto LA16_;
4004 			T13_ = isIntLit__types_186(ab);
4005 			LA16_: ;
4006 			T12_ = T13_;
4007 			if (!(T12_)) goto LA17_;
4008 			T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4009 			T19_ = getInt__ast_4592((*ab).n);
4010 			T12_ = lteq___int495056_309(T18_, T19_);
4011 			LA17_: ;
4012 			T11_ = T12_;
4013 			if (!(T11_)) goto LA20_;
4014 			T21_ = getInt__ast_4592((*ab).n);
4015 			T22_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4016 			T11_ = lteq___int495056_309(T21_, T22_);
4017 			LA20_: ;
4018 			if (!T11_) goto LA23_;
4019 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9);
4020 		}
4021 		goto LA6_;
4022 		LA23_: ;
4023 		{
4024 			NIM_BOOL T26_;
4025 			T26_ = (NIM_BOOL)0;
4026 			T26_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4027 			if (!(T26_)) goto LA27_;
4028 			T26_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4029 			LA27_: ;
4030 			if (!T26_) goto LA28_;
4031 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4032 		}
4033 		goto LA6_;
4034 		LA28_: ;
4035 		{
4036 			NIM_BOOL T31_;
4037 			T31_ = (NIM_BOOL)0;
4038 			T31_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
4039 			if (!(T31_)) goto LA32_;
4040 			T31_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4041 			LA32_: ;
4042 			if (!T31_) goto LA33_;
4043 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4044 		}
4045 		goto LA6_;
4046 		LA33_: ;
4047 		{
4048 			NIM_BOOL T36_;
4049 			T36_ = (NIM_BOOL)0;
4050 			T36_ = (min <= k);
4051 			if (!(T36_)) goto LA37_;
4052 			T36_ = (k <= max);
4053 			LA37_: ;
4054 			if (!T36_) goto LA38_;
4055 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4056 		}
4057 		goto LA6_;
4058 		LA38_: ;
4059 		{
4060 			NIM_BOOL T41_;
4061 			NIM_BOOL T42_;
4062 			NIM_BOOL T43_;
4063 			NIM_BOOL T45_;
4064 			NIM_BOOL T46_;
4065 			NIM_BOOL T49_;
4066 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
4067 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T54_;
4068 			T41_ = (NIM_BOOL)0;
4069 			T42_ = (NIM_BOOL)0;
4070 			T43_ = (NIM_BOOL)0;
4071 			T43_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
4072 			if (!(T43_)) goto LA44_;
4073 			T45_ = (NIM_BOOL)0;
4074 			T46_ = (NIM_BOOL)0;
4075 			T46_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
4076 			if (!(T46_)) goto LA47_;
4077 			T46_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
4078 			LA47_: ;
4079 			T45_ = T46_;
4080 			if (T45_) goto LA48_;
4081 			T49_ = (NIM_BOOL)0;
4082 			T49_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4083 			if (!(T49_)) goto LA50_;
4084 			T49_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4085 			LA50_: ;
4086 			T45_ = T49_;
4087 			LA48_: ;
4088 			T43_ = T45_;
4089 			LA44_: ;
4090 			T42_ = T43_;
4091 			if (!(T42_)) goto LA51_;
4092 			T52_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4093 			T42_ = lteq___int495056_745(T52_, (*(*(*a).n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal);
4094 			LA51_: ;
4095 			T41_ = T42_;
4096 			if (!(T41_)) goto LA53_;
4097 			T54_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4098 			T41_ = lteq___int495056_752((*(*(*a).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal, T54_);
4099 			LA53_: ;
4100 			if (!T41_) goto LA55_;
4101 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4102 		}
4103 		goto LA6_;
4104 		LA55_: ;
4105 		{
4106 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4107 		}
4108 		LA6_: ;
4109 	}
4110 	LA1_: ;
4111 	return result;
4112 }
N_INLINE(NIM_BOOL,isFloatLit__types_201)4113 static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4114 	NIM_BOOL result;
4115 	NIM_BOOL T1_;
4116 	NIM_BOOL T2_;
4117 	result = (NIM_BOOL)0;
4118 	T1_ = (NIM_BOOL)0;
4119 	T2_ = (NIM_BOOL)0;
4120 	T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
4121 	if (!(T2_)) goto LA3_;
4122 	T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4123 	LA3_: ;
4124 	T1_ = T2_;
4125 	if (!(T1_)) goto LA4_;
4126 	T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16));
4127 	LA4_: ;
4128 	result = T1_;
4129 	return result;
4130 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,handleFloatRange__sigmatch_596)4131 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4132 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4133 	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4134 	{
4135 		if (!((*a).kind == (*f).kind)) goto LA3_;
4136 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4137 	}
4138 	goto LA1_;
4139 	LA3_: ;
4140 	{
4141 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ab;
4142 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
4143 		ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
4144 		k = (*ab).kind;
4145 		{
4146 			if (!(k == (*f).kind)) goto LA8_;
4147 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4);
4148 		}
4149 		goto LA6_;
4150 		LA8_: ;
4151 		{
4152 			NIM_BOOL T11_;
4153 			T11_ = (NIM_BOOL)0;
4154 			T11_ = isFloatLit__types_201(ab);
4155 			if (!T11_) goto LA12_;
4156 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9);
4157 		}
4158 		goto LA6_;
4159 		LA12_: ;
4160 		{
4161 			NIM_BOOL T15_;
4162 			T15_ = (NIM_BOOL)0;
4163 			T15_ = isIntLit__types_186(ab);
4164 			if (!T15_) goto LA16_;
4165 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4166 		}
4167 		goto LA6_;
4168 		LA16_: ;
4169 		{
4170 			NIM_BOOL T19_;
4171 			T19_ = (NIM_BOOL)0;
4172 			T19_ = (((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) <= k);
4173 			if (!(T19_)) goto LA20_;
4174 			T19_ = (k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
4175 			LA20_: ;
4176 			if (!T19_) goto LA21_;
4177 			{
4178 				if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA25_;
4179 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4180 			}
4181 			goto LA23_;
4182 			LA25_: ;
4183 			{
4184 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4185 			}
4186 			LA23_: ;
4187 		}
4188 		goto LA6_;
4189 		LA21_: ;
4190 		{
4191 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4192 		}
4193 		LA6_: ;
4194 	}
4195 	LA1_: ;
4196 	return result;
4197 }
N_NIMCALL(NIM_BOOL,isCovariantPtr__sigmatch_1405)4198 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4199 	NIM_BOOL result;
4200 {	result = (NIM_BOOL)0;
4201 	switch ((*f).kind) {
4202 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
4203 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
4204 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
4205 	{
4206 		NIM_BOOL T2_;
4207 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
4208 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4209 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4210 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T7_;
4211 		T2_ = (NIM_BOOL)0;
4212 		T3_ = NIM_NIL;
4213 		T3_ = base__types_63(f);
4214 		T2_ = !(((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
4215 		if (!(T2_)) goto LA4_;
4216 		T5_ = NIM_NIL;
4217 		T5_ = base__types_63(f);
4218 		T6_ = NIM_NIL;
4219 		T6_ = base__types_63(a);
4220 		T7_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4221 		T7_ = typeRel__sigmatch_202(c, T5_, T6_, 2);
4222 		T2_ = (T7_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4223 		LA4_: ;
4224 		result = T2_;
4225 		goto BeforeRet_;
4226 	}
4227 	break;
4228 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4229 	{
4230 		tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
4231 		NIM_BOOL T9_;
4232 		NIM_BOOL T10_;
4233 		NIM_BOOL T11_;
4234 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4235 		NI T14_;
4236 		NIM_BOOL T17_;
4237 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T19_;
4238 		body = base__types_63(f);
4239 		T9_ = (NIM_BOOL)0;
4240 		T10_ = (NIM_BOOL)0;
4241 		T11_ = (NIM_BOOL)0;
4242 		T12_ = NIM_NIL;
4243 		T12_ = base__types_63(a);
4244 		T11_ = (body == T12_);
4245 		if (!(T11_)) goto LA13_;
4246 		T14_ = (NI)0;
4247 		T14_ = len__ast_4002(a);
4248 		T11_ = (T14_ == ((NI) 3));
4249 		LA13_: ;
4250 		T10_ = T11_;
4251 		if (!(T10_)) goto LA15_;
4252 		T10_ = !((((*(*body).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0));
4253 		LA15_: ;
4254 		T9_ = T10_;
4255 		if (!(T9_)) goto LA16_;
4256 		T17_ = (NIM_BOOL)0;
4257 		T17_ = !(((*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
4258 		if (!(T17_)) goto LA18_;
4259 		T19_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4260 		T19_ = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 1)], (*a).sons->data[((NI) 1)], 2);
4261 		T17_ = (T19_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4262 		LA18_: ;
4263 		T9_ = T17_;
4264 		LA16_: ;
4265 		result = T9_;
4266 		goto BeforeRet_;
4267 	}
4268 	break;
4269 	default:
4270 	{
4271 		result = NIM_FALSE;
4272 		goto BeforeRet_;
4273 	}
4274 	break;
4275 	}
4276 	}BeforeRet_: ;
4277 	return result;
4278 }
N_NIMCALL(NIM_BOOL,inferStaticParam__sigmatch_1235)4279 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs) {
4280 	NIM_BOOL result;
4281 {	result = (NIM_BOOL)0;
4282 	{
4283 		NIM_BOOL T3_;
4284 		T3_ = (NIM_BOOL)0;
4285 		T3_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
4286 		if (!(T3_)) goto LA4_;
4287 		T3_ = ((*(*lhs)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4288 		LA4_: ;
4289 		if (!T3_) goto LA5_;
4290 		switch ((*(*(*lhs)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
4291 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4292 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
4293 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4294 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4295 		{
4296 			{
4297 				if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA10_;
4298 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
4299 				goto BeforeRet_;
4300 			}
4301 			goto LA8_;
4302 			LA10_: ;
4303 			{
4304 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA13_;
4305 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4306 				goto BeforeRet_;
4307 			}
4308 			goto LA8_;
4309 			LA13_: ;
4310 			LA8_: ;
4311 		}
4312 		break;
4313 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4314 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4315 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
4316 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4317 		{
4318 			{
4319 				if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA18_;
4320 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - rhs));
4321 				goto BeforeRet_;
4322 			}
4323 			goto LA16_;
4324 			LA18_: ;
4325 			{
4326 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA21_;
4327 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs + (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4328 				goto BeforeRet_;
4329 			}
4330 			goto LA16_;
4331 			LA21_: ;
4332 			LA16_: ;
4333 		}
4334 		break;
4335 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
4336 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
4337 		{
4338 			{
4339 				if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
4340 				{
4341 					if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal) == IL64(0))) goto LA30_;
4342 					result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
4343 					goto BeforeRet_;
4344 				}
4345 				LA30_: ;
4346 			}
4347 			goto LA24_;
4348 			LA26_: ;
4349 			{
4350 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA33_;
4351 				{
4352 					if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal) == IL64(0))) goto LA37_;
4353 					result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4354 					goto BeforeRet_;
4355 				}
4356 				LA37_: ;
4357 			}
4358 			goto LA24_;
4359 			LA33_: ;
4360 			LA24_: ;
4361 		}
4362 		break;
4363 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
4364 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
4365 		{
4366 			{
4367 				if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA42_;
4368 				{
4369 					if (!((NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal % rhs) == IL64(0))) goto LA46_;
4370 					result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal / rhs));
4371 					goto BeforeRet_;
4372 				}
4373 				LA46_: ;
4374 			}
4375 			goto LA40_;
4376 			LA42_: ;
4377 			{
4378 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA49_;
4379 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal * rhs));
4380 				goto BeforeRet_;
4381 			}
4382 			goto LA40_;
4383 			LA49_: ;
4384 			LA40_: ;
4385 		}
4386 		break;
4387 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
4388 		{
4389 			{
4390 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA54_;
4391 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((NI64)(rhs) >> (NU64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)));
4392 				goto BeforeRet_;
4393 			}
4394 			LA54_: ;
4395 		}
4396 		break;
4397 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
4398 		{
4399 			{
4400 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA59_;
4401 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((NU64)(rhs) << (NU64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)));
4402 				goto BeforeRet_;
4403 			}
4404 			LA59_: ;
4405 		}
4406 		break;
4407 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
4408 		{
4409 			{
4410 				if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA64_;
4411 				result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((NI64)(rhs) >> (NU64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)));
4412 				goto BeforeRet_;
4413 			}
4414 			LA64_: ;
4415 		}
4416 		break;
4417 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
4418 		{
4419 			result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], -(rhs));
4420 			goto BeforeRet_;
4421 		}
4422 		break;
4423 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
4424 		{
4425 			result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], rhs);
4426 			goto BeforeRet_;
4427 		}
4428 		break;
4429 		default:
4430 		{
4431 		}
4432 		break;
4433 		}
4434 	}
4435 	goto LA1_;
4436 	LA5_: ;
4437 	{
4438 		NIM_BOOL T70_;
4439 		NIM_BOOL T71_;
4440 		tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred;
4441 		T70_ = (NIM_BOOL)0;
4442 		T71_ = (NIM_BOOL)0;
4443 		T71_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4444 		if (!(T71_)) goto LA72_;
4445 		T71_ = ((*(*lhs).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
4446 		LA72_: ;
4447 		T70_ = T71_;
4448 		if (!(T70_)) goto LA73_;
4449 		T70_ = ((*(*lhs).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4450 		LA73_: ;
4451 		if (!T70_) goto LA74_;
4452 		inferred = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), (*(*lhs).typ).sons);
4453 		asgnRef((void**) (&(*inferred).n), newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), rhs));
4454 		put__sigmatch_120(c, (*lhs).typ, inferred);
4455 		{
4456 			if (!!(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA78_;
4457 			asgnRef((void**) (&(*(*lhs).typ).n), (*inferred).n);
4458 		}
4459 		LA78_: ;
4460 		result = NIM_TRUE;
4461 		goto BeforeRet_;
4462 	}
4463 	goto LA1_;
4464 	LA74_: ;
4465 	LA1_: ;
4466 	result = NIM_FALSE;
4467 	goto BeforeRet_;
4468 	}BeforeRet_: ;
4469 	return result;
4470 }
N_NIMCALL(void,failureToInferStaticParam__sigmatch_1361)4471 N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4472 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* staticParam;
4473 	NimStringDesc* name;
4474 	NimStringDesc* T6_;
4475 	staticParam = findUnresolvedStatic__ast_4956(n);
4476 	{
4477 		if (!!((staticParam == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
4478 		name = (*(*(*staticParam)._kind_4.sym).name).s;
4479 	}
4480 	goto LA1_;
4481 	LA3_: ;
4482 	{
4483 		name = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_17));
4484 	}
4485 	LA1_: ;
4486 	T6_ = NIM_NIL;
4487 	T6_ = rawNewString((name ? name->Sup.len : 0) + 45);
4488 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_18));
4489 appendString(T6_, name);
4490 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
4491 	liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_20, NIM_FALSE);
4492 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,inferStaticsInRange__sigmatch_1370)4493 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete) {
4494 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4495 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lowerBound;
4496 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upperBound;
4497 {	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4498 	lowerBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 0)], NIM_TRUE);
4499 	upperBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
4500 	{
4501 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym222_;
4502 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym222_;
4503 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T16_;
4504 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
4505 		if (!((*lowerBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA3_;
4506 		{
4507 			if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA7_;
4508 			{
4509 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_;
4510 				NIM_BOOL T12_;
4511 				T11_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete);
4512 				T12_ = (NIM_BOOL)0;
4513 				T12_ = eqeq___int495056_759(T11_, (NI64)((NI64)((*upperBound)._kind_1.intVal - (*lowerBound)._kind_1.intVal) + IL64(1)));
4514 				if (!T12_) goto LA13_;
4515 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4516 				goto BeforeRet_;
4517 			}
4518 			goto LA9_;
4519 			LA13_: ;
4520 			{
4521 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4522 				goto BeforeRet_;
4523 			}
4524 			LA9_: ;
4525 		}
4526 		LA7_: ;
4527 		expX60gensym222_ = upperBound;
4528 		T16_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete);
4529 		T17_ = plus___int495056_794(T16_, (*lowerBound)._kind_1.intVal);
4530 		rhsX60gensym222_ = minus___int495056_780(T17_, IL64(1));
4531 		{
4532 			NI64 T20_;
4533 			NIM_BOOL T21_;
4534 			T20_ = (NI64)0;
4535 			T20_ = toInt64__int495056_88(rhsX60gensym222_);
4536 			T21_ = (NIM_BOOL)0;
4537 			T21_ = inferStaticParam__sigmatch_1235(c, expX60gensym222_, T20_);
4538 			if (!T21_) goto LA22_;
4539 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4540 			goto BeforeRet_;
4541 		}
4542 		goto LA18_;
4543 		LA22_: ;
4544 		{
4545 			failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym222_);
4546 		}
4547 		LA18_: ;
4548 	}
4549 	goto LA1_;
4550 	LA3_: ;
4551 	{
4552 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym225_;
4553 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym225_;
4554 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
4555 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T29_;
4556 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_;
4557 		if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
4558 		expX60gensym225_ = lowerBound;
4559 		T28_ = getInt__ast_4592(upperBound);
4560 		T29_ = plus___int495056_794(T28_, IL64(1));
4561 		T30_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete);
4562 		rhsX60gensym225_ = minus___int495056_474(T29_, T30_);
4563 		{
4564 			NI64 T33_;
4565 			NIM_BOOL T34_;
4566 			T33_ = (NI64)0;
4567 			T33_ = toInt64__int495056_88(rhsX60gensym225_);
4568 			T34_ = (NIM_BOOL)0;
4569 			T34_ = inferStaticParam__sigmatch_1235(c, expX60gensym225_, T33_);
4570 			if (!T34_) goto LA35_;
4571 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4572 			goto BeforeRet_;
4573 		}
4574 		goto LA31_;
4575 		LA35_: ;
4576 		{
4577 			failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym225_);
4578 		}
4579 		LA31_: ;
4580 	}
4581 	goto LA1_;
4582 	LA26_: ;
4583 	LA1_: ;
4584 	}BeforeRet_: ;
4585 	return result;
4586 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,minRel__sigmatch_798)4587 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b) {
4588 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4589 	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4590 	{
4591 		if (!(a <= b)) goto LA3_;
4592 		result = a;
4593 	}
4594 	goto LA1_;
4595 	LA3_: ;
4596 	{
4597 		result = b;
4598 	}
4599 	LA1_: ;
4600 	return result;
4601 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,recordRel__sigmatch_806)4602 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4603 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4604 {	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4605 	result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4606 	{
4607 		NIM_BOOL T3_;
4608 		T3_ = (NIM_BOOL)0;
4609 		T3_ = sameType__types_1815(f, a, 0);
4610 		if (!T3_) goto LA4_;
4611 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4612 	}
4613 	goto LA1_;
4614 	LA4_: ;
4615 	{
4616 		NI T7_;
4617 		NI T8_;
4618 		NI firstField;
4619 		T7_ = (NI)0;
4620 		T7_ = len__ast_4002(a);
4621 		T8_ = (NI)0;
4622 		T8_ = len__ast_4002(f);
4623 		if (!(T7_ == T8_)) goto LA9_;
4624 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4625 		{
4626 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA13_;
4627 			firstField = ((NI) 0);
4628 		}
4629 		goto LA11_;
4630 		LA13_: ;
4631 		{
4632 			firstField = ((NI) 1);
4633 		}
4634 		LA11_: ;
4635 		{
4636 			NI i;
4637 			NI colontmp_;
4638 			NI i_2;
4639 			i = (NI)0;
4640 			colontmp_ = (NI)0;
4641 			colontmp_ = len__ast_4002(f);
4642 			i_2 = firstField;
4643 			{
4644 				while (1) {
4645 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw m;
4646 					if (!(i_2 < colontmp_)) goto LA18;
4647 					i = i_2;
4648 					m = typeRel__sigmatch_202(c, (*f).sons->data[i], (*a).sons->data[i], 0);
4649 					{
4650 						if (!(m < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA21_;
4651 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4652 						goto BeforeRet_;
4653 					}
4654 					LA21_: ;
4655 					result = minRel__sigmatch_798(result, m);
4656 					i_2 += ((NI) 1);
4657 				} LA18: ;
4658 			}
4659 		}
4660 		{
4661 			NIM_BOOL T25_;
4662 			T25_ = (NIM_BOOL)0;
4663 			T25_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4664 			if (!(T25_)) goto LA26_;
4665 			T25_ = !(((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4666 			LA26_: ;
4667 			if (!T25_) goto LA27_;
4668 			{
4669 				NI i_3;
4670 				NI colontmp__2;
4671 				NI i_4;
4672 				i_3 = (NI)0;
4673 				colontmp__2 = (NI)0;
4674 				colontmp__2 = len__ast_3198((*f).n);
4675 				i_4 = ((NI) 0);
4676 				{
4677 					while (1) {
4678 						if (!(i_4 < colontmp__2)) goto LA31;
4679 						i_3 = i_4;
4680 						{
4681 							if (!!(((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_;
4682 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4683 							goto BeforeRet_;
4684 						}
4685 						goto LA32_;
4686 						LA34_: ;
4687 						{
4688 							if (!!(((*(*(*a).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA37_;
4689 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4690 							goto BeforeRet_;
4691 						}
4692 						goto LA32_;
4693 						LA37_: ;
4694 						{
4695 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
4696 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* y;
4697 							x = (*(*(*f).n)._kind_6.sons->data[i_3])._kind_4.sym;
4698 							y = (*(*(*a).n)._kind_6.sons->data[i_3])._kind_4.sym;
4699 							{
4700 								NIM_BOOL T42_;
4701 								tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T44_;
4702 								T42_ = (NIM_BOOL)0;
4703 								T42_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
4704 								if (!(T42_)) goto LA43_;
4705 								T44_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4706 								T44_ = typeRel__sigmatch_202(c, (*x).typ, (*y).typ, 0);
4707 								T42_ = (T44_ < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4708 								LA43_: ;
4709 								if (!T42_) goto LA45_;
4710 								result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4711 								goto BeforeRet_;
4712 							}
4713 							LA45_: ;
4714 							{
4715 								if (!!(((*(*x).name).id == (*(*y).name).id))) goto LA49_;
4716 								result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4717 								goto BeforeRet_;
4718 							}
4719 							LA49_: ;
4720 						}
4721 						LA32_: ;
4722 						i_4 += ((NI) 1);
4723 					} LA31: ;
4724 				}
4725 			}
4726 		}
4727 		LA27_: ;
4728 	}
4729 	goto LA1_;
4730 	LA9_: ;
4731 	LA1_: ;
4732 	}BeforeRet_: ;
4733 	return result;
4734 }
N_NIMCALL(void,genericParamPut__sigmatch_622)4735 N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
4736 	{
4737 		NIM_BOOL T3_;
4738 		NIM_BOOL T4_;
4739 		NI T7_;
4740 		NI T8_;
4741 		T3_ = (NIM_BOOL)0;
4742 		T4_ = (NIM_BOOL)0;
4743 		T4_ = !((fGenericOrigin == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4744 		if (!(T4_)) goto LA5_;
4745 		T4_ = ((*last).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
4746 		LA5_: ;
4747 		T3_ = T4_;
4748 		if (!(T3_)) goto LA6_;
4749 		T7_ = (NI)0;
4750 		T7_ = len__ast_4002(last);
4751 		T8_ = (NI)0;
4752 		T8_ = len__ast_4002(fGenericOrigin);
4753 		T3_ = ((NI)(T7_ - ((NI) 1)) == T8_);
4754 		LA6_: ;
4755 		if (!T3_) goto LA9_;
4756 		{
4757 			NI i;
4758 			NI colontmp_;
4759 			NI i_2;
4760 			i = (NI)0;
4761 			colontmp_ = (NI)0;
4762 			colontmp_ = len__ast_4002(fGenericOrigin);
4763 			i_2 = ((NI) 1);
4764 			{
4765 				while (1) {
4766 					tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
4767 					RootObj* T14_;
4768 					if (!(i_2 < colontmp_)) goto LA13;
4769 					i = i_2;
4770 					T14_ = NIM_NIL;
4771 					T14_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*fGenericOrigin).sons->data[i])))));
4772 					x = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T14_));
4773 					{
4774 						if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA17_;
4775 						put__sigmatch_120(c, (*fGenericOrigin).sons->data[i], (*last).sons->data[i]);
4776 					}
4777 					LA17_: ;
4778 					i_2 += ((NI) 1);
4779 				} LA13: ;
4780 			}
4781 		}
4782 	}
4783 	LA9_: ;
4784 }
N_NIMCALL(NI,isObjectSubtype__sigmatch_656)4785 N_LIB_PRIVATE N_NIMCALL(NI, isObjectSubtype__sigmatch_656)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
4786 	NI result;
4787 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4788 	NI depth;
4789 	tyObject_TType__facALICuu8zUj0hjvbTLFg* last;
4790 	result = (NI)0;
4791 	t = a;
4792 	depth = ((NI) 0);
4793 	last = a;
4794 	{
4795 		while (1) {
4796 			NIM_BOOL T3_;
4797 			NIM_BOOL T5_;
4798 			T3_ = (NIM_BOOL)0;
4799 			T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4800 			if (!(T3_)) goto LA4_;
4801 			T5_ = (NIM_BOOL)0;
4802 			T5_ = sameObjectTypes__types_2038(f, t);
4803 			T3_ = !(T5_);
4804 			LA4_: ;
4805 			if (!T3_) goto LA2;
4806 			t = (*t).sons->data[((NI) 0)];
4807 			{
4808 				if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_;
4809 				goto LA1;
4810 			}
4811 			LA8_: ;
4812 			last = t;
4813 			t = skipTypes__ast_3735(t, TM__EV5hHJmjIY9cla9b9be7fSVJQ_12);
4814 			depth += ((NI) 1);
4815 		} LA2: ;
4816 	} LA1: ;
4817 	{
4818 		if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
4819 		genericParamPut__sigmatch_622(c, last, fGenericOrigin);
4820 		result = depth;
4821 	}
4822 	goto LA10_;
4823 	LA12_: ;
4824 	{
4825 		result = ((NI) -1);
4826 	}
4827 	LA10_: ;
4828 	return result;
4829 }
N_INLINE(NIM_BOOL,sameDistinctTypes__types_2083)4830 static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2083)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
4831 	NIM_BOOL result;
4832 	result = (NIM_BOOL)0;
4833 	result = sameObjectTypes__types_2038(a, b);
4834 	return result;
4835 }
N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,allowsNil__sigmatch_875)4836 static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
4837 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4838 	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4839 	{
4840 		if (!!((((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0))) goto LA3_;
4841 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
4842 	}
4843 	goto LA1_;
4844 	LA3_: ;
4845 	{
4846 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4847 	}
4848 	LA1_: ;
4849 	return result;
4850 }
N_INLINE(NIM_BOOL,inconsistentVarTypes__sigmatch_882)4851 static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4852 	NIM_BOOL result;
4853 	NIM_BOOL T1_;
4854 	NIM_BOOL T3_;
4855 	result = (NIM_BOOL)0;
4856 	T1_ = (NIM_BOOL)0;
4857 	T1_ = !(((*f).kind == (*a).kind));
4858 	if (!(T1_)) goto LA2_;
4859 	T3_ = (NIM_BOOL)0;
4860 	T3_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4861 	if (T3_) goto LA4_;
4862 	T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4863 	LA4_: ;
4864 	T1_ = T3_;
4865 	LA2_: ;
4866 	result = T1_;
4867 	return result;
4868 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,procParamTypeRel__sigmatch_898)4869 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4870 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4871 	tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2;
4872 	tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2;
4873 {	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4874 	f_2 = f;
4875 	a_2 = a;
4876 	{
4877 		NIM_BOOL T3_;
4878 		tyObject_TType__facALICuu8zUj0hjvbTLFg* aResolved;
4879 		RootObj* T6_;
4880 		T3_ = (NIM_BOOL)0;
4881 		T3_ = isMetaType__ast_3495(a_2);
4882 		if (!T3_) goto LA4_;
4883 		T6_ = NIM_NIL;
4884 		T6_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(a_2)))));
4885 		aResolved = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T6_));
4886 		{
4887 			if (!!((aResolved == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_;
4888 			a_2 = aResolved;
4889 		}
4890 		LA9_: ;
4891 	}
4892 	LA4_: ;
4893 	{
4894 		NIM_BOOL T13_;
4895 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw reverseRel;
4896 		T13_ = (NIM_BOOL)0;
4897 		T13_ = isMetaType__ast_3495(a_2);
4898 		if (!T13_) goto LA14_;
4899 		{
4900 			NIM_BOOL T18_;
4901 			T18_ = (NIM_BOOL)0;
4902 			T18_ = isMetaType__ast_3495(f_2);
4903 			if (!T18_) goto LA19_;
4904 			{
4905 				if (!!(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_;
4906 				f_2 = generateTypeInstance__semtypinst_1050((*c).c, (*c).bindings, (*(*c).call).info, f_2);
4907 			}
4908 			goto LA21_;
4909 			LA23_: ;
4910 			{
4911 				f_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
4912 			}
4913 			LA21_: ;
4914 			{
4915 				NIM_BOOL T28_;
4916 				T28_ = (NIM_BOOL)0;
4917 				T28_ = (f_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4918 				if (T28_) goto LA29_;
4919 				T28_ = isMetaType__ast_3495(f_2);
4920 				LA29_: ;
4921 				if (!T28_) goto LA30_;
4922 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5);
4923 				goto BeforeRet_;
4924 			}
4925 			LA30_: ;
4926 		}
4927 		LA19_: ;
4928 		reverseRel = typeRel__sigmatch_202(c, a_2, f_2, 0);
4929 		{
4930 			if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= reverseRel)) goto LA34_;
4931 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6);
4932 		}
4933 		LA34_: ;
4934 	}
4935 	goto LA11_;
4936 	LA14_: ;
4937 	{
4938 		result = typeRel__sigmatch_202(c, f_2, a_2, 0);
4939 	}
4940 	LA11_: ;
4941 	{
4942 		NIM_BOOL T39_;
4943 		T39_ = (NIM_BOOL)0;
4944 		T39_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
4945 		if (T39_) goto LA40_;
4946 		T39_ = inconsistentVarTypes__sigmatch_882(f_2, a_2);
4947 		LA40_: ;
4948 		if (!T39_) goto LA41_;
4949 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4950 	}
4951 	LA41_: ;
4952 	}BeforeRet_: ;
4953 	return result;
4954 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,procTypeRel__sigmatch_927)4955 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4956 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4957 {	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4958 	switch ((*a).kind) {
4959 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
4960 	{
4961 		tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA T33_;
4962 		{
4963 			NI T4_;
4964 			NI T5_;
4965 			T4_ = (NI)0;
4966 			T4_ = len__ast_4002(f);
4967 			T5_ = (NI)0;
4968 			T5_ = len__ast_4002(a);
4969 			if (!!((T4_ == T5_))) goto LA6_;
4970 			goto BeforeRet_;
4971 		}
4972 		LA6_: ;
4973 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4974 		{
4975 			NI i;
4976 			NI colontmp_;
4977 			NI i_2;
4978 			i = (NI)0;
4979 			colontmp_ = (NI)0;
4980 			colontmp_ = len__ast_4002(f);
4981 			i_2 = ((NI) 1);
4982 			{
4983 				while (1) {
4984 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T11_;
4985 					if (!(i_2 < colontmp_)) goto LA10;
4986 					i = i_2;
4987 					T11_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4988 					T11_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[i], (*a).sons->data[i]);
4989 					result = minRel__sigmatch_798(result, T11_);
4990 					{
4991 						if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA14_;
4992 						goto BeforeRet_;
4993 					}
4994 					LA14_: ;
4995 					i_2 += ((NI) 1);
4996 				} LA10: ;
4997 			}
4998 		}
4999 		{
5000 			if (!!(((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_;
5001 			{
5002 				tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T24_;
5003 				if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA22_;
5004 				T24_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
5005 				T24_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)]);
5006 				result = minRel__sigmatch_798(result, T24_);
5007 				{
5008 					if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA27_;
5009 					goto BeforeRet_;
5010 				}
5011 				LA27_: ;
5012 			}
5013 			goto LA20_;
5014 			LA22_: ;
5015 			{
5016 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5017 				goto BeforeRet_;
5018 			}
5019 			LA20_: ;
5020 		}
5021 		goto LA16_;
5022 		LA18_: ;
5023 		{
5024 			if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA31_;
5025 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5026 			goto BeforeRet_;
5027 		}
5028 		goto LA16_;
5029 		LA31_: ;
5030 		LA16_: ;
5031 		T33_ = getProcConvMismatch__types_3686((*(*(*c).c).graph).config, f, a, result);
5032 		result = T33_.Field1;
5033 		{
5034 			tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T36_;
5035 			T36_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
5036 			T36_ = compatibleEffects__types_3416(f, a);
5037 			if (!!((T36_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)))) goto LA37_;
5038 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5039 			goto BeforeRet_;
5040 		}
5041 		LA37_: ;
5042 	}
5043 	break;
5044 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
5045 	{
5046 		result = allowsNil__sigmatch_875(f);
5047 	}
5048 	break;
5049 	default:
5050 	{
5051 	}
5052 	break;
5053 	}
5054 	}BeforeRet_: ;
5055 	return result;
5056 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipToObject__sigmatch_703)5057 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped) {
5058 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5059 	tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
5060 	NI ptrs;
5061 	result = NIM_NIL;
5062 	r = t;
5063 	ptrs = ((NI) 0);
5064 	{
5065 		while (1) {
5066 			if (!!((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
5067 			switch ((*r).kind) {
5068 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
5069 			{
5070 				r = (*r).sons->data[((NI) 0)];
5071 			}
5072 			break;
5073 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
5074 			{
5075 				ptrs += ((NI) 1);
5076 				(*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 1);
5077 				r = lastSon__ast_3743(r);
5078 			}
5079 			break;
5080 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
5081 			{
5082 				ptrs += ((NI) 1);
5083 				(*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 2);
5084 				r = lastSon__ast_3743(r);
5085 			}
5086 			break;
5087 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
5088 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5089 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5090 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5091 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
5092 			{
5093 				r = lastSon__ast_3743(r);
5094 			}
5095 			break;
5096 			default:
5097 			{
5098 				goto LA1;
5099 			}
5100 			break;
5101 			}
5102 		} LA2: ;
5103 	} LA1: ;
5104 	{
5105 		NIM_BOOL T10_;
5106 		T10_ = (NIM_BOOL)0;
5107 		T10_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5108 		if (!(T10_)) goto LA11_;
5109 		T10_ = (ptrs <= ((NI) 1));
5110 		LA11_: ;
5111 		if (!T10_) goto LA12_;
5112 		result = r;
5113 	}
5114 	LA12_: ;
5115 	return result;
5116 }
N_NIMCALL(NIM_BOOL,isGenericSubtype__sigmatch_744)5117 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericSubtype__sigmatch_744)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, NI* d, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
5118 	NIM_BOOL result;
5119 	tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip;
5120 	tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip;
5121 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5122 	tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
5123 	NI depth;
5124 	tyObject_TType__facALICuu8zUj0hjvbTLFg* last;
5125 {	result = (NIM_BOOL)0;
5126 	askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
5127 	fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
5128 	t = skipToObject__sigmatch_703(a, (&askip));
5129 	r = skipToObject__sigmatch_703(f, (&fskip));
5130 	{
5131 		if (!(r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5132 		result = NIM_FALSE;
5133 		goto BeforeRet_;
5134 	}
5135 	LA3_: ;
5136 	depth = ((NI) 0);
5137 	last = a;
5138 	{
5139 		while (1) {
5140 			NIM_BOOL T7_;
5141 			NIM_BOOL T8_;
5142 			T7_ = (NIM_BOOL)0;
5143 			T8_ = (NIM_BOOL)0;
5144 			T8_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5145 			if (!(T8_)) goto LA9_;
5146 			T8_ = !(((*r).sym == (*t).sym));
5147 			LA9_: ;
5148 			T7_ = T8_;
5149 			if (!(T7_)) goto LA10_;
5150 			T7_ = (askip == fskip);
5151 			LA10_: ;
5152 			if (!T7_) goto LA6;
5153 			t = (*t).sons->data[((NI) 0)];
5154 			{
5155 				if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA13_;
5156 				goto LA5;
5157 			}
5158 			LA13_: ;
5159 			last = t;
5160 			t = skipToObject__sigmatch_703(t, (&askip));
5161 			depth += ((NI) 1);
5162 		} LA6: ;
5163 	} LA5: ;
5164 	{
5165 		NIM_BOOL T17_;
5166 		T17_ = (NIM_BOOL)0;
5167 		T17_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5168 		if (!(T17_)) goto LA18_;
5169 		T17_ = (askip == fskip);
5170 		LA18_: ;
5171 		if (!T17_) goto LA19_;
5172 		genericParamPut__sigmatch_622(c, last, fGenericOrigin);
5173 		(*d) = depth;
5174 		result = NIM_TRUE;
5175 	}
5176 	LA19_: ;
5177 	}BeforeRet_: ;
5178 	return result;
5179 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,concreteType__sigmatch_443)5180 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
5181 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5182 	result = NIM_NIL;
5183 	switch ((*t).kind) {
5184 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5185 	{
5186 		{
5187 			if (!(*c).isNoCall) goto LA4_;
5188 			result = t;
5189 		}
5190 		goto LA2_;
5191 		LA4_: ;
5192 		{
5193 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5194 		}
5195 		LA2_: ;
5196 	}
5197 	break;
5198 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5199 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
5200 	{
5201 		{
5202 			if (!((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA10_;
5203 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5204 		}
5205 		goto LA8_;
5206 		LA10_: ;
5207 		{
5208 			result = t;
5209 		}
5210 		LA8_: ;
5211 	}
5212 	break;
5213 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
5214 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
5215 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
5216 	{
5217 		result = t;
5218 		{
5219 			while (1) {
5220 				RootObj* T16_;
5221 				T16_ = NIM_NIL;
5222 				T16_ = idTableGet__astalgo_64((*c).bindings, &t->Sup);
5223 				result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T16_));
5224 				{
5225 					if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
5226 					goto LA14;
5227 				}
5228 				LA19_: ;
5229 				{
5230 					if (!!(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA23_;
5231 					goto LA14;
5232 				}
5233 				LA23_: ;
5234 			}
5235 		} LA14: ;
5236 	}
5237 	break;
5238 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
5239 	{
5240 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5241 	}
5242 	break;
5243 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
5244 	{
5245 		{
5246 			NIM_BOOL T29_;
5247 			NIM_BOOL T30_;
5248 			NI T32_;
5249 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
5250 			T29_ = (NIM_BOOL)0;
5251 			T30_ = (NIM_BOOL)0;
5252 			T30_ = !((f == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5253 			if (!(T30_)) goto LA31_;
5254 			T32_ = (NI)0;
5255 			T32_ = len__ast_4002(f);
5256 			T30_ = (((NI) 0) < T32_);
5257 			LA31_: ;
5258 			T29_ = T30_;
5259 			if (!(T29_)) goto LA33_;
5260 			T34_ = NIM_NIL;
5261 			T34_ = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_29);
5262 			T29_ = ((*T34_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
5263 			LA33_: ;
5264 			if (!T29_) goto LA35_;
5265 			result = lastSon__ast_3743(t);
5266 		}
5267 		goto LA27_;
5268 		LA35_: ;
5269 		{
5270 			result = t;
5271 		}
5272 		LA27_: ;
5273 	}
5274 	break;
5275 	default:
5276 	{
5277 		result = t;
5278 	}
5279 	break;
5280 	}
5281 	return result;
5282 }
N_NIMCALL(void,Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)5283 static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op) {
5284 	tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* a;
5285 	a = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*)p;
5286 	nimGCvisit((void*)(*a).errorPrefix1, op);
5287 	nimGCvisit((void*)(*a).typeClass2, op);
5288 	nimGCvisit((void*)(*a).oldWriteHook3.ClE_0, op);
5289 	nimGCvisit((void*)(*a).diagnostics4, op);
5290 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)5291 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5292 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5293 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5294 	(*x).symId += ((NI) 1);
5295 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5296 	result.module = (*x).module;
5297 	result.item = (*x).symId;
5298 	return result;
5299 }
N_NIMCALL(void,Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)5300 static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op) {
5301 	tySequence__bGUffHlsVXt0g6ZKEF4OfQ* a;
5302 	NI T1_;
5303 	a = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*)p;
5304 	T1_ = (NI)0;
5305 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
5306 	nimGCvisit((void*)a->data[T1_].Field0, op);
5307 	nimGCvisit((void*)a->data[T1_].Field1, op);
5308 	}
5309 }
N_INLINE(void,addDeclAt__lookups_837)5310 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
5311 	addDeclAt__lookups_815(c, scope, sym, (*sym).info);
5312 }
N_INLINE(void,addDecl__lookups_845)5313 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
5314 	addDeclAt__lookups_837(c, (*c).currentScope, sym);
5315 }
N_CLOSURE(void,colonanonymous___sigmatch_1102)5316 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0) {
5317 	tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenvP_;
5318 	NimStringDesc* msg;
5319 	NI T10_;
5320 	NimStringDesc* T11_;
5321 	colonenvP_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) ClE_0;
5322 	{
5323 		NimStringDesc* T5_;
5324 		if (!(((*colonenvP_).errorPrefix1 ? (*colonenvP_).errorPrefix1->Sup.len : 0) == ((NI) 0))) goto LA3_;
5325 		T5_ = NIM_NIL;
5326 		T5_ = rawNewString(((*(*(*(*colonenvP_).typeClass2).sym).name).s ? (*(*(*(*colonenvP_).typeClass2).sym).name).s->Sup.len : 0) + 1);
5327 appendString(T5_, (*(*(*(*colonenvP_).typeClass2).sym).name).s);
5328 appendString(T5_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_37));
5329 		asgnRef((void**) (&(*colonenvP_).errorPrefix1), T5_);
5330 	}
5331 	LA3_: ;
5332 	msg = nsuReplaceStr(s, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_38), (*colonenvP_).errorPrefix1);
5333 	{
5334 		if (!!(((*colonenvP_).oldWriteHook3.ClP_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClP_0 && (*colonenvP_).oldWriteHook3.ClE_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClE_0))) goto LA8_;
5335 		(*colonenvP_).oldWriteHook3.ClE_0? (*colonenvP_).oldWriteHook3.ClP_0(msg, (*colonenvP_).oldWriteHook3.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_40)((*colonenvP_).oldWriteHook3.ClP_0))(msg);
5336 	}
5337 	LA8_: ;
5338 	asgnRef((void**) (&(*colonenvP_).diagnostics4), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenvP_).diagnostics4), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5339 	T10_ = (*colonenvP_).diagnostics4->Sup.len++;
5340 	T11_ = NIM_NIL;
5341 	T11_ = (*colonenvP_).diagnostics4->data[T10_]; (*colonenvP_).diagnostics4->data[T10_] = copyStringRC1(msg);
5342 	if (T11_) nimGCunrefNoCycle(T11_);
5343 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,matchUserTypeClass__sigmatch_993)5344 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
5345 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5346 	tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenv_;
5347 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
5348 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
5349 	tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg matchedConceptContext;
5350 	tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prevMatchedConcept;
5351 	tyObject_TType__facALICuu8zUj0hjvbTLFg* prevCandidateType;
5352 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T11_;
5353 	TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_35;
5354 	tySequence__bGUffHlsVXt0g6ZKEF4OfQ* typeParams;
5355 	tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags;
5356 	NIM_BOOL collectDiagnostics;
5357 	NIM_BOOL T56_;
5358 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkedBody;
5359 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
5360 {	result = NIM_NIL;
5361 	colonenv_ = NIM_NIL;
5362 	colonenv_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) newObj((&NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_), sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA));
5363 	(*colonenv_).Sup.m_type = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_);
5364 	c = (*m).c;
5365 	asgnRef((void**) (&(*colonenv_).typeClass2), skipTypes__ast_3735(ff, TM__EV5hHJmjIY9cla9b9be7fSVJQ_32));
5366 	body = (*(*(*colonenv_).typeClass2).n)._kind_6.sons->data[((NI) 3)];
5367 	nimZeroMem((void*)(&matchedConceptContext), sizeof(tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg));
5368 	prevMatchedConcept = (*c).matchedConcept;
5369 	prevCandidateType = (*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)];
5370 	{
5371 		if (!!((prevMatchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA3_;
5372 		matchedConceptContext.prev = prevMatchedConcept;
5373 		matchedConceptContext.depth = (NI)((*prevMatchedConcept).depth + ((NI) 1));
5374 		{
5375 			NimStringDesc* T9_;
5376 			NimStringDesc* T10_;
5377 			if (!(((NI) 4) < (*prevMatchedConcept).depth)) goto LA7_;
5378 			T9_ = NIM_NIL;
5379 			T10_ = NIM_NIL;
5380 			T10_ = dollar___renderer_2106(body);
5381 			T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 29);
5382 appendString(T9_, T10_);
5383 appendString(T9_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_33));
5384 			liMessage__msgs_1118((*(*(*m).c).graph).config, (*body).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_34, NIM_FALSE);
5385 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5386 			goto BeforeRet_;
5387 		}
5388 		LA7_: ;
5389 	}
5390 	LA3_: ;
5391 	T11_ = NIM_NIL;
5392 	T11_ = openScope__lookups_69(c);
5393 	matchedConceptContext.candidateType = a;
5394 	asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), a);
5395 	(*c).matchedConcept = (&matchedConceptContext);
5396 	pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_35);
5397 	TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status = _setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.context);
5398 	if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status == 0) {
5399 	typeParams = NIM_NIL;
5400 	{
5401 		if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA14_;
5402 		{
5403 			NI i;
5404 			NI colontmp_;
5405 			NI T17_;
5406 			NI i_2;
5407 			i = (NI)0;
5408 			colontmp_ = (NI)0;
5409 			T17_ = (NI)0;
5410 			T17_ = len__ast_4002(ff);
5411 			colontmp_ = (NI)(T17_ - ((NI) 1));
5412 			i_2 = ((NI) 1);
5413 			{
5414 				while (1) {
5415 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typeParamName;
5416 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
5417 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5418 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
5419 					tyObject_TType__facALICuu8zUj0hjvbTLFg* alreadyBound;
5420 					RootObj* T21_;
5421 					if (!(i_2 < colontmp_)) goto LA19;
5422 					i = i_2;
5423 					T20_ = NIM_NIL;
5424 					T20_ = base__types_63(ff);
5425 					typeParamName = (*(*(*T20_).sons->data[(NI)(i - ((NI) 1))]).sym).name;
5426 					typ = (*ff).sons->data[i];
5427 					param = NIM_NIL;
5428 					T21_ = NIM_NIL;
5429 					T21_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(typ)))));
5430 					alreadyBound = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T21_));
5431 					{
5432 						if (!!((alreadyBound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA24_;
5433 						typ = alreadyBound;
5434 					}
5435 					LA24_: ;
5436 					{
5437 						tyTuple__Qqa8F49azZNOOP4FK3LKbhw T54_;
5438 						NI T55_;
5439 						{
5440 							tyTuple__Qqa8F49azZNOOP4FK3LKbhw* prev;
5441 							NI i_3;
5442 							NI L;
5443 							NI T28_;
5444 							prev = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0;
5445 							i_3 = ((NI) 0);
5446 							T28_ = (typeParams ? typeParams->Sup.len : 0);
5447 							L = T28_;
5448 							{
5449 								while (1) {
5450 									if (!(i_3 < L)) goto LA30;
5451 									prev = (&typeParams->data[i_3]);
5452 									{
5453 										tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym159_;
5454 										tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym160_;
5455 										tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T35_;
5456 										xX60gensym159_ = (*prev).Field1;
5457 										xX60gensym160_ = typ;
5458 										if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym159_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym159_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym160_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym160_).Sup.itemId.item))))) goto LA33_;
5459 										T35_ = nextSymId__ast_3132((*c).Sup.idgen);
5460 										param = newSym__ast_3445((*(*prev).Field0).kind, typeParamName, T35_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5461 										asgnRef((void**) (&(*param).typ), (*(*prev).Field0).typ);
5462 										goto LA26;
5463 									}
5464 									LA33_: ;
5465 									i_3 += ((NI) 1);
5466 								} LA30: ;
5467 							}
5468 						}
5469 						switch ((*typ).kind) {
5470 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5471 						{
5472 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T37_;
5473 							T37_ = nextSymId__ast_3132((*c).Sup.idgen);
5474 							param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typeParamName, T37_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5475 							asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ));
5476 							{
5477 								if (!((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA40_;
5478 								(*(*param).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27)) & 63);
5479 							}
5480 							goto LA38_;
5481 							LA40_: ;
5482 							{
5483 								asgnRef((void**) (&(*param).ast), (*typ).n);
5484 							}
5485 							LA38_: ;
5486 						}
5487 						break;
5488 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
5489 						{
5490 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T44_;
5491 							T44_ = nextSymId__ast_3132((*c).Sup.idgen);
5492 							param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), typeParamName, T44_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5493 							asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ));
5494 						}
5495 						break;
5496 						default:
5497 						{
5498 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T46_;
5499 							T46_ = nextSymId__ast_3132((*c).Sup.idgen);
5500 							param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), typeParamName, T46_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5501 							{
5502 								NIM_BOOL T49_;
5503 								tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T52_;
5504 								T49_ = (NIM_BOOL)0;
5505 								T49_ = isMetaType__ast_3495(typ);
5506 								if (!T49_) goto LA50_;
5507 								T52_ = NIM_NIL;
5508 								T52_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
5509 								asgnRef((void**) (&T52_->data[0]), typ);
5510 								asgnRef((void**) (&(*param).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55), T52_));
5511 							}
5512 							goto LA47_;
5513 							LA50_: ;
5514 							{
5515 								asgnRef((void**) (&(*param).typ), makeTypeDesc__concepts_49(c, typ));
5516 							}
5517 							LA47_: ;
5518 						}
5519 						break;
5520 						}
5521 						nimZeroMem((void*)(&T54_), sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw));
5522 						T54_.Field0 = param;
5523 						T54_.Field1 = typ;
5524 						typeParams = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*) incrSeqV3((TGenericSeq*)(typeParams), (&NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_));
5525 						T55_ = typeParams->Sup.len++;
5526 						asgnRef((void**) (&typeParams->data[T55_].Field0), T54_.Field0);
5527 						asgnRef((void**) (&typeParams->data[T55_].Field1), T54_.Field1);
5528 					} LA26: ;
5529 					addDecl__lookups_845(c, param);
5530 					i_2 += ((NI) 1);
5531 				} LA19: ;
5532 			}
5533 		}
5534 	}
5535 	LA14_: ;
5536 	nimZeroMem((void*)(&(*colonenv_).oldWriteHook3), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ));
5537 	asgnRef((void**) (&(*colonenv_).diagnostics4), NIM_NIL);
5538 	asgnRef((void**) (&(*colonenv_).errorPrefix1), NIM_NIL);
5539 	flags = 0;
5540 	T56_ = (NIM_BOOL)0;
5541 	T56_ = (*m).diagnosticsEnabled;
5542 	if (T56_) goto LA57_;
5543 	T56_ = (((*(*(*colonenv_).typeClass2).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23))&63U)))!=0);
5544 	LA57_: ;
5545 	collectDiagnostics = T56_;
5546 	{
5547 		tyProc__k2HFjxisIgDALbEUFojxaQ T62_;
5548 		if (!collectDiagnostics) goto LA60_;
5549 		asgnRef((void**) (&(*colonenv_).oldWriteHook3.ClE_0), (*(*(*(*m).c).graph).config).writelnHook.ClE_0);
5550 		(*colonenv_).oldWriteHook3.ClP_0 = (*(*(*(*m).c).graph).config).writelnHook.ClP_0;
5551 		if ((*colonenv_).diagnostics4) { nimGCunrefRC1((*colonenv_).diagnostics4); (*colonenv_).diagnostics4 = NIM_NIL; }
5552 		flags = 1024;
5553 		nimZeroMem((void*)(&T62_), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ));
5554 		T62_.ClP_0 = colonanonymous___sigmatch_1102; T62_.ClE_0 = colonenv_;
5555 		asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), T62_.ClE_0);
5556 		(*(*(*(*m).c).graph).config).writelnHook.ClP_0 = T62_.ClP_0;
5557 	}
5558 	LA60_: ;
5559 	T63_ = NIM_NIL;
5560 	T63_ = copyTree__ast_4431(body);
5561 	checkedBody = (*c).semTryExpr(c, T63_, flags);
5562 	{
5563 		if (!collectDiagnostics) goto LA66_;
5564 		asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), (*colonenv_).oldWriteHook3.ClE_0);
5565 		(*(*(*(*m).c).graph).config).writelnHook.ClP_0 = (*colonenv_).oldWriteHook3.ClP_0;
5566 		{
5567 			NimStringDesc** msg;
5568 			NI i_4;
5569 			NI L_2;
5570 			NI T69_;
5571 			msg = (NimStringDesc**)0;
5572 			i_4 = ((NI) 0);
5573 			T69_ = ((*colonenv_).diagnostics4 ? (*colonenv_).diagnostics4->Sup.len : 0);
5574 			L_2 = T69_;
5575 			{
5576 				while (1) {
5577 					NI T72_;
5578 					NimStringDesc* T73_;
5579 					if (!(i_4 < L_2)) goto LA71;
5580 					msg = (&(*colonenv_).diagnostics4->data[i_4]);
5581 					unsureAsgnRef((void**) (&(*m).diagnostics), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*m).diagnostics), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5582 					T72_ = (*m).diagnostics->Sup.len++;
5583 					T73_ = NIM_NIL;
5584 					T73_ = (*m).diagnostics->data[T72_]; (*m).diagnostics->data[T72_] = copyStringRC1((*msg));
5585 					if (T73_) nimGCunrefNoCycle(T73_);
5586 					(*m).diagnosticsEnabled = NIM_TRUE;
5587 					i_4 += ((NI) 1);
5588 				} LA71: ;
5589 			}
5590 		}
5591 	}
5592 	LA66_: ;
5593 	{
5594 		if (!(checkedBody == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA76_;
5595 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5596 		popSafePoint();
5597 		(*c).matchedConcept = prevMatchedConcept;
5598 		asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType);
5599 		closeScope__lookups_101(c);
5600 		goto BeforeRet_;
5601 	}
5602 	LA76_: ;
5603 	{
5604 		tyTuple__Qqa8F49azZNOOP4FK3LKbhw* p;
5605 		NI i_5;
5606 		NI L_3;
5607 		NI T79_;
5608 		p = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0;
5609 		i_5 = ((NI) 0);
5610 		T79_ = (typeParams ? typeParams->Sup.len : 0);
5611 		L_3 = T79_;
5612 		{
5613 			while (1) {
5614 				if (!(i_5 < L_3)) goto LA81;
5615 				p = (&typeParams->data[i_5]);
5616 				put__sigmatch_120(m, (*p).Field1, (*(*p).Field0).typ);
5617 				i_5 += ((NI) 1);
5618 			} LA81: ;
5619 		}
5620 	}
5621 	{
5622 		if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA84_;
5623 		result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*(*(*colonenv_).typeClass2).sym).info, ff);
5624 	}
5625 	goto LA82_;
5626 	LA84_: ;
5627 	{
5628 		result = exactReplica__ast_4051(ff);
5629 	}
5630 	LA82_: ;
5631 	asgnRef((void**) (&(*result).n), checkedBody);
5632 	popSafePoint();
5633 	}
5634 	else {
5635 		popSafePoint();
5636 	}
5637 	{
5638 		(*c).matchedConcept = prevMatchedConcept;
5639 		asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType);
5640 		closeScope__lookups_101(c);
5641 		if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) nimLeaveFinally();
5642 	}
5643 	if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) reraiseException();
5644 	}BeforeRet_: ;
5645 	return result;
5646 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)5647 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
5648 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
5649 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)5650 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
5651 	NimStringDesc* result;
5652 	result = NIM_NIL;
5653 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
5654 appendString(result, info.Field0);
5655 	{
5656 		if (!(((NI) 0) < info.Field1)) goto LA3_;
5657 		result = resizeString(result, 1);
5658 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41));
5659 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
5660 		{
5661 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
5662 			result = resizeString(result, 2);
5663 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
5664 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
5665 		}
5666 		LA7_: ;
5667 		result = resizeString(result, 1);
5668 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43));
5669 	}
5670 	LA3_: ;
5671 	return result;
5672 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,typeRel__sigmatch_202)5673 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRel__sigmatch_202)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig, tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg flags) {
5674 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
5675 	NIM_BOOL useTypeLoweringRuleInTypeClass;
5676 	NIM_BOOL T9_;
5677 	NIM_BOOL T10_;
5678 	NIM_BOOL T11_;
5679 	NIM_BOOL T12_;
5680 	tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig_2;
5681 	tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
5682 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_;
5683 {	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
5684 	result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5685 	{
5686 		if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA3_;
5687 		{
5688 			if (!!((aOrig == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
5689 			put__sigmatch_120(c, f, aOrig);
5690 		}
5691 		LA7_: ;
5692 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5693 		goto BeforeRet_;
5694 	}
5695 	LA3_: ;
5696 	T9_ = (NIM_BOOL)0;
5697 	T10_ = (NIM_BOOL)0;
5698 	T11_ = (NIM_BOOL)0;
5699 	T12_ = (NIM_BOOL)0;
5700 	T12_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
5701 	if (!(T12_)) goto LA13_;
5702 	T12_ = !((*c).isNoCall);
5703 	LA13_: ;
5704 	T11_ = T12_;
5705 	if (!(T11_)) goto LA14_;
5706 	T11_ = !(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
5707 	LA14_: ;
5708 	T10_ = T11_;
5709 	if (!(T10_)) goto LA15_;
5710 	T10_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0));
5711 	LA15_: ;
5712 	T9_ = T10_;
5713 	if (!(T9_)) goto LA16_;
5714 	T9_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28))&63U)))!=0));
5715 	LA16_: ;
5716 	useTypeLoweringRuleInTypeClass = T9_;
5717 	{
5718 		if (!useTypeLoweringRuleInTypeClass) goto LA19_;
5719 		aOrig_2 = skipTypes__ast_3735(aOrig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
5720 	}
5721 	goto LA17_;
5722 	LA19_: ;
5723 	{
5724 		aOrig_2 = aOrig;
5725 	}
5726 	LA17_: ;
5727 	{
5728 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prev;
5729 		if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55))) goto LA24_;
5730 		{
5731 			NI T28_;
5732 			T28_ = ((*aOrig_2).sons ? (*aOrig_2).sons->Sup.len : 0);
5733 			if (!(((NI) 1) < T28_)) goto LA29_;
5734 			prev = lastSon__ast_3743(aOrig_2);
5735 		}
5736 		goto LA26_;
5737 		LA29_: ;
5738 		{
5739 			prev = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5740 		}
5741 		LA26_: ;
5742 		{
5743 			if (!!((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
5744 			result = typeRel__sigmatch_202(c, f, prev, flags);
5745 			goto BeforeRet_;
5746 		}
5747 		goto LA32_;
5748 		LA34_: ;
5749 		{
5750 			tyObject_TType__facALICuu8zUj0hjvbTLFg* candidate;
5751 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
5752 			candidate = f;
5753 			switch ((*f).kind) {
5754 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
5755 			{
5756 				tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_2;
5757 				RootObj* T38_;
5758 				T38_ = NIM_NIL;
5759 				T38_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
5760 				prev_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T38_));
5761 				{
5762 					if (!!((prev_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA41_;
5763 					candidate = prev_2;
5764 				}
5765 				LA41_: ;
5766 			}
5767 			break;
5768 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
5769 			{
5770 				tyObject_TType__facALICuu8zUj0hjvbTLFg* computedType;
5771 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
5772 				T44_ = NIM_NIL;
5773 				T44_ = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE);
5774 				computedType = (*T44_).typ;
5775 				switch ((*computedType).kind) {
5776 				case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5777 				{
5778 					candidate = base__types_63(computedType);
5779 				}
5780 				break;
5781 				case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5782 				{
5783 					candidate = computedType;
5784 				}
5785 				break;
5786 				default:
5787 				{
5788 				}
5789 				break;
5790 				}
5791 			}
5792 			break;
5793 			default:
5794 			{
5795 			}
5796 			break;
5797 			}
5798 			T49_ = NIM_NIL;
5799 			T49_ = base__types_63(aOrig_2);
5800 			result = typeRel__sigmatch_202(c, T49_, candidate, flags);
5801 			{
5802 				NI T54_;
5803 				if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA52_;
5804 				unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
5805 				T54_ = (*c).inferredTypes->Sup.len++;
5806 				asgnRef((void**) (&(*c).inferredTypes->data[T54_]), aOrig_2);
5807 				add__concepts_23(aOrig_2, candidate);
5808 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
5809 			}
5810 			LA52_: ;
5811 			goto BeforeRet_;
5812 		}
5813 		LA32_: ;
5814 	}
5815 	LA24_: ;
5816 	T55_ = NIM_NIL;
5817 	T55_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15);
5818 	a = maybeSkipDistinct__sigmatch_1210((&(*c)), T55_, (*c).calleeSym);
5819 	{
5820 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
5821 		if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA58_;
5822 		T60_ = NIM_NIL;
5823 		T60_ = lastSon__ast_3743(aOrig_2);
5824 		result = typeRel__sigmatch_202(c, f, T60_, flags);
5825 		goto BeforeRet_;
5826 	}
5827 	LA58_: ;
5828 	{
5829 		NIM_BOOL T63_;
5830 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
5831 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T68_;
5832 		T63_ = (NIM_BOOL)0;
5833 		T63_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
5834 		if (!(T63_)) goto LA64_;
5835 		T65_ = NIM_NIL;
5836 		T65_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15);
5837 		T63_ = !(((*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59)));
5838 		LA64_: ;
5839 		if (!T63_) goto LA66_;
5840 		T68_ = NIM_NIL;
5841 		T68_ = lastSon__ast_3743(a);
5842 		result = typeRel__sigmatch_202(c, f, T68_, flags);
5843 		goto BeforeRet_;
5844 	}
5845 	LA66_: ;
5846 	{
5847 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
5848 		if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA71_;
5849 		T73_ = NIM_NIL;
5850 		T73_ = lastSon__ast_3743(a);
5851 		result = typeRel__sigmatch_202(c, f, T73_, flags);
5852 		goto BeforeRet_;
5853 	}
5854 	LA71_: ;
5855 	switch ((*a).kind) {
5856 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
5857 	{
5858 		(*c).typedescMatched = NIM_TRUE;
5859 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5860 		{
5861 			tyObject_TType__facALICuu8zUj0hjvbTLFg** branch;
5862 			NI i;
5863 			NI L;
5864 			NI T76_;
5865 			branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
5866 			i = ((NI) 0);
5867 			T76_ = ((*a).sons ? (*a).sons->Sup.len : 0);
5868 			L = T76_;
5869 			{
5870 				while (1) {
5871 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x;
5872 					if (!(i < L)) goto LA78;
5873 					branch = &(*a).sons->data[i];
5874 					x = typeRel__sigmatch_202(c, f, (*branch), (flags | 1));
5875 					{
5876 						if (!(x == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA81_;
5877 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5878 						goto BeforeRet_;
5879 					}
5880 					LA81_: ;
5881 					{
5882 						if (!(x < result)) goto LA85_;
5883 						result = x;
5884 					}
5885 					LA85_: ;
5886 					i += ((NI) 1);
5887 				} LA78: ;
5888 			}
5889 		}
5890 		goto BeforeRet_;
5891 	}
5892 	break;
5893 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
5894 	{
5895 		(*c).typedescMatched = NIM_TRUE;
5896 		{
5897 			tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_2;
5898 			NI i_2;
5899 			NI L_2;
5900 			NI T89_;
5901 			branch_2 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
5902 			i_2 = ((NI) 0);
5903 			T89_ = ((*a).sons ? (*a).sons->Sup.len : 0);
5904 			L_2 = T89_;
5905 			{
5906 				while (1) {
5907 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_2;
5908 					if (!(i_2 < L_2)) goto LA91;
5909 					branch_2 = &(*a).sons->data[i_2];
5910 					x_2 = typeRel__sigmatch_202(c, f, (*branch_2), (flags | 1));
5911 					{
5912 						if (!!((x_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA94_;
5913 						{
5914 							if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_2)) goto LA98_;
5915 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5916 						}
5917 						goto LA96_;
5918 						LA98_: ;
5919 						{
5920 							result = x_2;
5921 						}
5922 						LA96_: ;
5923 						goto BeforeRet_;
5924 					}
5925 					LA94_: ;
5926 					i_2 += ((NI) 1);
5927 				} LA91: ;
5928 			}
5929 		}
5930 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5931 		goto BeforeRet_;
5932 	}
5933 	break;
5934 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
5935 	{
5936 		{
5937 			if (!!(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64)))) goto LA104_;
5938 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5939 			goto BeforeRet_;
5940 		}
5941 		LA104_: ;
5942 	}
5943 	break;
5944 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
5945 	{
5946 		switch ((*f).kind) {
5947 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
5948 		{
5949 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T108_;
5950 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T109_;
5951 			T108_ = NIM_NIL;
5952 			T108_ = lastSon__ast_3743(a);
5953 			T109_ = NIM_NIL;
5954 			T109_ = lastSon__ast_3743(f);
5955 			result = typeRel__sigmatch_202(c, T108_, T109_, flags);
5956 			goto BeforeRet_;
5957 		}
5958 		break;
5959 		default:
5960 		{
5961 			{
5962 				if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA113_;
5963 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5964 			}
5965 			goto LA111_;
5966 			LA113_: ;
5967 			{
5968 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5969 			}
5970 			LA111_: ;
5971 			goto BeforeRet_;
5972 		}
5973 		break;
5974 		}
5975 	}
5976 	break;
5977 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
5978 	{
5979 		{
5980 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA119_;
5981 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5982 			goto BeforeRet_;
5983 		}
5984 		goto LA117_;
5985 		LA119_: ;
5986 		{
5987 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5988 			goto BeforeRet_;
5989 		}
5990 		LA117_: ;
5991 	}
5992 	break;
5993 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
5994 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5995 	{
5996 		{
5997 			NIM_BOOL T125_;
5998 			tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_3;
5999 			T125_ = (NIM_BOOL)0;
6000 			T125_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
6001 			if (!(T125_)) goto LA126_;
6002 			T125_ = ((*(*(*c).c).matchedConcept).depth <= ((NI) 4));
6003 			LA126_: ;
6004 			if (!T125_) goto LA127_;
6005 			(*(*(*c).c).matchedConcept).depth += ((NI) 1);
6006 			x_3 = typeRel__sigmatch_202(c, a, f, (flags | 1));
6007 			{
6008 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_3)) goto LA131_;
6009 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6010 				goto BeforeRet_;
6011 			}
6012 			LA131_: ;
6013 		}
6014 		LA127_: ;
6015 	}
6016 	break;
6017 	default:
6018 	{
6019 	}
6020 	break;
6021 	}
6022 	switch ((*f).kind) {
6023 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
6024 	{
6025 		{
6026 			NIM_BOOL T137_;
6027 			T137_ = (NIM_BOOL)0;
6028 			T137_ = ((*a).kind == (*f).kind);
6029 			if (!(T137_)) goto LA138_;
6030 			T137_ = sameEnumTypes__types_2087(f, a);
6031 			LA138_: ;
6032 			if (!T137_) goto LA139_;
6033 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6034 		}
6035 		goto LA135_;
6036 		LA139_: ;
6037 		{
6038 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T142_;
6039 			NIM_BOOL T143_;
6040 			T142_ = NIM_NIL;
6041 			T142_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6042 			T143_ = (NIM_BOOL)0;
6043 			T143_ = sameEnumTypes__types_2087(f, T142_);
6044 			if (!T143_) goto LA144_;
6045 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6046 		}
6047 		goto LA135_;
6048 		LA144_: ;
6049 		LA135_: ;
6050 	}
6051 	break;
6052 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
6053 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
6054 	{
6055 		{
6056 			if (!((*a).kind == (*f).kind)) goto LA149_;
6057 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6058 		}
6059 		goto LA147_;
6060 		LA149_: ;
6061 		{
6062 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T152_;
6063 			T152_ = NIM_NIL;
6064 			T152_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6065 			if (!((*T152_).kind == (*f).kind)) goto LA153_;
6066 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6067 		}
6068 		goto LA147_;
6069 		LA153_: ;
6070 		LA147_: ;
6071 	}
6072 	break;
6073 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
6074 	{
6075 		{
6076 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T165_;
6077 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_;
6078 			if (!((*a).kind == (*f).kind)) goto LA158_;
6079 			{
6080 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T162_;
6081 				T162_ = NIM_NIL;
6082 				T162_ = base__types_63(f);
6083 				if (!((*T162_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA163_;
6084 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6085 				goto BeforeRet_;
6086 			}
6087 			LA163_: ;
6088 			T165_ = NIM_NIL;
6089 			T165_ = base__types_63(f);
6090 			T166_ = NIM_NIL;
6091 			T166_ = base__types_63(a);
6092 			result = typeRel__sigmatch_202(c, T165_, T166_, flags);
6093 			{
6094 				if (!!(((257 &((NU16)1<<((NU)(result)&15U)))!=0))) goto LA169_;
6095 				{
6096 					NI i_3;
6097 					NI res;
6098 					i_3 = (NI)0;
6099 					res = ((NI) 0);
6100 					{
6101 						while (1) {
6102 							if (!(res <= ((NI) 1))) goto LA173;
6103 							i_3 = res;
6104 							{
6105 								if (!((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62))) goto LA176_;
6106 								asgnRef((void**) (&(*(*f).n)._kind_6.sons->data[i_3]), tryResolvingStaticExpr__sigmatch_1227(c, (*(*f).n)._kind_6.sons->data[i_3], NIM_FALSE));
6107 							}
6108 							LA176_: ;
6109 							res += ((NI) 1);
6110 						} LA173: ;
6111 					}
6112 				}
6113 				result = typeRangeRel__sigmatch_981(f, a);
6114 			}
6115 			LA169_: ;
6116 		}
6117 		goto LA156_;
6118 		LA158_: ;
6119 		{
6120 			tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2;
6121 			f_2 = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6122 			{
6123 				NIM_BOOL T181_;
6124 				NIM_BOOL T183_;
6125 				T181_ = (NIM_BOOL)0;
6126 				T181_ = ((*f_2).kind == (*a).kind);
6127 				if (!(T181_)) goto LA182_;
6128 				T183_ = (NIM_BOOL)0;
6129 				T183_ = !(((*f_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)));
6130 				if (T183_) goto LA184_;
6131 				T183_ = sameEnumTypes__types_2087(f_2, a);
6132 				LA184_: ;
6133 				T181_ = T183_;
6134 				LA182_: ;
6135 				if (!T181_) goto LA185_;
6136 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
6137 			}
6138 			goto LA179_;
6139 			LA185_: ;
6140 			{
6141 				NIM_BOOL T188_;
6142 				T188_ = (NIM_BOOL)0;
6143 				T188_ = isConvertibleToRange__sigmatch_548(f_2, a);
6144 				if (!T188_) goto LA189_;
6145 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6146 			}
6147 			goto LA179_;
6148 			LA189_: ;
6149 			LA179_: ;
6150 		}
6151 		LA156_: ;
6152 	}
6153 	break;
6154 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
6155 	{
6156 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
6157 	}
6158 	break;
6159 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
6160 	{
6161 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32));
6162 	}
6163 	break;
6164 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
6165 	{
6166 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
6167 	}
6168 	break;
6169 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
6170 	{
6171 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
6172 	}
6173 	break;
6174 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
6175 	{
6176 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
6177 	}
6178 	break;
6179 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
6180 	{
6181 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
6182 	}
6183 	break;
6184 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
6185 	{
6186 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
6187 	}
6188 	break;
6189 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
6190 	{
6191 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42));
6192 	}
6193 	break;
6194 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
6195 	{
6196 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
6197 	}
6198 	break;
6199 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
6200 	{
6201 		result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
6202 	}
6203 	break;
6204 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
6205 	{
6206 		result = handleFloatRange__sigmatch_596(f, a);
6207 	}
6208 	break;
6209 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
6210 	{
6211 		result = handleFloatRange__sigmatch_596(f, a);
6212 	}
6213 	break;
6214 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
6215 	{
6216 		result = handleFloatRange__sigmatch_596(f, a);
6217 	}
6218 	break;
6219 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
6220 	{
6221 		result = handleFloatRange__sigmatch_596(f, a);
6222 	}
6223 	break;
6224 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
6225 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
6226 	{
6227 		{
6228 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T210_;
6229 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T211_;
6230 			if (!((*aOrig_2).kind == (*f).kind)) goto LA208_;
6231 			T210_ = NIM_NIL;
6232 			T210_ = base__types_63(f);
6233 			T211_ = NIM_NIL;
6234 			T211_ = base__types_63(aOrig_2);
6235 			result = typeRel__sigmatch_202(c, T210_, T211_, flags);
6236 		}
6237 		goto LA206_;
6238 		LA208_: ;
6239 		{
6240 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_;
6241 			T213_ = NIM_NIL;
6242 			T213_ = base__types_63(f);
6243 			result = typeRel__sigmatch_202(c, T213_, aOrig_2, (flags | 2));
6244 		}
6245 		LA206_: ;
6246 		{
6247 			NIM_BOOL T216_;
6248 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T218_;
6249 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T219_;
6250 			T216_ = (NIM_BOOL)0;
6251 			T216_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
6252 			if (!(T216_)) goto LA217_;
6253 			T218_ = NIM_NIL;
6254 			T218_ = lastSon__ast_3743(f);
6255 			T219_ = NIM_NIL;
6256 			T219_ = skipTypes__ast_3735(T218_, abstractInst__ast_355);
6257 			T216_ = ((*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
6258 			LA217_: ;
6259 			if (!T216_) goto LA220_;
6260 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6261 		}
6262 		LA220_: ;
6263 	}
6264 	break;
6265 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6266 	{
6267 		switch ((*a).kind) {
6268 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6269 		{
6270 			tyObject_TType__facALICuu8zUj0hjvbTLFg* fRange;
6271 			tyObject_TType__facALICuu8zUj0hjvbTLFg* aRange;
6272 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ff;
6273 			tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
6274 			fRange = (*f).sons->data[((NI) 0)];
6275 			aRange = (*a).sons->data[((NI) 0)];
6276 			{
6277 				tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_3;
6278 				RootObj* T228_;
6279 				if (!((*fRange).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA226_;
6280 				T228_ = NIM_NIL;
6281 				T228_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(fRange)))));
6282 				prev_3 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T228_));
6283 				{
6284 					if (!(prev_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA231_;
6285 					put__sigmatch_120(c, fRange, (*a).sons->data[((NI) 0)]);
6286 					fRange = a;
6287 				}
6288 				goto LA229_;
6289 				LA231_: ;
6290 				{
6291 					fRange = prev_3;
6292 				}
6293 				LA229_: ;
6294 			}
6295 			LA226_: ;
6296 			ff = skipTypes__ast_3735((*f).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
6297 			aa = (*a).sons->data[((NI) 1)];
6298 			{
6299 				NIM_BOOL T236_;
6300 				T236_ = (NIM_BOOL)0;
6301 				T236_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6302 				if (!(T236_)) goto LA237_;
6303 				T236_ = ((*aa).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6304 				LA237_: ;
6305 				if (!T236_) goto LA238_;
6306 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6307 			}
6308 			goto LA234_;
6309 			LA238_: ;
6310 			{
6311 				result = typeRel__sigmatch_202(c, ff, aa, flags);
6312 			}
6313 			LA234_: ;
6314 			{
6315 				if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA243_;
6316 				{
6317 					NIM_BOOL T247_;
6318 					NIM_BOOL T248_;
6319 					NIM_BOOL T249_;
6320 					T247_ = (NIM_BOOL)0;
6321 					T248_ = (NIM_BOOL)0;
6322 					T249_ = (NIM_BOOL)0;
6323 					T249_ = NIM_FALSE;
6324 					if (!(T249_)) goto LA250_;
6325 					T249_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6326 					LA250_: ;
6327 					T248_ = T249_;
6328 					if (!(T248_)) goto LA251_;
6329 					T248_ = ((*ff).kind == (*aa).kind);
6330 					LA251_: ;
6331 					T247_ = T248_;
6332 					if (!(T247_)) goto LA252_;
6333 					T247_ = isCovariantPtr__sigmatch_1405(c, ff, aa);
6334 					LA252_: ;
6335 					if (!T247_) goto LA253_;
6336 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6337 				}
6338 				goto LA245_;
6339 				LA253_: ;
6340 				{
6341 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6342 					goto BeforeRet_;
6343 				}
6344 				LA245_: ;
6345 			}
6346 			LA243_: ;
6347 			{
6348 				if (!(((*fRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA258_;
6349 				result = inferStaticsInRange__sigmatch_1370(c, fRange, a);
6350 				goto BeforeRet_;
6351 			}
6352 			goto LA256_;
6353 			LA258_: ;
6354 			{
6355 				NIM_BOOL T261_;
6356 				T261_ = (NIM_BOOL)0;
6357 				T261_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
6358 				if (!(T261_)) goto LA262_;
6359 				T261_ = (((*aRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
6360 				LA262_: ;
6361 				if (!T261_) goto LA263_;
6362 				result = inferStaticsInRange__sigmatch_1370(c, aRange, f);
6363 				goto BeforeRet_;
6364 			}
6365 			goto LA256_;
6366 			LA263_: ;
6367 			{
6368 				{
6369 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T268_;
6370 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T269_;
6371 					NIM_BOOL T270_;
6372 					T268_ = lengthOrd__types_1652((*(*(*c).c).graph).config, fRange);
6373 					T269_ = lengthOrd__types_1652((*(*(*c).c).graph).config, aRange);
6374 					T270_ = (NIM_BOOL)0;
6375 					T270_ = eqeq___int495056_313(T268_, T269_);
6376 					if (!!(T270_)) goto LA271_;
6377 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6378 				}
6379 				LA271_: ;
6380 			}
6381 			LA256_: ;
6382 		}
6383 		break;
6384 		default:
6385 		{
6386 		}
6387 		break;
6388 		}
6389 	}
6390 	break;
6391 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
6392 	{
6393 		{
6394 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T279_;
6395 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T280_;
6396 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49))) goto LA277_;
6397 			T279_ = NIM_NIL;
6398 			T279_ = base__types_63(f);
6399 			T280_ = NIM_NIL;
6400 			T280_ = base__types_63(a);
6401 			result = typeRel__sigmatch_202(c, T279_, T280_, flags);
6402 			{
6403 				if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA283_;
6404 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6405 			}
6406 			LA283_: ;
6407 		}
6408 		goto LA275_;
6409 		LA277_: ;
6410 		{
6411 		}
6412 		LA275_: ;
6413 	}
6414 	break;
6415 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
6416 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
6417 	{
6418 		{
6419 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA289_;
6420 			{
6421 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T295_;
6422 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T296_;
6423 				if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA293_;
6424 				T295_ = NIM_NIL;
6425 				T295_ = base__types_63(f);
6426 				T296_ = NIM_NIL;
6427 				T296_ = lastSon__ast_3743(a);
6428 				result = typeRel__sigmatch_202(c, T295_, T296_, flags);
6429 				goto BeforeRet_;
6430 			}
6431 			LA293_: ;
6432 			{
6433 				if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA299_;
6434 				goto BeforeRet_;
6435 			}
6436 			LA299_: ;
6437 		}
6438 		LA289_: ;
6439 		switch ((*a).kind) {
6440 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
6441 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
6442 		{
6443 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T302_;
6444 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T303_;
6445 			T302_ = NIM_NIL;
6446 			T302_ = base__types_63(f);
6447 			T303_ = NIM_NIL;
6448 			T303_ = base__types_63(a);
6449 			result = typeRel__sigmatch_202(c, T302_, T303_, flags);
6450 			{
6451 				if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA306_;
6452 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6453 			}
6454 			LA306_: ;
6455 		}
6456 		break;
6457 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6458 		{
6459 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym291_;
6460 			tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym291_;
6461 			tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym291_;
6462 			{
6463 				NIM_BOOL T311_;
6464 				T311_ = (NIM_BOOL)0;
6465 				T311_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6466 				if (!(T311_)) goto LA312_;
6467 				T311_ = ((*(*a).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6468 				LA312_: ;
6469 				if (!T311_) goto LA313_;
6470 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6471 				goto BeforeRet_;
6472 			}
6473 			LA313_: ;
6474 			ffX60gensym291_ = base__types_63(f);
6475 			aaX60gensym291_ = (*a).sons->data[((NI) 1)];
6476 			baseRelX60gensym291_ = typeRel__sigmatch_202(c, ffX60gensym291_, aaX60gensym291_, flags);
6477 			{
6478 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym291_)) goto LA317_;
6479 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6480 			}
6481 			goto LA315_;
6482 			LA317_: ;
6483 			{
6484 				NIM_BOOL T320_;
6485 				NIM_BOOL T321_;
6486 				NIM_BOOL T322_;
6487 				T320_ = (NIM_BOOL)0;
6488 				T321_ = (NIM_BOOL)0;
6489 				T322_ = (NIM_BOOL)0;
6490 				T322_ = NIM_FALSE;
6491 				if (!(T322_)) goto LA323_;
6492 				T322_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6493 				LA323_: ;
6494 				T321_ = T322_;
6495 				if (!(T321_)) goto LA324_;
6496 				T321_ = ((*ffX60gensym291_).kind == (*aaX60gensym291_).kind);
6497 				LA324_: ;
6498 				T320_ = T321_;
6499 				if (!(T320_)) goto LA325_;
6500 				T320_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym291_, aaX60gensym291_);
6501 				LA325_: ;
6502 				if (!T320_) goto LA326_;
6503 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6504 			}
6505 			goto LA315_;
6506 			LA326_: ;
6507 			LA315_: ;
6508 		}
6509 		break;
6510 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6511 		{
6512 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym298_;
6513 			tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym298_;
6514 			tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym298_;
6515 			{
6516 				NIM_BOOL T331_;
6517 				T331_ = (NIM_BOOL)0;
6518 				T331_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6519 				if (!(T331_)) goto LA332_;
6520 				T331_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6521 				LA332_: ;
6522 				if (!T331_) goto LA333_;
6523 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6524 				goto BeforeRet_;
6525 			}
6526 			LA333_: ;
6527 			ffX60gensym298_ = base__types_63(f);
6528 			aaX60gensym298_ = (*a).sons->data[((NI) 0)];
6529 			baseRelX60gensym298_ = typeRel__sigmatch_202(c, ffX60gensym298_, aaX60gensym298_, flags);
6530 			{
6531 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym298_)) goto LA337_;
6532 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6533 			}
6534 			goto LA335_;
6535 			LA337_: ;
6536 			{
6537 				NIM_BOOL T340_;
6538 				NIM_BOOL T341_;
6539 				NIM_BOOL T342_;
6540 				T340_ = (NIM_BOOL)0;
6541 				T341_ = (NIM_BOOL)0;
6542 				T342_ = (NIM_BOOL)0;
6543 				T342_ = NIM_FALSE;
6544 				if (!(T342_)) goto LA343_;
6545 				T342_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6546 				LA343_: ;
6547 				T341_ = T342_;
6548 				if (!(T341_)) goto LA344_;
6549 				T341_ = ((*ffX60gensym298_).kind == (*aaX60gensym298_).kind);
6550 				LA344_: ;
6551 				T340_ = T341_;
6552 				if (!(T340_)) goto LA345_;
6553 				T340_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym298_, aaX60gensym298_);
6554 				LA345_: ;
6555 				if (!T340_) goto LA346_;
6556 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6557 			}
6558 			goto LA335_;
6559 			LA346_: ;
6560 			LA335_: ;
6561 		}
6562 		break;
6563 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
6564 		{
6565 			{
6566 				if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA351_;
6567 				{
6568 					if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA355_;
6569 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6570 				}
6571 				goto LA353_;
6572 				LA355_: ;
6573 				{
6574 					NIM_BOOL T358_;
6575 					NIM_BOOL T359_;
6576 					NI T361_;
6577 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T363_;
6578 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T364_;
6579 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T365_;
6580 					T358_ = (NIM_BOOL)0;
6581 					T359_ = (NIM_BOOL)0;
6582 					T359_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
6583 					if (!(T359_)) goto LA360_;
6584 					T361_ = (NI)0;
6585 					T361_ = len__ast_4002(a);
6586 					T359_ = (((NI) 0) < T361_);
6587 					LA360_: ;
6588 					T358_ = T359_;
6589 					if (!(T358_)) goto LA362_;
6590 					T363_ = NIM_NIL;
6591 					T363_ = base__types_63(f);
6592 					T364_ = NIM_NIL;
6593 					T364_ = base__types_63(a);
6594 					T365_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
6595 					T365_ = typeRel__sigmatch_202(c, T363_, T364_, flags);
6596 					T358_ = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= T365_);
6597 					LA362_: ;
6598 					if (!T358_) goto LA366_;
6599 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6600 				}
6601 				goto LA353_;
6602 				LA366_: ;
6603 				LA353_: ;
6604 			}
6605 			LA351_: ;
6606 		}
6607 		break;
6608 		default:
6609 		{
6610 		}
6611 		break;
6612 		}
6613 	}
6614 	break;
6615 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6616 	{
6617 		switch ((*a).kind) {
6618 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6619 		{
6620 			{
6621 				NIM_BOOL T373_;
6622 				T373_ = (NIM_BOOL)0;
6623 				T373_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6624 				if (!(T373_)) goto LA374_;
6625 				T373_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6626 				LA374_: ;
6627 				if (!T373_) goto LA375_;
6628 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6629 			}
6630 			goto LA371_;
6631 			LA375_: ;
6632 			{
6633 				tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_2;
6634 				tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_2;
6635 				ff_2 = (*f).sons->data[((NI) 0)];
6636 				aa_2 = (*a).sons->data[((NI) 0)];
6637 				result = typeRel__sigmatch_202(c, ff_2, aa_2, flags);
6638 				{
6639 					if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA380_;
6640 					{
6641 						NIM_BOOL T384_;
6642 						NIM_BOOL T385_;
6643 						NIM_BOOL T386_;
6644 						T384_ = (NIM_BOOL)0;
6645 						T385_ = (NIM_BOOL)0;
6646 						T386_ = (NIM_BOOL)0;
6647 						T386_ = NIM_FALSE;
6648 						if (!(T386_)) goto LA387_;
6649 						T386_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6650 						LA387_: ;
6651 						T385_ = T386_;
6652 						if (!(T385_)) goto LA388_;
6653 						T385_ = ((*ff_2).kind == (*aa_2).kind);
6654 						LA388_: ;
6655 						T384_ = T385_;
6656 						if (!(T384_)) goto LA389_;
6657 						T384_ = isCovariantPtr__sigmatch_1405(c, ff_2, aa_2);
6658 						LA389_: ;
6659 						if (!T384_) goto LA390_;
6660 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6661 					}
6662 					goto LA382_;
6663 					LA390_: ;
6664 					{
6665 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6666 					}
6667 					LA382_: ;
6668 				}
6669 				goto LA378_;
6670 				LA380_: ;
6671 				{
6672 					NIM_BOOL T394_;
6673 					T394_ = (NIM_BOOL)0;
6674 					T394_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
6675 					if (!(T394_)) goto LA395_;
6676 					T394_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
6677 					LA395_: ;
6678 					if (!T394_) goto LA396_;
6679 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6680 				}
6681 				goto LA378_;
6682 				LA396_: ;
6683 				LA378_: ;
6684 			}
6685 			LA371_: ;
6686 		}
6687 		break;
6688 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6689 		{
6690 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6691 		}
6692 		break;
6693 		default:
6694 		{
6695 		}
6696 		break;
6697 		}
6698 	}
6699 	break;
6700 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
6701 	{
6702 		{
6703 			NIM_BOOL T403_;
6704 			tyObject_TType__facALICuu8zUj0hjvbTLFg* x_4;
6705 			T403_ = (NIM_BOOL)0;
6706 			T403_ = isOrdinalType__types_299(a, (((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
6707 			if (!T403_) goto LA404_;
6708 			{
6709 				if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15))) goto LA408_;
6710 				x_4 = (*a).sons->data[((NI) 0)];
6711 			}
6712 			goto LA406_;
6713 			LA408_: ;
6714 			{
6715 				x_4 = a;
6716 			}
6717 			LA406_: ;
6718 			{
6719 				if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA413_;
6720 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6721 			}
6722 			goto LA411_;
6723 			LA413_: ;
6724 			{
6725 				result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], x_4, flags);
6726 				{
6727 					if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA418_;
6728 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6729 				}
6730 				LA418_: ;
6731 			}
6732 			LA411_: ;
6733 		}
6734 		goto LA401_;
6735 		LA404_: ;
6736 		{
6737 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA421_;
6738 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6739 		}
6740 		goto LA401_;
6741 		LA421_: ;
6742 		LA401_: ;
6743 	}
6744 	break;
6745 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
6746 	{
6747 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6748 	}
6749 	break;
6750 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6751 	{
6752 		{
6753 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA427_;
6754 			a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
6755 		}
6756 		LA427_: ;
6757 		{
6758 			if (!((*a).kind == (*f).kind)) goto LA431_;
6759 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6760 		}
6761 		LA431_: ;
6762 	}
6763 	break;
6764 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
6765 	{
6766 		{
6767 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA436_;
6768 			result = recordRel__sigmatch_806(c, f, a);
6769 		}
6770 		LA436_: ;
6771 	}
6772 	break;
6773 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
6774 	{
6775 		{
6776 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA441_;
6777 			{
6778 				NIM_BOOL T445_;
6779 				T445_ = (NIM_BOOL)0;
6780 				T445_ = sameObjectTypes__types_2038(f, a);
6781 				if (!T445_) goto LA446_;
6782 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6783 			}
6784 			goto LA443_;
6785 			LA446_: ;
6786 			{
6787 				NI depth;
6788 				depth = isObjectSubtype__sigmatch_656(c, a, f, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
6789 				{
6790 					if (!(((NI) 0) < depth)) goto LA451_;
6791 					(*c).inheritancePenalty += depth;
6792 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6793 				}
6794 				LA451_: ;
6795 			}
6796 			LA443_: ;
6797 		}
6798 		LA441_: ;
6799 	}
6800 	break;
6801 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
6802 	{
6803 		a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_23);
6804 		{
6805 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA456_;
6806 			{
6807 				NIM_BOOL T460_;
6808 				T460_ = (NIM_BOOL)0;
6809 				T460_ = sameDistinctTypes__types_2083(f, a);
6810 				if (!T460_) goto LA461_;
6811 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6812 			}
6813 			goto LA458_;
6814 			LA461_: ;
6815 			{
6816 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T466_;
6817 				if (!(*c).coerceDistincts) goto LA464_;
6818 				T466_ = NIM_NIL;
6819 				T466_ = base__types_63(f);
6820 				result = typeRel__sigmatch_202(c, T466_, a, flags);
6821 			}
6822 			goto LA458_;
6823 			LA464_: ;
6824 			LA458_: ;
6825 		}
6826 		goto LA454_;
6827 		LA456_: ;
6828 		{
6829 			NIM_BOOL T468_;
6830 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T470_;
6831 			T468_ = (NIM_BOOL)0;
6832 			T468_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
6833 			if (!(T468_)) goto LA469_;
6834 			T470_ = NIM_NIL;
6835 			T470_ = base__types_63(f);
6836 			T468_ = ((*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
6837 			LA469_: ;
6838 			if (!T468_) goto LA471_;
6839 			result = allowsNil__sigmatch_875(f);
6840 		}
6841 		goto LA454_;
6842 		LA471_: ;
6843 		{
6844 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T476_;
6845 			if (!(*c).coerceDistincts) goto LA474_;
6846 			T476_ = NIM_NIL;
6847 			T476_ = base__types_63(f);
6848 			result = typeRel__sigmatch_202(c, T476_, a, flags);
6849 		}
6850 		goto LA454_;
6851 		LA474_: ;
6852 		LA454_: ;
6853 	}
6854 	break;
6855 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
6856 	{
6857 		{
6858 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA480_;
6859 			{
6860 				NIM_BOOL T484_;
6861 				T484_ = (NIM_BOOL)0;
6862 				T484_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6863 				if (!(T484_)) goto LA485_;
6864 				T484_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6865 				LA485_: ;
6866 				if (!T484_) goto LA486_;
6867 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6868 			}
6869 			goto LA482_;
6870 			LA486_: ;
6871 			{
6872 				result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], flags);
6873 				{
6874 					if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA491_;
6875 					{
6876 						if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1))) goto LA495_;
6877 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6878 					}
6879 					goto LA493_;
6880 					LA495_: ;
6881 					{
6882 						if (!!((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43))&63U)))!=0))) goto LA498_;
6883 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6884 					}
6885 					goto LA493_;
6886 					LA498_: ;
6887 					LA493_: ;
6888 				}
6889 				LA491_: ;
6890 			}
6891 			LA482_: ;
6892 		}
6893 		LA480_: ;
6894 	}
6895 	break;
6896 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
6897 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
6898 	{
6899 		{
6900 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA503_;
6901 			a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
6902 		}
6903 		LA503_: ;
6904 		{
6905 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T524_;
6906 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T525_;
6907 			if (!((*a).kind == (*f).kind)) goto LA507_;
6908 			{
6909 				NI T511_;
6910 				NI T512_;
6911 				T511_ = (NI)0;
6912 				T511_ = len__ast_4002(a);
6913 				T512_ = (NI)0;
6914 				T512_ = len__ast_4002(f);
6915 				if (!(T511_ < T512_)) goto LA513_;
6916 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6917 				goto BeforeRet_;
6918 			}
6919 			LA513_: ;
6920 			{
6921 				NI i_4;
6922 				NI colontmp_;
6923 				NI T516_;
6924 				NI i_5;
6925 				i_4 = (NI)0;
6926 				colontmp_ = (NI)0;
6927 				T516_ = (NI)0;
6928 				T516_ = len__ast_4002(f);
6929 				colontmp_ = (NI)(T516_ - ((NI) 1));
6930 				i_5 = ((NI) 0);
6931 				{
6932 					while (1) {
6933 						if (!(i_5 < colontmp_)) goto LA518;
6934 						i_4 = i_5;
6935 						{
6936 							tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T521_;
6937 							T521_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
6938 							T521_ = typeRel__sigmatch_202(c, (*f).sons->data[i_4], (*a).sons->data[i_4], flags);
6939 							if (!(T521_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA522_;
6940 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6941 							goto BeforeRet_;
6942 						}
6943 						LA522_: ;
6944 						i_5 += ((NI) 1);
6945 					} LA518: ;
6946 				}
6947 			}
6948 			T524_ = NIM_NIL;
6949 			T524_ = lastSon__ast_3743(f);
6950 			T525_ = NIM_NIL;
6951 			T525_ = lastSon__ast_3743(a);
6952 			result = typeRel__sigmatch_202(c, T524_, T525_, (flags | 2));
6953 			{
6954 				NIM_BOOL T528_;
6955 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T530_;
6956 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T531_;
6957 				T528_ = (NIM_BOOL)0;
6958 				T528_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
6959 				if (!(T528_)) goto LA529_;
6960 				T530_ = NIM_NIL;
6961 				T530_ = lastSon__ast_3743(f);
6962 				T531_ = NIM_NIL;
6963 				T531_ = skipTypes__ast_3735(T530_, abstractInst__ast_355);
6964 				T528_ = ((*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
6965 				LA529_: ;
6966 				if (!T528_) goto LA532_;
6967 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6968 			}
6969 			LA532_: ;
6970 			{
6971 				if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2))) goto LA536_;
6972 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6973 			}
6974 			goto LA534_;
6975 			LA536_: ;
6976 			{
6977 				NIM_BOOL T539_;
6978 				T539_ = (NIM_BOOL)0;
6979 				T539_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
6980 				if (!(T539_)) goto LA540_;
6981 				T539_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
6982 				LA540_: ;
6983 				if (!T539_) goto LA541_;
6984 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6985 			}
6986 			goto LA534_;
6987 			LA541_: ;
6988 			LA534_: ;
6989 		}
6990 		goto LA505_;
6991 		LA507_: ;
6992 		{
6993 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA544_;
6994 			result = allowsNil__sigmatch_875(f);
6995 		}
6996 		goto LA505_;
6997 		LA544_: ;
6998 		{
6999 		}
7000 		LA505_: ;
7001 	}
7002 	break;
7003 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
7004 	{
7005 		{
7006 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA550_;
7007 			a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
7008 		}
7009 		LA550_: ;
7010 		result = procTypeRel__sigmatch_927(c, f, a);
7011 		{
7012 			NIM_BOOL T554_;
7013 			NIM_BOOL T555_;
7014 			T554_ = (NIM_BOOL)0;
7015 			T555_ = (NIM_BOOL)0;
7016 			T555_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7017 			if (!(T555_)) goto LA556_;
7018 			T555_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7019 			LA556_: ;
7020 			T554_ = T555_;
7021 			if (!(T554_)) goto LA557_;
7022 			T554_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7023 			LA557_: ;
7024 			if (!T554_) goto LA558_;
7025 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7026 		}
7027 		LA558_: ;
7028 	}
7029 	break;
7030 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7031 	{
7032 		switch ((*a).kind) {
7033 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7034 		{
7035 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T562_;
7036 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T563_;
7037 			T562_ = NIM_NIL;
7038 			T562_ = lastSon__ast_3743(f);
7039 			T563_ = NIM_NIL;
7040 			T563_ = lastSon__ast_3743(a);
7041 			result = typeRel__sigmatch_202(c, T562_, T563_, flags);
7042 		}
7043 		break;
7044 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7045 		{
7046 			result = allowsNil__sigmatch_875(f);
7047 		}
7048 		break;
7049 		default:
7050 		{
7051 		}
7052 		break;
7053 		}
7054 	}
7055 	break;
7056 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
7057 	{
7058 		{
7059 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA569_;
7060 			a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
7061 		}
7062 		LA569_: ;
7063 		switch ((*a).kind) {
7064 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
7065 		{
7066 			{
7067 				NIM_BOOL T574_;
7068 				T574_ = (NIM_BOOL)0;
7069 				T574_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7070 				if (!(T574_)) goto LA575_;
7071 				T574_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7072 				LA575_: ;
7073 				if (!T574_) goto LA576_;
7074 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7075 			}
7076 			goto LA572_;
7077 			LA576_: ;
7078 			{
7079 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7080 			}
7081 			LA572_: ;
7082 		}
7083 		break;
7084 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7085 		{
7086 			result = allowsNil__sigmatch_875(f);
7087 		}
7088 		break;
7089 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
7090 		{
7091 			{
7092 				if (!!(((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA583_;
7093 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7094 			}
7095 			LA583_: ;
7096 		}
7097 		break;
7098 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
7099 		{
7100 			{
7101 				NI T588_;
7102 				T588_ = (NI)0;
7103 				T588_ = len__ast_4002(a);
7104 				if (!(T588_ == ((NI) 1))) goto LA589_;
7105 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7106 			}
7107 			LA589_: ;
7108 		}
7109 		break;
7110 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7111 		{
7112 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7113 		}
7114 		break;
7115 		default:
7116 		{
7117 		}
7118 		break;
7119 		}
7120 	}
7121 	break;
7122 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7123 	{
7124 		switch ((*a).kind) {
7125 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7126 		{
7127 			{
7128 				NIM_BOOL T597_;
7129 				T597_ = (NIM_BOOL)0;
7130 				T597_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7131 				if (!(T597_)) goto LA598_;
7132 				T597_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7133 				LA598_: ;
7134 				if (!T597_) goto LA599_;
7135 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7136 			}
7137 			goto LA595_;
7138 			LA599_: ;
7139 			{
7140 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7141 			}
7142 			LA595_: ;
7143 		}
7144 		break;
7145 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7146 		{
7147 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7148 		}
7149 		break;
7150 		default:
7151 		{
7152 		}
7153 		break;
7154 		}
7155 	}
7156 	break;
7157 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7158 	{
7159 		switch ((*a).kind) {
7160 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7161 		{
7162 			{
7163 				NIM_BOOL T608_;
7164 				T608_ = (NIM_BOOL)0;
7165 				T608_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7166 				if (!(T608_)) goto LA609_;
7167 				T608_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7168 				LA609_: ;
7169 				if (!T608_) goto LA610_;
7170 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7171 			}
7172 			goto LA606_;
7173 			LA610_: ;
7174 			{
7175 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7176 			}
7177 			LA606_: ;
7178 		}
7179 		break;
7180 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7181 		{
7182 			result = allowsNil__sigmatch_875(f);
7183 		}
7184 		break;
7185 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7186 		{
7187 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7188 		}
7189 		break;
7190 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
7191 		{
7192 			{
7193 				NI T618_;
7194 				tyObject_TType__facALICuu8zUj0hjvbTLFg* pointsTo;
7195 				T618_ = (NI)0;
7196 				T618_ = len__ast_4002(a);
7197 				if (!(T618_ == ((NI) 1))) goto LA619_;
7198 				pointsTo = skipTypes__ast_3735((*a).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_24);
7199 				{
7200 					if (!((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA623_;
7201 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7202 				}
7203 				goto LA621_;
7204 				LA623_: ;
7205 				{
7206 					NIM_BOOL T626_;
7207 					T626_ = (NIM_BOOL)0;
7208 					T626_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49));
7209 					if (!(T626_)) goto LA627_;
7210 					T626_ = ((*(*pointsTo).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7211 					LA627_: ;
7212 					if (!T626_) goto LA628_;
7213 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7214 				}
7215 				goto LA621_;
7216 				LA628_: ;
7217 				{
7218 					NIM_BOOL T631_;
7219 					NIM_BOOL T632_;
7220 					NIM_BOOL T633_;
7221 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T635_;
7222 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T637_;
7223 					T631_ = (NIM_BOOL)0;
7224 					T632_ = (NIM_BOOL)0;
7225 					T633_ = (NIM_BOOL)0;
7226 					T633_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
7227 					if (!(T633_)) goto LA634_;
7228 					T635_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*pointsTo).sons->data[((NI) 0)]);
7229 					T633_ = eqeq___int495056_759(T635_, IL64(0));
7230 					LA634_: ;
7231 					T632_ = T633_;
7232 					if (!(T632_)) goto LA636_;
7233 					T637_ = NIM_NIL;
7234 					T637_ = skipTypes__ast_3735((*pointsTo).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7235 					T632_ = ((*T637_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T637_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
7236 					LA636_: ;
7237 					T631_ = T632_;
7238 					if (!(T631_)) goto LA638_;
7239 					T631_ = ((*(*pointsTo).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7240 					LA638_: ;
7241 					if (!T631_) goto LA639_;
7242 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7243 				}
7244 				goto LA621_;
7245 				LA639_: ;
7246 				LA621_: ;
7247 			}
7248 			LA619_: ;
7249 		}
7250 		break;
7251 		default:
7252 		{
7253 		}
7254 		break;
7255 		}
7256 	}
7257 	break;
7258 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
7259 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
7260 	{
7261 		{
7262 			if (!((*a).kind == (*f).kind)) goto LA645_;
7263 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7264 		}
7265 		LA645_: ;
7266 	}
7267 	break;
7268 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
7269 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
7270 	{
7271 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T648_;
7272 		T648_ = NIM_NIL;
7273 		T648_ = lastSon__ast_3743(f);
7274 		result = typeRel__sigmatch_202(c, T648_, a, flags);
7275 	}
7276 	break;
7277 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
7278 	{
7279 		{
7280 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA652_;
7281 			{
7282 				NI T656_;
7283 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T659_;
7284 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T660_;
7285 				T656_ = (NI)0;
7286 				T656_ = len__ast_4002(f);
7287 				if (!(T656_ == ((NI) 1))) goto LA657_;
7288 				T659_ = NIM_NIL;
7289 				T659_ = lastSon__ast_3743(f);
7290 				T660_ = NIM_NIL;
7291 				T660_ = lastSon__ast_3743(a);
7292 				result = typeRel__sigmatch_202(c, T659_, T660_, flags);
7293 			}
7294 			goto LA654_;
7295 			LA657_: ;
7296 			{
7297 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7298 			}
7299 			LA654_: ;
7300 		}
7301 		goto LA650_;
7302 		LA652_: ;
7303 		{
7304 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7305 		}
7306 		LA650_: ;
7307 	}
7308 	break;
7309 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
7310 	{
7311 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_4;
7312 		RootObj* T664_;
7313 		tyObject_TType__facALICuu8zUj0hjvbTLFg* origF;
7314 		tyObject_TType__facALICuu8zUj0hjvbTLFg* f_3;
7315 		tyObject_TType__facALICuu8zUj0hjvbTLFg* roota;
7316 		tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf;
7317 		T664_ = NIM_NIL;
7318 		T664_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7319 		prev_4 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T664_));
7320 		origF = f;
7321 		{
7322 			if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA667_;
7323 			f_3 = f;
7324 		}
7325 		goto LA665_;
7326 		LA667_: ;
7327 		{
7328 			f_3 = prev_4;
7329 		}
7330 		LA665_: ;
7331 		roota = skipGenericAlias__types_2210(a);
7332 		rootf = skipGenericAlias__types_2210(f_3);
7333 		{
7334 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA672_;
7335 			{
7336 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T676_;
7337 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T677_;
7338 				tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg nextFlags;
7339 				NIM_BOOL hasCovariance;
7340 				T676_ = NIM_NIL;
7341 				T676_ = base__types_63(roota);
7342 				T677_ = NIM_NIL;
7343 				T677_ = base__types_63(rootf);
7344 				if (!(T676_ == T677_)) goto LA678_;
7345 				nextFlags = (flags | 2);
7346 				hasCovariance = NIM_FALSE;
7347 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7348 				{
7349 					NI i_6;
7350 					NI colontmp__2;
7351 					NI T681_;
7352 					NI i_7;
7353 					i_6 = (NI)0;
7354 					colontmp__2 = (NI)0;
7355 					T681_ = (NI)0;
7356 					T681_ = len__ast_4002(rootf);
7357 					colontmp__2 = (NI)(T681_ - ((NI) 1));
7358 					i_7 = ((NI) 1);
7359 					{
7360 						while (1) {
7361 							if (!(i_7 < colontmp__2)) goto LA683;
7362 							i_6 = i_7;
7363 							{
7364 								tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_3;
7365 								tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_3;
7366 								tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw res_2;
7367 								ff_3 = (*rootf).sons->data[i_6];
7368 								aa_3 = (*roota).sons->data[i_6];
7369 								res_2 = typeRel__sigmatch_202(c, ff_3, aa_3, nextFlags);
7370 								{
7371 									NIM_BOOL T687_;
7372 									T687_ = (NIM_BOOL)0;
7373 									T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7374 									if (!(T687_)) goto LA688_;
7375 									T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)));
7376 									LA688_: ;
7377 									if (!T687_) goto LA689_;
7378 									result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7379 								}
7380 								LA689_: ;
7381 								{
7382 									if (!!(((1280 &((NU16)1<<((NU)(res_2)&15U)))!=0))) goto LA693_;
7383 									{
7384 										NIM_BOOL T697_;
7385 										tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw paramFlags;
7386 										tyObject_TType__facALICuu8zUj0hjvbTLFg* T701_;
7387 										T697_ = (NIM_BOOL)0;
7388 										T697_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
7389 										if (!(T697_)) goto LA698_;
7390 										T697_ = ((*ff_3).kind == (*aa_3).kind);
7391 										LA698_: ;
7392 										if (!T697_) goto LA699_;
7393 										T701_ = NIM_NIL;
7394 										T701_ = base__types_63(rootf);
7395 										paramFlags = (*(*T701_).sons->data[(NI)(i_6 - ((NI) 1))]).flags;
7396 										{
7397 											if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA704_;
7398 											{
7399 												if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA708_;
7400 												hasCovariance = isCovariantPtr__sigmatch_1405(c, ff_3, aa_3);
7401 											}
7402 											goto LA706_;
7403 											LA708_: ;
7404 											{
7405 												NIM_BOOL T711_;
7406 												T711_ = (NIM_BOOL)0;
7407 												T711_ = !(((*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21)));
7408 												if (!(T711_)) goto LA712_;
7409 												T711_ = (res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
7410 												LA712_: ;
7411 												hasCovariance = T711_;
7412 											}
7413 											LA706_: ;
7414 										}
7415 										goto LA702_;
7416 										LA704_: ;
7417 										{
7418 											NIM_BOOL T714_;
7419 											tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T716_;
7420 											T714_ = (NIM_BOOL)0;
7421 											T714_ = ((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0);
7422 											if (!(T714_)) goto LA715_;
7423 											T716_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7424 											T716_ = typeRel__sigmatch_202(c, aa_3, ff_3, flags);
7425 											T714_ = (T716_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
7426 											LA715_: ;
7427 											hasCovariance = T714_;
7428 										}
7429 										LA702_: ;
7430 										{
7431 											if (!hasCovariance) goto LA719_;
7432 											goto LA684;
7433 										}
7434 										LA719_: ;
7435 									}
7436 									LA699_: ;
7437 									result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7438 									goto BeforeRet_;
7439 								}
7440 								LA693_: ;
7441 							} LA684: ;
7442 							i_7 += ((NI) 1);
7443 						} LA683: ;
7444 					}
7445 				}
7446 				{
7447 					if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA723_;
7448 					put__sigmatch_120(c, f_3, a);
7449 				}
7450 				LA723_: ;
7451 			}
7452 			goto LA674_;
7453 			LA678_: ;
7454 			{
7455 				tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fKind;
7456 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T726_;
7457 				tyObject_TType__facALICuu8zUj0hjvbTLFg* aAsObject;
7458 				T726_ = NIM_NIL;
7459 				T726_ = lastSon__ast_3743(rootf);
7460 				fKind = (*T726_).kind;
7461 				{
7462 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T731_;
7463 					if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA729_;
7464 					T731_ = NIM_NIL;
7465 					T731_ = lastSon__ast_3743(f_3);
7466 					result = typeRel__sigmatch_202(c, T731_, a, flags);
7467 					{
7468 						if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA734_;
7469 						put__sigmatch_120(c, f_3, a);
7470 					}
7471 					LA734_: ;
7472 					goto BeforeRet_;
7473 				}
7474 				LA729_: ;
7475 				aAsObject = lastSon__ast_3743(roota);
7476 				{
7477 					if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA738_;
7478 					{
7479 						if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA742_;
7480 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7481 						goto BeforeRet_;
7482 					}
7483 					goto LA740_;
7484 					LA742_: ;
7485 					{
7486 						if (!((*aAsObject).kind == fKind)) goto LA745_;
7487 						aAsObject = base__types_63(aAsObject);
7488 					}
7489 					goto LA740_;
7490 					LA745_: ;
7491 					LA740_: ;
7492 				}
7493 				LA738_: ;
7494 				{
7495 					tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
7496 					if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA749_;
7497 					baseType = base__types_63(aAsObject);
7498 					{
7499 						tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw ret;
7500 						if (!!((baseType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA753_;
7501 						(*c).inheritancePenalty += ((NI) 1);
7502 						ret = typeRel__sigmatch_202(c, f_3, baseType, flags);
7503 						{
7504 							if (!((1280 &((NU16)1<<((NU)(ret)&15U)))!=0)) goto LA757_;
7505 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
7506 						}
7507 						goto LA755_;
7508 						LA757_: ;
7509 						{
7510 							result = ret;
7511 						}
7512 						LA755_: ;
7513 						goto BeforeRet_;
7514 					}
7515 					LA753_: ;
7516 				}
7517 				LA749_: ;
7518 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7519 			}
7520 			LA674_: ;
7521 		}
7522 		goto LA670_;
7523 		LA672_: ;
7524 		{
7525 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T761_;
7526 			T761_ = NIM_NIL;
7527 			T761_ = lastSon__ast_3743(origF);
7528 			result = typeRel__sigmatch_202(c, T761_, a, flags);
7529 			{
7530 				NIM_BOOL T764_;
7531 				T764_ = (NIM_BOOL)0;
7532 				T764_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7533 				if (!(T764_)) goto LA765_;
7534 				T764_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5)));
7535 				LA765_: ;
7536 				if (!T764_) goto LA766_;
7537 				put__sigmatch_120(c, f_3, a);
7538 			}
7539 			LA766_: ;
7540 		}
7541 		LA670_: ;
7542 	}
7543 	break;
7544 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
7545 	{
7546 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym373_;
7547 		RootObj* T769_;
7548 		T769_ = NIM_NIL;
7549 		T769_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7550 		prevX60gensym373_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T769_));
7551 		{
7552 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_4;
7553 			if (!(prevX60gensym373_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA772_;
7554 			{
7555 				NIM_BOOL T776_;
7556 				NIM_BOOL T778_;
7557 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T780_;
7558 				T776_ = (NIM_BOOL)0;
7559 				T776_ = (a == f);
7560 				if (T776_) goto LA777_;
7561 				T778_ = (NIM_BOOL)0;
7562 				T778_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7563 				if (!(T778_)) goto LA779_;
7564 				T780_ = NIM_NIL;
7565 				T780_ = skipGenericAlias__types_2210(a);
7566 				T778_ = ((*T780_).sons->data[((NI) 0)] == f);
7567 				LA779_: ;
7568 				T776_ = T778_;
7569 				LA777_: ;
7570 				if (!T776_) goto LA781_;
7571 				{
7572 					tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym375_;
7573 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T787_;
7574 					if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA785_;
7575 					T787_ = NIM_NIL;
7576 					T787_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7577 					boundX60gensym375_ = skipIntLit__magicsys_124(T787_, (*(*c).c).Sup.idgen);
7578 					put__sigmatch_120(c, f, boundX60gensym375_);
7579 				}
7580 				LA785_: ;
7581 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7582 				goto BeforeRet_;
7583 			}
7584 			LA781_: ;
7585 			ff_4 = lastSon__ast_3743(f);
7586 			{
7587 				if (!!((ff_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA790_;
7588 				result = typeRel__sigmatch_202(c, ff_4, a, flags);
7589 			}
7590 			LA790_: ;
7591 		}
7592 		goto LA770_;
7593 		LA772_: ;
7594 		{
7595 			result = typeRel__sigmatch_202(c, prevX60gensym373_, a, flags);
7596 			goto BeforeRet_;
7597 		}
7598 		LA770_: ;
7599 	}
7600 	break;
7601 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
7602 	{
7603 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x_5;
7604 		tyObject_TType__facALICuu8zUj0hjvbTLFg* concpt;
7605 		NIM_BOOL preventHack;
7606 		x_5 = skipGenericAlias__types_2210(a);
7607 		concpt = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_25);
7608 		preventHack = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62));
7609 		{
7610 			NIM_BOOL T796_;
7611 			T796_ = (NIM_BOOL)0;
7612 			T796_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
7613 			if (!(T796_)) goto LA797_;
7614 			T796_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
7615 			LA797_: ;
7616 			if (!T796_) goto LA798_;
7617 			preventHack = NIM_TRUE;
7618 			x_5 = lastSon__ast_3743(x_5);
7619 		}
7620 		LA798_: ;
7621 		{
7622 			NIM_BOOL T802_;
7623 			NIM_BOOL T803_;
7624 			NIM_BOOL T804_;
7625 			NIM_BOOL T805_;
7626 			tyObject_TType__facALICuu8zUj0hjvbTLFg* inst;
7627 			T802_ = (NIM_BOOL)0;
7628 			T803_ = (NIM_BOOL)0;
7629 			T804_ = (NIM_BOOL)0;
7630 			T805_ = (NIM_BOOL)0;
7631 			T805_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
7632 			if (!(T805_)) goto LA806_;
7633 			T805_ = !(((*c).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7634 			LA806_: ;
7635 			T804_ = T805_;
7636 			if (!(T804_)) goto LA807_;
7637 			T804_ = ((12288 &((NU32)1<<((NU)((*(*c).calleeSym).kind)&31U)))!=0);
7638 			LA807_: ;
7639 			T803_ = T804_;
7640 			if (!(T803_)) goto LA808_;
7641 			T803_ = !(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7642 			LA808_: ;
7643 			T802_ = T803_;
7644 			if (!(T802_)) goto LA809_;
7645 			T802_ = !(preventHack);
7646 			LA809_: ;
7647 			if (!T802_) goto LA810_;
7648 			inst = prepareMetatypeForSigmatch__semtypinst_1064((*c).c, (*c).bindings, (*(*c).call).info, f);
7649 			result = typeRel__sigmatch_202(c, inst, a, flags);
7650 			goto BeforeRet_;
7651 		}
7652 		LA810_: ;
7653 		{
7654 			if (!((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA814_;
7655 			{
7656 				if (!((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)])) goto LA818_;
7657 				{
7658 					NI i_8;
7659 					NI colontmp__3;
7660 					NI i_9;
7661 					i_8 = (NI)0;
7662 					colontmp__3 = (NI)0;
7663 					colontmp__3 = len__ast_4002(f);
7664 					i_9 = ((NI) 1);
7665 					{
7666 						while (1) {
7667 							tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tr;
7668 							if (!(i_9 < colontmp__3)) goto LA822;
7669 							i_8 = i_9;
7670 							tr = typeRel__sigmatch_202(c, (*f).sons->data[i_8], (*x_5).sons->data[i_8], flags);
7671 							{
7672 								if (!(tr <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA825_;
7673 								goto BeforeRet_;
7674 							}
7675 							LA825_: ;
7676 							i_9 += ((NI) 1);
7677 						} LA822: ;
7678 					}
7679 				}
7680 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7681 			}
7682 			LA818_: ;
7683 		}
7684 		goto LA812_;
7685 		LA814_: ;
7686 		{
7687 			NIM_BOOL T828_;
7688 			NIM_BOOL T829_;
7689 			NI T832_;
7690 			NI T833_;
7691 			T828_ = (NIM_BOOL)0;
7692 			T829_ = (NIM_BOOL)0;
7693 			T829_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7694 			if (!(T829_)) goto LA830_;
7695 			T829_ = ((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)]);
7696 			LA830_: ;
7697 			T828_ = T829_;
7698 			if (!(T828_)) goto LA831_;
7699 			T832_ = (NI)0;
7700 			T832_ = len__ast_4002(x_5);
7701 			T833_ = (NI)0;
7702 			T833_ = len__ast_4002(f);
7703 			T828_ = ((NI)(T832_ - ((NI) 1)) == T833_);
7704 			LA831_: ;
7705 			if (!T828_) goto LA834_;
7706 			{
7707 				NI i_10;
7708 				NI colontmp__4;
7709 				NI i_11;
7710 				i_10 = (NI)0;
7711 				colontmp__4 = (NI)0;
7712 				colontmp__4 = len__ast_4002(f);
7713 				i_11 = ((NI) 1);
7714 				{
7715 					while (1) {
7716 						if (!(i_11 < colontmp__4)) goto LA838;
7717 						i_10 = i_11;
7718 						{
7719 							if (!((*(*x_5).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA841_;
7720 							internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_27);
7721 						}
7722 						goto LA839_;
7723 						LA841_: ;
7724 						{
7725 							tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T844_;
7726 							T844_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7727 							T844_ = typeRel__sigmatch_202(c, (*f).sons->data[i_10], (*x_5).sons->data[i_10], flags);
7728 							if (!(T844_ <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA845_;
7729 							{
7730 								if (!!(((*(*f).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA849_;
7731 								goto BeforeRet_;
7732 							}
7733 							LA849_: ;
7734 						}
7735 						goto LA839_;
7736 						LA845_: ;
7737 						LA839_: ;
7738 						i_11 += ((NI) 1);
7739 					} LA838: ;
7740 				}
7741 			}
7742 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7743 		}
7744 		goto LA812_;
7745 		LA834_: ;
7746 		{
7747 			NIM_BOOL T852_;
7748 			T852_ = (NIM_BOOL)0;
7749 			T852_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7750 			if (!(T852_)) goto LA853_;
7751 			T852_ = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62));
7752 			LA853_: ;
7753 			if (!T852_) goto LA854_;
7754 			{
7755 				NIM_BOOL T858_;
7756 				T858_ = (NIM_BOOL)0;
7757 				T858_ = conceptMatch__concepts_538((*c).c, concpt, x_5, (&(*c).bindings), f);
7758 				if (!T858_) goto LA859_;
7759 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7760 			}
7761 			goto LA856_;
7762 			LA859_: ;
7763 			{
7764 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7765 			}
7766 			LA856_: ;
7767 		}
7768 		goto LA812_;
7769 		LA854_: ;
7770 		{
7771 			tyObject_TType__facALICuu8zUj0hjvbTLFg* genericBody;
7772 			tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip;
7773 			tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip;
7774 			tyObject_TType__facALICuu8zUj0hjvbTLFg* aobj;
7775 			tyObject_TType__facALICuu8zUj0hjvbTLFg* fobj;
7776 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T863_;
7777 			NI depth_2;
7778 			genericBody = (*f).sons->data[((NI) 0)];
7779 			askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
7780 			fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
7781 			aobj = skipToObject__sigmatch_703(x_5, (&askip));
7782 			T863_ = NIM_NIL;
7783 			T863_ = lastSon__ast_3743(genericBody);
7784 			fobj = skipToObject__sigmatch_703(T863_, (&fskip));
7785 			depth_2 = ((NI) -1);
7786 			{
7787 				NIM_BOOL T866_;
7788 				NIM_BOOL T867_;
7789 				T866_ = (NIM_BOOL)0;
7790 				T867_ = (NIM_BOOL)0;
7791 				T867_ = !((fobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7792 				if (!(T867_)) goto LA868_;
7793 				T867_ = !((aobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7794 				LA868_: ;
7795 				T866_ = T867_;
7796 				if (!(T866_)) goto LA869_;
7797 				T866_ = (askip == fskip);
7798 				LA869_: ;
7799 				if (!T866_) goto LA870_;
7800 				depth_2 = isObjectSubtype__sigmatch_656(c, aobj, fobj, f);
7801 			}
7802 			LA870_: ;
7803 			result = typeRel__sigmatch_202(c, genericBody, x_5, flags);
7804 			{
7805 				if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA874_;
7806 				{
7807 					NI i_12;
7808 					NI colontmp__5;
7809 					NI i_13;
7810 					i_12 = (NI)0;
7811 					colontmp__5 = (NI)0;
7812 					colontmp__5 = len__ast_4002(f);
7813 					i_13 = ((NI) 1);
7814 					{
7815 						while (1) {
7816 							tyObject_TType__facALICuu8zUj0hjvbTLFg* x_6;
7817 							RootObj* T879_;
7818 							if (!(i_13 < colontmp__5)) goto LA878;
7819 							i_12 = i_13;
7820 							T879_ = NIM_NIL;
7821 							T879_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*genericBody).sons->data[(NI)(i_12 - ((NI) 1))])))));
7822 							x_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T879_));
7823 							{
7824 								if (!(x_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA882_;
7825 							}
7826 							goto LA880_;
7827 							LA882_: ;
7828 							{
7829 								if (!((*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA885_;
7830 								internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_28);
7831 							}
7832 							goto LA880_;
7833 							LA885_: ;
7834 							{
7835 								tyObject_TType__facALICuu8zUj0hjvbTLFg* key;
7836 								tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
7837 								RootObj* T888_;
7838 								key = (*f).sons->data[i_12];
7839 								T888_ = NIM_NIL;
7840 								T888_ = idTableGet__astalgo_64((*c).bindings, &key->Sup);
7841 								old = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T888_));
7842 								{
7843 									if (!(old == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA891_;
7844 									put__sigmatch_120(c, key, x_6);
7845 								}
7846 								goto LA889_;
7847 								LA891_: ;
7848 								{
7849 									tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T894_;
7850 									T894_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7851 									T894_ = typeRel__sigmatch_202(c, old, x_6, (flags | 1));
7852 									if (!(T894_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA895_;
7853 									result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7854 									goto BeforeRet_;
7855 								}
7856 								goto LA889_;
7857 								LA895_: ;
7858 								LA889_: ;
7859 							}
7860 							LA880_: ;
7861 							i_13 += ((NI) 1);
7862 						} LA878: ;
7863 					}
7864 				}
7865 			}
7866 			LA874_: ;
7867 			{
7868 				NIM_BOOL genericSubtype;
7869 				if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA899_;
7870 				genericSubtype = isGenericSubtype__sigmatch_744(c, x_5, f, (&depth_2), f);
7871 				{
7872 					NIM_BOOL T903_;
7873 					NIM_BOOL T904_;
7874 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym409_;
7875 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym410_;
7876 					T903_ = (NIM_BOOL)0;
7877 					T904_ = (NIM_BOOL)0;
7878 					T904_ = genericSubtype;
7879 					if (!(T904_)) goto LA905_;
7880 					xX60gensym409_ = (*aobj).sym;
7881 					xX60gensym410_ = (*fobj).sym;
7882 					T904_ = !(((NI)((NI)((NU32)(((NI) ((*xX60gensym409_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym409_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym410_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym410_).Sup.itemId.item)))));
7883 					LA905_: ;
7884 					T903_ = !(T904_);
7885 					if (!(T903_)) goto LA906_;
7886 					T903_ = !(((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)));
7887 					LA906_: ;
7888 					if (!T903_) goto LA907_;
7889 					depth_2 = ((NI) -1);
7890 				}
7891 				LA907_: ;
7892 			}
7893 			LA899_: ;
7894 			{
7895 				if (!(((NI) 0) <= depth_2)) goto LA911_;
7896 				(*c).inheritancePenalty += depth_2;
7897 				{
7898 					if (!(depth_2 == ((NI) 0))) goto LA915_;
7899 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7900 				}
7901 				goto LA913_;
7902 				LA915_: ;
7903 				{
7904 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
7905 				}
7906 				LA913_: ;
7907 			}
7908 			LA911_: ;
7909 		}
7910 		LA812_: ;
7911 	}
7912 	break;
7913 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
7914 	{
7915 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym413_;
7916 		RootObj* T919_;
7917 		T919_ = NIM_NIL;
7918 		T919_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7919 		prevX60gensym413_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T919_));
7920 		{
7921 			if (!(prevX60gensym413_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA922_;
7922 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7923 			{
7924 				tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_3;
7925 				NI i_14;
7926 				NI L_3;
7927 				NI T925_;
7928 				branch_3 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7929 				i_14 = ((NI) 0);
7930 				T925_ = ((*f).sons ? (*f).sons->Sup.len : 0);
7931 				L_3 = T925_;
7932 				{
7933 					while (1) {
7934 						tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_7;
7935 						if (!(i_14 < L_3)) goto LA927;
7936 						branch_3 = &(*f).sons->data[i_14];
7937 						x_7 = typeRel__sigmatch_202(c, (*branch_3), aOrig_2, flags);
7938 						{
7939 							if (!(x_7 < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA930_;
7940 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7941 							goto BeforeRet_;
7942 						}
7943 						LA930_: ;
7944 						{
7945 							if (!(x_7 < result)) goto LA934_;
7946 							result = x_7;
7947 						}
7948 						LA934_: ;
7949 						i_14 += ((NI) 1);
7950 					} LA927: ;
7951 				}
7952 			}
7953 			{
7954 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA938_;
7955 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7956 			}
7957 			LA938_: ;
7958 			{
7959 				tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym415_;
7960 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T944_;
7961 				if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA942_;
7962 				T944_ = NIM_NIL;
7963 				T944_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7964 				boundX60gensym415_ = skipIntLit__magicsys_124(T944_, (*(*c).c).Sup.idgen);
7965 				put__sigmatch_120(c, f, boundX60gensym415_);
7966 			}
7967 			LA942_: ;
7968 			goto BeforeRet_;
7969 		}
7970 		goto LA920_;
7971 		LA922_: ;
7972 		{
7973 			result = typeRel__sigmatch_202(c, prevX60gensym413_, a, flags);
7974 			goto BeforeRet_;
7975 		}
7976 		LA920_: ;
7977 	}
7978 	break;
7979 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
7980 	{
7981 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym418_;
7982 		RootObj* T947_;
7983 		T947_ = NIM_NIL;
7984 		T947_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7985 		prevX60gensym418_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T947_));
7986 		{
7987 			NI oldInheritancePenalty;
7988 			NI maxInheritance;
7989 			if (!(prevX60gensym418_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA950_;
7990 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7991 			oldInheritancePenalty = (*c).inheritancePenalty;
7992 			maxInheritance = ((NI) 0);
7993 			{
7994 				tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_4;
7995 				NI i_15;
7996 				NI L_4;
7997 				NI T953_;
7998 				branch_4 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7999 				i_15 = ((NI) 0);
8000 				T953_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8001 				L_4 = T953_;
8002 				{
8003 					while (1) {
8004 						tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_8;
8005 						if (!(i_15 < L_4)) goto LA955;
8006 						branch_4 = &(*f).sons->data[i_15];
8007 						(*c).inheritancePenalty = ((NI) 0);
8008 						x_8 = typeRel__sigmatch_202(c, (*branch_4), aOrig_2, flags);
8009 						maxInheritance = ((maxInheritance >= (*c).inheritancePenalty) ? maxInheritance : (*c).inheritancePenalty);
8010 						{
8011 							if (!(result < x_8)) goto LA958_;
8012 							result = x_8;
8013 						}
8014 						LA958_: ;
8015 						i_15 += ((NI) 1);
8016 					} LA955: ;
8017 				}
8018 			}
8019 			{
8020 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= result)) goto LA962_;
8021 				{
8022 					if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA966_;
8023 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8024 				}
8025 				LA966_: ;
8026 				{
8027 					tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym422_;
8028 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T972_;
8029 					if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA970_;
8030 					T972_ = NIM_NIL;
8031 					T972_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
8032 					boundX60gensym422_ = skipIntLit__magicsys_124(T972_, (*(*c).c).Sup.idgen);
8033 					put__sigmatch_120(c, f, boundX60gensym422_);
8034 				}
8035 				LA970_: ;
8036 				goto BeforeRet_;
8037 			}
8038 			goto LA960_;
8039 			LA962_: ;
8040 			{
8041 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8042 			}
8043 			LA960_: ;
8044 			(*c).inheritancePenalty = (NI)(oldInheritancePenalty + maxInheritance);
8045 		}
8046 		goto LA948_;
8047 		LA950_: ;
8048 		{
8049 			result = typeRel__sigmatch_202(c, prevX60gensym418_, a, flags);
8050 			goto BeforeRet_;
8051 		}
8052 		LA948_: ;
8053 	}
8054 	break;
8055 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
8056 	{
8057 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym425_;
8058 		RootObj* T976_;
8059 		T976_ = NIM_NIL;
8060 		T976_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8061 		prevX60gensym425_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T976_));
8062 		{
8063 			if (!(prevX60gensym425_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA979_;
8064 			{
8065 				tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_5;
8066 				NI i_16;
8067 				NI L_5;
8068 				NI T982_;
8069 				branch_5 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
8070 				i_16 = ((NI) 0);
8071 				T982_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8072 				L_5 = T982_;
8073 				{
8074 					while (1) {
8075 						if (!(i_16 < L_5)) goto LA984;
8076 						branch_5 = &(*f).sons->data[i_16];
8077 						{
8078 							tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T987_;
8079 							T987_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
8080 							T987_ = typeRel__sigmatch_202(c, (*branch_5), aOrig_2, flags);
8081 							if (!!((T987_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA988_;
8082 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8083 							goto BeforeRet_;
8084 						}
8085 						LA988_: ;
8086 						i_16 += ((NI) 1);
8087 					} LA984: ;
8088 				}
8089 			}
8090 			{
8091 				tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym427_;
8092 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T994_;
8093 				if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA992_;
8094 				T994_ = NIM_NIL;
8095 				T994_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
8096 				boundX60gensym427_ = skipIntLit__magicsys_124(T994_, (*(*c).c).Sup.idgen);
8097 				put__sigmatch_120(c, f, boundX60gensym427_);
8098 			}
8099 			LA992_: ;
8100 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8101 			goto BeforeRet_;
8102 		}
8103 		goto LA977_;
8104 		LA979_: ;
8105 		{
8106 			result = typeRel__sigmatch_202(c, prevX60gensym425_, a, flags);
8107 			goto BeforeRet_;
8108 		}
8109 		LA977_: ;
8110 	}
8111 	break;
8112 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
8113 	{
8114 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym430_;
8115 		RootObj* T997_;
8116 		T997_ = NIM_NIL;
8117 		T997_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8118 		prevX60gensym430_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T997_));
8119 		{
8120 			tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete;
8121 			if (!(prevX60gensym430_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1000_;
8122 			concrete = concreteType__sigmatch_443((&(*c)), a, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8123 			{
8124 				NIM_BOOL T1004_;
8125 				T1004_ = (NIM_BOOL)0;
8126 				T1004_ = !((concrete == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8127 				if (!(T1004_)) goto LA1005_;
8128 				T1004_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0));
8129 				LA1005_: ;
8130 				if (!T1004_) goto LA1006_;
8131 				put__sigmatch_120(c, f, concrete);
8132 			}
8133 			LA1006_: ;
8134 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8135 			goto BeforeRet_;
8136 		}
8137 		goto LA998_;
8138 		LA1000_: ;
8139 		{
8140 			result = typeRel__sigmatch_202(c, prevX60gensym430_, a, flags);
8141 			goto BeforeRet_;
8142 		}
8143 		LA998_: ;
8144 	}
8145 	break;
8146 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
8147 	{
8148 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym434_;
8149 		RootObj* T1010_;
8150 		T1010_ = NIM_NIL;
8151 		T1010_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8152 		prevX60gensym434_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1010_));
8153 		{
8154 			tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag targetKind;
8155 			tyObject_TType__facALICuu8zUj0hjvbTLFg* effectiveArgType;
8156 			NIM_BOOL typeClassMatches;
8157 			NIM_BOOL T1015_;
8158 			NIM_BOOL T1017_;
8159 			if (!(prevX60gensym434_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1013_;
8160 			targetKind = (*(*f).sons->data[((NI) 0)]).kind;
8161 			effectiveArgType = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_30);
8162 			T1015_ = (NIM_BOOL)0;
8163 			T1015_ = (targetKind == (*effectiveArgType).kind);
8164 			if (!(T1015_)) goto LA1016_;
8165 			T1017_ = (NIM_BOOL)0;
8166 			T1017_ = isEmptyContainer__types_3617(effectiveArgType);
8167 			T1015_ = !(T1017_);
8168 			LA1016_: ;
8169 			typeClassMatches = T1015_;
8170 			{
8171 				NIM_BOOL T1020_;
8172 				NIM_BOOL T1022_;
8173 				T1020_ = (NIM_BOOL)0;
8174 				T1020_ = typeClassMatches;
8175 				if (T1020_) goto LA1021_;
8176 				T1022_ = (NIM_BOOL)0;
8177 				T1022_ = (targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8178 				if (!(T1022_)) goto LA1023_;
8179 				T1022_ = ((*effectiveArgType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8180 				LA1023_: ;
8181 				T1020_ = T1022_;
8182 				LA1021_: ;
8183 				if (!T1020_) goto LA1024_;
8184 				put__sigmatch_120(c, f, a);
8185 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8186 				goto BeforeRet_;
8187 			}
8188 			goto LA1018_;
8189 			LA1024_: ;
8190 			{
8191 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8192 				goto BeforeRet_;
8193 			}
8194 			LA1018_: ;
8195 		}
8196 		goto LA1011_;
8197 		LA1013_: ;
8198 		{
8199 			result = typeRel__sigmatch_202(c, prevX60gensym434_, a, flags);
8200 			goto BeforeRet_;
8201 		}
8202 		LA1011_: ;
8203 	}
8204 	break;
8205 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8206 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
8207 	{
8208 		{
8209 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T1033_;
8210 			if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA1031_;
8211 			T1033_ = NIM_NIL;
8212 			T1033_ = lastSon__ast_3743(f);
8213 			result = typeRel__sigmatch_202(c, T1033_, a, flags);
8214 		}
8215 		goto LA1029_;
8216 		LA1031_: ;
8217 		{
8218 			tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym439_;
8219 			RootObj* T1035_;
8220 			T1035_ = NIM_NIL;
8221 			T1035_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8222 			prevX60gensym439_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1035_));
8223 			{
8224 				tyObject_TType__facALICuu8zUj0hjvbTLFg* matched;
8225 				if (!(prevX60gensym439_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1038_;
8226 				{
8227 					if (!(aOrig_2 == f)) goto LA1042_;
8228 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8229 					goto BeforeRet_;
8230 				}
8231 				LA1042_: ;
8232 				matched = matchUserTypeClass__sigmatch_993(c, f, aOrig_2);
8233 				{
8234 					if (!!((matched == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1046_;
8235 					add__concepts_23(matched, a);
8236 					(*matched).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10)) & 63);
8237 					{
8238 						if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA1050_;
8239 						put__sigmatch_120(c, f, matched);
8240 					}
8241 					LA1050_: ;
8242 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8243 				}
8244 				goto LA1044_;
8245 				LA1046_: ;
8246 				{
8247 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8248 				}
8249 				LA1044_: ;
8250 			}
8251 			goto LA1036_;
8252 			LA1038_: ;
8253 			{
8254 				result = typeRel__sigmatch_202(c, prevX60gensym439_, a, flags);
8255 				goto BeforeRet_;
8256 			}
8257 			LA1036_: ;
8258 		}
8259 		LA1029_: ;
8260 	}
8261 	break;
8262 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
8263 	{
8264 		{
8265 			NIM_BOOL T1057_;
8266 			T1057_ = (NIM_BOOL)0;
8267 			T1057_ = conceptMatch__concepts_538((*c).c, f, a, (&(*c).bindings), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8268 			if (!T1057_) goto LA1058_;
8269 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8270 		}
8271 		goto LA1055_;
8272 		LA1058_: ;
8273 		{
8274 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8275 		}
8276 		LA1055_: ;
8277 	}
8278 	break;
8279 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
8280 	{
8281 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym444_;
8282 		RootObj* T1062_;
8283 		T1062_ = NIM_NIL;
8284 		T1062_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8285 		prevX60gensym444_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1062_));
8286 		{
8287 			tyObject_TType__facALICuu8zUj0hjvbTLFg* roota_2;
8288 			tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf_2;
8289 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T1067_;
8290 			if (!(prevX60gensym444_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1065_;
8291 			roota_2 = skipGenericAlias__types_2210(a);
8292 			T1067_ = NIM_NIL;
8293 			T1067_ = lastSon__ast_3743(f);
8294 			rootf_2 = skipGenericAlias__types_2210(T1067_);
8295 			{
8296 				NIM_BOOL T1070_;
8297 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1072_;
8298 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1073_;
8299 				T1070_ = (NIM_BOOL)0;
8300 				T1070_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
8301 				if (!(T1070_)) goto LA1071_;
8302 				T1072_ = NIM_NIL;
8303 				T1072_ = base__types_63(roota_2);
8304 				T1073_ = NIM_NIL;
8305 				T1073_ = base__types_63(rootf_2);
8306 				T1070_ = (T1072_ == T1073_);
8307 				LA1071_: ;
8308 				if (!T1070_) goto LA1074_;
8309 				{
8310 					NI i_17;
8311 					NI colontmp__6;
8312 					NI T1077_;
8313 					NI i_18;
8314 					i_17 = (NI)0;
8315 					colontmp__6 = (NI)0;
8316 					T1077_ = (NI)0;
8317 					T1077_ = len__ast_4002(rootf_2);
8318 					colontmp__6 = (NI)(T1077_ - ((NI) 1));
8319 					i_18 = ((NI) 1);
8320 					{
8321 						while (1) {
8322 							tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_5;
8323 							tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_4;
8324 							if (!(i_18 < colontmp__6)) goto LA1079;
8325 							i_17 = i_18;
8326 							ff_5 = (*rootf_2).sons->data[i_17];
8327 							aa_4 = (*roota_2).sons->data[i_17];
8328 							result = typeRel__sigmatch_202(c, ff_5, aa_4, flags);
8329 							{
8330 								if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA1082_;
8331 								goto BeforeRet_;
8332 							}
8333 							LA1082_: ;
8334 							{
8335 								NIM_BOOL T1086_;
8336 								T1086_ = (NIM_BOOL)0;
8337 								T1086_ = ((*ff_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
8338 								if (!(T1086_)) goto LA1087_;
8339 								T1086_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)));
8340 								LA1087_: ;
8341 								if (!T1086_) goto LA1088_;
8342 								result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8343 								goto BeforeRet_;
8344 							}
8345 							LA1088_: ;
8346 							i_18 += ((NI) 1);
8347 						} LA1079: ;
8348 					}
8349 				}
8350 			}
8351 			goto LA1068_;
8352 			LA1074_: ;
8353 			{
8354 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1091_;
8355 				T1091_ = NIM_NIL;
8356 				T1091_ = lastSon__ast_3743(rootf_2);
8357 				result = typeRel__sigmatch_202(c, T1091_, a, flags);
8358 			}
8359 			LA1068_: ;
8360 			{
8361 				if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1094_;
8362 				put__sigmatch_120(c, f, a);
8363 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8364 			}
8365 			LA1094_: ;
8366 		}
8367 		goto LA1063_;
8368 		LA1065_: ;
8369 		{
8370 			result = typeRel__sigmatch_202(c, prevX60gensym444_, a, flags);
8371 			goto BeforeRet_;
8372 		}
8373 		LA1063_: ;
8374 	}
8375 	break;
8376 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
8377 	{
8378 		NIM_BOOL doBindGP;
8379 		NIM_BOOL T1098_;
8380 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x_9;
8381 		RootObj* T1100_;
8382 		T1098_ = (NIM_BOOL)0;
8383 		T1098_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0));
8384 		if (T1098_) goto LA1099_;
8385 		T1098_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 2))&7U)))!=0);
8386 		LA1099_: ;
8387 		doBindGP = T1098_;
8388 		T1100_ = NIM_NIL;
8389 		T1100_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8390 		x_9 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1100_));
8391 		{
8392 			if (!(x_9 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1103_;
8393 			{
8394 				NIM_BOOL T1107_;
8395 				T1107_ = (NIM_BOOL)0;
8396 				T1107_ = ((*(*c).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
8397 				if (!(T1107_)) goto LA1108_;
8398 				T1107_ = !((*c).typedescMatched);
8399 				LA1108_: ;
8400 				if (!T1107_) goto LA1109_;
8401 				{
8402 					if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1113_;
8403 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8404 				}
8405 				goto LA1111_;
8406 				LA1113_: ;
8407 				{
8408 					if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1116_;
8409 					{
8410 						NI T1120_;
8411 						T1120_ = (NI)0;
8412 						T1120_ = len__ast_4002(f);
8413 						if (!(T1120_ == ((NI) 0))) goto LA1121_;
8414 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8415 					}
8416 					goto LA1118_;
8417 					LA1121_: ;
8418 					{
8419 						tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_5;
8420 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T1138_;
8421 						{
8422 							NI T1126_;
8423 							NimStringDesc* argX60gensym454_;
8424 							T1126_ = (NI)0;
8425 							T1126_ = len__ast_4002(a);
8426 							if (!!((((NI) 0) < T1126_))) goto LA1127_;
8427 							argX60gensym454_ = toFileLineCol__msgs_615(TM__EV5hHJmjIY9cla9b9be7fSVJQ_44);
8428 							internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym454_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_44);
8429 						}
8430 						LA1127_: ;
8431 						(*c).typedescMatched = NIM_TRUE;
8432 						aa_5 = a;
8433 						{
8434 							while (1) {
8435 								NIM_BOOL T1131_;
8436 								NI T1133_;
8437 								T1131_ = (NIM_BOOL)0;
8438 								T1131_ = ((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
8439 								if (!(T1131_)) goto LA1132_;
8440 								T1133_ = (NI)0;
8441 								T1133_ = len__ast_4002(aa_5);
8442 								T1131_ = (((NI) 0) < T1133_);
8443 								LA1132_: ;
8444 								if (!T1131_) goto LA1130;
8445 								aa_5 = lastSon__ast_3743(aa_5);
8446 							} LA1130: ;
8447 						}
8448 						{
8449 							if (!((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1136_;
8450 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8451 							goto BeforeRet_;
8452 						}
8453 						LA1136_: ;
8454 						T1138_ = NIM_NIL;
8455 						T1138_ = base__types_63(f);
8456 						result = typeRel__sigmatch_202(c, T1138_, aa_5, flags);
8457 						{
8458 							if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1141_;
8459 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8460 						}
8461 						LA1141_: ;
8462 					}
8463 					LA1118_: ;
8464 				}
8465 				goto LA1111_;
8466 				LA1116_: ;
8467 				{
8468 					if (!(*c).isNoCall) goto LA1144_;
8469 					{
8470 						tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_2;
8471 						if (!doBindGP) goto LA1148_;
8472 						concrete_2 = concreteType__sigmatch_443((&(*c)), a, f);
8473 						{
8474 							if (!(concrete_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1152_;
8475 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8476 							goto BeforeRet_;
8477 						}
8478 						LA1152_: ;
8479 						put__sigmatch_120(c, f, concrete_2);
8480 					}
8481 					LA1148_: ;
8482 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8483 				}
8484 				goto LA1111_;
8485 				LA1144_: ;
8486 				{
8487 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8488 				}
8489 				LA1111_: ;
8490 			}
8491 			goto LA1105_;
8492 			LA1109_: ;
8493 			{
8494 				{
8495 					NIM_BOOL T1158_;
8496 					NI T1159_;
8497 					NI oldInheritancePenalty_2;
8498 					T1158_ = (NIM_BOOL)0;
8499 					T1159_ = (NI)0;
8500 					T1159_ = len__ast_4002(f);
8501 					T1158_ = (((NI) 0) < T1159_);
8502 					if (!(T1158_)) goto LA1160_;
8503 					T1158_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
8504 					LA1160_: ;
8505 					if (!T1158_) goto LA1161_;
8506 					oldInheritancePenalty_2 = (*c).inheritancePenalty;
8507 					result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], a, (flags | 5));
8508 					{
8509 						NIM_BOOL T1165_;
8510 						tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_3;
8511 						T1165_ = (NIM_BOOL)0;
8512 						T1165_ = doBindGP;
8513 						if (!(T1165_)) goto LA1166_;
8514 						T1165_ = !(((257 &((NU16)1<<((NU)(result)&15U)))!=0));
8515 						LA1166_: ;
8516 						if (!T1165_) goto LA1167_;
8517 						concrete_3 = concreteType__sigmatch_443((&(*c)), a, f);
8518 						{
8519 							if (!(concrete_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1171_;
8520 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8521 							goto BeforeRet_;
8522 						}
8523 						LA1171_: ;
8524 						put__sigmatch_120(c, f, concrete_3);
8525 					}
8526 					LA1167_: ;
8527 					{
8528 						if (!((1032 &((NU16)1<<((NU)(result)&15U)))!=0)) goto LA1175_;
8529 						(*c).inheritancePenalty = (NI)((NI)(oldInheritancePenalty_2 - (*c).inheritancePenalty) - (NI)(((NI) 100) * (result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10))));
8530 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8531 					}
8532 					LA1175_: ;
8533 				}
8534 				goto LA1156_;
8535 				LA1161_: ;
8536 				{
8537 					if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1178_;
8538 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8539 				}
8540 				goto LA1156_;
8541 				LA1178_: ;
8542 				{
8543 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8544 				}
8545 				LA1156_: ;
8546 			}
8547 			LA1105_: ;
8548 			{
8549 				tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_4;
8550 				if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA1183_;
8551 				concrete_4 = a;
8552 				{
8553 					if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1187_;
8554 					transitionGenericParamToType__ast_4390((*a).sym);
8555 					(*a).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
8556 				}
8557 				goto LA1185_;
8558 				LA1187_: ;
8559 				{
8560 					concrete_4 = concreteType__sigmatch_443((&(*c)), a, f);
8561 					{
8562 						if (!(concrete_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1192_;
8563 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8564 						goto BeforeRet_;
8565 					}
8566 					LA1192_: ;
8567 				}
8568 				LA1185_: ;
8569 				{
8570 					if (!doBindGP) goto LA1196_;
8571 					put__sigmatch_120(c, f, concrete_4);
8572 				}
8573 				LA1196_: ;
8574 			}
8575 			goto LA1181_;
8576 			LA1183_: ;
8577 			{
8578 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1199_;
8579 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8580 			}
8581 			goto LA1181_;
8582 			LA1199_: ;
8583 			LA1181_: ;
8584 		}
8585 		goto LA1101_;
8586 		LA1103_: ;
8587 		{
8588 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA1202_;
8589 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8590 		}
8591 		goto LA1101_;
8592 		LA1202_: ;
8593 		{
8594 			if (!((*x_9).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1205_;
8595 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8596 		}
8597 		goto LA1101_;
8598 		LA1205_: ;
8599 		{
8600 			result = typeRel__sigmatch_202(c, x_9, a, flags);
8601 			{
8602 				if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1210_;
8603 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8604 			}
8605 			LA1210_: ;
8606 		}
8607 		LA1101_: ;
8608 	}
8609 	break;
8610 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8611 	{
8612 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_5;
8613 		RootObj* T1213_;
8614 		T1213_ = NIM_NIL;
8615 		T1213_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8616 		prev_5 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1213_));
8617 		{
8618 			if (!(prev_5 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1216_;
8619 			{
8620 				if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1220_;
8621 				{
8622 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T1224_;
8623 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T1227_;
8624 					T1224_ = NIM_NIL;
8625 					T1224_ = base__types_63(f);
8626 					if (!!(((*T1224_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1225_;
8627 					T1227_ = NIM_NIL;
8628 					T1227_ = base__types_63(f);
8629 					result = typeRel__sigmatch_202(c, T1227_, a, flags);
8630 					{
8631 						NIM_BOOL T1230_;
8632 						T1230_ = (NIM_BOOL)0;
8633 						T1230_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8634 						if (!(T1230_)) goto LA1231_;
8635 						T1230_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8636 						LA1231_: ;
8637 						if (!T1230_) goto LA1232_;
8638 						{
8639 							NIM_BOOL T1236_;
8640 							T1236_ = (NIM_BOOL)0;
8641 							T1236_ = exprStructuralEquivalent__trees_56((*f).n, (*aOrig_2).n, NIM_FALSE);
8642 							if (!!(T1236_)) goto LA1237_;
8643 							result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8644 						}
8645 						LA1237_: ;
8646 					}
8647 					LA1232_: ;
8648 				}
8649 				goto LA1222_;
8650 				LA1225_: ;
8651 				{
8652 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8653 				}
8654 				LA1222_: ;
8655 				{
8656 					if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1242_;
8657 					put__sigmatch_120(c, f, aOrig_2);
8658 				}
8659 				LA1242_: ;
8660 			}
8661 			goto LA1218_;
8662 			LA1220_: ;
8663 			{
8664 				NIM_BOOL T1245_;
8665 				T1245_ = (NIM_BOOL)0;
8666 				T1245_ = !(((*aOrig_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8667 				if (!(T1245_)) goto LA1246_;
8668 				T1245_ = !(((*(*aOrig_2).n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8669 				LA1246_: ;
8670 				if (!T1245_) goto LA1247_;
8671 				{
8672 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T1251_;
8673 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T1254_;
8674 					T1251_ = NIM_NIL;
8675 					T1251_ = base__types_63(f);
8676 					if (!!(((*T1251_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1252_;
8677 					T1254_ = NIM_NIL;
8678 					T1254_ = lastSon__ast_3743(f);
8679 					result = typeRel__sigmatch_202(c, T1254_, (*(*aOrig_2).n).typ, flags);
8680 				}
8681 				goto LA1249_;
8682 				LA1252_: ;
8683 				{
8684 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8685 				}
8686 				LA1249_: ;
8687 				{
8688 					tyObject_TType__facALICuu8zUj0hjvbTLFg* boundType;
8689 					tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T1260_;
8690 					if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1258_;
8691 					T1260_ = NIM_NIL;
8692 					T1260_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
8693 					asgnRef((void**) (&T1260_->data[0]), (*(*aOrig_2).n).typ);
8694 					boundType = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T1260_);
8695 					asgnRef((void**) (&(*boundType).n), (*aOrig_2).n);
8696 					put__sigmatch_120(c, f, boundType);
8697 				}
8698 				LA1258_: ;
8699 			}
8700 			goto LA1218_;
8701 			LA1247_: ;
8702 			{
8703 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8704 			}
8705 			LA1218_: ;
8706 		}
8707 		goto LA1214_;
8708 		LA1216_: ;
8709 		{
8710 			if (!((*prev_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1263_;
8711 			{
8712 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1269_;
8713 				if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1267_;
8714 				T1269_ = NIM_NIL;
8715 				T1269_ = lastSon__ast_3743(prev_5);
8716 				result = typeRel__sigmatch_202(c, T1269_, a, flags);
8717 				{
8718 					NIM_BOOL T1272_;
8719 					T1272_ = (NIM_BOOL)0;
8720 					T1272_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8721 					if (!(T1272_)) goto LA1273_;
8722 					T1272_ = !(((*prev_5).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8723 					LA1273_: ;
8724 					if (!T1272_) goto LA1274_;
8725 					{
8726 						NIM_BOOL T1278_;
8727 						T1278_ = (NIM_BOOL)0;
8728 						T1278_ = exprStructuralEquivalent__trees_56((*prev_5).n, (*aOrig_2).n, NIM_FALSE);
8729 						if (!!(T1278_)) goto LA1279_;
8730 						result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8731 					}
8732 					LA1279_: ;
8733 				}
8734 				LA1274_: ;
8735 			}
8736 			goto LA1265_;
8737 			LA1267_: ;
8738 			{
8739 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8740 			}
8741 			LA1265_: ;
8742 		}
8743 		goto LA1214_;
8744 		LA1263_: ;
8745 		{
8746 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8747 		}
8748 		LA1214_: ;
8749 	}
8750 	break;
8751 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
8752 	{
8753 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_6;
8754 		{
8755 			NI T1286_;
8756 			T1286_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8757 			if (!(((NI) 1) < T1286_)) goto LA1287_;
8758 			prev_6 = lastSon__ast_3743(f);
8759 		}
8760 		goto LA1284_;
8761 		LA1287_: ;
8762 		{
8763 			prev_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
8764 		}
8765 		LA1284_: ;
8766 		{
8767 			if (!!((prev_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1292_;
8768 			result = typeRel__sigmatch_202(c, prev_6, a, flags);
8769 		}
8770 		goto LA1290_;
8771 		LA1292_: ;
8772 		{
8773 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T1295_;
8774 			T1295_ = NIM_NIL;
8775 			T1295_ = base__types_63(f);
8776 			result = typeRel__sigmatch_202(c, T1295_, a, flags);
8777 			{
8778 				NI T1300_;
8779 				if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1298_;
8780 				unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
8781 				T1300_ = (*c).inferredTypes->Sup.len++;
8782 				asgnRef((void**) (&(*c).inferredTypes->data[T1300_]), f);
8783 				add__concepts_23(f, a);
8784 			}
8785 			LA1298_: ;
8786 		}
8787 		LA1290_: ;
8788 	}
8789 	break;
8790 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8791 	{
8792 		tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_7;
8793 		RootObj* T1302_;
8794 		T1302_ = NIM_NIL;
8795 		T1302_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8796 		prev_7 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1302_));
8797 		{
8798 			if (!(prev_7 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1305_;
8799 			{
8800 				if (!!(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA1309_;
8801 				{
8802 					NIM_BOOL T1313_;
8803 					T1313_ = (NIM_BOOL)0;
8804 					T1313_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
8805 					if (!(T1313_)) goto LA1314_;
8806 					T1313_ = (((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
8807 					LA1314_: ;
8808 					if (!T1313_) goto LA1315_;
8809 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8810 				}
8811 				goto LA1311_;
8812 				LA1315_: ;
8813 				{
8814 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8815 				}
8816 				LA1311_: ;
8817 			}
8818 			goto LA1307_;
8819 			LA1309_: ;
8820 			{
8821 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1319_;
8822 				T1319_ = NIM_NIL;
8823 				T1319_ = base__types_63(f);
8824 				if (!((*T1319_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1320_;
8825 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8826 			}
8827 			goto LA1307_;
8828 			LA1320_: ;
8829 			{
8830 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1323_;
8831 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1324_;
8832 				T1323_ = NIM_NIL;
8833 				T1323_ = base__types_63(f);
8834 				T1324_ = NIM_NIL;
8835 				T1324_ = base__types_63(a);
8836 				result = typeRel__sigmatch_202(c, T1323_, T1324_, flags);
8837 			}
8838 			LA1307_: ;
8839 			{
8840 				if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1327_;
8841 				put__sigmatch_120(c, f, a);
8842 			}
8843 			LA1327_: ;
8844 		}
8845 		goto LA1303_;
8846 		LA1305_: ;
8847 		{
8848 			{
8849 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1334_;
8850 				if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA1332_;
8851 				T1334_ = NIM_NIL;
8852 				T1334_ = base__types_63(prev_7);
8853 				result = typeRel__sigmatch_202(c, T1334_, a, flags);
8854 			}
8855 			goto LA1330_;
8856 			LA1332_: ;
8857 			{
8858 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1338_;
8859 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T1339_;
8860 				if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1336_;
8861 				T1338_ = NIM_NIL;
8862 				T1338_ = base__types_63(prev_7);
8863 				T1339_ = NIM_NIL;
8864 				T1339_ = base__types_63(a);
8865 				result = typeRel__sigmatch_202(c, T1338_, T1339_, flags);
8866 			}
8867 			goto LA1330_;
8868 			LA1336_: ;
8869 			{
8870 				result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8871 			}
8872 			LA1330_: ;
8873 		}
8874 		LA1303_: ;
8875 	}
8876 	break;
8877 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
8878 	{
8879 		{
8880 			if (!!((aOrig_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1344_;
8881 			put__sigmatch_120(c, f, aOrig_2);
8882 		}
8883 		LA1344_: ;
8884 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8885 	}
8886 	break;
8887 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
8888 	{
8889 		result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8890 	}
8891 	break;
8892 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
8893 	{
8894 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reevaluated;
8895 		{
8896 			NIM_BOOL T1350_;
8897 			T1350_ = (NIM_BOOL)0;
8898 			T1350_ = ((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8899 			if (T1350_) goto LA1351_;
8900 			T1350_ = ((*(*f).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
8901 			LA1351_: ;
8902 			if (!T1350_) goto LA1352_;
8903 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8904 			goto BeforeRet_;
8905 		}
8906 		LA1352_: ;
8907 		reevaluated = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE);
8908 		switch ((*(*reevaluated).typ).kind) {
8909 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8910 		{
8911 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T1355_;
8912 			T1355_ = NIM_NIL;
8913 			T1355_ = base__types_63((*reevaluated).typ);
8914 			result = typeRel__sigmatch_202(c, a, T1355_, flags);
8915 		}
8916 		break;
8917 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8918 		{
8919 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T1357_;
8920 			T1357_ = NIM_NIL;
8921 			T1357_ = base__types_63((*reevaluated).typ);
8922 			result = typeRel__sigmatch_202(c, a, T1357_, flags);
8923 			{
8924 				NIM_BOOL T1360_;
8925 				T1360_ = (NIM_BOOL)0;
8926 				T1360_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8927 				if (!(T1360_)) goto LA1361_;
8928 				T1360_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8929 				LA1361_: ;
8930 				if (!T1360_) goto LA1362_;
8931 				{
8932 					NIM_BOOL T1366_;
8933 					T1366_ = (NIM_BOOL)0;
8934 					T1366_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE);
8935 					if (!!(T1366_)) goto LA1367_;
8936 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8937 				}
8938 				LA1367_: ;
8939 			}
8940 			LA1362_: ;
8941 		}
8942 		break;
8943 		default:
8944 		{
8945 			result = typeRel__sigmatch_202(c, a, (*reevaluated).typ, flags);
8946 			{
8947 				NIM_BOOL T1372_;
8948 				T1372_ = (NIM_BOOL)0;
8949 				T1372_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8950 				if (!(T1372_)) goto LA1373_;
8951 				T1372_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8952 				LA1373_: ;
8953 				if (!T1372_) goto LA1374_;
8954 				{
8955 					NIM_BOOL T1378_;
8956 					T1378_ = (NIM_BOOL)0;
8957 					T1378_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE);
8958 					if (!!(T1378_)) goto LA1379_;
8959 					result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8960 				}
8961 				LA1379_: ;
8962 			}
8963 			LA1374_: ;
8964 		}
8965 		break;
8966 		}
8967 	}
8968 	break;
8969 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
8970 	{
8971 		{
8972 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1384_;
8973 			result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8974 		}
8975 		LA1384_: ;
8976 	}
8977 	break;
8978 	default:
8979 	{
8980 		NimStringDesc* T1387_;
8981 		T1387_ = NIM_NIL;
8982 		T1387_ = rawNewString((reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 19);
8983 appendString(T1387_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_45));
8984 appendString(T1387_, reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8985 		internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, T1387_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_46);
8986 	}
8987 	break;
8988 	}
8989 	}BeforeRet_: ;
8990 	return result;
8991 }
N_NIMCALL(void,incMatches__sigmatch_3238)8992 N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch) {
8993 	switch (r) {
8994 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1):
8995 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2):
8996 	{
8997 		(*m).convMatches += convMatch;
8998 	}
8999 	break;
9000 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
9001 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4):
9002 	{
9003 		(*m).subtypeMatches += ((NI) 1);
9004 	}
9005 	break;
9006 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
9007 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
9008 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
9009 	{
9010 		(*m).genericMatches += ((NI) 1);
9011 	}
9012 	break;
9013 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
9014 	{
9015 		(*m).intConvMatches += ((NI) 256);
9016 	}
9017 	break;
9018 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7):
9019 	{
9020 		(*m).convMatches += ((NI) 1);
9021 	}
9022 	break;
9023 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
9024 	{
9025 		(*m).exactMatches += ((NI) 1);
9026 	}
9027 	break;
9028 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
9029 	{
9030 	}
9031 	break;
9032 	}
9033 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getInstantiatedType__sigmatch_3053)9034 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getInstantiatedType__sigmatch_3053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
9035 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9036 	RootObj* T1_;
9037 	result = NIM_NIL;
9038 	T1_ = NIM_NIL;
9039 	T1_ = idTableGet__astalgo_64((*m).bindings, &f->Sup);
9040 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1_));
9041 	{
9042 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA4_;
9043 		result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, f);
9044 	}
9045 	LA4_: ;
9046 	{
9047 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_;
9048 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_49), TM__EV5hHJmjIY9cla9b9be7fSVJQ_50);
9049 		result = errorType__semdata_1002(c);
9050 	}
9051 	LA8_: ;
9052 	return result;
9053 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,implicitConv__sigmatch_3067)9054 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitConv__sigmatch_3067)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
9055 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9056 	result = NIM_NIL;
9057 	result = newNodeI__ast_3356(kind, (*arg).info);
9058 	{
9059 		NIM_BOOL T3_;
9060 		T3_ = (NIM_BOOL)0;
9061 		T3_ = containsGenericType__types_3351(f);
9062 		if (!T3_) goto LA4_;
9063 		{
9064 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
9065 			if (!!(!(((*m).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))))) goto LA8_;
9066 			T10_ = NIM_NIL;
9067 			T10_ = getInstantiatedType__sigmatch_3053(c, arg, m, f);
9068 			asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(T10_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51));
9069 		}
9070 		goto LA6_;
9071 		LA8_: ;
9072 		{
9073 			asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
9074 		}
9075 		LA6_: ;
9076 	}
9077 	goto LA1_;
9078 	LA4_: ;
9079 	{
9080 		asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51));
9081 	}
9082 	LA1_: ;
9083 	{
9084 		if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_;
9085 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_52), TM__EV5hHJmjIY9cla9b9be7fSVJQ_53);
9086 	}
9087 	LA15_: ;
9088 	add__ast_4797(result, (*(*c).graph).emptyNode);
9089 	add__ast_4797(result, arg);
9090 	return result;
9091 }
N_INLINE(NIM_BOOL,isLValue__sigmatch_3090)9092 static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9093 	NIM_BOOL result;
9094 	tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
9095 	result = (NIM_BOOL)0;
9096 	aa = isAssignable__parampatterns_334(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), n, NIM_FALSE);
9097 	switch (aa) {
9098 	case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1):
9099 	case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2):
9100 	case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 5):
9101 	{
9102 		result = NIM_TRUE;
9103 	}
9104 	break;
9105 	case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3):
9106 	{
9107 		result = (((NI) 0) < (*c).inUncheckedAssignSection);
9108 	}
9109 	break;
9110 	default:
9111 	{
9112 		result = NIM_FALSE;
9113 	}
9114 	break;
9115 	}
9116 	return result;
9117 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,extractPragma__sigmatch_5382)9118 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9119 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9120 	result = NIM_NIL;
9121 	{
9122 		if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA3_;
9123 		result = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
9124 	}
9125 	goto LA1_;
9126 	LA3_: ;
9127 	{
9128 		if (!((896 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA6_;
9129 		{
9130 			NIM_BOOL T10_;
9131 			NI T12_;
9132 			T10_ = (NIM_BOOL)0;
9133 			T10_ = !(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
9134 			if (!(T10_)) goto LA11_;
9135 			T12_ = (NI)0;
9136 			T12_ = len__ast_3198((*s).ast);
9137 			T10_ = (((NI) 0) < T12_);
9138 			LA11_: ;
9139 			if (!T10_) goto LA13_;
9140 			{
9141 				NIM_BOOL T17_;
9142 				NI T19_;
9143 				T17_ = (NIM_BOOL)0;
9144 				T17_ = ((*(*(*s).ast)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
9145 				if (!(T17_)) goto LA18_;
9146 				T19_ = (NI)0;
9147 				T19_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 0)]);
9148 				T17_ = (((NI) 1) < T19_);
9149 				LA18_: ;
9150 				if (!T17_) goto LA20_;
9151 				result = (*(*(*s).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
9152 			}
9153 			LA20_: ;
9154 		}
9155 		LA13_: ;
9156 	}
9157 	goto LA1_;
9158 	LA6_: ;
9159 	LA1_: ;
9160 	{
9161 		NIM_BOOL T24_;
9162 		T24_ = (NIM_BOOL)0;
9163 		T24_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9164 		if (T24_) goto LA25_;
9165 		T24_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
9166 		LA25_: ;
9167 		if (!!(T24_)) goto LA26_;
9168 		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_57));
9169 	}
9170 	LA26_: ;
9171 	return result;
9172 }
N_NIMCALL(void,warnAboutDeprecated__sigmatch_5425)9173 N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9174 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
9175 	NimStringDesc* name;
9176 	NimStringDesc* T33_;
9177 {	pragmaNode = NIM_NIL;
9178 	{
9179 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA3_;
9180 		pragmaNode = extractPragma__sigmatch_5382((*s).owner);
9181 	}
9182 	goto LA1_;
9183 	LA3_: ;
9184 	{
9185 		pragmaNode = extractPragma__sigmatch_5382(s);
9186 	}
9187 	LA1_: ;
9188 	{
9189 		NIM_BOOL T8_;
9190 		NimStringDesc* T12_;
9191 		T8_ = (NIM_BOOL)0;
9192 		T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
9193 		if (!(T8_)) goto LA9_;
9194 		T8_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0));
9195 		LA9_: ;
9196 		if (!T8_) goto LA10_;
9197 		T12_ = NIM_NIL;
9198 		T12_ = rawNewString(((*(*(*s).owner).name).s ? (*(*(*s).owner).name).s->Sup.len : 0) + ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 31);
9199 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_58));
9200 appendString(T12_, (*(*(*s).owner).name).s);
9201 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_59));
9202 appendString(T12_, (*(*s).name).s);
9203 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
9204 		name = T12_;
9205 	}
9206 	goto LA6_;
9207 	LA10_: ;
9208 	{
9209 		name = (*(*s).name).s;
9210 	}
9211 	LA6_: ;
9212 	{
9213 		if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_;
9214 		{
9215 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9216 			it = NIM_NIL;
9217 			{
9218 				NI i;
9219 				NI colontmp_;
9220 				NI i_2;
9221 				i = (NI)0;
9222 				colontmp_ = (NI)0;
9223 				colontmp_ = safeLen__ast_3191(pragmaNode);
9224 				i_2 = ((NI) 0);
9225 				{
9226 					while (1) {
9227 						if (!(i_2 < colontmp_)) goto LA21;
9228 						i = i_2;
9229 						it = (*pragmaNode)._kind_6.sons->data[i];
9230 						{
9231 							NIM_BOOL T24_;
9232 							NIM_BOOL T25_;
9233 							tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T26_;
9234 							NI T28_;
9235 							NimStringDesc* T32_;
9236 							T24_ = (NIM_BOOL)0;
9237 							T25_ = (NIM_BOOL)0;
9238 							T26_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
9239 							T26_ = whichPragma__trees_244(it);
9240 							T25_ = (T26_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 138));
9241 							if (!(T25_)) goto LA27_;
9242 							T28_ = (NI)0;
9243 							T28_ = safeLen__ast_3191(it);
9244 							T25_ = (T28_ == ((NI) 2));
9245 							LA27_: ;
9246 							T24_ = T25_;
9247 							if (!(T24_)) goto LA29_;
9248 							T24_ = ((*(*it)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*it)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
9249 							LA29_: ;
9250 							if (!T24_) goto LA30_;
9251 							T32_ = NIM_NIL;
9252 							T32_ = rawNewString(((*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal ? (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal->Sup.len : 0) + (name ? name->Sup.len : 0) + 16);
9253 appendString(T32_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal);
9254 appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60));
9255 appendString(T32_, name);
9256 appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61));
9257 							liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_62, NIM_FALSE);
9258 							goto BeforeRet_;
9259 						}
9260 						LA30_: ;
9261 						i_2 += ((NI) 1);
9262 					} LA21: ;
9263 				}
9264 			}
9265 		}
9266 	}
9267 	LA16_: ;
9268 	T33_ = NIM_NIL;
9269 	T33_ = rawNewString((name ? name->Sup.len : 0) + 14);
9270 appendString(T33_, name);
9271 appendString(T33_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61));
9272 	liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_64, NIM_FALSE);
9273 	}BeforeRet_: ;
9274 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_619)9275 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
9276 	NimStringDesc* result;
9277 	NimStringDesc* T1_;
9278 	result = NIM_NIL;
9279 	T1_ = NIM_NIL;
9280 	T1_ = toMsgFilename__msgs_602(conf, info.fileIndex);
9281 	result = resizeString(result, (T1_ ? T1_->Sup.len : 0) + 0);
9282 appendString(result, T1_);
9283 	{
9284 		if (!(((NI) 0) < ((NI) (info.line)))) goto LA4_;
9285 		result = resizeString(result, 1);
9286 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41));
9287 		addInt__stdZprivateZdigitsutils_189((&result), ((NI) (info.line)));
9288 		{
9289 			if (!(((NI) 0) < (NI)(((NI) (info.col)) + ((NI) 1)))) goto LA8_;
9290 			result = resizeString(result, 2);
9291 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
9292 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(((NI) (info.col)) + ((NI) 1)));
9293 		}
9294 		LA8_: ;
9295 		result = resizeString(result, 1);
9296 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43));
9297 	}
9298 	LA4_: ;
9299 	return result;
9300 }
N_NIMCALL(void,userError__sigmatch_5458)9301 N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9302 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
9303 	tyArray__24KAM9afIUgUaqBaEBB6r9bg T22_;
9304 	NimStringDesc* T23_;
9305 {	pragmaNode = extractPragma__sigmatch_5382(s);
9306 	{
9307 		if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
9308 		{
9309 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9310 			it = NIM_NIL;
9311 			{
9312 				NI i;
9313 				NI colontmp_;
9314 				NI i_2;
9315 				i = (NI)0;
9316 				colontmp_ = (NI)0;
9317 				colontmp_ = safeLen__ast_3191(pragmaNode);
9318 				i_2 = ((NI) 0);
9319 				{
9320 					while (1) {
9321 						if (!(i_2 < colontmp_)) goto LA8;
9322 						i = i_2;
9323 						it = (*pragmaNode)._kind_6.sons->data[i];
9324 						{
9325 							NIM_BOOL T11_;
9326 							NIM_BOOL T12_;
9327 							tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_;
9328 							NI T15_;
9329 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
9330 							NimStringDesc* T20_;
9331 							NimStringDesc* T21_;
9332 							T11_ = (NIM_BOOL)0;
9333 							T12_ = (NIM_BOOL)0;
9334 							T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
9335 							T13_ = whichPragma__trees_244(it);
9336 							T12_ = (T13_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 122));
9337 							if (!(T12_)) goto LA14_;
9338 							T15_ = (NI)0;
9339 							T15_ = safeLen__ast_3191(it);
9340 							T12_ = (T15_ == ((NI) 2));
9341 							LA14_: ;
9342 							T11_ = T12_;
9343 							if (!(T11_)) goto LA16_;
9344 							T11_ = ((*(*it)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*it)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
9345 							LA16_: ;
9346 							if (!T11_) goto LA17_;
9347 							nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
9348 							T20_ = NIM_NIL;
9349 							T20_ = rawNewString(((*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal ? (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal->Sup.len : 0) + 2);
9350 appendString(T20_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal);
9351 appendString(T20_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60));
9352 							T19_[0] = T20_;
9353 							T19_[1] = copyString((*(*s).name).s);
9354 							T19_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info);
9355 							T21_ = NIM_NIL;
9356 							T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T19_, 3);
9357 							liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_66, NIM_FALSE);
9358 							goto BeforeRet_;
9359 						}
9360 						LA17_: ;
9361 						i_2 += ((NI) 1);
9362 					} LA8: ;
9363 				}
9364 			}
9365 		}
9366 	}
9367 	LA3_: ;
9368 	nimZeroMem((void*)T22_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
9369 	T22_[0] = ((NimStringDesc*) NIM_NIL);
9370 	T22_[1] = copyString((*(*s).name).s);
9371 	T22_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info);
9372 	T23_ = NIM_NIL;
9373 	T23_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T22_, 3);
9374 	liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_67, NIM_FALSE);
9375 	}BeforeRet_: ;
9376 }
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)9377 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
9378 	NU64 result;
9379 	NU64 aH;
9380 	NU64 aL;
9381 	NU64 bH;
9382 	NU64 bL;
9383 	NU64 rHH;
9384 	NU64 rHL;
9385 	NU64 rLH;
9386 	NU64 rLL;
9387 	NU64 t;
9388 	NU64 c;
9389 	NU64 lo;
9390 	NU64 T6_;
9391 	NU64 hi;
9392 {	result = (NU64)0;
9393 	aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
9394 	aL = (NU64)(a & 4294967295ULL);
9395 	bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
9396 	bL = (NU64)(b & 4294967295ULL);
9397 	rHH = (NU64)((NU64)(aH) * (NU64)(bH));
9398 	rHL = (NU64)((NU64)(aH) * (NU64)(bL));
9399 	rLH = (NU64)((NU64)(aL) * (NU64)(bH));
9400 	rLL = (NU64)((NU64)(aL) * (NU64)(bL));
9401 	t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
9402 	{
9403 		if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
9404 		c = 1ULL;
9405 	}
9406 	goto LA1_;
9407 	LA3_: ;
9408 	{
9409 		c = 0ULL;
9410 	}
9411 	LA1_: ;
9412 	lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
9413 	T6_ = (NU64)0;
9414 	{
9415 		if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
9416 		T6_ = 1ULL;
9417 	}
9418 	goto LA7_;
9419 	LA9_: ;
9420 	{
9421 		T6_ = 0ULL;
9422 	}
9423 	LA7_: ;
9424 	c += T6_;
9425 	hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
9426 	result = (NU64)(hi ^ lo);
9427 	goto BeforeRet_;
9428 	}BeforeRet_: ;
9429 	return result;
9430 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)9431 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
9432 	NU64 result;
9433 	result = (NU64)0;
9434 	result = hiXorLoFallback64__pureZhashes_35(a, b);
9435 	return result;
9436 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)9437 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
9438 	NI result;
9439 	NU64 T1_;
9440 	NU64 T2_;
9441 	result = (NI)0;
9442 	T1_ = (NU64)0;
9443 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
9444 	T2_ = (NU64)0;
9445 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
9446 	result = ((NI) (T2_));
9447 	return result;
9448 }
N_INLINE(NI,hash__pureZhashes_128)9449 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
9450 	NI result;
9451 	result = (NI)0;
9452 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
9453 	return result;
9454 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)9455 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
9456 	NIM_BOOL result;
9457 	result = (NIM_BOOL)0;
9458 	result = !((hcode == ((NI) 0)));
9459 	return result;
9460 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)9461 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
9462 	NI result;
9463 	result = (NI)0;
9464 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
9465 	return result;
9466 }
N_INLINE(NI,rawGet__sigmatch_5618)9467 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
9468 	NI result;
9469 	NI h;
9470 	NI T10_;
9471 {	result = (NI)0;
9472 	(*hc) = hash__pureZhashes_128(key);
9473 	{
9474 		if (!((*hc) == ((NI) 0))) goto LA3_;
9475 		(*hc) = ((NI) 314159265);
9476 	}
9477 	LA3_: ;
9478 	{
9479 		NI T7_;
9480 		T7_ = (t.data ? t.data->Sup.len : 0);
9481 		if (!(T7_ == ((NI) 0))) goto LA8_;
9482 		result = ((NI) -1);
9483 		goto BeforeRet_;
9484 	}
9485 	LA8_: ;
9486 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
9487 	h = (NI)((*hc) & T10_);
9488 	{
9489 		while (1) {
9490 			NIM_BOOL T13_;
9491 			NI T20_;
9492 			T13_ = (NIM_BOOL)0;
9493 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
9494 			if (!T13_) goto LA12;
9495 			{
9496 				NIM_BOOL T16_;
9497 				T16_ = (NIM_BOOL)0;
9498 				T16_ = (t.data->data[h].Field0 == (*hc));
9499 				if (!(T16_)) goto LA17_;
9500 				T16_ = (t.data->data[h].Field1 == key);
9501 				LA17_: ;
9502 				if (!T16_) goto LA18_;
9503 				result = h;
9504 				goto BeforeRet_;
9505 			}
9506 			LA18_: ;
9507 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
9508 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
9509 		} LA12: ;
9510 	}
9511 	result = (NI)(((NI) -1) - h);
9512 	}BeforeRet_: ;
9513 	return result;
9514 }
N_NIMCALL(NI,getOrDefault__sigmatch_5608)9515 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0) {
9516 	NI result;
9517 	NI hcX60gensym888_;
9518 	NI indexX60gensym888_;
9519 	result = (NI)0;
9520 	hcX60gensym888_ = (NI)0;
9521 	indexX60gensym888_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym888_));
9522 	{
9523 		if (!(((NI) 0) <= indexX60gensym888_)) goto LA3_;
9524 		result = t.data->data[indexX60gensym888_].Field2;
9525 	}
9526 	goto LA1_;
9527 	LA3_: ;
9528 	{
9529 		result = default_0;
9530 	}
9531 	LA1_: ;
9532 	return result;
9533 }
N_INLINE(NI,emarkamp___pureZhashes_3)9534 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
9535 	NI result;
9536 	NU h_2;
9537 	NU val_2;
9538 	NU res;
9539 	result = (NI)0;
9540 	h_2 = ((NU) (h));
9541 	val_2 = ((NU) (val));
9542 	res = (NU)((NU32)(h_2) + (NU32)(val_2));
9543 	res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 10)))));
9544 	res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 6))));
9545 	result = ((NI) (res));
9546 	return result;
9547 }
N_INLINE(NI,emarkdollar___pureZhashes_18)9548 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
9549 	NI result;
9550 	NU h_2;
9551 	NU res;
9552 	result = (NI)0;
9553 	h_2 = ((NU) (h));
9554 	res = (NU)((NU32)(h_2) + (NU32)((NU)((NU32)(h_2) << (NU32)(((NI) 3)))));
9555 	res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 11))));
9556 	res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 15)))));
9557 	result = ((NI) (res));
9558 	return result;
9559 }
N_NIMCALL(NI,hash__sigmatch_6038)9560 N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x) {
9561 	NI result;
9562 	NI T1_;
9563 	NI T2_;
9564 	result = (NI)0;
9565 	T1_ = (NI)0;
9566 	T1_ = hash__pureZhashes_128(x.Field0);
9567 	result = emarkamp___pureZhashes_3(result, T1_);
9568 	T2_ = (NI)0;
9569 	T2_ = hash__pureZhashes_128(x.Field1);
9570 	result = emarkamp___pureZhashes_3(result, T2_);
9571 	result = emarkdollar___pureZhashes_18(result);
9572 	return result;
9573 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)9574 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
9575 	NIM_BOOL result;
9576 	result = (NIM_BOOL)0;
9577 	result = !((hcode == ((NI) 0)));
9578 	return result;
9579 }
N_NIMCALL(NIM_BOOL,eqeq___sigmatch_6286)9580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y) {
9581 	NIM_BOOL result;
9582 {	result = (NIM_BOOL)0;
9583 	{
9584 		if (!!((x.Field0 == y.Field0))) goto LA3_;
9585 		result = NIM_FALSE;
9586 		goto BeforeRet_;
9587 	}
9588 	LA3_: ;
9589 	{
9590 		if (!!((x.Field1 == y.Field1))) goto LA7_;
9591 		result = NIM_FALSE;
9592 		goto BeforeRet_;
9593 	}
9594 	LA7_: ;
9595 	result = NIM_TRUE;
9596 	goto BeforeRet_;
9597 	}BeforeRet_: ;
9598 	return result;
9599 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)9600 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
9601 	NI result;
9602 	result = (NI)0;
9603 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
9604 	return result;
9605 }
N_INLINE(NI,rawGet__sigmatch_6031)9606 static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc) {
9607 	NI result;
9608 	NI h;
9609 	NI T10_;
9610 {	result = (NI)0;
9611 	(*hc) = hash__sigmatch_6038(key);
9612 	{
9613 		if (!((*hc) == ((NI) 0))) goto LA3_;
9614 		(*hc) = ((NI) 314159265);
9615 	}
9616 	LA3_: ;
9617 	{
9618 		NI T7_;
9619 		T7_ = (t.data ? t.data->Sup.len : 0);
9620 		if (!(T7_ == ((NI) 0))) goto LA8_;
9621 		result = ((NI) -1);
9622 		goto BeforeRet_;
9623 	}
9624 	LA8_: ;
9625 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
9626 	h = (NI)((*hc) & T10_);
9627 	{
9628 		while (1) {
9629 			NIM_BOOL T13_;
9630 			NI T20_;
9631 			T13_ = (NIM_BOOL)0;
9632 			T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
9633 			if (!T13_) goto LA12;
9634 			{
9635 				NIM_BOOL T16_;
9636 				T16_ = (NIM_BOOL)0;
9637 				T16_ = (t.data->data[h].Field0 == (*hc));
9638 				if (!(T16_)) goto LA17_;
9639 				T16_ = eqeq___sigmatch_6286(t.data->data[h].Field1, key);
9640 				LA17_: ;
9641 				if (!T16_) goto LA18_;
9642 				result = h;
9643 				goto BeforeRet_;
9644 			}
9645 			LA18_: ;
9646 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
9647 			h = nextTry__pureZcollectionsZsets_41(h, T20_);
9648 		} LA12: ;
9649 	}
9650 	result = (NI)(((NI) -1) - h);
9651 	}BeforeRet_: ;
9652 	return result;
9653 }
N_NIMCALL(NIM_BOOL,contains__sigmatch_6018)9654 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key) {
9655 	NIM_BOOL result;
9656 	NI hc;
9657 	NI index;
9658 	result = (NIM_BOOL)0;
9659 	hc = (NI)0;
9660 	index = rawGet__sigmatch_6031(s, key, (&hc));
9661 	result = (((NI) 0) <= index);
9662 	return result;
9663 }
N_NIMCALL(void,del__sigmatch_6318)9664 N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i) {
9665 	NI xl;
9666 	NI T1_;
9667 	T1_ = ((*x) ? (*x)->Sup.len : 0);
9668 	xl = (NI)(T1_ - ((NI) 1));
9669 	asgnRef((void**) (&(*x)->data[i].Field0), (*x)->data[xl].Field0);
9670 	(*x)->data[i].Field1 = (*x)->data[xl].Field1;
9671 	unsureAsgnRef((void**) (&(*x)), (tySequence__xSqu3cxq5WeFlOO3YgE6yA*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_), ((NI) (xl))));
9672 }
N_NIMCALL(void,markOwnerModuleAsUsed__sigmatch_89)9673 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9674 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
9675 	module = s;
9676 	{
9677 		while (1) {
9678 			NIM_BOOL T3_;
9679 			T3_ = (NIM_BOOL)0;
9680 			T3_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9681 			if (!(T3_)) goto LA4_;
9682 			T3_ = !(((*module).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
9683 			LA4_: ;
9684 			if (!T3_) goto LA2;
9685 			module = (*module).owner;
9686 		} LA2: ;
9687 	}
9688 	{
9689 		NIM_BOOL T7_;
9690 		NI i;
9691 		T7_ = (NIM_BOOL)0;
9692 		T7_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9693 		if (!(T7_)) goto LA8_;
9694 		T7_ = !((module == (*c).module));
9695 		LA8_: ;
9696 		if (!T7_) goto LA9_;
9697 		i = ((NI) 0);
9698 		{
9699 			while (1) {
9700 				NI T13_;
9701 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
9702 				T13_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1);
9703 				if (!(i <= T13_)) goto LA12;
9704 				candidate = (*c).unusedImports->data[i].Field0;
9705 				{
9706 					NIM_BOOL T16_;
9707 					NIM_BOOL T17_;
9708 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym887_;
9709 					NI T19_;
9710 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym892_;
9711 					tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T21_;
9712 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym893_;
9713 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym894_;
9714 					T16_ = (NIM_BOOL)0;
9715 					T17_ = (NIM_BOOL)0;
9716 					T17_ = (candidate == module);
9717 					if (T17_) goto LA18_;
9718 					xX60gensym887_ = candidate;
9719 					T19_ = (NI)0;
9720 					T19_ = getOrDefault__sigmatch_5608((*c).importModuleMap, (NI)((NI)((NU32)(((NI) ((*xX60gensym887_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym887_).Sup.itemId.item))), ((NI) (-2147483647 -1)));
9721 					xX60gensym892_ = module;
9722 					T17_ = (T19_ == (NI)((NI)((NU32)(((NI) ((*xX60gensym892_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym892_).Sup.itemId.item))));
9723 					LA18_: ;
9724 					T16_ = T17_;
9725 					if (T16_) goto LA20_;
9726 					xX60gensym893_ = candidate;
9727 					T21_.Field0 = (NI)((NI)((NU32)(((NI) ((*xX60gensym893_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym893_).Sup.itemId.item)));
9728 					xX60gensym894_ = s;
9729 					T21_.Field1 = (NI)((NI)((NU32)(((NI) ((*xX60gensym894_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym894_).Sup.itemId.item)));
9730 					T16_ = contains__sigmatch_6018((*c).exportIndirections, T21_);
9731 					LA20_: ;
9732 					if (!T16_) goto LA22_;
9733 					del__sigmatch_6318((&(*c).unusedImports), ((NI) (i)));
9734 				}
9735 				goto LA14_;
9736 				LA22_: ;
9737 				{
9738 					i += ((NI) 1);
9739 				}
9740 				LA14_: ;
9741 			} LA12: ;
9742 		}
9743 	}
9744 	LA9_: ;
9745 }
N_NIMCALL(void,markUsed__sigmatch_85)9746 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9747 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
9748 	conf = (*(*c).graph).config;
9749 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9750 	{
9751 		NIM_BOOL T3_;
9752 		T3_ = (NIM_BOOL)0;
9753 		T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
9754 		if (!(T3_)) goto LA4_;
9755 		T3_ = !(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9756 		LA4_: ;
9757 		if (!T3_) goto LA5_;
9758 		(*(*s).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9759 		{
9760 			if (!(((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA9_;
9761 			warnAboutDeprecated__sigmatch_5425(conf, info, s);
9762 		}
9763 		LA9_: ;
9764 	}
9765 	LA5_: ;
9766 	{
9767 		if (!!(((20971520 & (*s).flags) == 0))) goto LA13_;
9768 		{
9769 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA17_;
9770 			{
9771 				NIM_BOOL T21_;
9772 				T21_ = (NIM_BOOL)0;
9773 				T21_ = ((*c).lastTLineInfo.line == info.line);
9774 				if (!(T21_)) goto LA22_;
9775 				T21_ = ((*c).lastTLineInfo.col == info.col);
9776 				LA22_: ;
9777 				if (!!(T21_)) goto LA23_;
9778 				warnAboutDeprecated__sigmatch_5425(conf, info, s);
9779 				(*c).lastTLineInfo = info;
9780 			}
9781 			LA23_: ;
9782 		}
9783 		LA17_: ;
9784 		{
9785 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA27_;
9786 			userError__sigmatch_5458(conf, info, s);
9787 		}
9788 		LA27_: ;
9789 	}
9790 	LA13_: ;
9791 	{
9792 		if (!!(((49152 & (*conf).globalOptions) == 0))) goto LA31_;
9793 		styleCheckUse__linter_192(conf, info, s);
9794 	}
9795 	LA31_: ;
9796 	markOwnerModuleAsUsed__sigmatch_89(c, s);
9797 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)9798 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9799 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9800 	result = NIM_NIL;
9801 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
9802 	add__ast_4797(result, n);
9803 	return result;
9804 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,userConvMatch__sigmatch_3095)9805 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, userConvMatch__sigmatch_3095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
9806 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9807 {	result = NIM_NIL;
9808 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9809 	{
9810 		NI i;
9811 		NI colontmp_;
9812 		NI T2_;
9813 		NI i_2;
9814 		i = (NI)0;
9815 		colontmp_ = (NI)0;
9816 		T2_ = ((*c).converters ? (*c).converters->Sup.len : 0);
9817 		colontmp_ = T2_;
9818 		i_2 = ((NI) 0);
9819 		{
9820 			while (1) {
9821 				if (!(i_2 < colontmp_)) goto LA4;
9822 				i = i_2;
9823 				{
9824 					tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
9825 					tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
9826 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw srca;
9827 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
9828 					NIM_BOOL destIsGeneric;
9829 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw fdest;
9830 					src = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 1)];
9831 					dest = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 0)];
9832 					srca = typeRel__sigmatch_202(m, src, a, 0);
9833 					{
9834 						if (!!(((1288 &((NU16)1<<((NU)(srca)&15U)))!=0))) goto LA8_;
9835 						goto LA5;
9836 					}
9837 					LA8_: ;
9838 					constraint = (*(*(*(*(*(*c).converters->data[i]).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).constraint;
9839 					{
9840 						NIM_BOOL T12_;
9841 						NIM_BOOL T14_;
9842 						T12_ = (NIM_BOOL)0;
9843 						T12_ = !((constraint == 0));
9844 						if (!(T12_)) goto LA13_;
9845 						T14_ = (NIM_BOOL)0;
9846 						T14_ = matchNodeKinds__parampatterns_505(constraint, arg);
9847 						T12_ = !(T14_);
9848 						LA13_: ;
9849 						if (!T12_) goto LA15_;
9850 						goto LA5;
9851 					}
9852 					LA15_: ;
9853 					{
9854 						NIM_BOOL T19_;
9855 						NIM_BOOL T21_;
9856 						T19_ = (NIM_BOOL)0;
9857 						T19_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
9858 						if (!(T19_)) goto LA20_;
9859 						T21_ = (NIM_BOOL)0;
9860 						T21_ = isLValue__sigmatch_3090(c, arg);
9861 						T19_ = !(T21_);
9862 						LA20_: ;
9863 						if (!T19_) goto LA22_;
9864 						goto LA5;
9865 					}
9866 					LA22_: ;
9867 					destIsGeneric = containsGenericType__types_3351(dest);
9868 					{
9869 						if (!destIsGeneric) goto LA26_;
9870 						dest = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, dest);
9871 					}
9872 					LA26_: ;
9873 					fdest = typeRel__sigmatch_202(m, f, dest, 0);
9874 					{
9875 						NIM_BOOL T30_;
9876 						NIM_BOOL T32_;
9877 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
9878 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
9879 						T30_ = (NIM_BOOL)0;
9880 						T30_ = ((1280 &((NU16)1<<((NU)(fdest)&15U)))!=0);
9881 						if (!(T30_)) goto LA31_;
9882 						T32_ = (NIM_BOOL)0;
9883 						T32_ = ((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
9884 						if (!(T32_)) goto LA33_;
9885 						T32_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
9886 						LA33_: ;
9887 						T30_ = !(T32_);
9888 						LA31_: ;
9889 						if (!T30_) goto LA34_;
9890 						markUsed__sigmatch_85(c, (*arg).info, (*c).converters->data[i]);
9891 						s = newSymNode__ast_3716((*c).converters->data[i]);
9892 						asgnRef((void**) (&(*s).typ), (*(*c).converters->data[i]).typ);
9893 						(*s).info = (*arg).info;
9894 						result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32), (*arg).info, dest);
9895 						add__ast_4797(result, s);
9896 						param = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9897 						{
9898 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
9899 							if (!(srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA38_;
9900 							T40_ = NIM_NIL;
9901 							T40_ = copyTree__ast_4431(arg);
9902 							param = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), src, T40_, (&(*m)), c);
9903 						}
9904 						goto LA36_;
9905 						LA38_: ;
9906 						{
9907 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
9908 							if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA42_;
9909 							param = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*arg).info, (*(*s).typ).sons->data[((NI) 1)]);
9910 							T44_ = NIM_NIL;
9911 							T44_ = copyTree__ast_4431(arg);
9912 							add__ast_4797(param, T44_);
9913 						}
9914 						goto LA36_;
9915 						LA42_: ;
9916 						{
9917 							param = copyTree__ast_4431(arg);
9918 						}
9919 						LA36_: ;
9920 						add__ast_4797(result, param);
9921 						{
9922 							if (!((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA48_;
9923 							(*dest).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
9924 							result = newDeref__lowerings_11(result);
9925 						}
9926 						LA48_: ;
9927 						(*m).convMatches += ((NI) 1);
9928 						{
9929 							NIM_BOOL T54_;
9930 							if (!!((*m).genericConverter)) goto LA52_;
9931 							T54_ = (NIM_BOOL)0;
9932 							T54_ = (srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
9933 							if (T54_) goto LA55_;
9934 							T54_ = destIsGeneric;
9935 							LA55_: ;
9936 							(*m).genericConverter = T54_;
9937 						}
9938 						LA52_: ;
9939 						goto BeforeRet_;
9940 					}
9941 					LA34_: ;
9942 				} LA5: ;
9943 				i_2 += ((NI) 1);
9944 			} LA4: ;
9945 		}
9946 	}
9947 	}BeforeRet_: ;
9948 	return result;
9949 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,localConvMatch__sigmatch_3181)9950 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, localConvMatch__sigmatch_3181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
9951 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9952 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
9953 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
9954 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
9955 {	result = NIM_NIL;
9956 	{
9957 		if (!((*arg).typ == 0)) goto LA3_;
9958 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9959 		goto BeforeRet_;
9960 	}
9961 	LA3_: ;
9962 	{
9963 		NIM_BOOL T7_;
9964 		T7_ = (NIM_BOOL)0;
9965 		T7_ = (f == (*arg).typ);
9966 		if (!(T7_)) goto LA8_;
9967 		T7_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58));
9968 		LA8_: ;
9969 		if (!T7_) goto LA9_;
9970 		result = arg;
9971 		goto BeforeRet_;
9972 	}
9973 	LA9_: ;
9974 	call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info);
9975 	T11_ = NIM_NIL;
9976 	T11_ = copyTree__ast_4431((*f).n);
9977 	add__ast_4797(call, T11_);
9978 	T12_ = NIM_NIL;
9979 	T12_ = copyTree__ast_4431(arg);
9980 	add__ast_4797(call, T12_);
9981 	result = (*c).semTryExpr(c, call, 131072);
9982 	{
9983 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
9984 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA15_;
9985 		{
9986 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
9987 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9988 			goto BeforeRet_;
9989 		}
9990 		LA19_: ;
9991 		result = (*c).semExpr(c, call, 0);
9992 		r = typeRel__sigmatch_202(m, (*f).sons->data[((NI) 0)], (*result).typ, 0);
9993 		{
9994 			if (!(r < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA23_;
9995 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9996 			goto BeforeRet_;
9997 		}
9998 		LA23_: ;
9999 		{
10000 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA27_;
10001 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 32));
10002 		}
10003 		LA27_: ;
10004 		(*m).convMatches += ((NI) 1);
10005 		{
10006 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
10007 			if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA31_;
10008 			T33_ = NIM_NIL;
10009 			T33_ = base__types_63(f);
10010 			asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T33_));
10011 		}
10012 		LA31_: ;
10013 		(*m).baseTypeMatch = NIM_TRUE;
10014 	}
10015 	LA15_: ;
10016 	}BeforeRet_: ;
10017 	return result;
10018 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,paramTypesMatchAux__sigmatch_3268)10019 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatchAux__sigmatch_3268)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argSemantized, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig) {
10020 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10021 	tyObject_TType__facALICuu8zUj0hjvbTLFg* fMaybeStatic;
10022 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
10023 	tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2;
10024 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10025 	NI oldInheritancePenalty;
10026 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
10027 	NI bothMetaCounter;
10028 	NI lastBindingsLength;
10029 {	result = NIM_NIL;
10030 	fMaybeStatic = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_13);
10031 	arg = argSemantized;
10032 	a_2 = a;
10033 	c = (*m).c;
10034 	{
10035 		if (!(((*fMaybeStatic).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 24))&63U)))!=0)) goto LA3_;
10036 		{
10037 			NIM_BOOL T7_;
10038 			T7_ = (NIM_BOOL)0;
10039 			T7_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
10040 			if (!(T7_)) goto LA8_;
10041 			T7_ = (((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
10042 			LA8_: ;
10043 			if (!T7_) goto LA9_;
10044 			assignType__ast_3976(a_2, f);
10045 			result = argSemantized;
10046 			goto BeforeRet_;
10047 		}
10048 		LA9_: ;
10049 		{
10050 			if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA13_;
10051 			{
10052 				NIM_BOOL T17_;
10053 				NIM_BOOL T18_;
10054 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
10055 				T17_ = (NIM_BOOL)0;
10056 				T18_ = (NIM_BOOL)0;
10057 				T18_ = ((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
10058 				if (!(T18_)) goto LA19_;
10059 				T18_ = ((*a_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10060 				LA19_: ;
10061 				T17_ = T18_;
10062 				if (!(T17_)) goto LA20_;
10063 				T17_ = !((((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
10064 				LA20_: ;
10065 				if (!T17_) goto LA21_;
10066 				T23_ = NIM_NIL;
10067 				T23_ = makeTypeFromExpr__semdata_804(c, arg);
10068 				result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*argOrig).info, T23_);
10069 				goto BeforeRet_;
10070 			}
10071 			LA21_: ;
10072 		}
10073 		goto LA11_;
10074 		LA13_: ;
10075 		{
10076 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
10077 			evaluated = (*c).semTryConstExpr(c, arg);
10078 			{
10079 				tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
10080 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_;
10081 				typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), c);
10082 				if ((*typ).sons) { nimGCunrefRC1((*typ).sons); (*typ).sons = NIM_NIL; }
10083 				(*typ).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
10084 				asgnRef((void**) (&(*typ).sons->data[0]), (*evaluated).typ);
10085 				asgnRef((void**) (&(*typ).n), evaluated);
10086 				arg = copyTree__ast_4431(arg);
10087 				asgnRef((void**) (&(*arg).typ), typ);
10088 				a_2 = typ;
10089 			}
10090 			goto LA25_;
10091 			LA27_: ;
10092 			{
10093 				{
10094 					if (!((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA32_;
10095 					{
10096 						NIM_BOOL T36_;
10097 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
10098 						tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T39_;
10099 						T36_ = (NIM_BOOL)0;
10100 						T36_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
10101 						if (!(T36_)) goto LA37_;
10102 						T38_ = NIM_NIL;
10103 						T38_ = base__types_63(f);
10104 						T39_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
10105 						T39_ = typeRel__sigmatch_202(m, T38_, a_2, 0);
10106 						T36_ = !((T39_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
10107 						LA37_: ;
10108 						if (!T36_) goto LA40_;
10109 						result = makeStaticExpr__semdata_826((*m).c, arg);
10110 						(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
10111 						asgnRef((void**) (&(*(*result).typ).n), arg);
10112 						goto BeforeRet_;
10113 					}
10114 					LA40_: ;
10115 				}
10116 				LA32_: ;
10117 			}
10118 			LA25_: ;
10119 		}
10120 		LA11_: ;
10121 	}
10122 	LA3_: ;
10123 	oldInheritancePenalty = (*m).inheritancePenalty;
10124 	r = typeRel__sigmatch_202(m, f, a_2, 0);
10125 	{
10126 		NIM_BOOL T44_;
10127 		NIM_BOOL T45_;
10128 		T44_ = (NIM_BOOL)0;
10129 		T45_ = (NIM_BOOL)0;
10130 		T45_ = !((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
10131 		if (!(T45_)) goto LA46_;
10132 		T45_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
10133 		LA46_: ;
10134 		T44_ = T45_;
10135 		if (!(T44_)) goto LA47_;
10136 		T44_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0);
10137 		LA47_: ;
10138 		if (!T44_) goto LA48_;
10139 		incMatches__sigmatch_3238(m, r, ((NI) 1));
10140 		{
10141 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_;
10142 			result = arg;
10143 			goto BeforeRet_;
10144 		}
10145 		goto LA50_;
10146 		LA52_: ;
10147 		{
10148 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA55_;
10149 			result = arg;
10150 			goto BeforeRet_;
10151 		}
10152 		goto LA50_;
10153 		LA55_: ;
10154 		{
10155 			NIM_BOOL T58_;
10156 			T58_ = (NIM_BOOL)0;
10157 			T58_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
10158 			if (!(T58_)) goto LA59_;
10159 			T58_ = !(((*(*arg).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
10160 			LA59_: ;
10161 			if (!T58_) goto LA60_;
10162 			result = (*(*arg).typ).n;
10163 			goto BeforeRet_;
10164 		}
10165 		goto LA50_;
10166 		LA60_: ;
10167 		{
10168 			result = argSemantized;
10169 			goto BeforeRet_;
10170 		}
10171 		LA50_: ;
10172 	}
10173 	LA48_: ;
10174 	bothMetaCounter = ((NI) 0);
10175 	lastBindingsLength = ((NI) -1);
10176 	{
10177 		while (1) {
10178 			NIM_BOOL T65_;
10179 			NIM_BOOL T66_;
10180 			T65_ = (NIM_BOOL)0;
10181 			T66_ = (NIM_BOOL)0;
10182 			T66_ = (r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5));
10183 			if (!(T66_)) goto LA67_;
10184 			T66_ = !((lastBindingsLength == (*m).bindings.counter));
10185 			LA67_: ;
10186 			T65_ = T66_;
10187 			if (!(T65_)) goto LA68_;
10188 			T65_ = (bothMetaCounter < ((NI) 100));
10189 			LA68_: ;
10190 			if (!T65_) goto LA64;
10191 			lastBindingsLength = (*m).bindings.counter;
10192 			bothMetaCounter += ((NI) 1);
10193 			{
10194 				if (!((*arg).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*arg).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159))) goto LA71_;
10195 				result = (*c).semInferredLambda.ClE_0? (*c).semInferredLambda.ClP_0(c, (*m).bindings, arg, (*c).semInferredLambda.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_47)((*c).semInferredLambda.ClP_0))(c, (*m).bindings, arg);
10196 			}
10197 			goto LA69_;
10198 			LA71_: ;
10199 			{
10200 				if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA74_;
10201 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10202 				goto BeforeRet_;
10203 			}
10204 			goto LA69_;
10205 			LA74_: ;
10206 			{
10207 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred;
10208 				inferred = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info, (*c).semGenerateInstance.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_48)((*c).semGenerateInstance.ClP_0))(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info);
10209 				result = newSymNode__ast_3719(inferred, (*arg).info);
10210 			}
10211 			LA69_: ;
10212 			(*m).convMatches += ((NI) 1);
10213 			arg = result;
10214 			r = typeRel__sigmatch_202(m, f, (*arg).typ, 0);
10215 		} LA64: ;
10216 	}
10217 	switch (r) {
10218 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1):
10219 	{
10220 		(*m).convMatches += ((NI) 1);
10221 		result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10222 	}
10223 	break;
10224 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2):
10225 	{
10226 		(*m).intConvMatches += ((NI) 1);
10227 		result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10228 	}
10229 	break;
10230 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
10231 	{
10232 		(*m).subtypeMatches += ((NI) 1);
10233 		{
10234 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA82_;
10235 			result = arg;
10236 		}
10237 		goto LA80_;
10238 		LA82_: ;
10239 		{
10240 			result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10241 		}
10242 		LA80_: ;
10243 	}
10244 	break;
10245 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4):
10246 	{
10247 		(*m).subtypeMatches += ((NI) 1);
10248 		{
10249 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA88_;
10250 			result = arg;
10251 		}
10252 		goto LA86_;
10253 		LA88_: ;
10254 		{
10255 			result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10256 		}
10257 		LA86_: ;
10258 	}
10259 	break;
10260 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
10261 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7):
10262 	{
10263 		{
10264 			if (!((*arg).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*arg).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159))) goto LA94_;
10265 			result = (*c).semInferredLambda.ClE_0? (*c).semInferredLambda.ClP_0(c, (*m).bindings, arg, (*c).semInferredLambda.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_54)((*c).semInferredLambda.ClP_0))(c, (*m).bindings, arg);
10266 		}
10267 		goto LA92_;
10268 		LA94_: ;
10269 		{
10270 			if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA97_;
10271 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10272 			goto BeforeRet_;
10273 		}
10274 		goto LA92_;
10275 		LA97_: ;
10276 		{
10277 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred_2;
10278 			inferred_2 = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info, (*c).semGenerateInstance.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_55)((*c).semGenerateInstance.ClP_0))(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info);
10279 			result = newSymNode__ast_3719(inferred_2, (*arg).info);
10280 		}
10281 		LA92_: ;
10282 		{
10283 			if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7))) goto LA102_;
10284 			(*m).convMatches += ((NI) 1);
10285 			result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, result, (&(*m)), c);
10286 		}
10287 		goto LA100_;
10288 		LA102_: ;
10289 		{
10290 			(*m).genericMatches += ((NI) 1);
10291 		}
10292 		LA100_: ;
10293 	}
10294 	break;
10295 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
10296 	{
10297 		(*m).genericMatches += ((NI) 1);
10298 		{
10299 			if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_;
10300 			result = arg;
10301 		}
10302 		goto LA106_;
10303 		LA108_: ;
10304 		{
10305 			NIM_BOOL T111_;
10306 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T112_;
10307 			T111_ = (NIM_BOOL)0;
10308 			T112_ = NIM_NIL;
10309 			T112_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10310 			T111_ = ((*T112_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10311 			if (T111_) goto LA113_;
10312 			T111_ = (oldInheritancePenalty < (*m).inheritancePenalty);
10313 			LA113_: ;
10314 			if (!T111_) goto LA114_;
10315 			result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10316 		}
10317 		goto LA106_;
10318 		LA114_: ;
10319 		{
10320 			NIM_BOOL T117_;
10321 			T117_ = (NIM_BOOL)0;
10322 			T117_ = isEmptyContainer__types_3617((*arg).typ);
10323 			if (!T117_) goto LA118_;
10324 			result = copyTree__ast_4431(arg);
10325 			asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), f));
10326 		}
10327 		goto LA106_;
10328 		LA118_: ;
10329 		{
10330 			result = arg;
10331 		}
10332 		LA106_: ;
10333 	}
10334 	break;
10335 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
10336 	{
10337 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10338 	}
10339 	break;
10340 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
10341 	{
10342 		(*m).intConvMatches += ((NI) 256);
10343 		result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10344 	}
10345 	break;
10346 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
10347 	{
10348 		(*m).exactMatches += ((NI) 1);
10349 		result = arg;
10350 		{
10351 			NIM_BOOL T126_;
10352 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T127_;
10353 			NIM_BOOL T129_;
10354 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T131_;
10355 			T126_ = (NIM_BOOL)0;
10356 			T127_ = NIM_NIL;
10357 			T127_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10358 			T126_ = ((*T127_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10359 			if (T126_) goto LA128_;
10360 			T129_ = (NIM_BOOL)0;
10361 			T129_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10362 			if (!(T129_)) goto LA130_;
10363 			T131_ = NIM_NIL;
10364 			T131_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10365 			T129_ = ((*T131_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10366 			LA130_: ;
10367 			T126_ = T129_;
10368 			LA128_: ;
10369 			if (!T126_) goto LA132_;
10370 			result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10371 		}
10372 		LA132_: ;
10373 	}
10374 	break;
10375 	case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
10376 	{
10377 		{
10378 			if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA137_;
10379 			(*m).genericMatches += ((NI) 1);
10380 			(*m).fauxMatch = (*a_2).kind;
10381 			result = arg;
10382 			goto BeforeRet_;
10383 		}
10384 		goto LA135_;
10385 		LA137_: ;
10386 		{
10387 			NIM_BOOL T140_;
10388 			NIM_BOOL T141_;
10389 			NIM_BOOL T143_;
10390 			NIM_BOOL T144_;
10391 			NIM_BOOL T145_;
10392 			NI T147_;
10393 			NIM_BOOL T150_;
10394 			tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* p;
10395 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lifted;
10396 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T155_;
10397 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T156_;
10398 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T157_;
10399 			T140_ = (NIM_BOOL)0;
10400 			T141_ = (NIM_BOOL)0;
10401 			T141_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
10402 			if (!(T141_)) goto LA142_;
10403 			T143_ = (NIM_BOOL)0;
10404 			T144_ = (NIM_BOOL)0;
10405 			T145_ = (NIM_BOOL)0;
10406 			T145_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
10407 			if (!(T145_)) goto LA146_;
10408 			T147_ = (NI)0;
10409 			T147_ = len__ast_4002(f);
10410 			T145_ = (T147_ == ((NI) 1));
10411 			LA146_: ;
10412 			T144_ = T145_;
10413 			if (!(T144_)) goto LA148_;
10414 			T144_ = ((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
10415 			LA148_: ;
10416 			T143_ = T144_;
10417 			if (T143_) goto LA149_;
10418 			T150_ = (NIM_BOOL)0;
10419 			T150_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51));
10420 			if (!(T150_)) goto LA151_;
10421 			T150_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
10422 			LA151_: ;
10423 			T143_ = T150_;
10424 			LA149_: ;
10425 			T141_ = T143_;
10426 			LA142_: ;
10427 			T140_ = T141_;
10428 			if (!(T140_)) goto LA152_;
10429 			T140_ = ((*argOrig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
10430 			LA152_: ;
10431 			if (!T140_) goto LA153_;
10432 			p = (*c).graph;
10433 			nimZeroMem((void*)T155_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
10434 			T155_[0] = (*p).emptyNode;
10435 			T156_ = NIM_NIL;
10436 			T156_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), T155_, 1);
10437 			T157_ = NIM_NIL;
10438 			T157_ = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52), (*argOrig).info, argOrig, T156_, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode);
10439 			lifted = (*c).semExpr(c, T157_, 0);
10440 			{
10441 				if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA160_;
10442 				(*m).genericMatches += ((NI) 1);
10443 				put__sigmatch_120(m, f, (*lifted).typ);
10444 			}
10445 			LA160_: ;
10446 			(*m).convMatches += ((NI) 1);
10447 			result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, lifted, (&(*m)), c);
10448 			goto BeforeRet_;
10449 		}
10450 		goto LA135_;
10451 		LA153_: ;
10452 		LA135_: ;
10453 		result = userConvMatch__sigmatch_3095(c, m, f, a_2, arg);
10454 		{
10455 			NIM_BOOL T164_;
10456 			T164_ = (NIM_BOOL)0;
10457 			T164_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10458 			if (!(T164_)) goto LA165_;
10459 			T164_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
10460 			LA165_: ;
10461 			if (!T164_) goto LA166_;
10462 			{
10463 				if (!!(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA170_;
10464 				result = localConvMatch__sigmatch_3181(c, m, f, a_2, arg);
10465 			}
10466 			goto LA168_;
10467 			LA170_: ;
10468 			{
10469 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T173_;
10470 				T173_ = NIM_NIL;
10471 				T173_ = base__types_63(f);
10472 				r = typeRel__sigmatch_202(m, T173_, a_2, 0);
10473 				switch (r) {
10474 				case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
10475 				{
10476 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T175_;
10477 					(*m).convMatches += ((NI) 1);
10478 					result = copyTree__ast_4431(arg);
10479 					T175_ = NIM_NIL;
10480 					T175_ = base__types_63(f);
10481 					asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T175_));
10482 					(*m).baseTypeMatch = NIM_TRUE;
10483 				}
10484 				break;
10485 				case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
10486 				{
10487 					(*m).intConvMatches += ((NI) 256);
10488 					result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*f).sons->data[((NI) 0)], arg, (&(*m)), c);
10489 					(*m).baseTypeMatch = NIM_TRUE;
10490 				}
10491 				break;
10492 				case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
10493 				{
10494 					(*m).convMatches += ((NI) 1);
10495 					result = copyTree__ast_4431(arg);
10496 					(*m).baseTypeMatch = NIM_TRUE;
10497 				}
10498 				break;
10499 				case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
10500 				{
10501 					(*m).subtypeMatches += ((NI) 1);
10502 					{
10503 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T181_;
10504 						T181_ = NIM_NIL;
10505 						T181_ = base__types_63(f);
10506 						if (!((*T181_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA182_;
10507 						result = arg;
10508 					}
10509 					goto LA179_;
10510 					LA182_: ;
10511 					{
10512 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T185_;
10513 						T185_ = NIM_NIL;
10514 						T185_ = base__types_63(f);
10515 						result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), T185_, arg, (&(*m)), c);
10516 					}
10517 					LA179_: ;
10518 					(*m).baseTypeMatch = NIM_TRUE;
10519 				}
10520 				break;
10521 				default:
10522 				{
10523 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_;
10524 					T187_ = NIM_NIL;
10525 					T187_ = base__types_63(f);
10526 					result = userConvMatch__sigmatch_3095(c, m, T187_, a_2, arg);
10527 					{
10528 						if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA190_;
10529 						(*m).baseTypeMatch = NIM_TRUE;
10530 					}
10531 					LA190_: ;
10532 				}
10533 				break;
10534 				}
10535 			}
10536 			LA168_: ;
10537 		}
10538 		LA166_: ;
10539 	}
10540 	break;
10541 	}
10542 	}BeforeRet_: ;
10543 	return result;
10544 }
N_NIMCALL(void,copyCandidate__sigmatch_199)10545 N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10546 	unsureAsgnRef((void**) (&(*a).c), (*b).c);
10547 	(*a).exactMatches = (*b).exactMatches;
10548 	(*a).subtypeMatches = (*b).subtypeMatches;
10549 	(*a).convMatches = (*b).convMatches;
10550 	(*a).intConvMatches = (*b).intConvMatches;
10551 	(*a).genericMatches = (*b).genericMatches;
10552 	(*a).state = (*b).state;
10553 	unsureAsgnRef((void**) (&(*a).callee), (*b).callee);
10554 	unsureAsgnRef((void**) (&(*a).calleeSym), (*b).calleeSym);
10555 	unsureAsgnRef((void**) (&(*a).call), copyTree__ast_4431((*b).call));
10556 	(*a).baseTypeMatch = (*b).baseTypeMatch;
10557 	copyIdTable__ast_3610((&(*a).bindings), (*b).bindings);
10558 }
N_NIMCALL(NI,checkGeneric__sigmatch_207)10559 N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10560 	NI result;
10561 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10562 	tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
10563 	tyObject_TType__facALICuu8zUj0hjvbTLFg* bb;
10564 	NI winner;
10565 {	result = (NI)0;
10566 	c = (*a).c;
10567 	aa = (*a).callee;
10568 	bb = (*b).callee;
10569 	winner = ((NI) 0);
10570 	{
10571 		NI i;
10572 		NI colontmp_;
10573 		NI T2_;
10574 		NI T3_;
10575 		NI i_2;
10576 		i = (NI)0;
10577 		colontmp_ = (NI)0;
10578 		T2_ = (NI)0;
10579 		T2_ = len__ast_4002(aa);
10580 		T3_ = (NI)0;
10581 		T3_ = len__ast_4002(bb);
10582 		colontmp_ = ((T2_ <= T3_) ? T2_ : T3_);
10583 		i_2 = ((NI) 1);
10584 		{
10585 			while (1) {
10586 				tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA ma;
10587 				tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tra;
10588 				tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA mb;
10589 				tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw trb;
10590 				if (!(i_2 < colontmp_)) goto LA5;
10591 				i = i_2;
10592 				nimZeroMem((void*)(&ma), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10593 				newCandidate__sigmatch_195(c, (*bb).sons->data[i], (&ma));
10594 				tra = typeRel__sigmatch_202((&ma), (*bb).sons->data[i], (*aa).sons->data[i], 1);
10595 				nimZeroMem((void*)(&mb), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10596 				newCandidate__sigmatch_195(c, (*aa).sons->data[i], (&mb));
10597 				trb = typeRel__sigmatch_202((&mb), (*aa).sons->data[i], (*bb).sons->data[i], 1);
10598 				{
10599 					NIM_BOOL T8_;
10600 					T8_ = (NIM_BOOL)0;
10601 					T8_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
10602 					if (!(T8_)) goto LA9_;
10603 					T8_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
10604 					LA9_: ;
10605 					if (!T8_) goto LA10_;
10606 					{
10607 						if (!(winner == ((NI) -1))) goto LA14_;
10608 						result = ((NI) 0);
10609 						goto BeforeRet_;
10610 					}
10611 					LA14_: ;
10612 					winner = ((NI) 1);
10613 				}
10614 				LA10_: ;
10615 				{
10616 					NIM_BOOL T18_;
10617 					T18_ = (NIM_BOOL)0;
10618 					T18_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
10619 					if (!(T18_)) goto LA19_;
10620 					T18_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
10621 					LA19_: ;
10622 					if (!T18_) goto LA20_;
10623 					{
10624 						if (!(winner == ((NI) 1))) goto LA24_;
10625 						result = ((NI) 0);
10626 						goto BeforeRet_;
10627 					}
10628 					LA24_: ;
10629 					winner = ((NI) -1);
10630 				}
10631 				LA20_: ;
10632 				i_2 += ((NI) 1);
10633 			} LA5: ;
10634 		}
10635 	}
10636 	result = winner;
10637 	}BeforeRet_: ;
10638 	return result;
10639 }
N_NIMCALL(NI,sumGeneric__sigmatch_261)10640 N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
10641 	NI result;
10642 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
10643 	NI isvar;
10644 {	result = (NI)0;
10645 	t_2 = t;
10646 	isvar = ((NI) 1);
10647 	{
10648 		while (1) {
10649 			switch ((*t_2).kind) {
10650 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
10651 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
10652 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
10653 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
10654 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
10655 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
10656 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
10657 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
10658 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
10659 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
10660 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
10661 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
10662 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
10663 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
10664 			{
10665 				t_2 = lastSon__ast_3743(t_2);
10666 				result += ((NI) 1);
10667 			}
10668 			break;
10669 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
10670 			{
10671 				NI maxBranch;
10672 				maxBranch = ((NI) 0);
10673 				{
10674 					tyObject_TType__facALICuu8zUj0hjvbTLFg** branch;
10675 					NI i;
10676 					NI L;
10677 					NI T6_;
10678 					branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
10679 					i = ((NI) 0);
10680 					T6_ = ((*t_2).sons ? (*t_2).sons->Sup.len : 0);
10681 					L = T6_;
10682 					{
10683 						while (1) {
10684 							NI branchSum;
10685 							if (!(i < L)) goto LA8;
10686 							branch = &(*t_2).sons->data[i];
10687 							branchSum = sumGeneric__sigmatch_261((*branch));
10688 							{
10689 								if (!(maxBranch < branchSum)) goto LA11_;
10690 								maxBranch = branchSum;
10691 							}
10692 							LA11_: ;
10693 							i += ((NI) 1);
10694 						} LA8: ;
10695 					}
10696 				}
10697 				result += maxBranch;
10698 				goto LA1;
10699 			}
10700 			break;
10701 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
10702 			{
10703 				t_2 = (*t_2).sons->data[((NI) 0)];
10704 				result += ((NI) 1);
10705 				isvar += ((NI) 1);
10706 			}
10707 			break;
10708 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
10709 			{
10710 				t_2 = lastSon__ast_3743(t_2);
10711 				{
10712 					if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA17_;
10713 					goto LA1;
10714 				}
10715 				LA17_: ;
10716 				result += ((NI) 1);
10717 			}
10718 			break;
10719 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
10720 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
10721 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
10722 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
10723 			{
10724 				result += ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56));
10725 				{
10726 					NI i_2;
10727 					NI colontmp_;
10728 					NI i_3;
10729 					i_2 = (NI)0;
10730 					colontmp_ = (NI)0;
10731 					colontmp_ = len__ast_4002(t_2);
10732 					i_3 = ((NI) 0);
10733 					{
10734 						while (1) {
10735 							if (!(i_3 < colontmp_)) goto LA22;
10736 							i_2 = i_3;
10737 							{
10738 								NI T27_;
10739 								if (!!(((*t_2).sons->data[i_2] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA25_;
10740 								T27_ = (NI)0;
10741 								T27_ = sumGeneric__sigmatch_261((*t_2).sons->data[i_2]);
10742 								result += T27_;
10743 							}
10744 							LA25_: ;
10745 							i_3 += ((NI) 1);
10746 						} LA22: ;
10747 					}
10748 				}
10749 				goto LA1;
10750 			}
10751 			break;
10752 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
10753 			{
10754 				NI T29_;
10755 				T29_ = (NI)0;
10756 				T29_ = sumGeneric__sigmatch_261((*t_2).sons->data[((NI) 0)]);
10757 				result = (NI)(T29_ + ((NI) 1));
10758 				goto BeforeRet_;
10759 			}
10760 			break;
10761 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
10762 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
10763 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
10764 			{
10765 				goto LA1;
10766 			}
10767 			break;
10768 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
10769 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
10770 			{
10771 				t_2 = lastSon__ast_3743(t_2);
10772 			}
10773 			break;
10774 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
10775 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
10776 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
10777 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
10778 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
10779 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
10780 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
10781 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
10782 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
10783 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
10784 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
10785 			{
10786 				result = isvar;
10787 				goto BeforeRet_;
10788 			}
10789 			break;
10790 			default:
10791 			{
10792 				result = ((NI) 0);
10793 				goto BeforeRet_;
10794 			}
10795 			break;
10796 			}
10797 		}
10798 	} LA1: ;
10799 	}BeforeRet_: ;
10800 	return result;
10801 }
N_NIMCALL(NI,complexDisambiguation__sigmatch_336)10802 N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
10803 	NI result;
10804 	NI winner;
10805 {	result = (NI)0;
10806 	winner = ((NI) 0);
10807 	{
10808 		NI i;
10809 		NI colontmp_;
10810 		NI T2_;
10811 		NI T3_;
10812 		NI i_2;
10813 		i = (NI)0;
10814 		colontmp_ = (NI)0;
10815 		T2_ = (NI)0;
10816 		T2_ = len__ast_4002(a);
10817 		T3_ = (NI)0;
10818 		T3_ = len__ast_4002(b);
10819 		colontmp_ = ((T2_ <= T3_) ? T2_ : T3_);
10820 		i_2 = ((NI) 1);
10821 		{
10822 			while (1) {
10823 				NI x;
10824 				NI y;
10825 				if (!(i_2 < colontmp_)) goto LA5;
10826 				i = i_2;
10827 				x = sumGeneric__sigmatch_261((*a).sons->data[i]);
10828 				y = sumGeneric__sigmatch_261((*b).sons->data[i]);
10829 				{
10830 					if (!!((x == y))) goto LA8_;
10831 					{
10832 						if (!(winner == ((NI) 0))) goto LA12_;
10833 						{
10834 							if (!(y < x)) goto LA16_;
10835 							winner = ((NI) 1);
10836 						}
10837 						goto LA14_;
10838 						LA16_: ;
10839 						{
10840 							winner = ((NI) -1);
10841 						}
10842 						LA14_: ;
10843 					}
10844 					goto LA10_;
10845 					LA12_: ;
10846 					{
10847 						if (!(y < x)) goto LA20_;
10848 						{
10849 							if (!!((winner == ((NI) 1)))) goto LA24_;
10850 							result = ((NI) 0);
10851 							goto BeforeRet_;
10852 						}
10853 						LA24_: ;
10854 					}
10855 					goto LA10_;
10856 					LA20_: ;
10857 					{
10858 						{
10859 							if (!!((winner == ((NI) -1)))) goto LA29_;
10860 							result = ((NI) 0);
10861 							goto BeforeRet_;
10862 						}
10863 						LA29_: ;
10864 					}
10865 					LA10_: ;
10866 				}
10867 				LA8_: ;
10868 				i_2 += ((NI) 1);
10869 			} LA5: ;
10870 		}
10871 	}
10872 	result = winner;
10873 	}BeforeRet_: ;
10874 	return result;
10875 }
N_NIMCALL(NI,cmpCandidates__sigmatch_358)10876 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10877 	NI result;
10878 {	result = (NI)0;
10879 	result = (NI)((*a).exactMatches - (*b).exactMatches);
10880 	{
10881 		if (!!((result == ((NI) 0)))) goto LA3_;
10882 		goto BeforeRet_;
10883 	}
10884 	LA3_: ;
10885 	result = (NI)((*a).genericMatches - (*b).genericMatches);
10886 	{
10887 		if (!!((result == ((NI) 0)))) goto LA7_;
10888 		goto BeforeRet_;
10889 	}
10890 	LA7_: ;
10891 	result = (NI)((*a).subtypeMatches - (*b).subtypeMatches);
10892 	{
10893 		if (!!((result == ((NI) 0)))) goto LA11_;
10894 		goto BeforeRet_;
10895 	}
10896 	LA11_: ;
10897 	result = (NI)((*a).intConvMatches - (*b).intConvMatches);
10898 	{
10899 		if (!!((result == ((NI) 0)))) goto LA15_;
10900 		goto BeforeRet_;
10901 	}
10902 	LA15_: ;
10903 	result = (NI)((*a).convMatches - (*b).convMatches);
10904 	{
10905 		if (!!((result == ((NI) 0)))) goto LA19_;
10906 		goto BeforeRet_;
10907 	}
10908 	LA19_: ;
10909 	result = (NI)((*b).inheritancePenalty - (*a).inheritancePenalty);
10910 	{
10911 		if (!!((result == ((NI) 0)))) goto LA23_;
10912 		goto BeforeRet_;
10913 	}
10914 	LA23_: ;
10915 	result = checkGeneric__sigmatch_207(a, b);
10916 	{
10917 		if (!!((result == ((NI) 0)))) goto LA27_;
10918 		goto BeforeRet_;
10919 	}
10920 	LA27_: ;
10921 	result = complexDisambiguation__sigmatch_336((*a).callee, (*b).callee);
10922 	{
10923 		if (!!((result == ((NI) 0)))) goto LA31_;
10924 		goto BeforeRet_;
10925 	}
10926 	LA31_: ;
10927 	result = (NI)((*a).calleeScope - (*b).calleeScope);
10928 	}BeforeRet_: ;
10929 	return result;
10930 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,paramTypesMatch__sigmatch_3583)10931 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatch__sigmatch_3583)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig) {
10932 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10933 	result = NIM_NIL;
10934 	{
10935 		NIM_BOOL T3_;
10936 		T3_ = (NIM_BOOL)0;
10937 		T3_ = (arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10938 		if (T3_) goto LA4_;
10939 		T3_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57)));
10940 		LA4_: ;
10941 		if (!T3_) goto LA5_;
10942 		result = paramTypesMatchAux__sigmatch_3268(m, f, a, arg, argOrig);
10943 	}
10944 	goto LA1_;
10945 	LA5_: ;
10946 	{
10947 		tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10948 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA x;
10949 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T8_;
10950 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA y;
10951 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T9_;
10952 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z;
10953 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T10_;
10954 		NI best;
10955 		c = (*m).c;
10956 		nimZeroMem((void*)(&x), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10957 		nimZeroMem((void*)(&T8_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10958 		newCandidate__sigmatch_195(c, (*m).callee, (&T8_));
10959 		nimCopyMem((void*)(&x), (NIM_CONST void*)(&T8_), sizeof(x));
10960 		nimZeroMem((void*)(&y), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10961 		nimZeroMem((void*)(&T9_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10962 		newCandidate__sigmatch_195(c, (*m).callee, (&T9_));
10963 		nimCopyMem((void*)(&y), (NIM_CONST void*)(&T9_), sizeof(y));
10964 		nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10965 		nimZeroMem((void*)(&T10_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10966 		newCandidate__sigmatch_195(c, (*m).callee, (&T10_));
10967 		nimCopyMem((void*)(&z), (NIM_CONST void*)(&T10_), sizeof(z));
10968 		x.calleeSym = (*m).calleeSym;
10969 		y.calleeSym = (*m).calleeSym;
10970 		z.calleeSym = (*m).calleeSym;
10971 		best = ((NI) -1);
10972 		{
10973 			NI i;
10974 			NI colontmp_;
10975 			NI i_2;
10976 			i = (NI)0;
10977 			colontmp_ = (NI)0;
10978 			colontmp_ = len__ast_3198(arg);
10979 			i_2 = ((NI) 0);
10980 			{
10981 				while (1) {
10982 					if (!(i_2 < colontmp_)) goto LA13;
10983 					i = i_2;
10984 					{
10985 						{
10986 							tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
10987 							if (!((1568768 &((NU32)1<<((NU)((*(*(*arg)._kind_6.sons->data[i])._kind_4.sym).kind)&31U)))!=0)) goto LA17_;
10988 							copyCandidate__sigmatch_199((&z), (&(*m)));
10989 							z.callee = (*(*arg)._kind_6.sons->data[i]).typ;
10990 							{
10991 								if (!(((*z.callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA21_;
10992 								goto LA14;
10993 							}
10994 							LA21_: ;
10995 							z.calleeSym = (*(*arg)._kind_6.sons->data[i])._kind_4.sym;
10996 							r = typeRel__sigmatch_202((&z), f, (*(*arg)._kind_6.sons->data[i]).typ, 0);
10997 							incMatches__sigmatch_3238((&z), r, ((NI) 2));
10998 							{
10999 								if (!!((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA25_;
11000 								z.state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
11001 								switch (x.state) {
11002 								case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0):
11003 								case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2):
11004 								{
11005 									genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
11006 									best = i;
11007 								}
11008 								break;
11009 								case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1):
11010 								{
11011 									NI cmp;
11012 									cmp = cmpCandidates__sigmatch_358((&x), (&z));
11013 									{
11014 										if (!(cmp < ((NI) 0))) goto LA31_;
11015 										best = i;
11016 										genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
11017 									}
11018 									goto LA29_;
11019 									LA31_: ;
11020 									{
11021 										if (!(cmp == ((NI) 0))) goto LA34_;
11022 										genericAssign((void*)(&y), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
11023 									}
11024 									goto LA29_;
11025 									LA34_: ;
11026 									LA29_: ;
11027 								}
11028 								break;
11029 								}
11030 							}
11031 							LA25_: ;
11032 						}
11033 						LA17_: ;
11034 					} LA14: ;
11035 					i_2 += ((NI) 1);
11036 				} LA13: ;
11037 			}
11038 		}
11039 		{
11040 			if (!(x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0))) goto LA38_;
11041 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11042 		}
11043 		goto LA36_;
11044 		LA38_: ;
11045 		{
11046 			NIM_BOOL T41_;
11047 			NI T43_;
11048 			T41_ = (NIM_BOOL)0;
11049 			T41_ = (y.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
11050 			if (!(T41_)) goto LA42_;
11051 			T43_ = (NI)0;
11052 			T43_ = cmpCandidates__sigmatch_358((&x), (&y));
11053 			T41_ = (T43_ == ((NI) 0));
11054 			LA42_: ;
11055 			if (!T41_) goto LA44_;
11056 			{
11057 				if (!!((x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA48_;
11058 				internalErrorImpl__msgs_1431((*(*(*m).c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_76), TM__EV5hHJmjIY9cla9b9be7fSVJQ_77);
11059 			}
11060 			LA48_: ;
11061 			{
11062 				if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_;
11063 				result = arg;
11064 			}
11065 			goto LA50_;
11066 			LA52_: ;
11067 			{
11068 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11069 			}
11070 			LA50_: ;
11071 		}
11072 		goto LA36_;
11073 		LA44_: ;
11074 		{
11075 			markUsed__sigmatch_85((*m).c, (*arg).info, (*(*arg)._kind_6.sons->data[best])._kind_4.sym);
11076 			result = paramTypesMatchAux__sigmatch_3268(m, f, (*(*arg)._kind_6.sons->data[best]).typ, (*arg)._kind_6.sons->data[best], argOrig);
11077 		}
11078 		LA36_: ;
11079 	}
11080 	LA1_: ;
11081 	return result;
11082 }
N_INLINE(NI,find__sigmatch_4304)11083 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item) {
11084 	NI result;
11085 {	result = (NI)0;
11086 	result = ((NI) 0);
11087 	{
11088 		NI* i;
11089 		NI i_2;
11090 		i = (NI*)0;
11091 		i_2 = ((NI) 0);
11092 		{
11093 			while (1) {
11094 				if (!(i_2 < aLen_0)) goto LA3;
11095 				i = (&a[i_2]);
11096 				{
11097 					if (!((*i) == item)) goto LA6_;
11098 					goto BeforeRet_;
11099 				}
11100 				LA6_: ;
11101 				result += ((NI) 1);
11102 				i_2 += ((NI) 1);
11103 			} LA3: ;
11104 		}
11105 	}
11106 	result = ((NI) -1);
11107 	}BeforeRet_: ;
11108 	return result;
11109 }
N_INLINE(NIM_BOOL,contains__sigmatch_4299)11110 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item) {
11111 	NIM_BOOL result;
11112 	NI T1_;
11113 {	result = (NIM_BOOL)0;
11114 	T1_ = (NI)0;
11115 	T1_ = find__sigmatch_4304(a, aLen_0, item);
11116 	result = (((NI) 0) <= T1_);
11117 	goto BeforeRet_;
11118 	}BeforeRet_: ;
11119 	return result;
11120 }
N_NIMCALL(NIM_BOOL,argtypeMatches__sigmatch_4281)11121 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argtypeMatches__sigmatch_4281)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NIM_BOOL fromHlo) {
11122 	NIM_BOOL result;
11123 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
11124 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
11125 	result = (NIM_BOOL)0;
11126 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
11127 	newCandidate__sigmatch_195(c, f, (&m));
11128 	res = paramTypesMatch__sigmatch_3583((&m), f, a, (*(*c).graph).emptyNode, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
11129 	{
11130 		if (!!(fromHlo)) goto LA3_;
11131 		result = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11132 	}
11133 	goto LA1_;
11134 	LA3_: ;
11135 	{
11136 		NIM_BOOL T6_;
11137 		NIM_BOOL T7_;
11138 		T6_ = (NIM_BOOL)0;
11139 		T7_ = (NIM_BOOL)0;
11140 		T7_ = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11141 		if (!(T7_)) goto LA8_;
11142 		T7_ = (m.convMatches == ((NI) 0));
11143 		LA8_: ;
11144 		T6_ = T7_;
11145 		if (!(T6_)) goto LA9_;
11146 		T6_ = contains__sigmatch_4299(TM__EV5hHJmjIY9cla9b9be7fSVJQ_78, 2, m.intConvMatches);
11147 		LA9_: ;
11148 		result = T6_;
11149 	}
11150 	LA1_: ;
11151 	return result;
11152 }
N_INLINE(NIM_BOOL,typeFits__sigmatch_5153)11153 static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg) {
11154 	NIM_BOOL result;
11155 {	result = (NIM_BOOL)0;
11156 	{
11157 		NIM_BOOL T3_;
11158 		NIM_BOOL T4_;
11159 		NI T6_;
11160 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
11161 		T3_ = (NIM_BOOL)0;
11162 		T4_ = (NIM_BOOL)0;
11163 		T4_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
11164 		if (!(T4_)) goto LA5_;
11165 		T6_ = (NI)0;
11166 		T6_ = len__ast_4002((*s).typ);
11167 		T4_ = (((NI) 1) < T6_);
11168 		LA5_: ;
11169 		T3_ = T4_;
11170 		if (!(T3_)) goto LA7_;
11171 		T3_ = !(((*(*s).typ).sons->data[((NI) 1)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
11172 		LA7_: ;
11173 		if (!T3_) goto LA8_;
11174 		m = getModule__astalgo_216(s);
11175 		{
11176 			NIM_BOOL T12_;
11177 			tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1;
11178 			T12_ = (NIM_BOOL)0;
11179 			T12_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
11180 			if (!(T12_)) goto LA13_;
11181 			T12_ = (((*m).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
11182 			LA13_: ;
11183 			if (!T12_) goto LA14_;
11184 			{
11185 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA18_;
11186 				goto BeforeRet_;
11187 			}
11188 			LA18_: ;
11189 			exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10);
11190 			{
11191 				if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA22_;
11192 				exp_1 = elemType__types_263(exp_1);
11193 			}
11194 			LA22_: ;
11195 			{
11196 				if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA26_;
11197 				goto BeforeRet_;
11198 			}
11199 			LA26_: ;
11200 		}
11201 		LA14_: ;
11202 		result = argtypeMatches__sigmatch_4281(c, (*(*s).typ).sons->data[((NI) 1)], firstArg, NIM_FALSE);
11203 	}
11204 	LA8_: ;
11205 	}BeforeRet_: ;
11206 	return result;
11207 }
N_NIMCALL(void,suggestOperations__sigmatch_5194)11208 N_LIB_PRIVATE N_NIMCALL(void, suggestOperations__sigmatch_5194)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11209 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
11210 	info = (*n).info;
11211 	{
11212 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
11213 		NI scopeN;
11214 		NIM_BOOL isLocal;
11215 		NIM_BOOL isLocal_2;
11216 		NI scopeN_2;
11217 		item = NIM_NIL;
11218 		scopeN = (NI)0;
11219 		isLocal = (NIM_BOOL)0;
11220 		isLocal_2 = NIM_TRUE;
11221 		scopeN_2 = ((NI) 0);
11222 		{
11223 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
11224 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
11225 			scope = NIM_NIL;
11226 			current = (*c).currentScope;
11227 			{
11228 				while (1) {
11229 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
11230 					scope = current;
11231 					{
11232 						if (!(scope == (*c).topLevelScope)) goto LA7_;
11233 						isLocal_2 = NIM_FALSE;
11234 					}
11235 					LA7_: ;
11236 					scopeN_2 -= ((NI) 1);
11237 					{
11238 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
11239 						tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
11240 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11241 						item_2 = NIM_NIL;
11242 						nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11243 						s = initTabIter__astalgo_3777((&it), (*scope).symbols);
11244 						{
11245 							while (1) {
11246 								tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
11247 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
11248 								tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11249 								if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
11250 								item_2 = s;
11251 								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11252 								colontmp_.Field0 = item_2;
11253 								colontmp_.Field1 = scopeN_2;
11254 								colontmp_.Field2 = isLocal_2;
11255 								item = colontmp_.Field0;
11256 								scopeN = colontmp_.Field1;
11257 								isLocal = colontmp_.Field2;
11258 								it_2 = item;
11259 								pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11260 								{
11261 									NIM_BOOL T14_;
11262 									NI T18_;
11263 									tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T19_;
11264 									NI T20_;
11265 									T14_ = (NIM_BOOL)0;
11266 									T14_ = filterSymNoOpr__sigmatch_4935(it_2, f, (&pm));
11267 									if (!(T14_)) goto LA15_;
11268 									T14_ = typeFits__sigmatch_5153(c, it_2, typ);
11269 									LA15_: ;
11270 									if (!T14_) goto LA16_;
11271 									T18_ = (NI)0;
11272 									T18_ = getQuality__sigmatch_5002(it_2);
11273 									T19_ = NIM_NIL;
11274 									T19_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T18_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11275 									unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11276 									T20_ = (*outputs)->Sup.len++;
11277 									asgnRef((void**) (&(*outputs)->data[T20_]), T19_);
11278 								}
11279 								LA16_: ;
11280 								s = nextIter__astalgo_3762((&it), (*scope).symbols);
11281 							} LA11: ;
11282 						}
11283 					}
11284 					current = (*current).parent;
11285 				} LA4: ;
11286 			}
11287 		}
11288 		scopeN_2 -= ((NI) 1);
11289 		isLocal_2 = NIM_FALSE;
11290 		{
11291 			tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
11292 			NI i;
11293 			NI L;
11294 			NI T22_;
11295 			im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
11296 			i = ((NI) 0);
11297 			T22_ = ((*c).imports ? (*c).imports->Sup.len : 0);
11298 			L = T22_;
11299 			{
11300 				while (1) {
11301 					if (!(i < L)) goto LA24;
11302 					im = (&(*c).imports->data[i]);
11303 					{
11304 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
11305 						NIM_BOOL importHidden;
11306 						s_2 = NIM_NIL;
11307 						importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11308 						{
11309 							NIM_BOOL T28_;
11310 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11311 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11312 							T28_ = (NIM_BOOL)0;
11313 							T28_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
11314 							if (!T28_) goto LA29_;
11315 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11316 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
11317 							{
11318 								while (1) {
11319 									tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
11320 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11321 									tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
11322 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA32;
11323 									s_2 = r;
11324 									nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11325 									colontmp__2.Field0 = s_2;
11326 									colontmp__2.Field1 = scopeN_2;
11327 									colontmp__2.Field2 = isLocal_2;
11328 									item = colontmp__2.Field0;
11329 									scopeN = colontmp__2.Field1;
11330 									isLocal = colontmp__2.Field2;
11331 									it_3 = item;
11332 									pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11333 									{
11334 										NIM_BOOL T35_;
11335 										NI T39_;
11336 										tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_;
11337 										NI T41_;
11338 										T35_ = (NIM_BOOL)0;
11339 										T35_ = filterSymNoOpr__sigmatch_4935(it_3, f, (&pm_2));
11340 										if (!(T35_)) goto LA36_;
11341 										T35_ = typeFits__sigmatch_5153(c, it_3, typ);
11342 										LA36_: ;
11343 										if (!T35_) goto LA37_;
11344 										T39_ = (NI)0;
11345 										T39_ = getQuality__sigmatch_5002(it_3);
11346 										T40_ = NIM_NIL;
11347 										T40_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11348 										unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11349 										T41_ = (*outputs)->Sup.len++;
11350 										asgnRef((void**) (&(*outputs)->data[T41_]), T40_);
11351 									}
11352 									LA37_: ;
11353 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11354 								} LA32: ;
11355 							}
11356 						}
11357 						goto LA26_;
11358 						LA29_: ;
11359 						{
11360 							{
11361 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
11362 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
11363 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11364 								NI i_2;
11365 								NI L_2;
11366 								NI T48_;
11367 								s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11368 								colontmp__3 = NIM_NIL;
11369 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
11370 								{
11371 									if (!importHidden) goto LA46_;
11372 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
11373 								}
11374 								LA46_: ;
11375 								colontmp__3 = (*retX60gensym17_).data;
11376 								i_2 = ((NI) 0);
11377 								T48_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
11378 								L_2 = T48_;
11379 								{
11380 									while (1) {
11381 										if (!(i_2 < L_2)) goto LA50;
11382 										s_3 = &colontmp__3->data[i_2];
11383 										{
11384 											tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
11385 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
11386 											tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
11387 											if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53_;
11388 											s_2 = (*s_3);
11389 											nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11390 											colontmp__4.Field0 = s_2;
11391 											colontmp__4.Field1 = scopeN_2;
11392 											colontmp__4.Field2 = isLocal_2;
11393 											item = colontmp__4.Field0;
11394 											scopeN = colontmp__4.Field1;
11395 											isLocal = colontmp__4.Field2;
11396 											it_4 = item;
11397 											pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11398 											{
11399 												NIM_BOOL T57_;
11400 												NI T61_;
11401 												tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_;
11402 												NI T63_;
11403 												T57_ = (NIM_BOOL)0;
11404 												T57_ = filterSymNoOpr__sigmatch_4935(it_4, f, (&pm_3));
11405 												if (!(T57_)) goto LA58_;
11406 												T57_ = typeFits__sigmatch_5153(c, it_4, typ);
11407 												LA58_: ;
11408 												if (!T57_) goto LA59_;
11409 												T61_ = (NI)0;
11410 												T61_ = getQuality__sigmatch_5002(it_4);
11411 												T62_ = NIM_NIL;
11412 												T62_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T61_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11413 												unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11414 												T63_ = (*outputs)->Sup.len++;
11415 												asgnRef((void**) (&(*outputs)->data[T63_]), T62_);
11416 											}
11417 											LA59_: ;
11418 										}
11419 										LA53_: ;
11420 										i_2 += ((NI) 1);
11421 									} LA50: ;
11422 								}
11423 							}
11424 						}
11425 						LA26_: ;
11426 					}
11427 					i += ((NI) 1);
11428 				} LA24: ;
11429 			}
11430 		}
11431 	}
11432 }
N_NIMCALL(void,suggestFieldAccess__sigmatch_5230)11433 N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11434 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
11435 	tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11436 	typ = (*n).typ;
11437 	pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11438 	{
11439 		if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
11440 		{
11441 			NIM_BOOL T7_;
11442 			T7_ = (NIM_BOOL)0;
11443 			T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
11444 			if (!(T7_)) goto LA8_;
11445 			T7_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
11446 			LA8_: ;
11447 			if (!T7_) goto LA9_;
11448 			{
11449 				if (!((*n)._kind_4.sym == (*c).module)) goto LA13_;
11450 				{
11451 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
11452 					tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
11453 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11454 					it = NIM_NIL;
11455 					nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11456 					s = initTabIter__astalgo_3777((&it_2), (*(*c).topLevelScope).symbols);
11457 					{
11458 						while (1) {
11459 							if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA17;
11460 							it = s;
11461 							{
11462 								NIM_BOOL T20_;
11463 								NI T23_;
11464 								tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T24_;
11465 								NI T25_;
11466 								T20_ = (NIM_BOOL)0;
11467 								T20_ = filterSym__sigmatch_4909(it, field, (&pm));
11468 								if (!T20_) goto LA21_;
11469 								T23_ = (NI)0;
11470 								T23_ = getQuality__sigmatch_5002(it);
11471 								T24_ = NIM_NIL;
11472 								T24_ = symToSuggest__sigmatch_4528((*c).graph, it, NIM_FALSE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T23_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) -99), NIM_FALSE);
11473 								unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11474 								T25_ = (*outputs)->Sup.len++;
11475 								asgnRef((void**) (&(*outputs)->data[T25_]), T24_);
11476 							}
11477 							LA21_: ;
11478 							s = nextIter__astalgo_3762((&it_2), (*(*c).topLevelScope).symbols);
11479 						} LA17: ;
11480 					}
11481 				}
11482 			}
11483 			goto LA11_;
11484 			LA13_: ;
11485 			{
11486 				{
11487 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11488 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* colontmp_;
11489 					NIM_BOOL importHidden;
11490 					it_3 = NIM_NIL;
11491 					colontmp_ = NIM_NIL;
11492 					colontmp_ = (*n)._kind_4.sym;
11493 					importHidden = (((*colontmp_).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11494 					{
11495 						NIM_BOOL T30_;
11496 						tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11497 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11498 						T30_ = (NIM_BOOL)0;
11499 						T30_ = isCachedModule__modulegraphs_2709((*c).graph, colontmp_);
11500 						if (!T30_) goto LA31_;
11501 						nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11502 						r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*colontmp_).position)), importHidden);
11503 						{
11504 							while (1) {
11505 								if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
11506 								it_3 = r;
11507 								{
11508 									NIM_BOOL T37_;
11509 									NI T40_;
11510 									tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T41_;
11511 									NI T42_;
11512 									T37_ = (NIM_BOOL)0;
11513 									T37_ = filterSym__sigmatch_4909(it_3, field, (&pm));
11514 									if (!T37_) goto LA38_;
11515 									T40_ = (NI)0;
11516 									T40_ = getQuality__sigmatch_5002(it_3);
11517 									T41_ = NIM_NIL;
11518 									T41_ = symToSuggest__sigmatch_4528((*c).graph, it_3, NIM_FALSE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T40_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) -99), NIM_FALSE);
11519 									unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11520 									T42_ = (*outputs)->Sup.len++;
11521 									asgnRef((void**) (&(*outputs)->data[T42_]), T41_);
11522 								}
11523 								LA38_: ;
11524 								r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11525 							} LA34: ;
11526 						}
11527 					}
11528 					goto LA28_;
11529 					LA31_: ;
11530 					{
11531 						{
11532 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
11533 							tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2;
11534 							tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11535 							NI i;
11536 							NI L;
11537 							NI T49_;
11538 							s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11539 							colontmp__2 = NIM_NIL;
11540 							retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interf);
11541 							{
11542 								if (!importHidden) goto LA47_;
11543 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interfHidden);
11544 							}
11545 							LA47_: ;
11546 							colontmp__2 = (*retX60gensym17_).data;
11547 							i = ((NI) 0);
11548 							T49_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
11549 							L = T49_;
11550 							{
11551 								while (1) {
11552 									if (!(i < L)) goto LA51;
11553 									s_2 = &colontmp__2->data[i];
11554 									{
11555 										if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA54_;
11556 										it_3 = (*s_2);
11557 										{
11558 											NIM_BOOL T58_;
11559 											NI T61_;
11560 											tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_;
11561 											NI T63_;
11562 											T58_ = (NIM_BOOL)0;
11563 											T58_ = filterSym__sigmatch_4909(it_3, field, (&pm));
11564 											if (!T58_) goto LA59_;
11565 											T61_ = (NI)0;
11566 											T61_ = getQuality__sigmatch_5002(it_3);
11567 											T62_ = NIM_NIL;
11568 											T62_ = symToSuggest__sigmatch_4528((*c).graph, it_3, NIM_FALSE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T61_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) -99), NIM_FALSE);
11569 											unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11570 											T63_ = (*outputs)->Sup.len++;
11571 											asgnRef((void**) (&(*outputs)->data[T63_]), T62_);
11572 										}
11573 										LA59_: ;
11574 									}
11575 									LA54_: ;
11576 									i += ((NI) 1);
11577 								} LA51: ;
11578 							}
11579 						}
11580 					}
11581 					LA28_: ;
11582 				}
11583 			}
11584 			LA11_: ;
11585 		}
11586 		goto LA5_;
11587 		LA9_: ;
11588 		{
11589 			suggestEverything__sigmatch_5217(c, n, field, outputs);
11590 		}
11591 		LA5_: ;
11592 	}
11593 	goto LA1_;
11594 	LA3_: ;
11595 	{
11596 		tyObject_TType__facALICuu8zUj0hjvbTLFg* orig;
11597 		orig = typ;
11598 		typ = skipTypes__ast_3735(orig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_11);
11599 		{
11600 			NIM_BOOL T68_;
11601 			NIM_BOOL T69_;
11602 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
11603 			T68_ = (NIM_BOOL)0;
11604 			T69_ = (NIM_BOOL)0;
11605 			T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
11606 			if (!(T69_)) goto LA70_;
11607 			T69_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
11608 			LA70_: ;
11609 			T68_ = T69_;
11610 			if (!(T68_)) goto LA71_;
11611 			T68_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11612 			LA71_: ;
11613 			if (!T68_) goto LA72_;
11614 			t = typ;
11615 			{
11616 				while (1) {
11617 					if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA75;
11618 					suggestSymList__sigmatch_5040(c, (*t).n, field, (*n).info, outputs);
11619 					t = (*t).sons->data[((NI) 0)];
11620 				} LA75: ;
11621 			}
11622 		}
11623 		goto LA66_;
11624 		LA72_: ;
11625 		{
11626 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
11627 			if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA77_;
11628 			t_2 = typ;
11629 			{
11630 				while (1) {
11631 					suggestObject__sigmatch_5060(c, (*t_2).n, field, (*n).info, outputs);
11632 					{
11633 						if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_;
11634 						goto LA79;
11635 					}
11636 					LA83_: ;
11637 					t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_12);
11638 				}
11639 			} LA79: ;
11640 		}
11641 		goto LA66_;
11642 		LA77_: ;
11643 		{
11644 			NIM_BOOL T86_;
11645 			T86_ = (NIM_BOOL)0;
11646 			T86_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
11647 			if (!(T86_)) goto LA87_;
11648 			T86_ = !(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11649 			LA87_: ;
11650 			if (!T86_) goto LA88_;
11651 			suggestSymList__sigmatch_5040(c, (*typ).n, field, (*n).info, outputs);
11652 		}
11653 		goto LA66_;
11654 		LA88_: ;
11655 		LA66_: ;
11656 		suggestOperations__sigmatch_5194(c, n, field, orig, outputs);
11657 		{
11658 			if (!!((typ == orig))) goto LA92_;
11659 			suggestOperations__sigmatch_5194(c, n, field, typ, outputs);
11660 		}
11661 		LA92_: ;
11662 	}
11663 	LA1_: ;
11664 }
N_NIMCALL(void,sugExpr__sigmatch_6417)11665 N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11666 	{
11667 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj;
11668 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix;
11669 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_;
11670 		obj = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]);
11671 		{
11672 			NIM_BOOL T7_;
11673 			NIM_BOOL T8_;
11674 			NI T9_;
11675 			T7_ = (NIM_BOOL)0;
11676 			T8_ = (NIM_BOOL)0;
11677 			T9_ = (NI)0;
11678 			T9_ = len__ast_3198(n);
11679 			T8_ = (T9_ == ((NI) 2));
11680 			if (!(T8_)) goto LA10_;
11681 			T8_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).info.line == (*(*n)._kind_6.sons->data[((NI) 0)]).info.line);
11682 			LA10_: ;
11683 			T7_ = T8_;
11684 			if (!(T7_)) goto LA11_;
11685 			T7_ = !((*(*(*c).graph).config).m.trackPosAttached);
11686 			LA11_: ;
11687 			if (!T7_) goto LA12_;
11688 			prefix = (*n)._kind_6.sons->data[((NI) 1)];
11689 		}
11690 		goto LA5_;
11691 		LA12_: ;
11692 		{
11693 			prefix = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11694 		}
11695 		LA5_: ;
11696 		suggestFieldAccess__sigmatch_5230(c, obj, prefix, outputs);
11697 	}
11698 	goto LA1_;
11699 	LA3_: ;
11700 	{
11701 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_2;
11702 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
11703 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA16_;
11704 		{
11705 			if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA20_;
11706 			prefix_2 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11707 		}
11708 		goto LA18_;
11709 		LA20_: ;
11710 		{
11711 			prefix_2 = n;
11712 		}
11713 		LA18_: ;
11714 		info = (*n).info;
11715 		{
11716 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
11717 			NI scopeN;
11718 			NIM_BOOL isLocal;
11719 			NIM_BOOL isLocal_2;
11720 			NI scopeN_2;
11721 			item = NIM_NIL;
11722 			scopeN = (NI)0;
11723 			isLocal = (NIM_BOOL)0;
11724 			isLocal_2 = NIM_TRUE;
11725 			scopeN_2 = ((NI) 0);
11726 			{
11727 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
11728 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
11729 				scope = NIM_NIL;
11730 				current = (*c).currentScope;
11731 				{
11732 					while (1) {
11733 						if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA26;
11734 						scope = current;
11735 						{
11736 							if (!(scope == (*c).topLevelScope)) goto LA29_;
11737 							isLocal_2 = NIM_FALSE;
11738 						}
11739 						LA29_: ;
11740 						scopeN_2 -= ((NI) 1);
11741 						{
11742 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
11743 							tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
11744 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11745 							item_2 = NIM_NIL;
11746 							nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11747 							s = initTabIter__astalgo_3777((&it), (*scope).symbols);
11748 							{
11749 								while (1) {
11750 									tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
11751 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
11752 									tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11753 									if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA33;
11754 									item_2 = s;
11755 									nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11756 									colontmp_.Field0 = item_2;
11757 									colontmp_.Field1 = scopeN_2;
11758 									colontmp_.Field2 = isLocal_2;
11759 									item = colontmp_.Field0;
11760 									scopeN = colontmp_.Field1;
11761 									isLocal = colontmp_.Field2;
11762 									it_2 = item;
11763 									pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11764 									{
11765 										NIM_BOOL T36_;
11766 										NI T39_;
11767 										tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_;
11768 										NI T41_;
11769 										T36_ = (NIM_BOOL)0;
11770 										T36_ = filterSym__sigmatch_4909(it_2, prefix_2, (&pm));
11771 										if (!T36_) goto LA37_;
11772 										T39_ = (NI)0;
11773 										T39_ = getQuality__sigmatch_5002(it_2);
11774 										T40_ = NIM_NIL;
11775 										T40_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11776 										unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11777 										T41_ = (*outputs)->Sup.len++;
11778 										asgnRef((void**) (&(*outputs)->data[T41_]), T40_);
11779 									}
11780 									LA37_: ;
11781 									s = nextIter__astalgo_3762((&it), (*scope).symbols);
11782 								} LA33: ;
11783 							}
11784 						}
11785 						current = (*current).parent;
11786 					} LA26: ;
11787 				}
11788 			}
11789 			scopeN_2 -= ((NI) 1);
11790 			isLocal_2 = NIM_FALSE;
11791 			{
11792 				tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
11793 				NI i;
11794 				NI L;
11795 				NI T43_;
11796 				im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
11797 				i = ((NI) 0);
11798 				T43_ = ((*c).imports ? (*c).imports->Sup.len : 0);
11799 				L = T43_;
11800 				{
11801 					while (1) {
11802 						if (!(i < L)) goto LA45;
11803 						im = (&(*c).imports->data[i]);
11804 						{
11805 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
11806 							NIM_BOOL importHidden;
11807 							s_2 = NIM_NIL;
11808 							importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11809 							{
11810 								NIM_BOOL T49_;
11811 								tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11812 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11813 								T49_ = (NIM_BOOL)0;
11814 								T49_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
11815 								if (!T49_) goto LA50_;
11816 								nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11817 								r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
11818 								{
11819 									while (1) {
11820 										tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
11821 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11822 										tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
11823 										if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53;
11824 										s_2 = r;
11825 										nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11826 										colontmp__2.Field0 = s_2;
11827 										colontmp__2.Field1 = scopeN_2;
11828 										colontmp__2.Field2 = isLocal_2;
11829 										item = colontmp__2.Field0;
11830 										scopeN = colontmp__2.Field1;
11831 										isLocal = colontmp__2.Field2;
11832 										it_3 = item;
11833 										pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11834 										{
11835 											NIM_BOOL T56_;
11836 											NI T59_;
11837 											tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T60_;
11838 											NI T61_;
11839 											T56_ = (NIM_BOOL)0;
11840 											T56_ = filterSym__sigmatch_4909(it_3, prefix_2, (&pm_2));
11841 											if (!T56_) goto LA57_;
11842 											T59_ = (NI)0;
11843 											T59_ = getQuality__sigmatch_5002(it_3);
11844 											T60_ = NIM_NIL;
11845 											T60_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T59_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11846 											unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11847 											T61_ = (*outputs)->Sup.len++;
11848 											asgnRef((void**) (&(*outputs)->data[T61_]), T60_);
11849 										}
11850 										LA57_: ;
11851 										r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11852 									} LA53: ;
11853 								}
11854 							}
11855 							goto LA47_;
11856 							LA50_: ;
11857 							{
11858 								{
11859 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
11860 									tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
11861 									tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11862 									NI i_2;
11863 									NI L_2;
11864 									NI T68_;
11865 									s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11866 									colontmp__3 = NIM_NIL;
11867 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
11868 									{
11869 										if (!importHidden) goto LA66_;
11870 										retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
11871 									}
11872 									LA66_: ;
11873 									colontmp__3 = (*retX60gensym17_).data;
11874 									i_2 = ((NI) 0);
11875 									T68_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
11876 									L_2 = T68_;
11877 									{
11878 										while (1) {
11879 											if (!(i_2 < L_2)) goto LA70;
11880 											s_3 = &colontmp__3->data[i_2];
11881 											{
11882 												tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
11883 												tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
11884 												tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
11885 												if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA73_;
11886 												s_2 = (*s_3);
11887 												nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11888 												colontmp__4.Field0 = s_2;
11889 												colontmp__4.Field1 = scopeN_2;
11890 												colontmp__4.Field2 = isLocal_2;
11891 												item = colontmp__4.Field0;
11892 												scopeN = colontmp__4.Field1;
11893 												isLocal = colontmp__4.Field2;
11894 												it_4 = item;
11895 												pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11896 												{
11897 													NIM_BOOL T77_;
11898 													NI T80_;
11899 													tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T81_;
11900 													NI T82_;
11901 													T77_ = (NIM_BOOL)0;
11902 													T77_ = filterSym__sigmatch_4909(it_4, prefix_2, (&pm_3));
11903 													if (!T77_) goto LA78_;
11904 													T80_ = (NI)0;
11905 													T80_ = getQuality__sigmatch_5002(it_4);
11906 													T81_ = NIM_NIL;
11907 													T81_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T80_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11908 													unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11909 													T82_ = (*outputs)->Sup.len++;
11910 													asgnRef((void**) (&(*outputs)->data[T82_]), T81_);
11911 												}
11912 												LA78_: ;
11913 											}
11914 											LA73_: ;
11915 											i_2 += ((NI) 1);
11916 										} LA70: ;
11917 									}
11918 								}
11919 							}
11920 							LA47_: ;
11921 						}
11922 						i += ((NI) 1);
11923 					} LA45: ;
11924 				}
11925 			}
11926 		}
11927 	}
11928 	goto LA1_;
11929 	LA16_: ;
11930 	{
11931 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_3;
11932 		{
11933 			if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA86_;
11934 			prefix_3 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11935 		}
11936 		goto LA84_;
11937 		LA86_: ;
11938 		{
11939 			prefix_3 = n;
11940 		}
11941 		LA84_: ;
11942 		suggestEverything__sigmatch_5217(c, n, prefix_3, outputs);
11943 	}
11944 	LA1_: ;
11945 }
N_NIMCALL(NIM_BOOL,nameFits__sigmatch_5091)11946 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
11947 	NIM_BOOL result;
11948 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
11949 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* opr;
11950 {	result = (NIM_BOOL)0;
11951 	{
11952 		if (!((*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))) goto LA3_;
11953 		op = (*n)._kind_6.sons->data[((NI) 0)];
11954 	}
11955 	goto LA1_;
11956 	LA3_: ;
11957 	{
11958 		op = n;
11959 	}
11960 	LA1_: ;
11961 	{
11962 		if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA8_;
11963 		op = (*op)._kind_6.sons->data[((NI) 0)];
11964 	}
11965 	LA8_: ;
11966 	{
11967 		if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA12_;
11968 		op = (*op)._kind_6.sons->data[((NI) 1)];
11969 	}
11970 	LA12_: ;
11971 	opr = NIM_NIL;
11972 	switch ((*op).kind) {
11973 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
11974 	{
11975 		opr = (*(*op)._kind_4.sym).name;
11976 	}
11977 	break;
11978 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
11979 	{
11980 		opr = (*op)._kind_5.ident;
11981 	}
11982 	break;
11983 	default:
11984 	{
11985 		result = NIM_FALSE;
11986 		goto BeforeRet_;
11987 	}
11988 	break;
11989 	}
11990 	result = ((*opr).id == (*(*s).name).id);
11991 	}BeforeRet_: ;
11992 	return result;
11993 }
N_NIMCALL(void,initCandidate__sigmatch_124)11994 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled) {
11995 	initCandidateAux__sigmatch_94(ctx, c, (*callee).typ);
11996 	unsureAsgnRef((void**) (&(*c).calleeSym), callee);
11997 	{
11998 		NIM_BOOL T3_;
11999 		T3_ = (NIM_BOOL)0;
12000 		T3_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0);
12001 		if (!(T3_)) goto LA4_;
12002 		T3_ = (calleeScope == ((NI) -1));
12003 		LA4_: ;
12004 		if (!T3_) goto LA5_;
12005 		{
12006 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
12007 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
12008 			T9_ = NIM_NIL;
12009 			T9_ = originatingModule__ast_4669(callee);
12010 			if (!(T9_ == (*ctx).module)) goto LA10_;
12011 			(*c).calleeScope = ((NI) 2);
12012 			owner = callee;
12013 			{
12014 				while (1) {
12015 					owner = skipGenericOwner__ast_4658(owner);
12016 					{
12017 						if (!((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA16_;
12018 						goto LA12;
12019 					}
12020 					LA16_: ;
12021 					(*c).calleeScope += ((NI) 1);
12022 				}
12023 			} LA12: ;
12024 		}
12025 		goto LA7_;
12026 		LA10_: ;
12027 		{
12028 			(*c).calleeScope = ((NI) 1);
12029 		}
12030 		LA7_: ;
12031 	}
12032 	goto LA1_;
12033 	LA5_: ;
12034 	{
12035 		(*c).calleeScope = calleeScope;
12036 	}
12037 	LA1_: ;
12038 	unsureAsgnRef((void**) (&(*c).diagnostics), NIM_NIL);
12039 	(*c).diagnosticsEnabled = diagnosticsEnabled;
12040 	(*c).magic = (*(*c).calleeSym).magic;
12041 	initIdTable__ast_4096((&(*c).bindings));
12042 	{
12043 		NIM_BOOL T22_;
12044 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeParams;
12045 		T22_ = (NIM_BOOL)0;
12046 		T22_ = !((binding == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12047 		if (!(T22_)) goto LA23_;
12048 		T22_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0);
12049 		LA23_: ;
12050 		if (!T22_) goto LA24_;
12051 		typeParams = (*(*callee).ast)._kind_6.sons->data[((NI) 2)];
12052 		{
12053 			NI i;
12054 			NI colontmp_;
12055 			NI T27_;
12056 			NI T28_;
12057 			NI res;
12058 			i = (NI)0;
12059 			colontmp_ = (NI)0;
12060 			T27_ = (NI)0;
12061 			T27_ = len__ast_3198(typeParams);
12062 			T28_ = (NI)0;
12063 			T28_ = len__ast_3198(binding);
12064 			colontmp_ = ((T27_ <= (NI)(T28_ - ((NI) 1))) ? T27_ : (NI)(T28_ - ((NI) 1)));
12065 			res = ((NI) 1);
12066 			{
12067 				while (1) {
12068 					tyObject_TType__facALICuu8zUj0hjvbTLFg* formalTypeParam;
12069 					tyObject_TType__facALICuu8zUj0hjvbTLFg* bound;
12070 					if (!(res <= colontmp_)) goto LA30;
12071 					i = res;
12072 					formalTypeParam = (*(*typeParams)._kind_6.sons->data[(NI)(i - ((NI) 1))]).typ;
12073 					bound = (*(*binding)._kind_6.sons->data[i]).typ;
12074 					{
12075 						if (!!((bound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA33_;
12076 						{
12077 							if (!((*formalTypeParam).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA37_;
12078 							{
12079 								if (!!(((*bound).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA41_;
12080 								bound = makeTypeDesc__concepts_49(ctx, bound);
12081 							}
12082 							LA41_: ;
12083 						}
12084 						goto LA35_;
12085 						LA37_: ;
12086 						{
12087 							bound = skipTypes__ast_3735(bound, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
12088 						}
12089 						LA35_: ;
12090 						put__sigmatch_120(c, formalTypeParam, bound);
12091 					}
12092 					LA33_: ;
12093 					res += ((NI) 1);
12094 				} LA30: ;
12095 			}
12096 		}
12097 	}
12098 	LA24_: ;
12099 }
N_NIMCALL(void,newCandidate__sigmatch_189)12100 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_189)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
12101 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
12102 	(*Result).exactMatches = 0;
12103 	(*Result).genericMatches = 0;
12104 	(*Result).subtypeMatches = 0;
12105 	(*Result).intConvMatches = 0;
12106 	(*Result).convMatches = 0;
12107 	(*Result).state = 0;
12108 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
12109 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
12110 	(*Result).calleeScope = 0;
12111 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
12112 	(*Result).bindings.counter = 0;
12113 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
12114 	(*Result).magic = 0;
12115 	(*Result).baseTypeMatch = 0;
12116 	(*Result).fauxMatch = 0;
12117 	(*Result).genericConverter = 0;
12118 	(*Result).coerceDistincts = 0;
12119 	(*Result).typedescMatched = 0;
12120 	(*Result).isNoCall = 0;
12121 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
12122 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
12123 	(*Result).inheritancePenalty = 0;
12124 	(*Result).firstMismatch.kind = 0;
12125 	(*Result).firstMismatch.arg = 0;
12126 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
12127 	(*Result).diagnosticsEnabled = 0;
12128 	initCandidate__sigmatch_124(ctx, Result, callee, binding, calleeScope, NIM_FALSE);
12129 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)12130 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
12131 	initPackedSet__pureZcollectionsZintsets_16(Result);
12132 }
N_NIMCALL(NI,findFirstArgBlock__sigmatch_3746)12133 N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12134 	NI result;
12135 	result = (NI)0;
12136 	result = ((NI) 2147483647);
12137 	{
12138 		NI a2;
12139 		NI colontmp_;
12140 		NI T2_;
12141 		NI res;
12142 		a2 = (NI)0;
12143 		colontmp_ = (NI)0;
12144 		T2_ = (NI)0;
12145 		T2_ = len__ast_3198(n);
12146 		colontmp_ = (NI)(T2_ - ((NI) 1));
12147 		res = colontmp_;
12148 		{
12149 			while (1) {
12150 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* formalLast;
12151 				NI T9_;
12152 				NI T10_;
12153 				if (!(((NI) 0) <= res)) goto LA4;
12154 				a2 = res;
12155 				{
12156 					if (!!(((*(*n)._kind_6.sons->data[a2]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA7_;
12157 					goto LA1;
12158 				}
12159 				LA7_: ;
12160 				T9_ = (NI)0;
12161 				T9_ = len__ast_3198((*(*m).callee).n);
12162 				T10_ = (NI)0;
12163 				T10_ = len__ast_3198(n);
12164 				formalLast = (*(*(*m).callee).n)._kind_6.sons->data[(NI)(T9_ - (NI)(T10_ - a2))];
12165 				{
12166 					NIM_BOOL T13_;
12167 					T13_ = (NIM_BOOL)0;
12168 					T13_ = ((*formalLast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
12169 					if (!(T13_)) goto LA14_;
12170 					T13_ = ((*(*formalLast)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12171 					LA14_: ;
12172 					if (!T13_) goto LA15_;
12173 					result = a2;
12174 				}
12175 				goto LA11_;
12176 				LA15_: ;
12177 				{
12178 					goto LA1;
12179 				}
12180 				LA11_: ;
12181 				res -= ((NI) 1);
12182 			} LA4: ;
12183 		}
12184 	} LA1: ;
12185 	return result;
12186 }
N_NIMCALL(void,setSon__sigmatch_3650)12187 N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son) {
12188 	NI oldLen;
12189 	oldLen = len__ast_3198(father);
12190 	{
12191 		if (!(oldLen <= at)) goto LA3_;
12192 		asgnRef((void**) (&(*father)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(at + ((NI) 1))))));
12193 	}
12194 	LA3_: ;
12195 	asgnRef((void**) (&(*father)._kind_6.sons->data[at]), son);
12196 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,arrayConstr__sigmatch_3725)12197 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
12198 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12199 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
12200 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12201 	result = NIM_NIL;
12202 	result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c);
12203 	T1_ = NIM_NIL;
12204 	T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(-1), info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12205 	rawAddSon__ast_4288(result, T1_, NIM_TRUE);
12206 	T2_ = NIM_NIL;
12207 	T2_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
12208 	rawAddSon__ast_4288(result, T2_, NIM_TRUE);
12209 	return result;
12210 }
N_NIMCALL(void,incrIndexType__sigmatch_3729)12211 N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
12212 	(*(*(*(*t).sons->data[((NI) 0)]).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal += ((NI) 1);
12213 }
N_NIMCALL(void,prepareNamedParam__sigmatch_3709)12214 N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
12215 	{
12216 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
12217 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
12218 		if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_;
12219 		info = (*(*a)._kind_6.sons->data[((NI) 0)]).info;
12220 		T5_ = NIM_NIL;
12221 		T5_ = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12222 		asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T5_, info));
12223 	}
12224 	LA3_: ;
12225 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareOperand__sigmatch_3663)12226 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
12227 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12228 	result = NIM_NIL;
12229 	{
12230 		NIM_BOOL T3_;
12231 		NI T5_;
12232 		T3_ = (NIM_BOOL)0;
12233 		T3_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12234 		if (!(T3_)) goto LA4_;
12235 		T5_ = (NI)0;
12236 		T5_ = len__ast_4002(formal);
12237 		T3_ = !((T5_ == ((NI) 1)));
12238 		LA4_: ;
12239 		if (!T3_) goto LA6_;
12240 		result = a;
12241 	}
12242 	goto LA1_;
12243 	LA6_: ;
12244 	{
12245 		if (!((*a).typ == 0)) goto LA9_;
12246 		{
12247 			tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags;
12248 			if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA13_;
12249 			flags = 774;
12250 			result = (*c).semOperand(c, a, flags);
12251 		}
12252 		goto LA11_;
12253 		LA13_: ;
12254 		{
12255 			tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
12256 			flags_2 = 768;
12257 			result = (*c).semOperand(c, a, flags_2);
12258 		}
12259 		LA11_: ;
12260 	}
12261 	goto LA1_;
12262 	LA9_: ;
12263 	{
12264 		result = a;
12265 		considerGenSyms__semdata_425(c, result);
12266 		{
12267 			NIM_BOOL T19_;
12268 			NIM_BOOL T20_;
12269 			T19_ = (NIM_BOOL)0;
12270 			T20_ = (NIM_BOOL)0;
12271 			T20_ = !(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65)));
12272 			if (!(T20_)) goto LA21_;
12273 			T20_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
12274 			LA21_: ;
12275 			T19_ = T20_;
12276 			if (!(T19_)) goto LA22_;
12277 			T19_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL));
12278 			LA22_: ;
12279 			if (!T19_) goto LA23_;
12280 			result = newDeref__lowerings_11(result);
12281 		}
12282 		LA23_: ;
12283 	}
12284 	LA1_: ;
12285 	return result;
12286 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,arrayConstr__sigmatch_3721)12287 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12288 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12289 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
12290 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12291 	result = NIM_NIL;
12292 	result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c);
12293 	T1_ = NIM_NIL;
12294 	T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(0), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12295 	rawAddSon__ast_4288(result, T1_, NIM_TRUE);
12296 	T2_ = NIM_NIL;
12297 	T2_ = skipTypes__ast_3735((*n).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_82);
12298 	addSonSkipIntLit__magicsys_136(result, T2_, (*c).Sup.idgen);
12299 	return result;
12300 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareOperand__sigmatch_3700)12301 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
12302 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12303 	result = NIM_NIL;
12304 	{
12305 		if (!((*a).typ == 0)) goto LA3_;
12306 		result = (*c).semOperand(c, a, 512);
12307 	}
12308 	goto LA1_;
12309 	LA3_: ;
12310 	{
12311 		result = a;
12312 		considerGenSyms__semdata_425(c, result);
12313 	}
12314 	LA1_: ;
12315 	return result;
12316 }
N_NIMCALL(void,matchesAux__sigmatch_3784)12317 N_LIB_PRIVATE N_NIMCALL(void, matchesAux__sigmatch_3784)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
12318 	tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_;
12319 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12320 	NI a;
12321 	NI f;
12322 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
12323 	NI formalLen;
12324 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
12325 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container;
12326 	NI firstArgBlock;
12327 {	(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
12328 	nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
12329 	nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
12330 	(*m).firstMismatch.kind = T1_.kind;
12331 	(*m).firstMismatch.arg = T1_.arg;
12332 	unsureAsgnRef((void**) (&(*m).firstMismatch.formal), T1_.formal);
12333 	T2_ = NIM_NIL;
12334 	T2_ = base__types_63((*m).callee);
12335 	unsureAsgnRef((void**) (&(*m).call), newNodeIT__ast_3378((*n).kind, (*n).info, T2_));
12336 	add__ast_4797((*m).call, (*n)._kind_6.sons->data[((NI) 0)]);
12337 	a = ((NI) 1);
12338 	{
12339 		if (!!(((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA5_;
12340 		f = ((NI) 1);
12341 	}
12342 	goto LA3_;
12343 	LA5_: ;
12344 	{
12345 		f = ((NI) 0);
12346 	}
12347 	LA3_: ;
12348 	arg = NIM_NIL;
12349 	formalLen = len__ast_3198((*(*m).callee).n);
12350 	{
12351 		if (!(((NI) 1) < formalLen)) goto LA10_;
12352 		formal = (*(*(*(*m).callee).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
12353 	}
12354 	goto LA8_;
12355 	LA10_: ;
12356 	{
12357 		formal = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
12358 	}
12359 	LA8_: ;
12360 	container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12361 	firstArgBlock = findFirstArgBlock__sigmatch_3746(m, n);
12362 	{
12363 		while (1) {
12364 			NI T15_;
12365 			T15_ = (NI)0;
12366 			T15_ = len__ast_3198(n);
12367 			if (!(a < T15_)) goto LA14;
12368 			openShadowScope__lookups_903(c);
12369 			{
12370 				NIM_BOOL T18_;
12371 				NIM_BOOL T19_;
12372 				NIM_BOOL T22_;
12373 				T18_ = (NIM_BOOL)0;
12374 				T19_ = (NIM_BOOL)0;
12375 				T19_ = ((NI)(formalLen - ((NI) 1)) <= a);
12376 				if (!(T19_)) goto LA20_;
12377 				T19_ = (f < formalLen);
12378 				LA20_: ;
12379 				T18_ = T19_;
12380 				if (!(T18_)) goto LA21_;
12381 				T22_ = (NIM_BOOL)0;
12382 				T22_ = ((*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12383 				if (!(T22_)) goto LA23_;
12384 				T22_ = ((*(*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12385 				LA23_: ;
12386 				T18_ = T22_;
12387 				LA21_: ;
12388 				if (!T18_) goto LA24_;
12389 				formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
12390 				incl__pureZcollectionsZintsets_55(marker, (*formal).position);
12391 				{
12392 					if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA28_;
12393 					{
12394 						NIM_BOOL T32_;
12395 						T32_ = (NIM_BOOL)0;
12396 						T32_ = ((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
12397 						if (!(T32_)) goto LA33_;
12398 						T32_ = ((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152));
12399 						LA33_: ;
12400 						if (!!(T32_)) goto LA34_;
12401 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_79));
12402 					}
12403 					LA34_: ;
12404 					setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12405 				}
12406 				goto LA26_;
12407 				LA28_: ;
12408 				{
12409 					{
12410 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_;
12411 						if (!(container == 0)) goto LA39_;
12412 						T41_ = NIM_NIL;
12413 						T41_ = arrayConstr__sigmatch_3725(c, (*n).info);
12414 						container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T41_);
12415 						setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12416 					}
12417 					goto LA37_;
12418 					LA39_: ;
12419 					{
12420 						incrIndexType__sigmatch_3729((*container).typ);
12421 					}
12422 					LA37_: ;
12423 					add__ast_4797(container, (*n)._kind_6.sons->data[a]);
12424 				}
12425 				LA26_: ;
12426 			}
12427 			goto LA16_;
12428 			LA24_: ;
12429 			{
12430 				if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA44_;
12431 				(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 2);
12432 				prepareNamedParam__sigmatch_3709((*n)._kind_6.sons->data[a], c);
12433 				{
12434 					if (!!(((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA48_;
12435 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_80), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_81, NIM_FALSE);
12436 					mergeShadowScope__lookups_907(c);
12437 					(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12438 					(*m).firstMismatch.arg = a;
12439 					unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12440 					goto BeforeRet_;
12441 				}
12442 				LA48_: ;
12443 				formal = getNamedParamFromList__astalgo_293((*(*m).callee).n, (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)])._kind_5.ident);
12444 				{
12445 					if (!(formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA52_;
12446 					mergeShadowScope__lookups_907(c);
12447 					(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12448 					(*m).firstMismatch.arg = a;
12449 					unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12450 					goto BeforeRet_;
12451 				}
12452 				LA52_: ;
12453 				{
12454 					NIM_BOOL T56_;
12455 					T56_ = (NIM_BOOL)0;
12456 					T56_ = containsOrIncl__astalgo_402(marker, (*formal).position);
12457 					if (!T56_) goto LA57_;
12458 					(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 1);
12459 					mergeShadowScope__lookups_907(c);
12460 					(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12461 					(*m).firstMismatch.arg = a;
12462 					unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12463 					goto BeforeRet_;
12464 				}
12465 				LA57_: ;
12466 				(*m).baseTypeMatch = NIM_FALSE;
12467 				(*m).typedescMatched = NIM_FALSE;
12468 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]));
12469 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[a]).typ), (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).typ);
12470 				arg = paramTypesMatch__sigmatch_3583(m, (*formal).typ, (*(*n)._kind_6.sons->data[a]).typ, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12471 				(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12472 				{
12473 					if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA61_;
12474 					mergeShadowScope__lookups_907(c);
12475 					(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12476 					(*m).firstMismatch.arg = a;
12477 					unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12478 					goto BeforeRet_;
12479 				}
12480 				LA61_: ;
12481 				{
12482 					if (!!(((*formal).constraint == 0))) goto LA65_;
12483 					{
12484 						NIM_BOOL T69_;
12485 						T69_ = (NIM_BOOL)0;
12486 						T69_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12487 						if (!T69_) goto LA70_;
12488 						(*m).genericMatches += ((NI) 100);
12489 					}
12490 					goto LA67_;
12491 					LA70_: ;
12492 					{
12493 						mergeShadowScope__lookups_907(c);
12494 						(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12495 						(*m).firstMismatch.arg = a;
12496 						unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12497 						goto BeforeRet_;
12498 					}
12499 					LA67_: ;
12500 				}
12501 				LA65_: ;
12502 				{
12503 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter;
12504 					if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA75_;
12505 					{
12506 						if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA79_;
12507 						argConverter = (*arg)._kind_6.sons->data[((NI) 0)];
12508 					}
12509 					goto LA77_;
12510 					LA79_: ;
12511 					{
12512 						argConverter = arg;
12513 					}
12514 					LA77_: ;
12515 					{
12516 						if (!((*argConverter).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA84_;
12517 						{
12518 							if (!!(((*(*argConverter).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA88_;
12519 							(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12520 							mergeShadowScope__lookups_907(c);
12521 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12522 							(*m).firstMismatch.arg = a;
12523 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12524 							goto BeforeRet_;
12525 						}
12526 						LA88_: ;
12527 					}
12528 					goto LA82_;
12529 					LA84_: ;
12530 					{
12531 						NIM_BOOL T91_;
12532 						T91_ = (NIM_BOOL)0;
12533 						T91_ = isLValue__sigmatch_3090(c, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12534 						if (!!(T91_)) goto LA92_;
12535 						(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12536 						mergeShadowScope__lookups_907(c);
12537 						(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12538 						(*m).firstMismatch.arg = a;
12539 						unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12540 						goto BeforeRet_;
12541 					}
12542 					goto LA82_;
12543 					LA92_: ;
12544 					LA82_: ;
12545 				}
12546 				LA75_: ;
12547 				{
12548 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T98_;
12549 					if (!(*m).baseTypeMatch) goto LA96_;
12550 					T98_ = NIM_NIL;
12551 					T98_ = arrayConstr__sigmatch_3721(c, arg);
12552 					container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T98_);
12553 					add__ast_4797(container, arg);
12554 					setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12555 					{
12556 						if (!!((f == (NI)(formalLen - ((NI) 1))))) goto LA101_;
12557 						container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12558 					}
12559 					LA101_: ;
12560 				}
12561 				goto LA94_;
12562 				LA96_: ;
12563 				{
12564 					setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg);
12565 				}
12566 				LA94_: ;
12567 				f += ((NI) 1);
12568 			}
12569 			goto LA16_;
12570 			LA44_: ;
12571 			{
12572 				{
12573 					if (!(formalLen <= f)) goto LA107_;
12574 					{
12575 						if (!(((*(*m).callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA111_;
12576 						asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[a]));
12577 						{
12578 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
12579 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_;
12580 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T119_;
12581 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_;
12582 							T115_ = NIM_NIL;
12583 							T115_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[a]).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
12584 							if (!((*T115_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA116_;
12585 							T118_ = NIM_NIL;
12586 							T118_ = getSysType__magicsys_60((*c).graph, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29));
12587 							T119_ = NIM_NIL;
12588 							T119_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]);
12589 							T120_ = NIM_NIL;
12590 							T120_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), T118_, T119_, (&(*m)), c);
12591 							add__ast_4797((*m).call, T120_);
12592 						}
12593 						goto LA113_;
12594 						LA116_: ;
12595 						{
12596 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
12597 							T122_ = NIM_NIL;
12598 							T122_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]);
12599 							add__ast_4797((*m).call, T122_);
12600 						}
12601 						LA113_: ;
12602 					}
12603 					goto LA109_;
12604 					LA111_: ;
12605 					{
12606 						NIM_BOOL T124_;
12607 						T124_ = (NIM_BOOL)0;
12608 						T124_ = !((formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12609 						if (!(T124_)) goto LA125_;
12610 						T124_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12611 						LA125_: ;
12612 						if (!T124_) goto LA126_;
12613 						(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12614 						(*m).baseTypeMatch = NIM_FALSE;
12615 						(*m).typedescMatched = NIM_FALSE;
12616 						incl__pureZcollectionsZintsets_55(marker, (*formal).position);
12617 						asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a]));
12618 						arg = paramTypesMatch__sigmatch_3583(m, (*formal).typ, (*(*n)._kind_6.sons->data[a]).typ, (*n)._kind_6.sons->data[a], (*nOrig)._kind_6.sons->data[a]);
12619 						{
12620 							NIM_BOOL T130_;
12621 							NIM_BOOL T131_;
12622 							T130_ = (NIM_BOOL)0;
12623 							T131_ = (NIM_BOOL)0;
12624 							T131_ = !((arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12625 							if (!(T131_)) goto LA132_;
12626 							T131_ = (*m).baseTypeMatch;
12627 							LA132_: ;
12628 							T130_ = T131_;
12629 							if (!(T130_)) goto LA133_;
12630 							T130_ = !((container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12631 							LA133_: ;
12632 							if (!T130_) goto LA134_;
12633 							add__ast_4797(container, arg);
12634 							incrIndexType__sigmatch_3729((*container).typ);
12635 							{
12636 								if (!!(((*formal).constraint == 0))) goto LA138_;
12637 								{
12638 									NIM_BOOL T142_;
12639 									T142_ = (NIM_BOOL)0;
12640 									T142_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]);
12641 									if (!T142_) goto LA143_;
12642 									(*m).genericMatches += ((NI) 100);
12643 								}
12644 								goto LA140_;
12645 								LA143_: ;
12646 								{
12647 									mergeShadowScope__lookups_907(c);
12648 									(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12649 									(*m).firstMismatch.arg = a;
12650 									unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12651 									goto BeforeRet_;
12652 								}
12653 								LA140_: ;
12654 							}
12655 							LA138_: ;
12656 							{
12657 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_2;
12658 								if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA148_;
12659 								{
12660 									if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA152_;
12661 									argConverter_2 = (*arg)._kind_6.sons->data[((NI) 0)];
12662 								}
12663 								goto LA150_;
12664 								LA152_: ;
12665 								{
12666 									argConverter_2 = arg;
12667 								}
12668 								LA150_: ;
12669 								{
12670 									if (!((*argConverter_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA157_;
12671 									{
12672 										if (!!(((*(*argConverter_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA161_;
12673 										(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12674 										mergeShadowScope__lookups_907(c);
12675 										(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12676 										(*m).firstMismatch.arg = a;
12677 										unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12678 										goto BeforeRet_;
12679 									}
12680 									LA161_: ;
12681 								}
12682 								goto LA155_;
12683 								LA157_: ;
12684 								{
12685 									NIM_BOOL T164_;
12686 									T164_ = (NIM_BOOL)0;
12687 									T164_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]);
12688 									if (!!(T164_)) goto LA165_;
12689 									(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12690 									mergeShadowScope__lookups_907(c);
12691 									(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12692 									(*m).firstMismatch.arg = a;
12693 									unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12694 									goto BeforeRet_;
12695 								}
12696 								goto LA155_;
12697 								LA165_: ;
12698 								LA155_: ;
12699 							}
12700 							LA148_: ;
12701 						}
12702 						goto LA128_;
12703 						LA134_: ;
12704 						{
12705 							mergeShadowScope__lookups_907(c);
12706 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12707 							(*m).firstMismatch.arg = a;
12708 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12709 							goto BeforeRet_;
12710 						}
12711 						LA128_: ;
12712 					}
12713 					goto LA109_;
12714 					LA126_: ;
12715 					{
12716 						(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 6);
12717 						mergeShadowScope__lookups_907(c);
12718 						(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12719 						(*m).firstMismatch.arg = a;
12720 						unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12721 						goto BeforeRet_;
12722 					}
12723 					LA109_: ;
12724 				}
12725 				goto LA105_;
12726 				LA107_: ;
12727 				{
12728 					{
12729 						if (!!(((*(*(*(*m).callee).n)._kind_6.sons->data[f]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA172_;
12730 						internalErrorImpl__msgs_1431((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_83), TM__EV5hHJmjIY9cla9b9be7fSVJQ_84);
12731 						mergeShadowScope__lookups_907(c);
12732 						(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12733 						(*m).firstMismatch.arg = a;
12734 						unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12735 						goto BeforeRet_;
12736 					}
12737 					LA172_: ;
12738 					{
12739 						NIM_BOOL T176_;
12740 						NI T180_;
12741 						NI T181_;
12742 						T176_ = (NIM_BOOL)0;
12743 						T176_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 18))&31U)))!=0);
12744 						if (!(T176_)) goto LA177_;
12745 						T176_ = (firstArgBlock <= a);
12746 						LA177_: ;
12747 						if (!T176_) goto LA178_;
12748 						T180_ = (NI)0;
12749 						T180_ = len__ast_3198((*(*m).callee).n);
12750 						T181_ = (NI)0;
12751 						T181_ = len__ast_3198(n);
12752 						f = ((f >= (NI)(T180_ - (NI)(T181_ - a))) ? f : (NI)(T180_ - (NI)(T181_ - a)));
12753 					}
12754 					LA178_: ;
12755 					formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
12756 					(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12757 					{
12758 						NIM_BOOL T184_;
12759 						T184_ = (NIM_BOOL)0;
12760 						T184_ = containsOrIncl__astalgo_402(marker, (*formal).position);
12761 						if (!(T184_)) goto LA185_;
12762 						T184_ = (container == 0);
12763 						LA185_: ;
12764 						if (!T184_) goto LA186_;
12765 						(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 7);
12766 						mergeShadowScope__lookups_907(c);
12767 						(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12768 						(*m).firstMismatch.arg = a;
12769 						unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12770 						goto BeforeRet_;
12771 					}
12772 					LA186_: ;
12773 					{
12774 						NIM_BOOL T190_;
12775 						T190_ = (NIM_BOOL)0;
12776 						T190_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12777 						if (!(T190_)) goto LA191_;
12778 						T190_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12779 						LA191_: ;
12780 						if (!T190_) goto LA192_;
12781 						{
12782 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T198_;
12783 							if (!(container == 0)) goto LA196_;
12784 							T198_ = NIM_NIL;
12785 							T198_ = arrayConstr__sigmatch_3725(c, (*n).info);
12786 							container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T198_);
12787 							setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12788 						}
12789 						goto LA194_;
12790 						LA196_: ;
12791 						{
12792 							incrIndexType__sigmatch_3729((*container).typ);
12793 						}
12794 						LA194_: ;
12795 						add__ast_4797(container, (*n)._kind_6.sons->data[a]);
12796 					}
12797 					goto LA188_;
12798 					LA192_: ;
12799 					{
12800 						(*m).baseTypeMatch = NIM_FALSE;
12801 						(*m).typedescMatched = NIM_FALSE;
12802 						asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a]));
12803 						arg = paramTypesMatch__sigmatch_3583(m, (*formal).typ, (*(*n)._kind_6.sons->data[a]).typ, (*n)._kind_6.sons->data[a], (*nOrig)._kind_6.sons->data[a]);
12804 						{
12805 							if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA203_;
12806 							mergeShadowScope__lookups_907(c);
12807 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12808 							(*m).firstMismatch.arg = a;
12809 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12810 							goto BeforeRet_;
12811 						}
12812 						LA203_: ;
12813 						{
12814 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T215_;
12815 							NI T216_;
12816 							if (!(*m).baseTypeMatch) goto LA207_;
12817 							{
12818 								tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_;
12819 								if (!(container == 0)) goto LA211_;
12820 								T213_ = NIM_NIL;
12821 								T213_ = arrayConstr__sigmatch_3721(c, arg);
12822 								container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T213_);
12823 								(*(*container).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0)) & 63);
12824 							}
12825 							goto LA209_;
12826 							LA211_: ;
12827 							{
12828 								incrIndexType__sigmatch_3729((*container).typ);
12829 							}
12830 							LA209_: ;
12831 							add__ast_4797(container, arg);
12832 							T215_ = NIM_NIL;
12833 							T215_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c);
12834 							setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T215_);
12835 							T216_ = (NI)0;
12836 							T216_ = len__ast_3198(n);
12837 							f = ((f >= (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1))) ? f : (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1)));
12838 						}
12839 						goto LA205_;
12840 						LA207_: ;
12841 						{
12842 							NIM_BOOL T218_;
12843 							T218_ = (NIM_BOOL)0;
12844 							T218_ = !(((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)));
12845 							if (T218_) goto LA219_;
12846 							T218_ = (container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12847 							LA219_: ;
12848 							if (!T218_) goto LA220_;
12849 							setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg);
12850 							f += ((NI) 1);
12851 							container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12852 						}
12853 						goto LA205_;
12854 						LA220_: ;
12855 						{
12856 							tyArray__Re75IspeoxXy2oCZHwcRrA T223_;
12857 							NimStringDesc* T224_;
12858 							nimZeroMem((void*)T223_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
12859 							T223_[0] = typeToString__types_50((*(*n)._kind_6.sons->data[a]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12860 							T223_[1] = typeToString__types_50((*formal).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12861 							T224_ = NIM_NIL;
12862 							T224_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_85), T223_, 2);
12863 							liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T224_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_86, NIM_FALSE);
12864 							mergeShadowScope__lookups_907(c);
12865 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12866 							(*m).firstMismatch.arg = a;
12867 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12868 							goto BeforeRet_;
12869 						}
12870 						LA205_: ;
12871 					}
12872 					LA188_: ;
12873 					{
12874 						if (!!(((*formal).constraint == 0))) goto LA227_;
12875 						{
12876 							NIM_BOOL T231_;
12877 							T231_ = (NIM_BOOL)0;
12878 							T231_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]);
12879 							if (!T231_) goto LA232_;
12880 							(*m).genericMatches += ((NI) 100);
12881 						}
12882 						goto LA229_;
12883 						LA232_: ;
12884 						{
12885 							mergeShadowScope__lookups_907(c);
12886 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12887 							(*m).firstMismatch.arg = a;
12888 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12889 							goto BeforeRet_;
12890 						}
12891 						LA229_: ;
12892 					}
12893 					LA227_: ;
12894 					{
12895 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_3;
12896 						if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA237_;
12897 						{
12898 							if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA241_;
12899 							argConverter_3 = (*arg)._kind_6.sons->data[((NI) 0)];
12900 						}
12901 						goto LA239_;
12902 						LA241_: ;
12903 						{
12904 							argConverter_3 = arg;
12905 						}
12906 						LA239_: ;
12907 						{
12908 							if (!((*argConverter_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA246_;
12909 							{
12910 								if (!!(((*(*argConverter_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA250_;
12911 								(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12912 								mergeShadowScope__lookups_907(c);
12913 								(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12914 								(*m).firstMismatch.arg = a;
12915 								unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12916 								goto BeforeRet_;
12917 							}
12918 							LA250_: ;
12919 						}
12920 						goto LA244_;
12921 						LA246_: ;
12922 						{
12923 							NIM_BOOL T253_;
12924 							T253_ = (NIM_BOOL)0;
12925 							T253_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]);
12926 							if (!!(T253_)) goto LA254_;
12927 							(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12928 							mergeShadowScope__lookups_907(c);
12929 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12930 							(*m).firstMismatch.arg = a;
12931 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12932 							goto BeforeRet_;
12933 						}
12934 						goto LA244_;
12935 						LA254_: ;
12936 						LA244_: ;
12937 					}
12938 					LA237_: ;
12939 				}
12940 				LA105_: ;
12941 			}
12942 			LA16_: ;
12943 			{
12944 				NIM_BOOL T258_;
12945 				NIM_BOOL T260_;
12946 				T258_ = (NIM_BOOL)0;
12947 				T258_ = ((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
12948 				if (!(T258_)) goto LA259_;
12949 				T260_ = (NIM_BOOL)0;
12950 				T260_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12951 				if (!(T260_)) goto LA261_;
12952 				T260_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0);
12953 				LA261_: ;
12954 				T258_ = !(T260_);
12955 				LA259_: ;
12956 				if (!T258_) goto LA262_;
12957 				mergeShadowScope__lookups_907(c);
12958 			}
12959 			goto LA256_;
12960 			LA262_: ;
12961 			{
12962 				closeShadowScope__lookups_905(c);
12963 			}
12964 			LA256_: ;
12965 			a += ((NI) 1);
12966 		} LA14: ;
12967 	}
12968 	(*m).firstMismatch.arg = a;
12969 	unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12970 	}BeforeRet_: ;
12971 }
N_NIMCALL(void,partialMatch__sigmatch_4175)12972 N_LIB_PRIVATE N_NIMCALL(void, partialMatch__sigmatch_4175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m) {
12973 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
12974 	nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
12975 	initIntSet__pureZcollectionsZintsets_238((&marker));
12976 	matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker));
12977 }
N_NIMCALL(NIM_BOOL,argsFit__sigmatch_5113)12978 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argsFit__sigmatch_5113)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig) {
12979 	NIM_BOOL result;
12980 	result = (NIM_BOOL)0;
12981 	switch ((*candidate).kind) {
12982 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
12983 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
12984 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
12985 	{
12986 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
12987 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
12988 		newCandidate__sigmatch_189(c, candidate, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((NI) -1), (&m));
12989 		partialMatch__sigmatch_4175(c, n, nOrig, (&m));
12990 		result = !((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2)));
12991 	}
12992 	break;
12993 	default:
12994 	{
12995 		result = NIM_FALSE;
12996 	}
12997 	break;
12998 	}
12999 	return result;
13000 }
N_NIMCALL(void,suggestCall__sigmatch_5124)13001 N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
13002 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
13003 	info = (*n).info;
13004 	{
13005 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
13006 		NI scopeN;
13007 		NIM_BOOL isLocal;
13008 		NIM_BOOL isLocal_2;
13009 		NI scopeN_2;
13010 		item = NIM_NIL;
13011 		scopeN = (NI)0;
13012 		isLocal = (NIM_BOOL)0;
13013 		isLocal_2 = NIM_TRUE;
13014 		scopeN_2 = ((NI) 0);
13015 		{
13016 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
13017 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
13018 			scope = NIM_NIL;
13019 			current = (*c).currentScope;
13020 			{
13021 				while (1) {
13022 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
13023 					scope = current;
13024 					{
13025 						if (!(scope == (*c).topLevelScope)) goto LA7_;
13026 						isLocal_2 = NIM_FALSE;
13027 					}
13028 					LA7_: ;
13029 					scopeN_2 -= ((NI) 1);
13030 					{
13031 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
13032 						tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
13033 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
13034 						item_2 = NIM_NIL;
13035 						nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
13036 						s = initTabIter__astalgo_3777((&it), (*scope).symbols);
13037 						{
13038 							while (1) {
13039 								tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
13040 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
13041 								tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
13042 								if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
13043 								item_2 = s;
13044 								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13045 								colontmp_.Field0 = item_2;
13046 								colontmp_.Field1 = scopeN_2;
13047 								colontmp_.Field2 = isLocal_2;
13048 								item = colontmp_.Field0;
13049 								scopeN = colontmp_.Field1;
13050 								isLocal = colontmp_.Field2;
13051 								it_2 = item;
13052 								pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13053 								{
13054 									NIM_BOOL T14_;
13055 									NIM_BOOL T15_;
13056 									NI T20_;
13057 									tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T21_;
13058 									NI T22_;
13059 									T14_ = (NIM_BOOL)0;
13060 									T15_ = (NIM_BOOL)0;
13061 									T15_ = filterSym__sigmatch_4909(it_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm));
13062 									if (!(T15_)) goto LA16_;
13063 									T15_ = nameFits__sigmatch_5091(c, it_2, n);
13064 									LA16_: ;
13065 									T14_ = T15_;
13066 									if (!(T14_)) goto LA17_;
13067 									T14_ = argsFit__sigmatch_5113(c, it_2, n, nOrig);
13068 									LA17_: ;
13069 									if (!T14_) goto LA18_;
13070 									T20_ = (NI)0;
13071 									T20_ = getQuality__sigmatch_5002(it_2);
13072 									T21_ = NIM_NIL;
13073 									T21_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T20_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13074 									unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13075 									T22_ = (*outputs)->Sup.len++;
13076 									asgnRef((void**) (&(*outputs)->data[T22_]), T21_);
13077 								}
13078 								LA18_: ;
13079 								s = nextIter__astalgo_3762((&it), (*scope).symbols);
13080 							} LA11: ;
13081 						}
13082 					}
13083 					current = (*current).parent;
13084 				} LA4: ;
13085 			}
13086 		}
13087 		scopeN_2 -= ((NI) 1);
13088 		isLocal_2 = NIM_FALSE;
13089 		{
13090 			tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
13091 			NI i;
13092 			NI L;
13093 			NI T24_;
13094 			im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
13095 			i = ((NI) 0);
13096 			T24_ = ((*c).imports ? (*c).imports->Sup.len : 0);
13097 			L = T24_;
13098 			{
13099 				while (1) {
13100 					if (!(i < L)) goto LA26;
13101 					im = (&(*c).imports->data[i]);
13102 					{
13103 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
13104 						NIM_BOOL importHidden;
13105 						s_2 = NIM_NIL;
13106 						importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
13107 						{
13108 							NIM_BOOL T30_;
13109 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
13110 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
13111 							T30_ = (NIM_BOOL)0;
13112 							T30_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
13113 							if (!T30_) goto LA31_;
13114 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
13115 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
13116 							{
13117 								while (1) {
13118 									tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
13119 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
13120 									tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
13121 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
13122 									s_2 = r;
13123 									nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13124 									colontmp__2.Field0 = s_2;
13125 									colontmp__2.Field1 = scopeN_2;
13126 									colontmp__2.Field2 = isLocal_2;
13127 									item = colontmp__2.Field0;
13128 									scopeN = colontmp__2.Field1;
13129 									isLocal = colontmp__2.Field2;
13130 									it_3 = item;
13131 									pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13132 									{
13133 										NIM_BOOL T37_;
13134 										NIM_BOOL T38_;
13135 										NI T43_;
13136 										tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T44_;
13137 										NI T45_;
13138 										T37_ = (NIM_BOOL)0;
13139 										T38_ = (NIM_BOOL)0;
13140 										T38_ = filterSym__sigmatch_4909(it_3, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2));
13141 										if (!(T38_)) goto LA39_;
13142 										T38_ = nameFits__sigmatch_5091(c, it_3, n);
13143 										LA39_: ;
13144 										T37_ = T38_;
13145 										if (!(T37_)) goto LA40_;
13146 										T37_ = argsFit__sigmatch_5113(c, it_3, n, nOrig);
13147 										LA40_: ;
13148 										if (!T37_) goto LA41_;
13149 										T43_ = (NI)0;
13150 										T43_ = getQuality__sigmatch_5002(it_3);
13151 										T44_ = NIM_NIL;
13152 										T44_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T43_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13153 										unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13154 										T45_ = (*outputs)->Sup.len++;
13155 										asgnRef((void**) (&(*outputs)->data[T45_]), T44_);
13156 									}
13157 									LA41_: ;
13158 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
13159 								} LA34: ;
13160 							}
13161 						}
13162 						goto LA28_;
13163 						LA31_: ;
13164 						{
13165 							{
13166 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
13167 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
13168 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
13169 								NI i_2;
13170 								NI L_2;
13171 								NI T52_;
13172 								s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
13173 								colontmp__3 = NIM_NIL;
13174 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
13175 								{
13176 									if (!importHidden) goto LA50_;
13177 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
13178 								}
13179 								LA50_: ;
13180 								colontmp__3 = (*retX60gensym17_).data;
13181 								i_2 = ((NI) 0);
13182 								T52_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
13183 								L_2 = T52_;
13184 								{
13185 									while (1) {
13186 										if (!(i_2 < L_2)) goto LA54;
13187 										s_3 = &colontmp__3->data[i_2];
13188 										{
13189 											tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
13190 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
13191 											tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
13192 											if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA57_;
13193 											s_2 = (*s_3);
13194 											nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13195 											colontmp__4.Field0 = s_2;
13196 											colontmp__4.Field1 = scopeN_2;
13197 											colontmp__4.Field2 = isLocal_2;
13198 											item = colontmp__4.Field0;
13199 											scopeN = colontmp__4.Field1;
13200 											isLocal = colontmp__4.Field2;
13201 											it_4 = item;
13202 											pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13203 											{
13204 												NIM_BOOL T61_;
13205 												NIM_BOOL T62_;
13206 												NI T67_;
13207 												tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T68_;
13208 												NI T69_;
13209 												T61_ = (NIM_BOOL)0;
13210 												T62_ = (NIM_BOOL)0;
13211 												T62_ = filterSym__sigmatch_4909(it_4, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3));
13212 												if (!(T62_)) goto LA63_;
13213 												T62_ = nameFits__sigmatch_5091(c, it_4, n);
13214 												LA63_: ;
13215 												T61_ = T62_;
13216 												if (!(T61_)) goto LA64_;
13217 												T61_ = argsFit__sigmatch_5113(c, it_4, n, nOrig);
13218 												LA64_: ;
13219 												if (!T61_) goto LA65_;
13220 												T67_ = (NI)0;
13221 												T67_ = getQuality__sigmatch_5002(it_4);
13222 												T68_ = NIM_NIL;
13223 												T68_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T67_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13224 												unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13225 												T69_ = (*outputs)->Sup.len++;
13226 												asgnRef((void**) (&(*outputs)->data[T69_]), T68_);
13227 											}
13228 											LA65_: ;
13229 										}
13230 										LA57_: ;
13231 										i_2 += ((NI) 1);
13232 									} LA54: ;
13233 								}
13234 							}
13235 						}
13236 						LA28_: ;
13237 					}
13238 					i += ((NI) 1);
13239 				} LA26: ;
13240 			}
13241 		}
13242 	}
13243 }
N_NIMCALL(void,suggestVar__sigmatch_5139)13244 N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
13245 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
13246 	info = (*n).info;
13247 	{
13248 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
13249 		NI scopeN;
13250 		NIM_BOOL isLocal;
13251 		NIM_BOOL isLocal_2;
13252 		NI scopeN_2;
13253 		item = NIM_NIL;
13254 		scopeN = (NI)0;
13255 		isLocal = (NIM_BOOL)0;
13256 		isLocal_2 = NIM_TRUE;
13257 		scopeN_2 = ((NI) 0);
13258 		{
13259 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
13260 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
13261 			scope = NIM_NIL;
13262 			current = (*c).currentScope;
13263 			{
13264 				while (1) {
13265 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
13266 					scope = current;
13267 					{
13268 						if (!(scope == (*c).topLevelScope)) goto LA7_;
13269 						isLocal_2 = NIM_FALSE;
13270 					}
13271 					LA7_: ;
13272 					scopeN_2 -= ((NI) 1);
13273 					{
13274 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
13275 						tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
13276 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
13277 						item_2 = NIM_NIL;
13278 						nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
13279 						s = initTabIter__astalgo_3777((&it), (*scope).symbols);
13280 						{
13281 							while (1) {
13282 								tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
13283 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
13284 								tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
13285 								if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
13286 								item_2 = s;
13287 								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13288 								colontmp_.Field0 = item_2;
13289 								colontmp_.Field1 = scopeN_2;
13290 								colontmp_.Field2 = isLocal_2;
13291 								item = colontmp_.Field0;
13292 								scopeN = colontmp_.Field1;
13293 								isLocal = colontmp_.Field2;
13294 								it_2 = item;
13295 								pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13296 								{
13297 									NIM_BOOL T14_;
13298 									NI T17_;
13299 									tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_;
13300 									NI T19_;
13301 									T14_ = (NIM_BOOL)0;
13302 									T14_ = nameFits__sigmatch_5091(c, it_2, n);
13303 									if (!T14_) goto LA15_;
13304 									T17_ = (NI)0;
13305 									T17_ = getQuality__sigmatch_5002(it_2);
13306 									T18_ = NIM_NIL;
13307 									T18_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13308 									unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13309 									T19_ = (*outputs)->Sup.len++;
13310 									asgnRef((void**) (&(*outputs)->data[T19_]), T18_);
13311 								}
13312 								LA15_: ;
13313 								s = nextIter__astalgo_3762((&it), (*scope).symbols);
13314 							} LA11: ;
13315 						}
13316 					}
13317 					current = (*current).parent;
13318 				} LA4: ;
13319 			}
13320 		}
13321 		scopeN_2 -= ((NI) 1);
13322 		isLocal_2 = NIM_FALSE;
13323 		{
13324 			tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
13325 			NI i;
13326 			NI L;
13327 			NI T21_;
13328 			im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
13329 			i = ((NI) 0);
13330 			T21_ = ((*c).imports ? (*c).imports->Sup.len : 0);
13331 			L = T21_;
13332 			{
13333 				while (1) {
13334 					if (!(i < L)) goto LA23;
13335 					im = (&(*c).imports->data[i]);
13336 					{
13337 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
13338 						NIM_BOOL importHidden;
13339 						s_2 = NIM_NIL;
13340 						importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
13341 						{
13342 							NIM_BOOL T27_;
13343 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
13344 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
13345 							T27_ = (NIM_BOOL)0;
13346 							T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
13347 							if (!T27_) goto LA28_;
13348 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
13349 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
13350 							{
13351 								while (1) {
13352 									tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
13353 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
13354 									tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
13355 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31;
13356 									s_2 = r;
13357 									nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13358 									colontmp__2.Field0 = s_2;
13359 									colontmp__2.Field1 = scopeN_2;
13360 									colontmp__2.Field2 = isLocal_2;
13361 									item = colontmp__2.Field0;
13362 									scopeN = colontmp__2.Field1;
13363 									isLocal = colontmp__2.Field2;
13364 									it_3 = item;
13365 									pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13366 									{
13367 										NIM_BOOL T34_;
13368 										NI T37_;
13369 										tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_;
13370 										NI T39_;
13371 										T34_ = (NIM_BOOL)0;
13372 										T34_ = nameFits__sigmatch_5091(c, it_3, n);
13373 										if (!T34_) goto LA35_;
13374 										T37_ = (NI)0;
13375 										T37_ = getQuality__sigmatch_5002(it_3);
13376 										T38_ = NIM_NIL;
13377 										T38_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13378 										unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13379 										T39_ = (*outputs)->Sup.len++;
13380 										asgnRef((void**) (&(*outputs)->data[T39_]), T38_);
13381 									}
13382 									LA35_: ;
13383 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
13384 								} LA31: ;
13385 							}
13386 						}
13387 						goto LA25_;
13388 						LA28_: ;
13389 						{
13390 							{
13391 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
13392 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
13393 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
13394 								NI i_2;
13395 								NI L_2;
13396 								NI T46_;
13397 								s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
13398 								colontmp__3 = NIM_NIL;
13399 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
13400 								{
13401 									if (!importHidden) goto LA44_;
13402 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
13403 								}
13404 								LA44_: ;
13405 								colontmp__3 = (*retX60gensym17_).data;
13406 								i_2 = ((NI) 0);
13407 								T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
13408 								L_2 = T46_;
13409 								{
13410 									while (1) {
13411 										if (!(i_2 < L_2)) goto LA48;
13412 										s_3 = &colontmp__3->data[i_2];
13413 										{
13414 											tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
13415 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
13416 											tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
13417 											if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_;
13418 											s_2 = (*s_3);
13419 											nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13420 											colontmp__4.Field0 = s_2;
13421 											colontmp__4.Field1 = scopeN_2;
13422 											colontmp__4.Field2 = isLocal_2;
13423 											item = colontmp__4.Field0;
13424 											scopeN = colontmp__4.Field1;
13425 											isLocal = colontmp__4.Field2;
13426 											it_4 = item;
13427 											pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13428 											{
13429 												NIM_BOOL T55_;
13430 												NI T58_;
13431 												tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_;
13432 												NI T60_;
13433 												T55_ = (NIM_BOOL)0;
13434 												T55_ = nameFits__sigmatch_5091(c, it_4, n);
13435 												if (!T55_) goto LA56_;
13436 												T58_ = (NI)0;
13437 												T58_ = getQuality__sigmatch_5002(it_4);
13438 												T59_ = NIM_NIL;
13439 												T59_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13440 												unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13441 												T60_ = (*outputs)->Sup.len++;
13442 												asgnRef((void**) (&(*outputs)->data[T60_]), T59_);
13443 											}
13444 											LA56_: ;
13445 										}
13446 										LA51_: ;
13447 										i_2 += ((NI) 1);
13448 									} LA48: ;
13449 								}
13450 							}
13451 						}
13452 						LA25_: ;
13453 					}
13454 					i += ((NI) 1);
13455 				} LA23: ;
13456 			}
13457 		}
13458 	}
13459 }
N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ *,newSeq__sigmatch_4767)13460 N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len) {
13461 	tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* result;
13462 	result = NIM_NIL;
13463 	result = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) newSeq((&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), len);
13464 	return result;
13465 }
N_INLINE(NI,star___pureZalgorithm_8)13466 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13467 	NI result;
13468 	NI y;
13469 	result = (NI)0;
13470 	y = (NI)(order - ((NI) 1));
13471 	result = (NI)((NI)(x ^ y) - y);
13472 	return result;
13473 }
N_NIMCALL(void,mergeAlt__sigmatch_4787)13474 N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sigmatch_4787)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13475 	NI j;
13476 	NI bb;
13477 	NI i;
13478 	NI k;
13479 {	{
13480 		NI T3_;
13481 		NI T4_;
13482 		T3_ = (NI)0;
13483 		T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI) 1))], cmp.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_87)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI) 1))]);
13484 		T4_ = (NI)0;
13485 		T4_ = star___pureZalgorithm_8(T3_, order);
13486 		if (!(T4_ <= ((NI) 0))) goto LA5_;
13487 		goto BeforeRet_;
13488 	}
13489 	LA5_: ;
13490 	j = lo;
13491 	bb = ((NI) 0);
13492 	{
13493 		while (1) {
13494 			if (!(j <= m)) goto LA8;
13495 			unsureAsgnRef((void**) (&b[bb]), a[j]);
13496 			bb += ((NI) 1);
13497 			j += ((NI) 1);
13498 		} LA8: ;
13499 	}
13500 	i = ((NI) 0);
13501 	k = lo;
13502 	{
13503 		while (1) {
13504 			NIM_BOOL T11_;
13505 			T11_ = (NIM_BOOL)0;
13506 			T11_ = (k < j);
13507 			if (!(T11_)) goto LA12_;
13508 			T11_ = (j <= hi);
13509 			LA12_: ;
13510 			if (!T11_) goto LA10;
13511 			{
13512 				NI T15_;
13513 				NI T16_;
13514 				T15_ = (NI)0;
13515 				T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_88)(cmp.ClP_0))(b[i], a[j]);
13516 				T16_ = (NI)0;
13517 				T16_ = star___pureZalgorithm_8(T15_, order);
13518 				if (!(T16_ <= ((NI) 0))) goto LA17_;
13519 				unsureAsgnRef((void**) (&a[k]), b[i]);
13520 				i += ((NI) 1);
13521 			}
13522 			goto LA13_;
13523 			LA17_: ;
13524 			{
13525 				unsureAsgnRef((void**) (&a[k]), a[j]);
13526 				j += ((NI) 1);
13527 			}
13528 			LA13_: ;
13529 			k += ((NI) 1);
13530 		} LA10: ;
13531 	}
13532 	{
13533 		while (1) {
13534 			if (!(k < j)) goto LA21;
13535 			unsureAsgnRef((void**) (&a[k]), b[i]);
13536 			k += ((NI) 1);
13537 			i += ((NI) 1);
13538 		} LA21: ;
13539 	}
13540 	}BeforeRet_: ;
13541 }
N_NIMCALL(void,sort__sigmatch_4755)13542 N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13543 	NI n;
13544 	tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* b;
13545 	NI s;
13546 	n = aLen_0;
13547 	b = newSeq__sigmatch_4767(((NI) ((NI)(n / ((NI) 2)))));
13548 	s = ((NI) 1);
13549 	{
13550 		while (1) {
13551 			NI m;
13552 			if (!(s < n)) goto LA2;
13553 			m = (NI)((NI)(n - ((NI) 1)) - s);
13554 			{
13555 				while (1) {
13556 					if (!(((NI) 0) <= m)) goto LA4;
13557 					mergeAlt__sigmatch_4787(a, aLen_0, b->data, (b ? b->Sup.len : 0), (((NI)((NI)(m - s) + ((NI) 1)) >= ((NI) 0)) ? (NI)((NI)(m - s) + ((NI) 1)) : ((NI) 0)), m, (NI)(m + s), cmp, order);
13558 					m -= (NI)(s * ((NI) 2));
13559 				} LA4: ;
13560 			}
13561 			s = (NI)(s * ((NI) 2));
13562 		} LA2: ;
13563 	}
13564 }
N_NIMCALL(NI,cmpSuggestions__sigmatch_4436)13565 N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b) {
13566 	NI result;
13567 {	result = (NI)0;
13568 	result = (NI)(((NI) ((*b).prefix)) - ((NI) ((*a).prefix)));
13569 	{
13570 		if (!!((result == ((NI) 0)))) goto LA3_;
13571 		goto BeforeRet_;
13572 	}
13573 	LA3_: ;
13574 	result = (NI)(((NI) ((*b).contextFits)) - ((NI) ((*a).contextFits)));
13575 	{
13576 		if (!!((result == ((NI) 0)))) goto LA7_;
13577 		goto BeforeRet_;
13578 	}
13579 	LA7_: ;
13580 	result = (NI)((*b).scope - (*a).scope);
13581 	{
13582 		if (!!((result == ((NI) 0)))) goto LA11_;
13583 		goto BeforeRet_;
13584 	}
13585 	LA11_: ;
13586 	result = (NI)(((NI) ((*b).quality)) - ((NI) ((*a).quality)));
13587 	{
13588 		if (!!((result == ((NI) 0)))) goto LA15_;
13589 		goto BeforeRet_;
13590 	}
13591 	LA15_: ;
13592 	result = (NI)((*b).localUsages - (*a).localUsages);
13593 	{
13594 		if (!!((result == ((NI) 0)))) goto LA19_;
13595 		goto BeforeRet_;
13596 	}
13597 	LA19_: ;
13598 	result = (NI)((*b).globalUsages - (*a).globalUsages);
13599 	{
13600 		if (!!((result == ((NI) 0)))) goto LA23_;
13601 		goto BeforeRet_;
13602 	}
13603 	LA23_: ;
13604 	result = cmp__system_1549((*(*a).name), (*(*b).name));
13605 	}BeforeRet_: ;
13606 	return result;
13607 }
N_NIMCALL(NimStringDesc *,dollar___sigmatch_4707)13608 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest) {
13609 	NimStringDesc* result;
13610 	result = NIM_NIL;
13611 	result = dollar___options_4697((*suggest).section);
13612 	result = addChar(result, 9);
13613 	{
13614 		NimStringDesc* T17_;
13615 		NimStringDesc* T18_;
13616 		NimStringDesc* T19_;
13617 		if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8))) goto LA3_;
13618 		{
13619 			NIM_BOOL T7_;
13620 			T7_ = (NIM_BOOL)0;
13621 			T7_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
13622 			if (!(T7_)) goto LA8_;
13623 			T7_ = (*suggest).isGlobal;
13624 			LA8_: ;
13625 			if (!T7_) goto LA9_;
13626 			result = resizeString(result, 11);
13627 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_91));
13628 		}
13629 		goto LA5_;
13630 		LA9_: ;
13631 		{
13632 			NIM_BOOL T12_;
13633 			T12_ = (NIM_BOOL)0;
13634 			T12_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
13635 			if (!(T12_)) goto LA13_;
13636 			T12_ = (*suggest).isGlobal;
13637 			LA13_: ;
13638 			if (!T12_) goto LA14_;
13639 			result = resizeString(result, 11);
13640 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_92));
13641 		}
13642 		goto LA5_;
13643 		LA14_: ;
13644 		{
13645 			result = resizeString(result, (reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 0);
13646 appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
13647 		}
13648 		LA5_: ;
13649 		result = addChar(result, 9);
13650 		T17_ = NIM_NIL;
13651 		T17_ = dollar___systemZdollars_3((*suggest).line);
13652 		result = resizeString(result, (T17_ ? T17_->Sup.len : 0) + 0);
13653 appendString(result, T17_);
13654 		result = addChar(result, 9);
13655 		T18_ = NIM_NIL;
13656 		T18_ = dollar___systemZdollars_3((*suggest).column);
13657 		result = resizeString(result, (T18_ ? T18_->Sup.len : 0) + 0);
13658 appendString(result, T18_);
13659 		result = addChar(result, 9);
13660 		T19_ = NIM_NIL;
13661 		T19_ = dollar___systemZdollars_3((*suggest).tokenLen);
13662 		result = resizeString(result, (T19_ ? T19_->Sup.len : 0) + 0);
13663 appendString(result, T19_);
13664 	}
13665 	goto LA1_;
13666 	LA3_: ;
13667 	{
13668 		NimStringDesc* T27_;
13669 		NimStringDesc* T28_;
13670 		result = resizeString(result, (reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 0);
13671 appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
13672 		result = addChar(result, 9);
13673 		{
13674 			NI T23_;
13675 			NimStringDesc* T26_;
13676 			T23_ = ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0);
13677 			if (!!((T23_ == ((NI) 0)))) goto LA24_;
13678 			T26_ = NIM_NIL;
13679 			T26_ = nsuJoinSep((*suggest).qualifiedPath->data, ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0), ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_93));
13680 			result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0);
13681 appendString(result, T26_);
13682 		}
13683 		LA24_: ;
13684 		result = addChar(result, 9);
13685 		result = resizeString(result, ((*suggest).forth ? (*suggest).forth->Sup.len : 0) + 0);
13686 appendString(result, (*suggest).forth);
13687 		result = addChar(result, 9);
13688 		result = resizeString(result, ((*suggest).filePath ? (*suggest).filePath->Sup.len : 0) + 0);
13689 appendString(result, (*suggest).filePath);
13690 		result = addChar(result, 9);
13691 		T27_ = NIM_NIL;
13692 		T27_ = dollar___systemZdollars_3((*suggest).line);
13693 		result = resizeString(result, (T27_ ? T27_->Sup.len : 0) + 0);
13694 appendString(result, T27_);
13695 		result = addChar(result, 9);
13696 		T28_ = NIM_NIL;
13697 		T28_ = dollar___systemZdollars_3((*suggest).column);
13698 		result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0);
13699 appendString(result, T28_);
13700 		result = addChar(result, 9);
13701 		{
13702 			NimStringDesc* T33_;
13703 			if (!((*suggest).version == ((NI) 0))) goto LA31_;
13704 			result = addChar(result, 9);
13705 			T33_ = NIM_NIL;
13706 			T33_ = dollar___systemZdollars_3(((NI) ((*suggest).quality)));
13707 			result = resizeString(result, (T33_ ? T33_->Sup.len : 0) + 0);
13708 appendString(result, T33_);
13709 			{
13710 				if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA36_;
13711 				result = addChar(result, 9);
13712 				result = resizeString(result, (reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)) ? reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_))->Sup.len : 0) + 0);
13713 appendString(result, reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)));
13714 			}
13715 			LA36_: ;
13716 		}
13717 		LA31_: ;
13718 	}
13719 	LA1_: ;
13720 	return result;
13721 }
N_NIMCALL(void,produceOutput__sigmatch_4746)13722 N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
13723 	{
13724 		tyProc__pNH4eLNN9aK2oskAhILvUcw T5_;
13725 		if (!((6 &((NU16)1<<((NU)((*conf).ideCmd)&15U)))!=0)) goto LA3_;
13726 		nimZeroMem((void*)(&T5_), sizeof(tyProc__pNH4eLNN9aK2oskAhILvUcw));
13727 		T5_.ClP_0 = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (cmpSuggestions__sigmatch_4436)); T5_.ClE_0 = NIM_NIL;
13728 		sort__sigmatch_4755((*a)->data, ((*a) ? (*a)->Sup.len : 0), T5_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
13729 	}
13730 	LA3_: ;
13731 	{
13732 		NI T8_;
13733 		T8_ = ((*a) ? (*a)->Sup.len : 0);
13734 		if (!((*conf).suggestMaxResults < T8_)) goto LA9_;
13735 		unsureAsgnRef((void**) (&(*a)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) setLengthSeqV2(&((*a))->Sup, (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), ((NI) ((*conf).suggestMaxResults))));
13736 	}
13737 	LA9_: ;
13738 	{
13739 		if (!!(((*conf).suggestionResultHook.ClP_0 == 0))) goto LA13_;
13740 		{
13741 			tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s;
13742 			NI i;
13743 			NI L;
13744 			NI T16_;
13745 			s = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0;
13746 			i = ((NI) 0);
13747 			T16_ = ((*a) ? (*a)->Sup.len : 0);
13748 			L = T16_;
13749 			{
13750 				while (1) {
13751 					if (!(i < L)) goto LA18;
13752 					s = &(*a)->data[i];
13753 					(*conf).suggestionResultHook.ClE_0? (*conf).suggestionResultHook.ClP_0((*s), (*conf).suggestionResultHook.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_90)((*conf).suggestionResultHook.ClP_0))((*s));
13754 					i += ((NI) 1);
13755 				} LA18: ;
13756 			}
13757 		}
13758 	}
13759 	goto LA11_;
13760 	LA13_: ;
13761 	{
13762 		{
13763 			tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s_2;
13764 			NI i_2;
13765 			NI L_2;
13766 			NI T21_;
13767 			s_2 = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0;
13768 			i_2 = ((NI) 0);
13769 			T21_ = ((*a) ? (*a)->Sup.len : 0);
13770 			L_2 = T21_;
13771 			{
13772 				while (1) {
13773 					NimStringDesc* T24_;
13774 					if (!(i_2 < L_2)) goto LA23;
13775 					s_2 = &(*a)->data[i_2];
13776 					T24_ = NIM_NIL;
13777 					T24_ = dollar___sigmatch_4707((*s_2));
13778 					suggestWriteln__msgs_421(conf, T24_);
13779 					i_2 += ((NI) 1);
13780 				} LA23: ;
13781 			}
13782 		}
13783 	}
13784 	LA11_: ;
13785 }
N_NIMCALL(void,suggestExprNoCheck__sigmatch_6450)13786 N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13787 	tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs;
13788 {	{
13789 		if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_;
13790 		goto BeforeRet_;
13791 	}
13792 	LA3_: ;
13793 	(*c).compilesContextId += ((NI) 1);
13794 	outputs = NIM_NIL;
13795 	{
13796 		if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA7_;
13797 		sugExpr__sigmatch_6417(c, n, (&outputs));
13798 	}
13799 	goto LA5_;
13800 	LA7_: ;
13801 	{
13802 		if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2))) goto LA10_;
13803 		{
13804 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
13805 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
13806 			if (!((*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))) goto LA14_;
13807 			a = copyNode__ast_4336(n);
13808 			x = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]);
13809 			{
13810 				NIM_BOOL T18_;
13811 				T18_ = (NIM_BOOL)0;
13812 				T18_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13813 				if (T18_) goto LA19_;
13814 				T18_ = ((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13815 				LA19_: ;
13816 				if (!T18_) goto LA20_;
13817 				x = (*n)._kind_6.sons->data[((NI) 0)];
13818 			}
13819 			LA20_: ;
13820 			add__ast_4797(a, x);
13821 			{
13822 				NI i;
13823 				NI colontmp_;
13824 				NI i_2;
13825 				i = (NI)0;
13826 				colontmp_ = (NI)0;
13827 				colontmp_ = len__ast_3198(n);
13828 				i_2 = ((NI) 1);
13829 				{
13830 					while (1) {
13831 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
13832 						if (!(i_2 < colontmp_)) goto LA24;
13833 						i = i_2;
13834 						x_2 = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[i]);
13835 						{
13836 							NIM_BOOL T27_;
13837 							T27_ = (NIM_BOOL)0;
13838 							T27_ = ((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13839 							if (T27_) goto LA28_;
13840 							T27_ = ((*x_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13841 							LA28_: ;
13842 							if (!T27_) goto LA29_;
13843 							goto LA22;
13844 						}
13845 						LA29_: ;
13846 						add__ast_4797(a, x_2);
13847 						i_2 += ((NI) 1);
13848 					} LA24: ;
13849 				}
13850 			} LA22: ;
13851 			suggestCall__sigmatch_5124(c, a, n, (&outputs));
13852 		}
13853 		goto LA12_;
13854 		LA14_: ;
13855 		{
13856 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_3;
13857 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA32_;
13858 			x_3 = safeSemExpr__sigmatch_6411(c, n);
13859 			{
13860 				NIM_BOOL T36_;
13861 				T36_ = (NIM_BOOL)0;
13862 				T36_ = ((*x_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13863 				if (T36_) goto LA37_;
13864 				T36_ = ((*x_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13865 				LA37_: ;
13866 				if (!T36_) goto LA38_;
13867 				x_3 = n;
13868 			}
13869 			LA38_: ;
13870 			suggestVar__sigmatch_5139(c, x_3, (&outputs));
13871 		}
13872 		goto LA12_;
13873 		LA32_: ;
13874 		LA12_: ;
13875 	}
13876 	goto LA5_;
13877 	LA10_: ;
13878 	LA5_: ;
13879 	(*c).compilesContextId -= ((NI) 1);
13880 	{
13881 		NIM_BOOL T42_;
13882 		NI T43_;
13883 		T42_ = (NIM_BOOL)0;
13884 		T43_ = (outputs ? outputs->Sup.len : 0);
13885 		T42_ = (((NI) 0) < T43_);
13886 		if (!(T42_)) goto LA44_;
13887 		T42_ = ((14 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0);
13888 		LA44_: ;
13889 		if (!T42_) goto LA45_;
13890 		produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config);
13891 		suggestQuit__msgs_446();
13892 	}
13893 	LA45_: ;
13894 	}BeforeRet_: ;
13895 }
N_NIMCALL(void,suggestExpr__sigmatch_6536)13896 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13897 	{
13898 		NIM_BOOL T3_;
13899 		T3_ = (NIM_BOOL)0;
13900 		T3_ = exactEquals__msgs_997((*(*(*c).graph).config).m.trackPos, (*n).info);
13901 		if (!T3_) goto LA4_;
13902 		suggestExprNoCheck__sigmatch_6450(c, n);
13903 	}
13904 	LA4_: ;
13905 }
N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg,inCheckpoint__sigmatch_5312)13906 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg, inCheckpoint__sigmatch_5312)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q current, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos) {
13907 	tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg result;
13908 {	result = (tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg)0;
13909 	{
13910 		if (!(current.fileIndex == trackPos.fileIndex)) goto LA3_;
13911 		{
13912 			NIM_BOOL T7_;
13913 			T7_ = (NIM_BOOL)0;
13914 			T7_ = (current.line == trackPos.line);
13915 			if (!(T7_)) goto LA8_;
13916 			T7_ = (((NI16)(current.col - trackPos.col) > 0? ((NI16)(current.col - trackPos.col)) : -((NI16)(current.col - trackPos.col))) < ((NI16) 4));
13917 			LA8_: ;
13918 			if (!T7_) goto LA9_;
13919 			result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 2);
13920 			goto BeforeRet_;
13921 		}
13922 		LA9_: ;
13923 		{
13924 			if (!((NU16)(trackPos.line) <= (NU16)(current.line))) goto LA13_;
13925 			result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 1);
13926 			goto BeforeRet_;
13927 		}
13928 		LA13_: ;
13929 	}
13930 	LA3_: ;
13931 	}BeforeRet_: ;
13932 	return result;
13933 }
N_NIMCALL(void,semFinishOperands__sigmatch_4162)13934 N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4162)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13935 	{
13936 		NI i;
13937 		NI colontmp_;
13938 		NI i_2;
13939 		i = (NI)0;
13940 		colontmp_ = (NI)0;
13941 		colontmp_ = len__ast_3198(n);
13942 		i_2 = ((NI) 1);
13943 		{
13944 			while (1) {
13945 				if (!(i_2 < colontmp_)) goto LA3;
13946 				i = i_2;
13947 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[i]));
13948 				i_2 += ((NI) 1);
13949 			} LA3: ;
13950 		}
13951 	}
13952 }
N_NIMCALL(void,Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)13953 static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op) {
13954 	tySequence__0dpGN6F4ocevqUQGsaf41w* a;
13955 	NI T1_;
13956 	a = (tySequence__0dpGN6F4ocevqUQGsaf41w*)p;
13957 	T1_ = (NI)0;
13958 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
13959 	nimGCvisit((void*)a->data[T1_].sym, op);
13960 	nimGCvisit((void*)a->data[T1_].firstMismatch.formal, op);
13961 	nimGCvisit((void*)a->data[T1_].diagnostics, op);
13962 	}
13963 }
N_NIMCALL(NimStringDesc *,argTypeToString__sigmatch_362)13964 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
13965 	NimStringDesc* result;
13966 	result = NIM_NIL;
13967 	{
13968 		if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3_;
13969 		result = typeToString__types_50((*(*arg)._kind_6.sons->data[((NI) 0)]).typ, prefer);
13970 		{
13971 			NI i;
13972 			NI colontmp_;
13973 			NI i_2;
13974 			i = (NI)0;
13975 			colontmp_ = (NI)0;
13976 			colontmp_ = len__ast_3198(arg);
13977 			i_2 = ((NI) 1);
13978 			{
13979 				while (1) {
13980 					NimStringDesc* T8_;
13981 					if (!(i_2 < colontmp_)) goto LA7;
13982 					i = i_2;
13983 					result = resizeString(result, 3);
13984 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_96));
13985 					T8_ = NIM_NIL;
13986 					T8_ = typeToString__types_50((*(*arg)._kind_6.sons->data[i]).typ, prefer);
13987 					result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
13988 appendString(result, T8_);
13989 					i_2 += ((NI) 1);
13990 				} LA7: ;
13991 			}
13992 		}
13993 	}
13994 	goto LA1_;
13995 	LA3_: ;
13996 	{
13997 		if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA10_;
13998 		result = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_97));
13999 	}
14000 	goto LA1_;
14001 	LA10_: ;
14002 	{
14003 		result = typeToString__types_50((*arg).typ, prefer);
14004 	}
14005 	LA1_: ;
14006 	return result;
14007 }
N_NIMCALL(NimStringDesc *,describeArgs__sigmatch_384)14008 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, describeArgs__sigmatch_384)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startIdx, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
14009 	NimStringDesc* result;
14010 {	result = NIM_NIL;
14011 	result = ((NimStringDesc*) NIM_NIL);
14012 	{
14013 		NI i;
14014 		NI colontmp_;
14015 		NI i_2;
14016 		i = (NI)0;
14017 		colontmp_ = (NI)0;
14018 		colontmp_ = len__ast_3198(n);
14019 		i_2 = startIdx;
14020 		{
14021 			while (1) {
14022 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
14023 				NimStringDesc* T28_;
14024 				if (!(i_2 < colontmp_)) goto LA3;
14025 				i = i_2;
14026 				arg = (*n)._kind_6.sons->data[i];
14027 				{
14028 					NimStringDesc* T8_;
14029 					if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA6_;
14030 					T8_ = NIM_NIL;
14031 					T8_ = renderTree__renderer_46((*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], 0);
14032 					result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
14033 appendString(result, T8_);
14034 					result = resizeString(result, 2);
14035 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_95));
14036 					{
14037 						NIM_BOOL T11_;
14038 						T11_ = (NIM_BOOL)0;
14039 						T11_ = ((*arg).typ == 0);
14040 						if (!(T11_)) goto LA12_;
14041 						T11_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52)));
14042 						LA12_: ;
14043 						if (!T11_) goto LA13_;
14044 						arg = (*c).semOperand(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], 0);
14045 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*arg).typ);
14046 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), arg);
14047 					}
14048 					LA13_: ;
14049 				}
14050 				goto LA4_;
14051 				LA6_: ;
14052 				{
14053 					{
14054 						NIM_BOOL T18_;
14055 						T18_ = (NIM_BOOL)0;
14056 						T18_ = ((*arg).typ == 0);
14057 						if (!(T18_)) goto LA19_;
14058 						T18_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87)));
14059 						LA19_: ;
14060 						if (!T18_) goto LA20_;
14061 						arg = (*c).semOperand(c, (*n)._kind_6.sons->data[i], 0);
14062 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), arg);
14063 					}
14064 					LA20_: ;
14065 				}
14066 				LA4_: ;
14067 				{
14068 					NIM_BOOL T24_;
14069 					T24_ = (NIM_BOOL)0;
14070 					T24_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14071 					if (!(T24_)) goto LA25_;
14072 					T24_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
14073 					LA25_: ;
14074 					if (!T24_) goto LA26_;
14075 					goto BeforeRet_;
14076 				}
14077 				LA26_: ;
14078 				T28_ = NIM_NIL;
14079 				T28_ = argTypeToString__sigmatch_362(arg, prefer);
14080 				result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0);
14081 appendString(result, T28_);
14082 				{
14083 					NI T31_;
14084 					T31_ = (NI)0;
14085 					T31_ = len__ast_3198(n);
14086 					if (!!((i == (NI)(T31_ - ((NI) 1))))) goto LA32_;
14087 					result = resizeString(result, 2);
14088 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
14089 				}
14090 				LA32_: ;
14091 				i_2 += ((NI) 1);
14092 			} LA3: ;
14093 		}
14094 	}
14095 	}BeforeRet_: ;
14096 	return result;
14097 }
N_NIMCALL(void,matches__sigmatch_4181)14098 N_LIB_PRIVATE N_NIMCALL(void, matches__sigmatch_4181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m) {
14099 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
14100 {	{
14101 		if (!((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA3_;
14102 		(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
14103 		unsureAsgnRef((void**) (&(*m).call), n);
14104 		goto BeforeRet_;
14105 	}
14106 	LA3_: ;
14107 	nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
14108 	initIntSet__pureZcollectionsZintsets_238((&marker));
14109 	matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker));
14110 	{
14111 		if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA7_;
14112 		goto BeforeRet_;
14113 	}
14114 	LA7_: ;
14115 	{
14116 		NI f;
14117 		NI colontmp_;
14118 		NI i;
14119 		f = (NI)0;
14120 		colontmp_ = (NI)0;
14121 		colontmp_ = len__ast_3198((*(*m).callee).n);
14122 		i = ((NI) 1);
14123 		{
14124 			while (1) {
14125 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
14126 				if (!(i < colontmp_)) goto LA11;
14127 				f = i;
14128 				formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
14129 				{
14130 					NIM_BOOL T14_;
14131 					T14_ = (NIM_BOOL)0;
14132 					T14_ = containsOrIncl__astalgo_402((&marker), (*formal).position);
14133 					if (!!(T14_)) goto LA15_;
14134 					{
14135 						if (!((*formal).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA19_;
14136 						{
14137 							tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw cnKind;
14138 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container;
14139 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
14140 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
14141 							if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA23_;
14142 							{
14143 								NIM_BOOL T27_;
14144 								T27_ = (NIM_BOOL)0;
14145 								T27_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
14146 								if (!(T27_)) goto LA28_;
14147 								T27_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
14148 								LA28_: ;
14149 								if (!T27_) goto LA29_;
14150 								cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152);
14151 							}
14152 							goto LA25_;
14153 							LA29_: ;
14154 							{
14155 								cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41);
14156 							}
14157 							LA25_: ;
14158 							T32_ = NIM_NIL;
14159 							T32_ = arrayConstr__sigmatch_3725(c, (*n).info);
14160 							container = newNodeIT__ast_3378(cnKind, (*n).info, T32_);
14161 							T33_ = NIM_NIL;
14162 							T33_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c);
14163 							setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T33_);
14164 						}
14165 						goto LA21_;
14166 						LA23_: ;
14167 						{
14168 							(*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
14169 							(*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 5);
14170 							unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
14171 							goto LA9;
14172 						}
14173 						LA21_: ;
14174 					}
14175 					goto LA17_;
14176 					LA19_: ;
14177 					{
14178 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue;
14179 						{
14180 							NimStringDesc* T40_;
14181 							if (!((*(*formal).ast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_;
14182 							T40_ = NIM_NIL;
14183 							T40_ = nsuFormatSingleElem(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_98), (*(*formal).name).s);
14184 							liMessage__msgs_1118((*(*c).graph).config, (*(*m).call).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_99, NIM_FALSE);
14185 						}
14186 						LA38_: ;
14187 						{
14188 							if (!(((*(*formal).ast).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA43_;
14189 							(*(*m).call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
14190 						}
14191 						LA43_: ;
14192 						defaultValue = copyTree__ast_4431((*formal).ast);
14193 						{
14194 							if (!((*defaultValue).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA47_;
14195 							defaultValue = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, defaultValue, (&(*m)), c);
14196 						}
14197 						LA47_: ;
14198 						{
14199 							tyObject_TType__facALICuu8zUj0hjvbTLFg* existing;
14200 							RootObj* T53_;
14201 							if (!!(((100663296 & (*(*formal).typ).flags) == 0))) goto LA51_;
14202 							T53_ = NIM_NIL;
14203 							T53_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*formal).typ)))));
14204 							existing = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T53_));
14205 							{
14206 								NIM_BOOL T56_;
14207 								T56_ = (NIM_BOOL)0;
14208 								T56_ = (existing == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
14209 								if (T56_) goto LA57_;
14210 								T56_ = ((*existing).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
14211 								LA57_: ;
14212 								if (!T56_) goto LA58_;
14213 								put__sigmatch_120(m, (*formal).typ, (*defaultValue).typ);
14214 							}
14215 							LA58_: ;
14216 						}
14217 						LA51_: ;
14218 						(*defaultValue).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18)) & 31);
14219 						setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), defaultValue);
14220 					}
14221 					LA17_: ;
14222 				}
14223 				LA15_: ;
14224 				i += ((NI) 1);
14225 			} LA11: ;
14226 		}
14227 	} LA9: ;
14228 	{
14229 		if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA62_;
14230 		{
14231 			tyObject_TType__facALICuu8zUj0hjvbTLFg** t;
14232 			NI i_2;
14233 			NI L;
14234 			NI T65_;
14235 			t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
14236 			i_2 = ((NI) 0);
14237 			T65_ = ((*m).inferredTypes ? (*m).inferredTypes->Sup.len : 0);
14238 			L = T65_;
14239 			{
14240 				while (1) {
14241 					if (!(i_2 < L)) goto LA67;
14242 					t = &(*m).inferredTypes->data[i_2];
14243 					{
14244 						NI T70_;
14245 						T70_ = (NI)0;
14246 						T70_ = len__ast_4002((*t));
14247 						if (!(((NI) 1) < T70_)) goto LA71_;
14248 						asgnRef((void**) (&(*(*t)).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*(*t)).sons)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) 1)));
14249 					}
14250 					LA71_: ;
14251 					i_2 += ((NI) 1);
14252 				} LA67: ;
14253 			}
14254 		}
14255 	}
14256 	LA62_: ;
14257 	}BeforeRet_: ;
14258 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,cmpTypes__sigmatch_3047)14259 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, cmpTypes__sigmatch_3047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
14260 	tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
14261 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14262 	result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
14263 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14264 	newCandidate__sigmatch_195(c, f, (&m));
14265 	result = typeRel__sigmatch_202((&m), f, a, 0);
14266 	return result;
14267 }
N_NIMCALL(void,suggestStmt__sigmatch_6552)14268 N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14269 	suggestExpr__sigmatch_6536(c, n);
14270 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instTypeBoundOp__sigmatch_4327)14271 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instTypeBoundOp__sigmatch_4327)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col) {
14272 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
14273 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14274 	tyObject_TType__facALICuu8zUj0hjvbTLFg* f;
14275 {	result = NIM_NIL;
14276 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14277 	newCandidate__sigmatch_195(c, (*dc).typ, (&m));
14278 	{
14279 		NI T3_;
14280 		NimStringDesc* T6_;
14281 		T3_ = (NI)0;
14282 		T3_ = len__ast_4002((*dc).typ);
14283 		if (!(T3_ <= col)) goto LA4_;
14284 		T6_ = NIM_NIL;
14285 		T6_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22);
14286 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100));
14287 appendString(T6_, (*(*dc).name).s);
14288 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
14289 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_101, NIM_FALSE);
14290 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
14291 		goto BeforeRet_;
14292 	}
14293 	LA4_: ;
14294 	f = (*(*dc).typ).sons->data[col];
14295 	{
14296 		if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA9_;
14297 		{
14298 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA13_;
14299 			f = lastSon__ast_3743(f);
14300 		}
14301 		LA13_: ;
14302 	}
14303 	goto LA7_;
14304 	LA9_: ;
14305 	{
14306 		{
14307 			if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA18_;
14308 			f = lastSon__ast_3743(f);
14309 		}
14310 		LA18_: ;
14311 	}
14312 	LA7_: ;
14313 	{
14314 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T22_;
14315 		NimStringDesc* T25_;
14316 		T22_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
14317 		T22_ = typeRel__sigmatch_202((&m), f, t, 0);
14318 		if (!(T22_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA23_;
14319 		T25_ = NIM_NIL;
14320 		T25_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22);
14321 appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100));
14322 appendString(T25_, (*(*dc).name).s);
14323 appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
14324 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_102, NIM_FALSE);
14325 	}
14326 	goto LA20_;
14327 	LA23_: ;
14328 	{
14329 		result = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, dc, m.bindings, info, (*c).semGenerateInstance.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_103)((*c).semGenerateInstance.ClP_0))(c, dc, m.bindings, info);
14330 		{
14331 			if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA29_;
14332 		}
14333 		LA29_: ;
14334 	}
14335 	LA20_: ;
14336 	}BeforeRet_: ;
14337 	return result;
14338 }
N_NIMCALL(void,suggestSentinel__sigmatch_6567)14339 N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
14340 	tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs;
14341 {	{
14342 		NIM_BOOL T3_;
14343 		T3_ = (NIM_BOOL)0;
14344 		T3_ = !(((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1)));
14345 		if (T3_) goto LA4_;
14346 		T3_ = !(((*(*c).module).position == ((NI) ((*(*(*c).graph).config).m.trackPos.fileIndex))));
14347 		LA4_: ;
14348 		if (!T3_) goto LA5_;
14349 		goto BeforeRet_;
14350 	}
14351 	LA5_: ;
14352 	{
14353 		if (!(((NI) 0) < (*c).compilesContextId)) goto LA9_;
14354 		goto BeforeRet_;
14355 	}
14356 	LA9_: ;
14357 	(*c).compilesContextId += ((NI) 1);
14358 	outputs = NIM_NIL;
14359 	{
14360 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
14361 		NI scopeN;
14362 		NIM_BOOL isLocal;
14363 		NIM_BOOL isLocal_2;
14364 		NI scopeN_2;
14365 		it = NIM_NIL;
14366 		scopeN = (NI)0;
14367 		isLocal = (NIM_BOOL)0;
14368 		isLocal_2 = NIM_TRUE;
14369 		scopeN_2 = ((NI) 0);
14370 		{
14371 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
14372 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
14373 			scope = NIM_NIL;
14374 			current = (*c).currentScope;
14375 			{
14376 				while (1) {
14377 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA14;
14378 					scope = current;
14379 					{
14380 						if (!(scope == (*c).topLevelScope)) goto LA17_;
14381 						isLocal_2 = NIM_FALSE;
14382 					}
14383 					LA17_: ;
14384 					scopeN_2 -= ((NI) 1);
14385 					{
14386 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
14387 						tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
14388 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
14389 						item = NIM_NIL;
14390 						nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
14391 						s = initTabIter__astalgo_3777((&it_2), (*scope).symbols);
14392 						{
14393 							while (1) {
14394 								tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
14395 								tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
14396 								if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21;
14397 								item = s;
14398 								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14399 								colontmp_.Field0 = item;
14400 								colontmp_.Field1 = scopeN_2;
14401 								colontmp_.Field2 = isLocal_2;
14402 								it = colontmp_.Field0;
14403 								scopeN = colontmp_.Field1;
14404 								isLocal = colontmp_.Field2;
14405 								pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14406 								{
14407 									NIM_BOOL T24_;
14408 									tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T27_;
14409 									NI T28_;
14410 									tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T29_;
14411 									NI T30_;
14412 									T24_ = (NIM_BOOL)0;
14413 									T24_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm));
14414 									if (!T24_) goto LA25_;
14415 									T27_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14416 									T28_ = (NI)0;
14417 									T28_ = getQuality__sigmatch_5002(it);
14418 									T29_ = NIM_NIL;
14419 									T29_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T27_, T28_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14420 									outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14421 									T30_ = outputs->Sup.len++;
14422 									asgnRef((void**) (&outputs->data[T30_]), T29_);
14423 								}
14424 								LA25_: ;
14425 								s = nextIter__astalgo_3762((&it_2), (*scope).symbols);
14426 							} LA21: ;
14427 						}
14428 					}
14429 					current = (*current).parent;
14430 				} LA14: ;
14431 			}
14432 		}
14433 		scopeN_2 -= ((NI) 1);
14434 		isLocal_2 = NIM_FALSE;
14435 		{
14436 			tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
14437 			NI i;
14438 			NI L;
14439 			NI T32_;
14440 			im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
14441 			i = ((NI) 0);
14442 			T32_ = ((*c).imports ? (*c).imports->Sup.len : 0);
14443 			L = T32_;
14444 			{
14445 				while (1) {
14446 					if (!(i < L)) goto LA34;
14447 					im = (&(*c).imports->data[i]);
14448 					{
14449 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
14450 						NIM_BOOL importHidden;
14451 						s_2 = NIM_NIL;
14452 						importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
14453 						{
14454 							NIM_BOOL T38_;
14455 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
14456 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
14457 							T38_ = (NIM_BOOL)0;
14458 							T38_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
14459 							if (!T38_) goto LA39_;
14460 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
14461 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
14462 							{
14463 								while (1) {
14464 									tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
14465 									tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
14466 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA42;
14467 									s_2 = r;
14468 									nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14469 									colontmp__2.Field0 = s_2;
14470 									colontmp__2.Field1 = scopeN_2;
14471 									colontmp__2.Field2 = isLocal_2;
14472 									it = colontmp__2.Field0;
14473 									scopeN = colontmp__2.Field1;
14474 									isLocal = colontmp__2.Field2;
14475 									pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14476 									{
14477 										NIM_BOOL T45_;
14478 										tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T48_;
14479 										NI T49_;
14480 										tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T50_;
14481 										NI T51_;
14482 										T45_ = (NIM_BOOL)0;
14483 										T45_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2));
14484 										if (!T45_) goto LA46_;
14485 										T48_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14486 										T49_ = (NI)0;
14487 										T49_ = getQuality__sigmatch_5002(it);
14488 										T50_ = NIM_NIL;
14489 										T50_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T48_, T49_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14490 										outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14491 										T51_ = outputs->Sup.len++;
14492 										asgnRef((void**) (&outputs->data[T51_]), T50_);
14493 									}
14494 									LA46_: ;
14495 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
14496 								} LA42: ;
14497 							}
14498 						}
14499 						goto LA36_;
14500 						LA39_: ;
14501 						{
14502 							{
14503 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
14504 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
14505 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
14506 								NI i_2;
14507 								NI L_2;
14508 								NI T58_;
14509 								s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
14510 								colontmp__3 = NIM_NIL;
14511 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
14512 								{
14513 									if (!importHidden) goto LA56_;
14514 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
14515 								}
14516 								LA56_: ;
14517 								colontmp__3 = (*retX60gensym17_).data;
14518 								i_2 = ((NI) 0);
14519 								T58_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
14520 								L_2 = T58_;
14521 								{
14522 									while (1) {
14523 										if (!(i_2 < L_2)) goto LA60;
14524 										s_3 = &colontmp__3->data[i_2];
14525 										{
14526 											tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
14527 											tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
14528 											if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA63_;
14529 											s_2 = (*s_3);
14530 											nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14531 											colontmp__4.Field0 = s_2;
14532 											colontmp__4.Field1 = scopeN_2;
14533 											colontmp__4.Field2 = isLocal_2;
14534 											it = colontmp__4.Field0;
14535 											scopeN = colontmp__4.Field1;
14536 											isLocal = colontmp__4.Field2;
14537 											pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14538 											{
14539 												NIM_BOOL T67_;
14540 												tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T70_;
14541 												NI T71_;
14542 												tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T72_;
14543 												NI T73_;
14544 												T67_ = (NIM_BOOL)0;
14545 												T67_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3));
14546 												if (!T67_) goto LA68_;
14547 												T70_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14548 												T71_ = (NI)0;
14549 												T71_ = getQuality__sigmatch_5002(it);
14550 												T72_ = NIM_NIL;
14551 												T72_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T70_, T71_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14552 												outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14553 												T73_ = outputs->Sup.len++;
14554 												asgnRef((void**) (&outputs->data[T73_]), T72_);
14555 											}
14556 											LA68_: ;
14557 										}
14558 										LA63_: ;
14559 										i_2 += ((NI) 1);
14560 									} LA60: ;
14561 								}
14562 							}
14563 						}
14564 						LA36_: ;
14565 					}
14566 					i += ((NI) 1);
14567 				} LA34: ;
14568 			}
14569 		}
14570 	}
14571 	(*c).compilesContextId -= ((NI) 1);
14572 	produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config);
14573 	}BeforeRet_: ;
14574 }
N_NIMCALL(void,compiler_sigmatchDatInit000)14575 N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void) {
14576 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[2];
14577 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[5];
14578 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[2];
14579 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[24];
14580 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[3];
14581 NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_71;
14582 static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[3] = {
14583 "csEmpty",
14584 "csMatch",
14585 "csNoMatch"};
14586 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[3];
14587 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[8];
14588 NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_75;
14589 static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[8] = {
14590 "kUnknown",
14591 "kAlreadyGiven",
14592 "kUnknownNamedParam",
14593 "kTypeMismatch",
14594 "kVarNeeded",
14595 "kMissingParam",
14596 "kExtraArg",
14597 "kPositionalAlreadyGiven"};
14598 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[4];
14599 static TNimNode TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[59];
14600 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ);
14601 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ);
14602 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.kind = 17;
14603 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
14604 TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1];
14605 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].kind = 1;
14606 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, colonstate_);
14607 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
14608 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].name = ":state";
14609 TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2];
14610 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].kind = 1;
14611 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, line1);
14612 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
14613 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].name = "line1";
14614 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0];
14615 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0];
14616 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*);
14617 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*);
14618 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.kind = 22;
14619 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.base = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_);
14620 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.marker = Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA;
14621 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA);
14622 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA);
14623 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.kind = 17;
14624 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
14625 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4];
14626 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].kind = 1;
14627 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, colonstate_);
14628 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
14629 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].name = ":state";
14630 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5];
14631 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].kind = 1;
14632 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, errorPrefix1);
14633 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
14634 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].name = "errorPrefix1";
14635 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6];
14636 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].kind = 1;
14637 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, typeClass2);
14638 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14639 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].name = "typeClass2";
14640 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7];
14641 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].kind = 1;
14642 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, oldWriteHook3);
14643 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].typ = (&NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_);
14644 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].name = "oldWriteHook3";
14645 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8];
14646 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].kind = 1;
14647 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, diagnostics4);
14648 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14649 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].name = "diagnostics4";
14650 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].len = 5; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0];
14651 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3];
14652 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*);
14653 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*);
14654 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.kind = 22;
14655 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.base = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_);
14656 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.marker = Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg;
14657 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.size = sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw);
14658 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.align = NIM_ALIGNOF(tyTuple__Qqa8F49azZNOOP4FK3LKbhw);
14659 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.kind = 18;
14660 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.base = 0;
14661 TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10];
14662 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].kind = 1;
14663 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field0);
14664 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14665 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].name = "Field0";
14666 TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11];
14667 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].kind = 1;
14668 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field1);
14669 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14670 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].name = "Field1";
14671 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0];
14672 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9];
14673 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.size = sizeof(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*);
14674 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.align = NIM_ALIGNOF(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*);
14675 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.kind = 24;
14676 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.base = (&NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_);
14677 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.marker = Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ;
14678 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.size = sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA);
14679 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.align = NIM_ALIGNOF(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA);
14680 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.kind = 18;
14681 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.base = 0;
14682 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13];
14683 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].kind = 1;
14684 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, c);
14685 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_);
14686 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].name = "c";
14687 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14];
14688 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].kind = 1;
14689 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, exactMatches);
14690 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14691 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].name = "exactMatches";
14692 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15];
14693 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].kind = 1;
14694 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericMatches);
14695 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14696 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].name = "genericMatches";
14697 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16];
14698 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].kind = 1;
14699 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, subtypeMatches);
14700 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14701 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].name = "subtypeMatches";
14702 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17];
14703 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].kind = 1;
14704 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, intConvMatches);
14705 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14706 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].name = "intConvMatches";
14707 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[5] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18];
14708 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].kind = 1;
14709 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, convMatches);
14710 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14711 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].name = "convMatches";
14712 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[6] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19];
14713 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.size = sizeof(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg);
14714 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.align = NIM_ALIGNOF(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg);
14715 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.kind = 14;
14716 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.base = 0;
14717 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.flags = 3;
14718 for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 < 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71++) {
14719 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].kind = 1;
14720 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_71;
14721 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71];
14722 TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20];
14723 }
14724 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[0];
14725 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23];
14726 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].kind = 1;
14727 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, state);
14728 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].typ = (&NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_);
14729 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].name = "state";
14730 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[7] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24];
14731 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].kind = 1;
14732 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, callee);
14733 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14734 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].name = "callee";
14735 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[8] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25];
14736 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].kind = 1;
14737 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeSym);
14738 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14739 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].name = "calleeSym";
14740 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[9] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26];
14741 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].kind = 1;
14742 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeScope);
14743 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14744 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].name = "calleeScope";
14745 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[10] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27];
14746 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].kind = 1;
14747 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, call);
14748 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
14749 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].name = "call";
14750 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[11] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28];
14751 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].kind = 1;
14752 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, bindings);
14753 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].typ = (&NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_);
14754 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].name = "bindings";
14755 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[12] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29];
14756 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].kind = 1;
14757 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, magic);
14758 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].typ = (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_);
14759 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].name = "magic";
14760 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[13] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30];
14761 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].kind = 1;
14762 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, baseTypeMatch);
14763 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14764 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].name = "baseTypeMatch";
14765 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[14] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31];
14766 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].kind = 1;
14767 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, fauxMatch);
14768 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].typ = (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_);
14769 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].name = "fauxMatch";
14770 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[15] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32];
14771 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].kind = 1;
14772 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericConverter);
14773 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14774 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].name = "genericConverter";
14775 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[16] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33];
14776 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].kind = 1;
14777 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, coerceDistincts);
14778 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14779 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].name = "coerceDistincts";
14780 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[17] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34];
14781 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].kind = 1;
14782 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, typedescMatched);
14783 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14784 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].name = "typedescMatched";
14785 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[18] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35];
14786 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].kind = 1;
14787 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, isNoCall);
14788 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14789 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].name = "isNoCall";
14790 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[19] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36];
14791 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].kind = 1;
14792 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inferredTypes);
14793 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].typ = (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_);
14794 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].name = "inferredTypes";
14795 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[20] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37];
14796 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].kind = 1;
14797 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnostics);
14798 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14799 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].name = "diagnostics";
14800 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[21] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38];
14801 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].kind = 1;
14802 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inheritancePenalty);
14803 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14804 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].name = "inheritancePenalty";
14805 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[22] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39];
14806 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.size = sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ);
14807 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.align = NIM_ALIGNOF(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ);
14808 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.kind = 18;
14809 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.base = 0;
14810 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41];
14811 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.size = sizeof(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w);
14812 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.align = NIM_ALIGNOF(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w);
14813 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.kind = 14;
14814 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.base = 0;
14815 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.flags = 3;
14816 for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 < 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75++) {
14817 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].kind = 1;
14818 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_75;
14819 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75];
14820 TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42];
14821 }
14822 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].len = 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[0];
14823 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50];
14824 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].kind = 1;
14825 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, kind);
14826 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].typ = (&NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_);
14827 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].name = "kind";
14828 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51];
14829 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].kind = 1;
14830 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, arg);
14831 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14832 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].name = "arg";
14833 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52];
14834 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].kind = 1;
14835 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, formal);
14836 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14837 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].name = "formal";
14838 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0];
14839 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40];
14840 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].kind = 1;
14841 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, firstMismatch);
14842 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_);
14843 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].name = "firstMismatch";
14844 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[23] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53];
14845 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].kind = 1;
14846 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnosticsEnabled);
14847 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14848 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].name = "diagnosticsEnabled";
14849 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].len = 24; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0];
14850 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12];
14851 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.size = sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ);
14852 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.align = NIM_ALIGNOF(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ);
14853 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.kind = 18;
14854 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.base = 0;
14855 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55];
14856 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].kind = 1;
14857 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, sym);
14858 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14859 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].name = "sym";
14860 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56];
14861 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].kind = 1;
14862 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, firstMismatch);
14863 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_);
14864 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].name = "firstMismatch";
14865 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57];
14866 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].kind = 1;
14867 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, diagnostics);
14868 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14869 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].name = "diagnostics";
14870 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58];
14871 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].kind = 1;
14872 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, enabled);
14873 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14874 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].name = "enabled";
14875 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].len = 4; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0];
14876 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54];
14877 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.size = sizeof(tySequence__0dpGN6F4ocevqUQGsaf41w*);
14878 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.align = NIM_ALIGNOF(tySequence__0dpGN6F4ocevqUQGsaf41w*);
14879 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.kind = 24;
14880 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.base = (&NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_);
14881 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.marker = Marker_tySequence__0dpGN6F4ocevqUQGsaf41w;
14882 }
14883 
14884