/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw;
typedef struct tyObject_Partitions__b3asvfSDaO0FD04RolbF7A tyObject_Partitions__b3asvfSDaO0FD04RolbF7A;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ;
typedef struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content;
typedef struct tySequence__9aee2Loc4nE9bvjjGuhsI78w tySequence__9aee2Loc4nE9bvjjGuhsI78w;
typedef struct tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content;
typedef struct tySequence__TfHJycarvNts8E4mVG4Mfg tySequence__TfHJycarvNts8E4mVG4Mfg;
typedef struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content tySequence__TfHJycarvNts8E4mVG4Mfg_Content;
typedef struct tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg;
typedef struct tySequence__5reviU45axUMPQgL9aoENrg tySequence__5reviU45axUMPQgL9aoENrg;
typedef struct tySequence__5reviU45axUMPQgL9aoENrg_Content tySequence__5reviU45axUMPQgL9aoENrg_Content;
typedef struct tySequence__dtr79aXjHrgHuH79ac55I2aw tySequence__dtr79aXjHrgHuH79ac55I2aw;
typedef struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content tySequence__dtr79aXjHrgHuH79ac55I2aw_Content;
typedef struct tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg;
typedef struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw tySequence__8y0Gi4GwtXi2wk2mK1IOzw;
typedef struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content;
typedef struct tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w;
typedef struct tySequence__C2ivDnhTZ6IxAdui1rfuqw tySequence__C2ivDnhTZ6IxAdui1rfuqw;
typedef struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content;
typedef struct tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA;
typedef struct tySequence__3vEEVfBECLN6NIRA3FIp5g tySequence__3vEEVfBECLN6NIRA3FIp5g;
typedef struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content tySequence__3vEEVfBECLN6NIRA3FIp5g_Content;
typedef struct tyObject_Table__tEqt8LkShErhjQ9acvGyE7g tyObject_Table__tEqt8LkShErhjQ9acvGyE7g;
typedef struct tySequence__9aSa87aKMiolq9a7z3kC0jTw tySequence__9aSa87aKMiolq9a7z3kC0jTw;
typedef struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content;
typedef struct tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw;
typedef struct tySequence__N589c2UsUgqqOITU2JfIuAQ tySequence__N589c2UsUgqqOITU2JfIuAQ;
typedef struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content tySequence__N589c2UsUgqqOITU2JfIuAQ_Content;
typedef struct tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw;
typedef struct tySequence__GYDW6wGgERshoSd16jJ3eQ tySequence__GYDW6wGgERshoSd16jJ3eQ;
typedef struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content tySequence__GYDW6wGgERshoSd16jJ3eQ_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ;
typedef struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
typedef struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA tyObject_Table__AC9bec2JdoOuC3xQePGWgmA;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct RootObj RootObj;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg tySequence__fz0REU1l0nYmKHXgMLRrIg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content tySequence__fz0REU1l0nYmKHXgMLRrIg_Content;
typedef struct tyObject_Table__w2vCG1OPnHmNolvQVT168g tyObject_Table__w2vCG1OPnHmNolvQVT168g;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ tySequence__Ip9aV1IKO2gVdheNOM31DCQ;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg tySequence__kHjIdgrpmuSn9cUIIKpSiDg;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content;
typedef struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA tySequence__Wd0Vle6gxRCPPoSlNEvfTA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content;
typedef struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag tyObject_Table__fZyCWkMwhdvr3pauCNDaag;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw tySequence__T7nNEWoEbKBa0G5Htr45Xw;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content;
typedef struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ tyObject_Table__5vmBY49areSIlgIs4A1LLKQ;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA tySequence__q9cHvMDDxYU1hSCdG4YwIhA;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA tySequence__olFOFaYzOJN9aV5BWqK4b9bA;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content;
typedef struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA tySequence__vJcM7B74R2U5db9cxyXT9coA;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content tySequence__vJcM7B74R2U5db9cxyXT9coA_Content;
typedef struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content;
typedef struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg tySequence__R9c39btP6BwOBBPnbaNUtMQg;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content;
typedef struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw tySequence__3nALyQgqjnfK2Qjc6ny2Uw;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg tySequence__WbW5Q8QVks0bQpUJSGmuVg;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg;
typedef struct tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q;
typedef struct tySequence__hMc5eJjVGjq6i857yHjTtg tySequence__hMc5eJjVGjq6i857yHjTtg;
typedef struct tySequence__hMc5eJjVGjq6i857yHjTtg_Content tySequence__hMc5eJjVGjq6i857yHjTtg_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__Wipq1508vNWp3jwczem6TQ tyTuple__Wipq1508vNWp3jwczem6TQ;
typedef struct tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ;
typedef struct tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ;
typedef struct tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow;
typedef struct tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA;
typedef struct tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content tySequence__PXIzfWocnrafGz5p3CP5LA_Content;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content;
typedef struct tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w;
typedef struct tySequence__OxRbUT0qZaZN5UjnqQjGPA tySequence__OxRbUT0qZaZN5UjnqQjGPA;
typedef struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content;
typedef struct tySequence__ezS5mGPcRfBURJyMgqYVzA tySequence__ezS5mGPcRfBURJyMgqYVzA;
typedef struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content tySequence__ezS5mGPcRfBURJyMgqYVzA_Content;
typedef struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA tySequence__wW7xkohjuUKO9aMaB0nt9cqA;
typedef struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg_Content tySequence__b89aLriiJnVTD186H6zNIgg_Content;
typedef struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg tySequence__hIPTk9aFdaMMVAOzEbnPyqg;
typedef struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content;
typedef struct tySequence__YYy1721YAuPF0ajBYHd8Wg tySequence__YYy1721YAuPF0ajBYHd8Wg;
typedef struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content tySequence__YYy1721YAuPF0ajBYHd8Wg_Content;
typedef struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ tySequence__UODJbvzmu39c3Ho9cqhSk9agQ;
typedef struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content;
typedef struct tySequence__F1qNdU7m0Czu7Y2q0eksXw tySequence__F1qNdU7m0Czu7Y2q0eksXw;
typedef struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content;
typedef struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q tySequence__r3Kz9breImOXyFFoJ29aBM8Q;
typedef struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw tySequence__qBes3XzcQQ9cyia9bRwnmbJw;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw;
typedef struct tySequence__Vl1abU3gfp0RqCb1KKfmDA tySequence__Vl1abU3gfp0RqCb1KKfmDA;
typedef struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content;
typedef struct tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw;
typedef struct tySequence__qyyNkmlc4fzOzelC8spUkQ tySequence__qyyNkmlc4fzOzelC8spUkQ;
typedef struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content tySequence__qyyNkmlc4fzOzelC8spUkQ_Content;
typedef struct tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA;
typedef struct tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content tySequence__IHUFRsFxZNv7YydiUO2esQ_Content;
typedef struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw tySequence__orxtl6CusdjXleqrxi67gw;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw_Content tySequence__orxtl6CusdjXleqrxi67gw_Content;
typedef struct tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ;
typedef struct tySequence__K0j67V58u5FW0dCC534FQw tySequence__K0j67V58u5FW0dCC534FQw;
typedef struct tySequence__K0j67V58u5FW0dCC534FQw_Content tySequence__K0j67V58u5FW0dCC534FQw_Content;
typedef struct tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ;
typedef struct tySequence__UE4b6iUkm1b3zTPamTTkDw tySequence__UE4b6iUkm1b3zTPamTTkDw;
typedef struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content tySequence__UE4b6iUkm1b3zTPamTTkDw_Content;
typedef struct tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg;
typedef struct tySequence__FmsTQiIcS9arxHxs3QY48vA tySequence__FmsTQiIcS9arxHxs3QY48vA;
typedef struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content tySequence__FmsTQiIcS9arxHxs3QY48vA_Content;
typedef struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ;
typedef struct tyObject_Table__uaQEKxLZNO5fpFluyxnhTg tyObject_Table__uaQEKxLZNO5fpFluyxnhTg;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content;
typedef struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ tySequence__vb3AGHvMJTxdOSSwMmBmTQ;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content;
typedef struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q tyTuple__F1mMODXmKFMNQ5rLCtcv0Q;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA tySequence__apM9bRAO19cVjhWlxqd1PGeA;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content;
typedef struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw;
typedef struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA;
typedef struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ;
typedef struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig;
typedef struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw tySequence__9bW2eTK9b7vXE70Sx5VPH1mw;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content;
typedef struct tyTuple__bnJwOH0eJlAwCAMbr1inhw tyTuple__bnJwOH0eJlAwCAMbr1inhw;
typedef struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw tyTuple__YG7h1OUHzgfgTeH9cl0U0dw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ tyTuple__tG5yYi8DnD7bl00aT9cgctQ;
typedef struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content;
typedef struct tySequence__yUWoZehF86MIc40opFgacw tySequence__yUWoZehF86MIc40opFgacw;
typedef struct tySequence__yUWoZehF86MIc40opFgacw_Content tySequence__yUWoZehF86MIc40opFgacw_Content;
typedef struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw;
typedef struct tyTuple__gnRkA1L4XiR4uByriyHW8Q tyTuple__gnRkA1L4XiR4uByriyHW8Q;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA tySequence__nSO1ltijM4vhc0UrrXKEqA;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content tySequence__nSO1ltijM4vhc0UrrXKEqA_Content;
typedef struct tyTuple__CvjVmQeIfivirDme2r5MRw tyTuple__CvjVmQeIfivirDme2r5MRw;
typedef struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g tyTuple__2QDyOgS51ZMPO0W1pWCY6g;
typedef struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ tyTuple__UbCNQED4XJUgxOgPHJUcAQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ tySequence__juxPMVNF1FoR2ltzeQu8NQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content;
typedef struct tyTuple__zExIg9bDTcVf2FHROUpzoow tyTuple__zExIg9bDTcVf2FHROUpzoow;
typedef struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA tyTuple__XrHNJHOzS3O7uwF9bvCySiA;
typedef struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ tyTuple__EdLY4EJQ37VFgbAn5g5rXQ;
typedef struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA tyTuple__OtlgAx3kBps9cOSMNDZSzBA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ;
typedef struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw;
typedef struct tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q;
typedef struct tyTuple__O3g9a8zTXSX36ljWponcAoA tyTuple__O3g9a8zTXSX36ljWponcAoA;
typedef struct tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w;
typedef struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ tyTuple__48iPM3yLBKU5nyEuYwJvuQ;
typedef struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg tyTuple__R3ddFrA0G9buJY57Qhf9cTpg;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA tyTuple__7rmdAMLZ8fDd79brQn2ixZA;
typedef struct tyTuple__qPXRCRNQuZLLKto7CIIEzw tyTuple__qPXRCRNQuZLLKto7CIIEzw;
typedef struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg;
typedef struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw tyTuple__6kG8KAxm9aXPdLdlxcxqJJw;
typedef struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw tyTuple__TRK7rrwoha9bbDAdPWsqJMw;
typedef struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q tyTuple__V1VWX9bHapuzCjpMfFfys5Q;
typedef struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw;
typedef struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg;
typedef struct tyTuple__anemVmHCFglLFt6LiEhFvg tyTuple__anemVmHCFglLFt6LiEhFvg;
typedef struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ;
typedef struct tyTuple__MaWaKZwaGUqCXKsSK12rVg tyTuple__MaWaKZwaGUqCXKsSK12rVg;
typedef struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA;
typedef struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA tyTuple__1xWeGeoNoZxaLhTUDDWYyA;
typedef struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ tyTuple__MZVSn3SE3XUBJOaMu7ofRQ;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA;
typedef struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ tySequence__YxH9cgSorHRI8ZPzHf47NNQ;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content;
typedef struct tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ;
typedef struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw tyTuple__lGHLhAAUpxgfrnQkIzNrMw;
typedef struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyTuple__V6P73hvHy70PBBwharKjig tyTuple__V6P73hvHy70PBBwharKjig;
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA;
struct tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA mutatedHere;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA connectedVia;
	tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA flags;
	NI maxMutation;
	NI minConnection;
	tySequence__qwqHTkRvwhrRyENtudHQ7g mutations;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
typedef NU8 tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ {
  NI len; tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content* p;
};
struct tySequence__9aee2Loc4nE9bvjjGuhsI78w {
  NI len; tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content* p;
};
struct tyObject_Partitions__b3asvfSDaO0FD04RolbF7A {
	NI abstractTime;
	tySequence__9ahcSjIErJohSBBFLwuF56Q defers;
	NIM_BOOL processDefer;
	tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ s;
	tySequence__9aee2Loc4nE9bvjjGuhsI78w graphs;
	tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g goals;
	NIM_BOOL unanalysableMutation;
	NI inAsgnSource;
	NI inConstructor;
	NI inNoSideEffectSection;
	NI inConditional;
	NI inLoop;
	NI inConvHasDestructor;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g;
};
struct tySequence__TfHJycarvNts8E4mVG4Mfg {
  NI len; tySequence__TfHJycarvNts8E4mVG4Mfg_Content* p;
};
struct tySequence__5reviU45axUMPQgL9aoENrg {
  NI len; tySequence__5reviU45axUMPQgL9aoENrg_Content* p;
};
struct tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg {
	tySequence__5reviU45axUMPQgL9aoENrg pm;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw {
  NI len; tySequence__dtr79aXjHrgHuH79ac55I2aw_Content* p;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw {
  NI len; tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content* p;
};
struct tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg {
	tySequence__8y0Gi4GwtXi2wk2mK1IOzw data;
	NI counter;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw {
  NI len; tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content* p;
};
struct tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w {
	tySequence__C2ivDnhTZ6IxAdui1rfuqw data;
	NI counter;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g {
  NI len; tySequence__3vEEVfBECLN6NIRA3FIp5g_Content* p;
};
struct tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA {
	tySequence__3vEEVfBECLN6NIRA3FIp5g data;
	NI counter;
};
typedef tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA tyArray__HTPiakF26bUQGH9bgtmrtkA[7];
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw {
  NI len; tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content* p;
};
struct tyObject_Table__tEqt8LkShErhjQ9acvGyE7g {
	tySequence__9aSa87aKMiolq9a7z3kC0jTw data;
	NI counter;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ {
  NI len; tySequence__N589c2UsUgqqOITU2JfIuAQ_Content* p;
};
struct tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw {
	tySequence__N589c2UsUgqqOITU2JfIuAQ data;
	NI counter;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ {
  NI len; tySequence__GYDW6wGgERshoSd16jJ3eQ_Content* p;
};
struct tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw {
	tySequence__GYDW6wGgERshoSd16jJ3eQ data;
	NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
};
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA {
  NI len; tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content* p;
};
struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg {
	NI counter;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA data;
};
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
typedef NI tyArray__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw {
	tySequence__fdmz6VkIf1ewwrssKYqRFg data;
	NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA {
	tySequence__kxu4GK0onha2t9bo86mdVAg data;
	NI counter;
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tySequence__fz0REU1l0nYmKHXgMLRrIg {
  NI len; tySequence__fz0REU1l0nYmKHXgMLRrIg_Content* p;
};
struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ {
	tySequence__fz0REU1l0nYmKHXgMLRrIg data;
	NI counter;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ {
  NI len; tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content* p;
};
struct tyObject_Table__w2vCG1OPnHmNolvQVT168g {
	tySequence__Ip9aV1IKO2gVdheNOM31DCQ data;
	NI counter;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg {
  NI len; tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content* p;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA {
  NI len; tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content* p;
};
struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA {
	tySequence__Wd0Vle6gxRCPPoSlNEvfTA data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw {
  NI len; tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content* p;
};
struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag {
	tySequence__T7nNEWoEbKBa0G5Htr45Xw data;
	NI counter;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA {
  NI len; tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content* p;
};
struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ {
	tySequence__q9cHvMDDxYU1hSCdG4YwIhA data;
	NI counter;
};
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA {
  NI len; tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content* p;
};
typedef tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tyArray__EOkbZZXacNOZHC8p7xc7hw[65];
struct tySequence__vJcM7B74R2U5db9cxyXT9coA {
  NI len; tySequence__vJcM7B74R2U5db9cxyXT9coA_Content* p;
};
struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw {
	tySequence__vJcM7B74R2U5db9cxyXT9coA data;
	NI counter;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg {
  NI len; tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content* p;
};
struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg {
	tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg data;
	NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, tyProc__QieBhPPkGvcmpFg89a4ftcA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__F2ahyGAjs3aNLJYEXzu07g) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg {
  NI len; tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content* p;
};
struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ {
	tySequence__R9c39btP6BwOBBPnbaNUtMQg data;
	NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
	NI counter;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw {
  NI len; tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content* p;
};
struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ {
	tySequence__3nALyQgqjnfK2Qjc6ny2Uw data;
	NI counter;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg {
  NI len; tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content* p;
};
typedef NU8 tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg;
typedef N_NIMCALL_PTR(void, tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
typedef N_NIMCALL_PTR(void, tyProc__kj3TYePLaHBuXxhRznQQNQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__D3Q9bYoPIpHZVLfEIxpBssA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p2);
struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opNot;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opContains;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLe;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLt;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAnd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opOr;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opIsNil;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opEq;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAdd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opSub;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opMul;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opDiv;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw {
	tySequence__TfHJycarvNts8E4mVG4Mfg ifaces;
	tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg packed_0;
	tySequence__dtr79aXjHrgHuH79ac55I2aw encoders;
	tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg typeInstCache;
	tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w procInstCache;
	tyArray__HTPiakF26bUQGH9bgtmrtkA attachedOps;
	tyObject_Table__tEqt8LkShErhjQ9acvGyE7g methodsPerGenericType;
	tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw memberProcsPerType;
	tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw initializersPerType;
	tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA enumToStringProcs;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A emittedTypeInfo;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ startupPackedConfig;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA deps;
	tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw importDeps;
	NIM_BOOL suggestMode;
	NIM_BOOL invalidTransitiveClosure;
	NIM_BOOL interactive;
	NIM_BOOL withinSystem;
	tyObject_Table__AC9bec2JdoOuC3xQePGWgmA inclToMod;
	tySequence__48JTohSgTy339bRxHzUD8KA importStack;
	RootObj* backend;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	RootObj* vm;
	RootObj* repl;
	tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* usageSym;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA owners;
	tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ suggestSymbols;
	tyObject_Table__w2vCG1OPnHmNolvQVT168g suggestErrors;
	tySequence__kHjIdgrpmuSn9cUIIKpSiDg methods;
	tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA bucketTable;
	tyObject_Table__fZyCWkMwhdvr3pauCNDaag objectTree;
	tyObject_Table__5vmBY49areSIlgIs4A1LLKQ methodsPerType;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA dispatchers;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* systemModule;
	tyArray__EOkbZZXacNOZHC8p7xc7hw sysTypes;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg compilerprocs;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg exposed;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageTypes;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* emptyNode;
	tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw canonTypes;
	tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg symBodyHashes;
	tyProc__QieBhPPkGvcmpFg89a4ftcA importModuleCallback;
	tyProc__F2ahyGAjs3aNLJYEXzu07g includeFileCallback;
	tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ cacheSeqs;
	tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw cacheCounters;
	tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ cacheTables;
	tySequence__WbW5Q8QVks0bQpUJSGmuVg passes;
	tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg pipelinePass;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinition;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinitionResolveForward;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onUsage;
	tySequence__9ahcSjIErJohSBBFLwuF56Q globalDestructors;
	tyProc__kj3TYePLaHBuXxhRznQQNQ strongSemCheck;
	tyProc__D3Q9bYoPIpHZVLfEIxpBssA compatibleProps;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
	tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ operators;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cachedFiles;
	tySequence__9ahcSjIErJohSBBFLwuF56Q procGlobals;
};
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
typedef NU8 tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA;
struct tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q {
	tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA kind;
union{
	NI parent;
	NI graphIndex;
};
};
typedef NU8 tySet_tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ;
struct tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg {
	tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q con;
	tySet_tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ flags;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI reassignedTo;
	NI aliveStart;
	NI aliveEnd;
	tySequence__qwqHTkRvwhrRyENtudHQ7g borrowsFrom;
};
typedef NU8 tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ;
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
struct tySequence__hMc5eJjVGjq6i857yHjTtg {
  NI len; tySequence__hMc5eJjVGjq6i857yHjTtg_Content* p;
};
typedef NU8 tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g;
typedef NU8 tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw;
typedef NU8 tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NU8 tySet_tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw;
struct tyTuple__Wipq1508vNWp3jwczem6TQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field0;
	NI Field1;
};
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__iTi2aSteq9cki9bjIjUU2gYg) (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
struct tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ {
	NI len;
	void* p;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ {
	NI a;
	NI b;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q;
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ_Content { NI cap; tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg data[SEQ_DECL_SIZE]; };
struct tySequence__9aee2Loc4nE9bvjjGuhsI78w_Content { NI cap; tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA data[SEQ_DECL_SIZE]; };
struct tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA converters;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA patterns;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA pureEnums;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg interf;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg interfHidden;
	NimStringV2 uniqueName;
};
struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content { NI cap; tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ;
struct tySequence__PXIzfWocnrafGz5p3CP5LA {
  NI len; tySequence__PXIzfWocnrafGz5p3CP5LA_Content* p;
};
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
  NI len; tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content* p;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA {
  NI len; tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content* p;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA {
  NI len; tySequence__ezS5mGPcRfBURJyMgqYVzA_Content* p;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA {
  NI len; tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content* p;
};
struct tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w {
	tySequence__OxRbUT0qZaZN5UjnqQjGPA nodes;
	tySequence__ezS5mGPcRfBURJyMgqYVzA withFlags;
	tySequence__wW7xkohjuUKO9aMaB0nt9cqA withTypes;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg {
  NI len; tySequence__b89aLriiJnVTD186H6zNIgg_Content* p;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg {
  NI len; tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content* p;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg {
  NI len; tySequence__YYy1721YAuPF0ajBYHd8Wg_Content* p;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ {
  NI len; tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content* p;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw {
  NI len; tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content* p;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q {
  NI len; tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content* p;
};
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw {
  NI len; tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content* p;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__5FvIlwIIbpcHU0ZRU9a5hrQ;
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA {
  NI len; tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content* p;
};
struct tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw {
	tySequence__Vl1abU3gfp0RqCb1KKfmDA data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ {
  NI len; tySequence__qyyNkmlc4fzOzelC8spUkQ_Content* p;
};
struct tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw {
	tySequence__qyyNkmlc4fzOzelC8spUkQ data;
	NI counter;
	NI first;
	NI last;
};
struct tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ vals;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
  NI len; tySequence__IHUFRsFxZNv7YydiUO2esQ_Content* p;
};
struct tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg {
	tySequence__IHUFRsFxZNv7YydiUO2esQ vals;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__orxtl6CusdjXleqrxi67gw {
  NI len; tySequence__orxtl6CusdjXleqrxi67gw_Content* p;
};
struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ {
	tySequence__orxtl6CusdjXleqrxi67gw aside;
};
struct tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ {
	NimStringV2 definedSymbols;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg moduleFlags;
	tySequence__PXIzfWocnrafGz5p3CP5LA includes;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA imports;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w toReplay;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w topLevel;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w bodies;
	tySequence__b89aLriiJnVTD186H6zNIgg exports;
	tySequence__b89aLriiJnVTD186H6zNIgg hidden;
	tySequence__hIPTk9aFdaMMVAOzEbnPyqg reexports;
	tySequence__b89aLriiJnVTD186H6zNIgg compilerProcs;
	tySequence__48JTohSgTy339bRxHzUD8KA converters;
	tySequence__48JTohSgTy339bRxHzUD8KA methods;
	tySequence__48JTohSgTy339bRxHzUD8KA trmacros;
	tySequence__48JTohSgTy339bRxHzUD8KA pureEnums;
	tySequence__YYy1721YAuPF0ajBYHd8Wg typeInstCache;
	tySequence__UODJbvzmu39c3Ho9cqhSk9agQ procInstCache;
	tySequence__F1qNdU7m0Czu7Y2q0eksXw attachedOps;
	tySequence__r3Kz9breImOXyFFoJ29aBM8Q methodsPerGenericType;
	tySequence__YYy1721YAuPF0ajBYHd8Wg enumToStringProcs;
	tySequence__YYy1721YAuPF0ajBYHd8Wg methodsPerType;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw dispatchers;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ emittedTypeInfo;
	tySet_tyEnum_ModuleBackendFlag__5FvIlwIIbpcHU0ZRU9a5hrQ backendFlags;
	tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw syms;
	tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw types;
	tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA strings;
	tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg numbers;
	tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ man;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ cfg;
};
struct tySequence__K0j67V58u5FW0dCC534FQw {
  NI len; tySequence__K0j67V58u5FW0dCC534FQw_Content* p;
};
struct tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ {
	tySequence__K0j67V58u5FW0dCC534FQw data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw {
  NI len; tySequence__UE4b6iUkm1b3zTPamTTkDw_Content* p;
};
struct tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ {
	tySequence__UE4b6iUkm1b3zTPamTTkDw data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA {
  NI len; tySequence__FmsTQiIcS9arxHxs3QY48vA_Content* p;
};
struct tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg {
	tySequence__FmsTQiIcS9arxHxs3QY48vA data;
	NI counter;
};
struct tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA {
	tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ status;
	NIM_BOOL symsInit;
	NIM_BOOL typesInit;
	NIM_BOOL loadedButAliveSetChanged;
	tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ fromDisk;
	tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ syms;
	tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ types;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg iface;
	tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg ifaceHidden;
};
struct tySequence__5reviU45axUMPQgL9aoENrg_Content { NI cap; tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA data[SEQ_DECL_SIZE]; };
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
  NI len; tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content* p;
};
struct tyObject_Table__uaQEKxLZNO5fpFluyxnhTg {
	tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
	NI counter;
};
struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ {
	NI32 thisModule;
	NI32 lastFile;
	NU32 lastLit;
	tyObject_Table__uaQEKxLZNO5fpFluyxnhTg filenames;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg pendingTypes;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA pendingSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA typeMarker;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA symMarker;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content { NI cap; tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ data[SEQ_DECL_SIZE]; };
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ {
  NI len; tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content* p;
};
struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__vb3AGHvMJTxdOSSwMmBmTQ Field2;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content { NI cap; tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q data[SEQ_DECL_SIZE]; };
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA {
  NI len; tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content* p;
};
struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__apM9bRAO19cVjhWlxqd1PGeA Field2;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content { NI cap; tyTuple__F1mMODXmKFMNQ5rLCtcv0Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig {
	NU32 module;
	NI32 item;
};
struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ {
	NI module;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig packed_0;
};
struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
};
struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field2;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content { NI cap; tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw data[SEQ_DECL_SIZE]; };
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw {
  NI len; tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content* p;
};
struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__9bW2eTK9b7vXE70Sx5VPH1mw Field2;
};
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content { NI cap; tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ data[SEQ_DECL_SIZE]; };
struct tyTuple__bnJwOH0eJlAwCAMbr1inhw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field2;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content { NI cap; tyTuple__bnJwOH0eJlAwCAMbr1inhw data[SEQ_DECL_SIZE]; };
struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content { NI cap; tyTuple__YG7h1OUHzgfgTeH9cl0U0dw data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
	NI Field0;
	NI32 Field1;
	tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE]; };
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
	NI Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; };
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE]; };
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg {
  NI len; tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content* p;
};
struct tySequence__yUWoZehF86MIc40opFgacw {
  NI len; tySequence__yUWoZehF86MIc40opFgacw_Content* p;
};
struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA s;
	NI len;
};
struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ {
	tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg lineInfo;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA sym;
	tySequence__yUWoZehF86MIc40opFgacw caughtExceptions;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw caughtExceptionsSet;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isDecl;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isGenericInstance;
	NI32 fileIndex;
	NIM_BOOL trackCaughtExceptions;
	NIM_BOOL isSorted;
};
struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ {
	NI Field0;
	NI32 Field1;
	tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ Field2;
};
struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content { NI cap; tyTuple__tG5yYi8DnD7bl00aT9cgctQ data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA {
  NI len; tySequence__nSO1ltijM4vhc0UrrXKEqA_Content* p;
};
struct tyTuple__gnRkA1L4XiR4uByriyHW8Q {
	NI Field0;
	NI32 Field1;
	tySequence__nSO1ltijM4vhc0UrrXKEqA Field2;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content { NI cap; tyTuple__gnRkA1L4XiR4uByriyHW8Q data[SEQ_DECL_SIZE]; };
struct tyTuple__CvjVmQeIfivirDme2r5MRw {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content { NI cap; tyTuple__CvjVmQeIfivirDme2r5MRw data[SEQ_DECL_SIZE]; };
struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field0;
	NI Field1;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content { NI cap; tyTuple__2QDyOgS51ZMPO0W1pWCY6g data[SEQ_DECL_SIZE]; };
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ {
  NI len; tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content* p;
};
struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__juxPMVNF1FoR2ltzeQu8NQ Field2;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content { NI cap; tyTuple__UbCNQED4XJUgxOgPHJUcAQ data[SEQ_DECL_SIZE]; };
struct tyTuple__zExIg9bDTcVf2FHROUpzoow {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA Field2;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content { NI cap; tyTuple__zExIg9bDTcVf2FHROUpzoow data[SEQ_DECL_SIZE]; };
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content { NI cap; tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA data[SEQ_DECL_SIZE]; };
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA {
	NI Field0;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content { NI cap; tyTuple__XrHNJHOzS3O7uwF9bvCySiA data[SEQ_DECL_SIZE]; };
struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ {
	NI Field0;
	NI Field1;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field2;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content { NI cap; tyTuple__EdLY4EJQ37VFgbAn5g5rXQ data[SEQ_DECL_SIZE]; };
struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content { NI cap; tyTuple__OtlgAx3kBps9cOSMNDZSzBA data[SEQ_DECL_SIZE]; };
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
	NI Field0;
	NimStringV2 Field1;
	NI64 Field2;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE]; };
struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw {
	tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q* root;
	NI entries;
};
struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ {
	NI Field0;
	NimStringV2 Field1;
	tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw Field2;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content { NI cap; tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ data[SEQ_DECL_SIZE]; };
typedef N_NIMCALL_PTR(tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ*, tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__74nHWc2UIRu3iSR9akqDDBg) (tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* topLevelStmt_p1);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__S9bLWKf8jgjzoiotAmEyFSw) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
struct tyTuple__O3g9a8zTXSX36ljWponcAoA {
	tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ Field0;
	tyProc__74nHWc2UIRu3iSR9akqDDBg Field1;
	tyProc__S9bLWKf8jgjzoiotAmEyFSw Field2;
	NIM_BOOL Field3;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content { NI cap; tyTuple__O3g9a8zTXSX36ljWponcAoA data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tySequence__hMc5eJjVGjq6i857yHjTtg_Content { NI cap; tyTuple__Wipq1508vNWp3jwczem6TQ data[SEQ_DECL_SIZE]; };
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
	NU32 Field0;
	NimStringV2 Field1;
};
struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content { NI cap; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE]; };
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE]; };
struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w {
	NU32 x;
	NU32 info;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content { NI cap; tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w data[SEQ_DECL_SIZE]; };
struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ {
	NI32 Field0;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw Field1;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content { NI cap; tyTuple__48iPM3yLBKU5nyEuYwJvuQ data[SEQ_DECL_SIZE]; };
struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg {
	NI32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content { NI cap; tyTuple__R3ddFrA0G9buJY57Qhf9cTpg data[SEQ_DECL_SIZE]; };
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
	NU32 Field0;
	NI32 Field1;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE]; };
struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA {
	NU32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content { NI cap; tyTuple__7rmdAMLZ8fDd79brQn2ixZA data[SEQ_DECL_SIZE]; };
struct tyTuple__qPXRCRNQuZLLKto7CIIEzw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content { NI cap; tyTuple__qPXRCRNQuZLLKto7CIIEzw data[SEQ_DECL_SIZE]; };
struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig key;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw concreteTypes;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content { NI cap; tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg data[SEQ_DECL_SIZE]; };
struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content { NI cap; tyTuple__6kG8KAxm9aXPdLdlxcxqJJw data[SEQ_DECL_SIZE]; };
struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	NI Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content { NI cap; tyTuple__TRK7rrwoha9bbDAdPWsqJMw data[SEQ_DECL_SIZE]; };
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content { NI cap; tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A;
struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg {
	tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A kind;
	NIM_BOOL generated;
	NIM_BOOL isOverridden;
	NU32 name;
	NI32 path;
};
struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw {
	NI32 id;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
	NU32 name;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typ;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	NU32 info;
	NI32 ast;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig guard;
	NI bitsize;
	NI alignment;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	NU32 externalName;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg locFlags;
	tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg annex;
	NI32 constraint;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig instantiatedFrom;
};
struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw Field3;
};
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content { NI cap; tyTuple__V1VWX9bHapuzCjpMfFfys5Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ {
	NI32 id;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw types;
	NI32 n;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typeInst;
	NI32 nonUniqueId;
};
struct tyTuple__anemVmHCFglLFt6LiEhFvg {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ Field3;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content { NI cap; tyTuple__anemVmHCFglLFt6LiEhFvg data[SEQ_DECL_SIZE]; };
struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content { NI cap; NI64 data[SEQ_DECL_SIZE]; };
struct tyTuple__MaWaKZwaGUqCXKsSK12rVg {
	NU32 Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__orxtl6CusdjXleqrxi67gw_Content { NI cap; tyTuple__MaWaKZwaGUqCXKsSK12rVg data[SEQ_DECL_SIZE]; };
struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field3;
};
struct tySequence__K0j67V58u5FW0dCC534FQw_Content { NI cap; tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA data[SEQ_DECL_SIZE]; };
struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field3;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content { NI cap; tyTuple__1xWeGeoNoZxaLhTUDDWYyA data[SEQ_DECL_SIZE]; };
struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ {
	NI Field0;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field1;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw Field2;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content { NI cap; tyTuple__MZVSn3SE3XUBJOaMu7ofRQ data[SEQ_DECL_SIZE]; };
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
	NI Field0;
	NI32 Field1;
	NU32 Field2;
};
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content { NI cap; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE]; };
struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
};
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content { NI cap; tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ {
  NI len; tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content* p;
};
struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA {
	NI module;
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ sym;
	tySequence__YxH9cgSorHRI8ZPzHf47NNQ concreteTypes;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst;
};
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content { NI cap; tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA data[SEQ_DECL_SIZE]; };
struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw {
	NI Field0;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field1;
};
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content { NI cap; tyTuple__lGHLhAAUpxgfrnQkIzNrMw data[SEQ_DECL_SIZE]; };
struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA {
	NU16 line;
	NI16 col;
};
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content { NI cap; tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA data[SEQ_DECL_SIZE]; };
struct tySequence__yUWoZehF86MIc40opFgacw_Content { NI cap; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content { NI cap; tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* data[SEQ_DECL_SIZE]; };
struct tyTuple__V6P73hvHy70PBBwharKjig {
	NI Field0;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field1;
};
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content { NI cap; tyTuple__V6P73hvHy70PBBwharKjig data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content { NI cap; tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u264)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3469)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, eqdup___ast_u4580)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw*, eqdup___modulegraphs_u14759)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, registerParam__varpartitions_u528)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u396)(tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ* x_p0, tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u557)(tySequence__9aee2Loc4nE9bvjjGuhsI78w* x_p0, tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, eqdup___lineinfos_u2037)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA src_p0);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, registerResult__varpartitions_u389)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, computeLiveRanges__varpartitions_u1969)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, registerVariable__varpartitions_u604)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NI, variableId__varpartitions_u372)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* x_p1);
static N_INLINE(void, markAsReassigned__varpartitions_u1958)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, NI vid_p1);
static N_INLINE(NI, max__varpartitions_u2033)(NI x_p0, NI y_p1);
static N_INLINE(NI, min__varpartitions_u803)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
static N_INLINE(NI, signatureLen__ast_u5610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_u3655)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3225)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, traverse__varpartitions_u1819)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, deps__varpartitions_u1674)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2);
N_LIB_PRIVATE N_NIMCALL(void, borrowingAsgn__varpartitions_u1590)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw, directViewType__typeallowed_u556)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, borrowFrom__varpartitions_u1507)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pathExpr__varpartitions_u918)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_u384)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw, classifyViewType__typeallowed_u552)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg, getMagic__trees_u122)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, borrowFromConstExpr__varpartitions_u894)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toString__varpartitions_u1500)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u1538)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstSym__varpartitions_u1485)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, allRoots__varpartitions_u973)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySequence__hMc5eJjVGjq6i857yHjTtg* result_p1, NI level_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u981)(tySequence__hMc5eJjVGjq6i857yHjTtg* x_p0, tyTuple__Wipq1508vNWp3jwczem6TQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__isolation95check_u206)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* arg_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* ret_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsPointer__varpartitions_u1664)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_u423)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyProc__iTi2aSteq9cki9bjIjUU2gYg predicate_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__varpartitions_u1667)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, potentialMutation__varpartitions_u636)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* v_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, NI level_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(NI, root__varpartitions_u615)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* v_p0, NI start_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u4571)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u698)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, connect__varpartitions_u759)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* v_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___varpartitions_u267)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest_p0, tySequence__qwqHTkRvwhrRyENtudHQ7g src_p1);
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__varpartitions_u284)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s_p0, NI newlen_p1);
static N_INLINE(void, nimCopySeqPayload)(void* dest_p0, void* src_p1, NI elemSize_p2, NI elemAlign_p3);
N_LIB_PRIVATE N_NIMCALL(NI, align__system_u1639)(NI address_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___varpartitions_u261)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u4583)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_u1103)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA a_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA b_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u849)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI* y_p1, NI y_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, destMightOwn__varpartitions_u1086)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u1284)(tySequence__hMc5eJjVGjq6i857yHjTtg dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasDisabledAsgn__modulegraphs_u10661)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(void, noCursor__varpartitions_u1468)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(void, borrowingCall__varpartitions_u1567)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* destType_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, NI i_p3);
N_LIB_PRIVATE N_NIMCALL(void, potentialMutationViaArg__varpartitions_u1798)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* callee_p2);
N_LIB_PRIVATE N_NIMCALL(void, pretendOwnsData__varpartitions_u1476)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipColon__ast_u7347)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNoSideEffectPragma__trees_u281)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, dangerousMutation__varpartitions_u2467)(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* g_p0, tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg* v_p1);
static N_INLINE(NIM_BOOL, contains__varpartitions_u2531)(tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ s_p0, NI value_p1);
static N_INLINE(tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ, dotdot___varpartitions_u2499)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(void, cannotBorrow__varpartitions_u2557)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* g_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_u714)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u13532)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2319)(tySequence__9aee2Loc4nE9bvjjGuhsI78w dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2188)(tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u474)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_u2111)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g goals_p3, tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getAttachedOp__modulegraphs_u4987)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q op_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2167)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* dest_p0);
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__39a9bfgg3gnILXo9by9cxATh0Q_2 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_3 = { 19 | NIM_STRLIT_FLAG, "cannot borrow from " };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_4 = {19, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_3};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_5 = { 7 | NIM_STRLIT_FLAG, "<empty>" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_6 = {7, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_5};
static const struct {
  NI cap; NIM_CHAR data[140+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_7 = { 140 | NIM_STRLIT_FLAG, ", it is not a path expression; see https://nim-lang.github.io/Nim/manual_experimental.html#view-types-algorithm-path-expressions for details" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_8 = {140, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_7};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_10 = { 68 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/varpartitions.nim" };
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_11 = { 45 | NIM_STRLIT_FLAG, "\'result\' must borrow from the first parameter" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_12 = {45, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_11};
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__39a9bfgg3gnILXo9by9cxATh0Q_14 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__39a9bfgg3gnILXo9by9cxATh0Q_15 = {
0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_16 = { 41 | NIM_STRLIT_FLAG, "cannot determine the target of the borrow" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_17 = {41, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_16};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_19 = { 14 | NIM_STRLIT_FLAG, "cannot borrow " };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_20 = {14, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_19};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_21 = { 45 | NIM_STRLIT_FLAG, "; what it borrows from is potentially mutated" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_22 = {45, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_21};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_23 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_24 = {1, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_23};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_25 = { 21 | NIM_STRLIT_FLAG, " the mutation is here" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_26 = {21, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_25};
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_27 = {1, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_23};
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_28 = { 62 | NIM_STRLIT_FLAG, " is the statement that connected the mutation to the parameter" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_29 = {62, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_28};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_31 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_32 = {1, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_31};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_33 = { 25 | NIM_STRLIT_FLAG, "\' borrows from location \'" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_34 = {25, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_33};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_35 = { 33 | NIM_STRLIT_FLAG, "\' which does not live long enough" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_36 = {33, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_35};
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_38 = {1, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_31};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_39 = { 39 | NIM_STRLIT_FLAG, "\' borrows from the immutable location \'" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_40 = {39, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_39};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_41 = { 27 | NIM_STRLIT_FLAG, "\' and attempts to mutate it" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_42 = {27, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_41};
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_44 = {1, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_31};
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__39a9bfgg3gnILXo9by9cxATh0Q_45 = { 62 | NIM_STRLIT_FLAG, "\' borrows from an immutable location and attempts to mutate it" };
static const NimStringV2 TM__39a9bfgg3gnILXo9by9cxATh0Q_46 = {62, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_45};
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_9 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)563),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_13 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)567),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_18 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)599),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_30 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)972),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_37 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)987),
((NI)24)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_43 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)990),
((NI)24)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_47 = {{68, (NimStrPayload*)&TM__39a9bfgg3gnILXo9by9cxATh0Q_10},
((NI)997),
((NI)20)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u264)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0) {
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI));
}
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3127(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u235)(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* dest_p0) {
	eqdestroy___varpartitions_u264((*dest_p0).mutations);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).param);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3469((&(*(*dest_p0).param)));
		nimRawDispose((*dest_p0).param, ((NI)8));
	}
LA4_: ;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, registerParam__varpartitions_u528)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__3;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__4;
		tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg T7_;
		NI T8_;
		tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA T9_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
		if (!(T3_)) goto LA4_;
		T3_ = !(((*(*(*n_p1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*(*n_p1)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA4_: ;
		if (!T3_) goto LA5_;
		nimZeroMem((void*)(&T7_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T7_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		T7_.con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2);
		T8_ = (*c_p0).graphs.len;
		T7_.con.graphIndex = T8_;
		colontmpD_ = eqdup___ast_u4580((*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T7_.sym = colontmpD_;
		T7_.reassignedTo = ((NI)0);
		T7_.aliveStart = (*c_p0).abstractTime;
		T7_.aliveEnd = (*c_p0).abstractTime;
		add__varpartitions_u396((&(*c_p0).s), (&T7_));
		nimZeroMem((void*)(&T9_), sizeof(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA));
		colontmpD__2 = eqdup___ast_u4580((*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T9_.param = colontmpD__2;
		colontmpD__3 = eqdup___lineinfos_u2037(unknownLineInfo__lineinfos_u364);
		T9_.mutatedHere = colontmpD__3;
		colontmpD__4 = eqdup___lineinfos_u2037(unknownLineInfo__lineinfos_u364);
		T9_.connectedVia = colontmpD__4;
		T9_.flags = 8;
		T9_.maxMutation = ((NI)-1);
		T9_.minConnection = ((NI)IL64(9223372036854775807));
		T9_.mutations.len = 0; T9_.mutations.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
		add__varpartitions_u557((&(*c_p0).graphs), (&T9_));
	}
	goto LA1_;
LA5_: ;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__5;
		tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg T11_;
		nimZeroMem((void*)(&T11_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T11_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T11_.con), sizeof(tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q));
		T11_.con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)0);
		colontmpD__5 = eqdup___ast_u4580((*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T11_.sym = colontmpD__5;
		T11_.reassignedTo = ((NI)0);
		T11_.aliveStart = (*c_p0).abstractTime;
		T11_.aliveEnd = (*c_p0).abstractTime;
		add__varpartitions_u396((&(*c_p0).s), (&T11_));
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, registerResult__varpartitions_u389)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg T5_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T5_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T5_.con), sizeof(tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q));
		T5_.con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)0);
		colontmpD_ = eqdup___ast_u4580((*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T5_.sym = colontmpD_;
		T5_.reassignedTo = ((NI)0);
		T5_.aliveStart = ((NI)IL64(9223372036854775807));
		T5_.aliveEnd = (*c_p0).abstractTime;
		add__varpartitions_u396((&(*c_p0).s), (&T5_));
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, variableId__varpartitions_u372)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* x_p1) {
	NI result;
{	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*c_p0).s.len;
		colontmp_ = T2_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					if (!((*c_p0).s.p->data[i_1].sym == x_p1)) goto LA7_;
					result = i_1;
					goto BeforeRet_;
				}
LA7_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	result = ((NI)-1);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, registerVariable__varpartitions_u604)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NI T5_;
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
		tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T3_)) goto LA4_;
		T5_ = (NI)0;
		T5_ = variableId__varpartitions_u372((&(*c_p0)), (*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (T5_ < ((NI)0));
LA4_: ;
		if (!T3_) goto LA6_;
		nimZeroMem((void*)(&T8_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T8_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
		nimZeroMem((void*)(&T8_.con), sizeof(tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q));
		T8_.con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)0);
		colontmpD_ = eqdup___ast_u4580((*n_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T8_.sym = colontmpD_;
		T8_.reassignedTo = ((NI)0);
		T8_.aliveStart = (*c_p0).abstractTime;
		T8_.aliveEnd = (*c_p0).abstractTime;
		add__varpartitions_u396((&(*c_p0).s), (&T8_));
	}
LA6_: ;
	}BeforeRet_: ;
}
static N_INLINE(void, markAsReassigned__varpartitions_u1958)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, NI vid_p1) {
	(*c_p0).s.p->data[vid_p1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)2))) & 7);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) < (*c_p0).inConditional);
		if (!(T3_)) goto LA4_;
		T3_ = (((NI)0) < (*c_p0).inLoop);
LA4_: ;
		if (!T3_) goto LA5_;
		(*c_p0).s.p->data[vid_p1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)3))) & 7);
	}
LA5_: ;
}
static N_INLINE(NI, max__varpartitions_u2033)(NI x_p0, NI y_p1) {
	NI result;
	NI colontmpD_;
	NI colontmpD__2;
	colontmpD_ = (NI)0;
	colontmpD__2 = (NI)0;
	{
		if (!(y_p1 <= x_p0)) goto LA3_;
		colontmpD_ = x_p0;
		result = colontmpD_;
	}
	goto LA1_;
LA3_: ;
	{
		colontmpD__2 = y_p1;
		result = colontmpD__2;
	}
LA1_: ;
	return result;
}
static N_INLINE(NI, min__varpartitions_u803)(NI x_p0, NI y_p1) {
	NI result;
	NI colontmpD_;
	NI colontmpD__2;
	colontmpD_ = (NI)0;
	colontmpD__2 = (NI)0;
	{
		if (!(x_p0 <= y_p1)) goto LA3_;
		colontmpD_ = x_p0;
		result = colontmpD_;
	}
	goto LA1_;
LA3_: ;
	{
		colontmpD__2 = y_p1;
		result = colontmpD__2;
	}
LA1_: ;
	return result;
}
static N_INLINE(NI, signatureLen__ast_u5610)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_u3655)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	result = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, computeLiveRanges__varpartitions_u1969)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*c_p0).abstractTime += ((NI)1);
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
			child_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_1;
						if (!(i_2 < colontmp_)) goto LA6;
						last_1 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&child_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						last_1 = lastSon__ast_u5208(child_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						computeLiveRanges__varpartitions_u1969(c_p0, last_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						{
							NIM_BOOL T10_;
							T10_ = (NIM_BOOL)0;
							T10_ = ((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36));
							if (!(T10_)) goto LA11_;
							T10_ = ((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
LA11_: ;
							if (!T10_) goto LA12_;
							{
								NI T16_;
								NI T17_;
								T16_ = (NI)0;
								T16_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								T17_ = (NI)0;
								T17_ = len__ast_u3190(last_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								if (!!(((NI)(T16_ - ((NI)2)) == T17_))) goto LA18_;
								eqdestroy___ast_u3252(last_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
								eqdestroy___ast_u3252(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA18_: ;
							{
								NI i_3;
								NI colontmp__2;
								NI T21_;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								T21_ = (NI)0;
								T21_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								colontmp__2 = (NI)(T21_ - ((NI)2));
								i_4 = ((NI)0);
								{
									while (1) {
										if (!(i_4 < colontmp__2)) goto LA23;
										i_3 = i_4;
										registerVariable__varpartitions_u604(c_p0, (*child_1)._kind_6.sons.p->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
										i_4 += ((NI)1);
									} LA23: ;
								}
							}
						}
						goto LA8_;
LA12_: ;
						{
							{
								NI i_5;
								NI colontmp__3;
								NI T26_;
								NI i_6;
								i_5 = (NI)0;
								colontmp__3 = (NI)0;
								T26_ = (NI)0;
								T26_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								colontmp__3 = (NI)(T26_ - ((NI)2));
								i_6 = ((NI)0);
								{
									while (1) {
										if (!(i_6 < colontmp__3)) goto LA28;
										i_5 = i_6;
										registerVariable__varpartitions_u604(c_p0, (*child_1)._kind_6.sons.p->data[i_5]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
										i_6 += ((NI)1);
									} LA28: ;
								}
							}
							{
								NIM_BOOL T31_;
								NI vid_1;
								T31_ = (NIM_BOOL)0;
								T31_ = (((NI)0) < (*c_p0).inLoop);
								if (!(T31_)) goto LA32_;
								T31_ = ((*(*child_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA32_: ;
								if (!T31_) goto LA33_;
								vid_1 = variableId__varpartitions_u372((&(*c_p0)), (*(*child_1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								{
									NI T37_;
									T37_ = (NI)0;
									T37_ = len__ast_u3190(child_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
									if (!!(((*(*child_1)._kind_6.sons.p->data[(NI)(T37_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA38_;
									markAsReassigned__varpartitions_u1958(c_p0, vid_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								}
LA38_: ;
							}
LA33_: ;
						}
LA8_: ;
						i_2 += ((NI)1);
						{
							LA7_:;
						}
						{
							oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(last_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							*nimErr_ = oldNimErrFin7_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
	{
		computeLiveRanges__varpartitions_u1969(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		computeLiveRanges__varpartitions_u1969(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI vid_2;
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA47_;
			vid_2 = variableId__varpartitions_u372((&(*c_p0)), (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(((NI)0) <= vid_2)) goto LA51_;
				{
					NIM_BOOL T55_;
					NIM_BOOL T57_;
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym215__1;
					tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym218__1;
					T55_ = (NIM_BOOL)0;
					T55_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
					if (!(T55_)) goto LA56_;
					T57_ = (NIM_BOOL)0;
					T57_ = ((*c_p0).s.p->data[vid_2].reassignedTo == ((NI)0));
					if (T57_) goto LA58_;
					xX60gensym215__1 = (*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).itemId;
					T57_ = ((*c_p0).s.p->data[vid_2].reassignedTo == (NI)((NI)((NU64)(((NI) (xX60gensym215__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym215__1.item))));
LA58_: ;
					T55_ = T57_;
LA56_: ;
					if (!T55_) goto LA59_;
					xX60gensym218__1 = (*(*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).itemId;
					(*c_p0).s.p->data[vid_2].reassignedTo = (NI)((NI)((NU64)(((NI) (xX60gensym218__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym218__1.item)));
					{
						NIM_BOOL T63_;
						T63_ = (NIM_BOOL)0;
						T63_ = (((NI)0) < (*c_p0).inConditional);
						if (!(T63_)) goto LA64_;
						T63_ = (((NI)0) < (*c_p0).inLoop);
LA64_: ;
						if (!T63_) goto LA65_;
						(*c_p0).s.p->data[vid_2].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)3))) & 7);
					}
LA65_: ;
				}
				goto LA53_;
LA59_: ;
				{
					markAsReassigned__varpartitions_u1958(c_p0, vid_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA53_: ;
			}
LA51_: ;
		}
LA47_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		(*c_p0).abstractTime -= ((NI)1);
		{
			NI id_1;
			if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA71_;
			id_1 = variableId__varpartitions_u372((&(*c_p0)), (*n_p1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(((NI)0) <= id_1)) goto LA75_;
				(*c_p0).s.p->data[id_1].aliveEnd = max__varpartitions_u2033((*c_p0).s.p->data[id_1].aliveEnd, (*c_p0).abstractTime);
				{
					if (!((*(*n_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11))) goto LA79_;
					(*c_p0).s.p->data[id_1].aliveStart = min__varpartitions_u803((*c_p0).s.p->data[id_1].aliveStart, (*c_p0).abstractTime);
				}
LA79_: ;
			}
LA75_: ;
		}
LA71_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
		(*c_p0).abstractTime -= ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* parameters_1;
		NI colontmpD_;
		NI colontmpD__2;
		NI L_1;
		parameters_1 = NIM_NIL;
		colontmpD_ = (NI)0;
		colontmpD__2 = (NI)0;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_2;
			child_2 = NIM_NIL;
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_8 = ((NI)0);
				{
					while (1) {
						if (!(i_8 < colontmp__4)) goto LA86;
						i_7 = i_8;
						eqcopy___ast_u3255(&child_2, (*n_p1)._kind_6.sons.p->data[i_7]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						computeLiveRanges__varpartitions_u1969(c_p0, child_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_8 += ((NI)1);
					} LA86: ;
				}
			}
			eqdestroy___ast_u3252(child_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		eqcopy___ast_u3381(&parameters_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!((parameters_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA89_;
			colontmpD_ = signatureLen__ast_u5610(parameters_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			L_1 = colontmpD_;
		}
		goto LA87_;
LA89_: ;
		{
			colontmpD__2 = ((NI)0);
			L_1 = colontmpD__2;
		}
LA87_: ;
		{
			NI i_9;
			NI colontmp__5;
			NI i_10;
			i_9 = (NI)0;
			colontmp__5 = (NI)0;
			colontmp__5 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_10 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					if (!(i_10 < colontmp__5)) goto LA94;
					it_1 = NIM_NIL;
					i_9 = i_10;
					eqcopy___ast_u3255(&it_1, (*n_p1)._kind_6.sons.p->data[i_9]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						NIM_BOOL T97_;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_1;
						T97_ = (NIM_BOOL)0;
						T97_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
						if (!(T97_)) goto LA98_;
						T97_ = (i_9 < L_1);
LA98_: ;
						if (!T97_) goto LA99_;
						paramType_1 = NIM_NIL;
						paramType_1 = skipTypes__ast_u5379((*parameters_1).sons.p->data[i_9], TM__39a9bfgg3gnILXo9by9cxATh0Q_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NIM_BOOL T103_;
							NIM_BOOL T104_;
							NI vid_3;
							T103_ = (NIM_BOOL)0;
							T104_ = (NIM_BOOL)0;
							T104_ = isCompileTimeOnly__types_u3655(paramType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							T103_ = !(T104_);
							if (!(T103_)) goto LA105_;
							T103_ = ((*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
LA105_: ;
							if (!T103_) goto LA106_;
							vid_3 = variableId__varpartitions_u372((&(*c_p0)), (*it_1)._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							{
								if (!(((NI)0) <= vid_3)) goto LA110_;
								markAsReassigned__varpartitions_u1958(c_p0, vid_3);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
LA110_: ;
						}
LA106_: ;
						eqdestroy___ast_u3378(paramType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA99_: ;
					i_10 += ((NI)1);
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA94: ;
			}
		}
		eqdestroy___ast_u3378(parameters_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	{
		computeLiveRanges__varpartitions_u1969(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI vid_4;
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA115_;
			vid_4 = variableId__varpartitions_u372((&(*c_p0)), (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(((NI)0) <= vid_4)) goto LA119_;
				(*c_p0).s.p->data[vid_4].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
			}
LA119_: ;
		}
LA115_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = lastSon__ast_u5208(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		computeLiveRanges__varpartitions_u1969(c_p0, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_3;
			child_3 = NIM_NIL;
			{
				NI i_11;
				NI colontmp__6;
				NI i_12;
				i_11 = (NI)0;
				colontmp__6 = (NI)0;
				colontmp__6 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_12 = ((NI)0);
				{
					while (1) {
						if (!(i_12 < colontmp__6)) goto LA126;
						i_11 = i_12;
						eqcopy___ast_u3255(&child_3, (*n_p1)._kind_6.sons.p->data[i_11]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						computeLiveRanges__varpartitions_u1969(c_p0, child_3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_12 += ((NI)1);
					} LA126: ;
				}
			}
			eqdestroy___ast_u3252(child_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		(*c_p0).inLoop += ((NI)1);
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_4;
			child_4 = NIM_NIL;
			{
				NI i_13;
				NI colontmp__7;
				NI i_14;
				i_13 = (NI)0;
				colontmp__7 = (NI)0;
				colontmp__7 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_14 = ((NI)0);
				{
					while (1) {
						if (!(i_14 < colontmp__7)) goto LA130;
						i_13 = i_14;
						eqcopy___ast_u3255(&child_4, (*n_p1)._kind_6.sons.p->data[i_13]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						computeLiveRanges__varpartitions_u1969(c_p0, child_4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_14 += ((NI)1);
					} LA130: ;
				}
			}
			eqdestroy___ast_u3252(child_4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		(*c_p0).inLoop -= ((NI)1);
		{
			if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96))) goto LA133_;
			computeLiveRanges__varpartitions_u1969(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA133_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
	{
		(*c_p0).inConditional += ((NI)1);
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_5;
			child_5 = NIM_NIL;
			{
				NI i_15;
				NI colontmp__8;
				NI i_16;
				i_15 = (NI)0;
				colontmp__8 = (NI)0;
				colontmp__8 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_16 = ((NI)0);
				{
					while (1) {
						if (!(i_16 < colontmp__8)) goto LA139;
						i_15 = i_16;
						eqcopy___ast_u3255(&child_5, (*n_p1)._kind_6.sons.p->data[i_15]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						computeLiveRanges__varpartitions_u1969(c_p0, child_5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_16 += ((NI)1);
					} LA139: ;
				}
			}
			eqdestroy___ast_u3252(child_5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		(*c_p0).inConditional -= ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)105):
	{
		{
			if (!(*c_p0).processDefer) goto LA143_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_6;
				child_6 = NIM_NIL;
				{
					NI i_17;
					NI colontmp__9;
					NI i_18;
					i_17 = (NI)0;
					colontmp__9 = (NI)0;
					colontmp__9 = safeLen__ast_u3197(n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_18 = ((NI)0);
					{
						while (1) {
							if (!(i_18 < colontmp__9)) goto LA148;
							i_17 = i_18;
							eqcopy___ast_u3255(&child_6, (*n_p1)._kind_6.sons.p->data[i_17]);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							computeLiveRanges__varpartitions_u1969(c_p0, child_6);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							i_18 += ((NI)1);
						} LA148: ;
					}
				}
				eqdestroy___ast_u3252(child_6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		}
		goto LA141_;
LA143_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			colontmpD__4 = eqdup___ast_u3258(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			add__ast_u3225((&(*c_p0).defers), colontmpD__4);
		}
LA141_: ;
	}
	break;
	default:
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_7;
			child_7 = NIM_NIL;
			{
				NI i_19;
				NI colontmp__10;
				NI i_20;
				i_19 = (NI)0;
				colontmp__10 = (NI)0;
				colontmp__10 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_20 = ((NI)0);
				{
					while (1) {
						if (!(i_20 < colontmp__10)) goto LA154;
						i_19 = i_20;
						eqcopy___ast_u3255(&child_7, (*n_p1)._kind_6.sons.p->data[i_19]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						computeLiveRanges__varpartitions_u1969(c_p0, child_7);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_20 += ((NI)1);
					} LA154: ;
				}
			}
			eqdestroy___ast_u3252(child_7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, borrowFromConstExpr__varpartitions_u894)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = lastSon__ast_u5208(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = borrowFromConstExpr__varpartitions_u894(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44):
	{
		result = NIM_TRUE;
		{
			NI i_1;
			NI colontmp_;
			NI colontmp__2;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp__2 = (NI)0;
			colontmp_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38));
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = colontmp_;
			{
				while (1) {
					if (!(i_2 < colontmp__2)) goto LA6;
					i_1 = i_2;
					{
						NIM_BOOL T9_;
						T9_ = (NIM_BOOL)0;
						T9_ = borrowFromConstExpr__varpartitions_u894((*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!!(T9_)) goto LA10_;
						result = NIM_FALSE;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA6: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T15_;
			T15_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T15_ = getMagic__trees_u122(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T15_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)143))) goto LA16_;
			result = NIM_TRUE;
			{
				NI i_3;
				NI colontmp__3;
				NI i_4;
				i_3 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_4 = ((NI)1);
				{
					while (1) {
						if (!(i_4 < colontmp__3)) goto LA20;
						i_3 = i_4;
						{
							NIM_BOOL T23_;
							T23_ = (NIM_BOOL)0;
							T23_ = borrowFromConstExpr__varpartitions_u894((*n_p0)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T23_)) goto LA24_;
							result = NIM_FALSE;
							goto BeforeRet_;
						}
LA24_: ;
						i_4 += ((NI)1);
					} LA20: ;
				}
			}
		}
		goto LA13_;
LA16_: ;
		{
			result = NIM_FALSE;
		}
LA13_: ;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pathExpr__varpartitions_u918)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	n_1 = NIM_NIL;
	eqcopy___ast_u3255(&n_1, node_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		while (1) {
			switch ((*n_1).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
			{
				switch ((*(*n_1)._kind_4.sym).kind) {
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3):
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5):
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11):
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21):
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
					colontmpD_ = NIM_NIL;
					{
						colontmpD_ = owner__ast_u6254((*n_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						if (!(colontmpD_ == owner_p1)) goto LA8_;
						eqcopy___ast_u3255(&result, n_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA8_: ;
					eqdestroy___ast_u4574(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8):
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
					colontmpD__2 = NIM_NIL;
					{
						NIM_BOOL T13_;
						T13_ = (NIM_BOOL)0;
						colontmpD__2 = owner__ast_u6254((*n_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						T13_ = (colontmpD__2 == owner_p1);
						if (T13_) goto LA14_;
						T13_ = (((*(*n_1)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)26)))&63U)))!=0);
LA14_: ;
						if (!T13_) goto LA15_;
						eqcopy___ast_u3255(&result, n_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA15_: ;
					eqdestroy___ast_u4574(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9):
				case ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10):
				{
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
					colontmpD__3 = NIM_NIL;
					{
						NIM_BOOL T20_;
						tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T22_;
						T20_ = (NIM_BOOL)0;
						colontmpD__3 = owner__ast_u6254((*n_1)._kind_4.sym);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						T20_ = (colontmpD__3 == owner_p1);
						if (T20_) goto LA21_;
						T22_ = 0;
						T20_ = !(((67108872 & (*(*n_1)._kind_4.sym).flags) == T22_));
LA21_: ;
						if (!T20_) goto LA23_;
						eqcopy___ast_u3255(&result, n_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA23_: ;
					eqdestroy___ast_u4574(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				default:
				{
				}
				break;
				}
				goto LA2;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
			{
				eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T28_;
				T28_ = NIM_NIL;
				T28_ = lastSon__ast_u5208(n_1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T28_); goto LA1_;}
				eqsink___ast_u3261(&n_1, T28_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
			{
				{
					NIM_BOOL T32_;
					NI T33_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
					T32_ = (NIM_BOOL)0;
					T33_ = (NI)0;
					T33_ = len__ast_u3190(n_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T32_ = (((NI)0) < T33_);
					if (!(T32_)) goto LA34_;
					T32_ = stupidStmtListExpr__trees_u384(n_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA34_: ;
					if (!T32_) goto LA35_;
					T37_ = NIM_NIL;
					T37_ = lastSon__ast_u5208(n_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto LA1_;}
					eqsink___ast_u3261(&n_1, T37_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA30_;
LA35_: ;
				{
					goto LA2;
				}
LA30_: ;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
			{
				{
					NI T42_;
					T42_ = (NI)0;
					T42_ = len__ast_u3190(n_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					if (!(((NI)1) < T42_)) goto LA43_;
					{
						NIM_BOOL T47_;
						NIM_BOOL T48_;
						tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T50_;
						tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T52_;
						T47_ = (NIM_BOOL)0;
						T48_ = (NIM_BOOL)0;
						T48_ = !(((*n_1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
						if (!(T48_)) goto LA49_;
						T50_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
						T50_ = classifyViewType__typeallowed_u552((*n_1).typField);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						T48_ = !((T50_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0)));
LA49_: ;
						T47_ = T48_;
						if (T47_) goto LA51_;
						T52_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
						T52_ = getMagic__trees_u122(n_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						T47_ = (T52_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124));
LA51_: ;
						if (!T47_) goto LA53_;
						eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
					goto LA45_;
LA53_: ;
					{
						goto LA2;
					}
LA45_: ;
				}
				goto LA40_;
LA43_: ;
				{
					goto LA2;
				}
LA40_: ;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
		}
	} LA2: ;
	{
		NIM_BOOL T60_;
		T60_ = (NIM_BOOL)0;
		T60_ = (result == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
		if (!(T60_)) goto LA61_;
		T60_ = borrowFromConstExpr__varpartitions_u894(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA61_: ;
		if (!T60_) goto LA62_;
		eqsink___ast_u3261(&result, n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqwasMoved___ast_u3249(&n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA62_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toString__varpartitions_u1500)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA3_;
		result = TM__39a9bfgg3gnILXo9by9cxATh0Q_6;
	}
	goto LA1_;
LA3_: ;
	{
		result = dollar___renderer_u2166(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstSym__varpartitions_u1485)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
	if (!(T3_)) goto LA4_;
	T3_ = !(((*(*s_p0).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*s_p0).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA4_: ;
	T1_ = T3_;
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, borrowFrom__varpartitions_u1507)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1 = NIM_NIL;
	s_1 = pathExpr__varpartitions_u918(src_p2, (*c_p0).owner);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T7_;
		if (!(s_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		colontmpD_ = toString__varpartitions_u1500(src_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = rawNewString(colontmpD_.len + 159);
appendString((&T7_), TM__39a9bfgg3gnILXo9by9cxATh0Q_4);
appendString((&T7_), colontmpD_);
appendString((&T7_), TM__39a9bfgg3gnILXo9by9cxATh0Q_8);
		colontmpD__2 = T7_;
		liMessage__msgs_u1227((*(*c_p0).g).config, (*src_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_9), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NI vid_1;
		if (!((*s_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA11_;
		{
			if (!((*dest_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11))) goto LA15_;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = !(((*(*s_1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
				if (T19_) goto LA20_;
				T19_ = !(((*(*s_1)._kind_4.sym).position == ((NI)0)));
LA20_: ;
				if (!T19_) goto LA21_;
				liMessage__msgs_u1227((*(*c_p0).g).config, (*src_p2).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__39a9bfgg3gnILXo9by9cxATh0Q_12, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_13), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA21_: ;
		}
LA15_: ;
		vid_1 = variableId__varpartitions_u372((&(*c_p0)), dest_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NI sourceIdx_1;
			if (!(((NI)0) <= vid_1)) goto LA25_;
			sourceIdx_1 = variableId__varpartitions_u372((&(*c_p0)), (*s_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
				NI T31_;
				tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg T32_;
				if (!(sourceIdx_1 < ((NI)0))) goto LA29_;
				T31_ = (*c_p0).s.len;
				sourceIdx_1 = T31_;
				nimZeroMem((void*)(&T32_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
				nimZeroMem((void*)(&T32_), sizeof(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
				nimZeroMem((void*)(&T32_.con), sizeof(tyObject_Connection__msVk44inLNF9bGoW0TwTG0Q));
				T32_.con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)0);
				colontmpD__3 = eqdup___ast_u4580((*s_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T32_.sym = colontmpD__3;
				T32_.reassignedTo = ((NI)0);
				T32_.aliveStart = ((NI)-1);
				T32_.aliveEnd = ((NI)IL64(9223372036854775807));
				add__varpartitions_u396((&(*c_p0).s), (&T32_));
			}
LA29_: ;
			add__varpartitions_u1538((&(*c_p0).s.p->data[vid_1].borrowsFrom), sourceIdx_1);
			{
				NIM_BOOL T35_;
				T35_ = (NIM_BOOL)0;
				T35_ = isConstSym__varpartitions_u1485((*s_1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				if (!T35_) goto LA36_;
				(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)5))) & 7);
			}
LA36_: ;
		}
LA25_: ;
	}
	goto LA2_;
LA11_: ;
	{
		NI vid_2;
		vid_2 = variableId__varpartitions_u372((&(*c_p0)), dest_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!(((NI)0) <= vid_2)) goto LA41_;
			(*c_p0).s.p->data[vid_2].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)5))) & 7);
		}
LA41_: ;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, borrowingAsgn__varpartitions_u1590)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2) {
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*dest_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		{
			tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T7_;
			T7_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
			T7_ = directViewType__typeallowed_u556((*dest_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!((T7_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0)))) goto LA8_;
			borrowFrom__varpartitions_u1507(c_p0, (*dest_p1)._kind_4.sym, src_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA8_: ;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* viewOrigin_1;
		viewOrigin_1 = NIM_NIL;
		viewOrigin_1 = pathExpr__varpartitions_u918(dest_p1, (*c_p0).owner);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			NIM_BOOL T14_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* viewSym_1;
			tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw directView_1;
			tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw originSymbolView_1;
			tySet_tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw viewSets_1;
			T14_ = (NIM_BOOL)0;
			T14_ = !((viewOrigin_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T14_)) goto LA15_;
			T14_ = ((*viewOrigin_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA15_: ;
			if (!T14_) goto LA16_;
			viewSym_1 = NIM_NIL;
			eqcopy___ast_u4577(&viewSym_1, (*viewOrigin_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			directView_1 = directViewType__typeallowed_u556((*(*dest_p1)._kind_6.sons.p->data[((NI)0)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			originSymbolView_1 = directViewType__typeallowed_u556((*viewSym_1).typ);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			viewSets_1 = 0;
			viewSets_1 |=((NU8)(1)<<(((directView_1))%(sizeof(NU8)*8)));
			viewSets_1 |=((NU8)(1)<<(((originSymbolView_1))%(sizeof(NU8)*8)));
			{
				tySet_tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T20_;
				NI vid_1;
				T20_ = 0;
				if (!!(((viewSets_1 & 6) == T20_))) goto LA21_;
				vid_1 = variableId__varpartitions_u372((&(*c_p0)), viewSym_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				{
					if (!(((NI)0) <= vid_1)) goto LA25_;
					(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)4))) & 7);
				}
LA25_: ;
			}
			goto LA18_;
LA21_: ;
			{
			}
LA18_: ;
			eqdestroy___ast_u4574(viewSym_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		}
LA16_: ;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(viewOrigin_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isEmptyType__ast_u7234)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (t_p0 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (T1_) goto LA2_;
	T1_ = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7));
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, allRoots__varpartitions_u973)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySequence__hMc5eJjVGjq6i857yHjTtg* result_p1, NI level_p2) {
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin67_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
			tyTuple__Wipq1508vNWp3jwczem6TQ T6_;
			if (!((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21))) goto LA4_;
			nimZeroMem((void*)(&T6_), sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ));
			colontmpD_ = eqdup___ast_u4580((*n_p0)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T6_.Field0 = colontmpD_;
			T6_.Field1 = level_p2;
			add__varpartitions_u981((&(*result_p1)), T6_);
		}
LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	{
		allRoots__varpartitions_u973((*n_p0)._kind_6.sons.p->data[((NI)0)], result_p1, (NI)(level_p2 + ((NI)1)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	{
		allRoots__varpartitions_u973((*n_p0)._kind_6.sons.p->data[((NI)0)], result_p1, level_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)127):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	{
		{
			NI T12_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			T12_ = (NI)0;
			T12_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T12_)) goto LA13_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = lastSon__ast_u5208(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			allRoots__varpartitions_u973(colontmpD__2, result_p1, level_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin15_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
					if (!(i_2 < colontmp_)) goto LA21;
					colontmpD__3 = NIM_NIL;
					i_1 = i_2;
					colontmpD__3 = lastSon__ast_u5208((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					allRoots__varpartitions_u973(colontmpD__3, result_p1, level_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
					i_2 += ((NI)1);
					{
						LA22_:;
					}
					{
						oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin22_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA21: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					if (!(i_4 < colontmp__2)) goto LA28;
					colontmpD__4 = NIM_NIL;
					i_3 = i_4;
					colontmpD__4 = lastSon__ast_u5208((*n_p0)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					allRoots__varpartitions_u973(colontmpD__4, result_p1, level_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
					i_4 += ((NI)1);
					{
						LA29_:;
					}
					{
						oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin29_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA28: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	{
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI)0);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA35;
					i_5 = i_6;
					allRoots__varpartitions_u973((*n_p0)._kind_6.sons.p->data[i_5], result_p1, (NI)(level_p2 - ((NI)1)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_6 += ((NI)1);
				} LA35: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			NIM_BOOL T39_;
			T39_ = (NIM_BOOL)0;
			T39_ = !(((*n_p0).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
			if (!(T39_)) goto LA40_;
			T39_ = ((*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*n_p0).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47));
LA40_: ;
			if (!T39_) goto LA41_;
			{
				NI T45_;
				T45_ = (NI)0;
				T45_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(((NI)1) < T45_)) goto LA46_;
				allRoots__varpartitions_u973((*n_p0)._kind_6.sons.p->data[((NI)1)], result_p1, ((NI)1000));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA46_: ;
		}
		goto LA37_;
LA41_: ;
		{
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_1;
			m_1 = getMagic__trees_u122(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			switch (m_1) {
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0):
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
				typ_1 = NIM_NIL;
				{
					if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField == 0)) goto LA53_;
					eqdestroy___ast_u3378(typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA53_: ;
				eqcopy___ast_u3381(&typ_1, (*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField);
				if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T59_;
					if (!!((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA57_;
					T59_ = NIM_NIL;
					T59_ = skipTypes__ast_u5379(typ_1, TM__39a9bfgg3gnILXo9by9cxATh0Q_14);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T59_); goto LA50_;}
					eqsink___ast_u3387(&typ_1, T59_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					{
						if (!!(((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25)))) goto LA62_;
						eqsink___ast_u3387(&typ_1, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
LA62_: ;
				}
LA57_: ;
				{
					NI i_7;
					NI colontmp__4;
					NI i_8;
					i_7 = (NI)0;
					colontmp__4 = (NI)0;
					colontmp__4 = len__ast_u3190(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					i_8 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
							if (!(i_8 < colontmp__4)) goto LA66;
							it_1 = NIM_NIL;
							i_7 = i_8;
							eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_7]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
							{
								NIM_BOOL T70_;
								NI T72_;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_1;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__5;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
								T70_ = (NIM_BOOL)0;
								T70_ = !((typ_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
								if (!(T70_)) goto LA71_;
								T72_ = (NI)0;
								T72_ = len__ast_u3190((*typ_1).n);
								if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
								T70_ = (i_7 < T72_);
LA71_: ;
								if (!T70_) goto LA73_;
								paramType_1 = NIM_NIL;
								colontmpD__5 = NIM_NIL;
								colontmpD__6 = NIM_NIL;
								eqcopy___ast_u3381(&paramType_1, (*(*(*typ_1).n)._kind_6.sons.p->data[i_7]).typField);
								if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
								{
									NIM_BOOL T78_;
									NIM_BOOL T79_;
									NIM_BOOL T80_;
									NIM_BOOL T82_;
									T78_ = (NIM_BOOL)0;
									T79_ = (NIM_BOOL)0;
									T80_ = (NIM_BOOL)0;
									T80_ = isCompileTimeOnly__types_u3655(paramType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
									T79_ = !(T80_);
									if (!(T79_)) goto LA81_;
									colontmpD__5 = returnType__ast_u5354(typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
									T82_ = (NIM_BOOL)0;
									T82_ = isEmptyType__ast_u7234(colontmpD__5);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
									T79_ = !(T82_);
LA81_: ;
									T78_ = T79_;
									if (!(T78_)) goto LA83_;
									colontmpD__6 = returnType__ast_u5354(typ_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
									T78_ = canAlias__isolation95check_u206(paramType_1, colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
LA83_: ;
									if (!T78_) goto LA84_;
									allRoots__varpartitions_u973(it_1, result_p1, ((NI)1000));
									if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
								}
LA84_: ;
								{
									LA75_:;
								}
								{
									oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
									eqdestroy___ast_u3378(colontmpD__5);
									if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
									eqdestroy___ast_u3378(paramType_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
									*nimErr_ = oldNimErrFin75_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
							}
							goto LA68_;
LA73_: ;
							{
								allRoots__varpartitions_u973(it_1, result_p1, ((NI)1000));
								if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
							}
LA68_: ;
							i_8 += ((NI)1);
							{
								LA67_:;
							}
							{
								oldNimErrFin67_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
								*nimErr_ = oldNimErrFin67_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						} LA66: ;
					}
				}
				{
					LA50_:;
				}
				{
					oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(typ_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin50_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124):
			{
				allRoots__varpartitions_u973((*n_p0)._kind_6.sons.p->data[((NI)1)], result_p1, (NI)(level_p2 + ((NI)1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
			}
			break;
			}
		}
LA37_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__varpartitions_u1667)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
	result = ((*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*t_p0).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsPointer__varpartitions_u1664)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = searchTypeFor__types_u423(t_p0, wrap__varpartitions_u1667);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, root__varpartitions_u615)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* v_p0, NI start_p1) {
	NI result;
	NI depth_1;
	result = start_p1;
	depth_1 = ((NI)0);
	{
		while (1) {
			if (!((*v_p0).s.p->data[result].con.kind == ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)1))) goto LA2;
			result = (*v_p0).s.p->data[result].con.parent;
			depth_1 += ((NI)1);
		} LA2: ;
	}
	{
		NI it_1;
		if (!(((NI)0) < depth_1)) goto LA5_;
		it_1 = start_p1;
		{
			while (1) {
				NI next_1;
				if (!((*v_p0).s.p->data[it_1].con.kind == ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)1))) goto LA8;
				next_1 = (*v_p0).s.p->data[it_1].con.parent;
				(*v_p0).s.p->data[it_1].con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)1);
				(*v_p0).s.p->data[it_1].con.parent = result;
				it_1 = next_1;
			} LA8: ;
		}
	}
LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, potentialMutation__varpartitions_u636)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* v_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, NI level_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	NI id_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	id_1 = variableId__varpartitions_u372((&(*v_p0)), s_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD_;
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD__2;
		NI r_1;
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA flags_1;
		if (!(((NI)0) <= id_1)) goto LA3_;
		nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
		nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
		r_1 = root__varpartitions_u615(v_p0, id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD__3;
			tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD__4;
			tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD__5;
			if (!((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA7_;
			nimZeroMem((void*)(&colontmpD__3), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
			nimZeroMem((void*)(&colontmpD__4), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
			nimZeroMem((void*)(&colontmpD__5), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
				if (!(T11_)) goto LA12_;
				T11_ = !(((*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA12_: ;
				if (!T11_) goto LA13_;
				colontmpD__3 = 3;
				colontmpD_ = colontmpD__3;
			}
			goto LA9_;
LA13_: ;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = ((*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
				if (!(T16_)) goto LA17_;
				T16_ = (level_p2 <= ((NI)1));
LA17_: ;
				if (!T16_) goto LA18_;
				colontmpD__4 = 4;
				colontmpD_ = colontmpD__4;
			}
			goto LA9_;
LA18_: ;
			{
				colontmpD__5 = 1;
				colontmpD_ = colontmpD__5;
			}
LA9_: ;
			flags_1 = colontmpD_;
		}
		goto LA5_;
LA7_: ;
		{
			colontmpD__2 = 1;
			flags_1 = colontmpD__2;
		}
LA5_: ;
		switch ((*v_p0).s.p->data[r_1].con.kind) {
		case ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)0):
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__6;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__7;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__8;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__9;
			NI T23_;
			tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA T24_;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			(*v_p0).s.p->data[r_1].con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2);
			T23_ = (*v_p0).graphs.len;
			(*v_p0).s.p->data[r_1].con.graphIndex = T23_;
			nimZeroMem((void*)(&T24_), sizeof(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA));
			{
				NIM_BOOL T27_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
				if (!(T27_)) goto LA28_;
				T27_ = !(((*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA28_: ;
				if (!T27_) goto LA29_;
				eqcopy___ast_u4577(&colontmpD__6, s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				blitTmp_1 = colontmpD__6;
				eqwasMoved___ast_u4571(&colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T24_.param = blitTmp_1;
			}
			goto LA25_;
LA29_: ;
			{
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_2;
				colontmpD__7 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
				blitTmp_2 = colontmpD__7;
				eqwasMoved___ast_u4571(&colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T24_.param = blitTmp_2;
			}
LA25_: ;
			colontmpD__8 = eqdup___lineinfos_u2037(info_p3);
			T24_.mutatedHere = colontmpD__8;
			colontmpD__9 = eqdup___lineinfos_u2037(unknownLineInfo__lineinfos_u364);
			T24_.connectedVia = colontmpD__9;
			T24_.flags = flags_1;
			T24_.maxMutation = (*v_p0).abstractTime;
			T24_.minConnection = ((NI)IL64(9223372036854775807));
			T24_.mutations.len = 1; T24_.mutations.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(1, sizeof(NI), NIM_ALIGNOF(NI));
			T24_.mutations.p->data[0] = (*v_p0).abstractTime;
			add__varpartitions_u557((&(*v_p0).graphs), (&T24_));
			eqdestroy___ast_u4574(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u4574(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2):
		{
			tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* g_1;
			g_1 = (&(*v_p0).graphs.p->data[(*v_p0).s.p->data[r_1].con.graphIndex]);
			{
				NIM_BOOL T35_;
				NIM_BOOL T37_;
				T35_ = (NIM_BOOL)0;
				T35_ = ((*g_1).param == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
				if (!(T35_)) goto LA36_;
				T37_ = (NIM_BOOL)0;
				T37_ = ((*s_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
				if (!(T37_)) goto LA38_;
				T37_ = !(((*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*s_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA38_: ;
				T35_ = T37_;
LA36_: ;
				if (!T35_) goto LA39_;
				eqcopy___ast_u4577(&(*g_1).param, s_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA39_: ;
			{
				if (!((*g_1).maxMutation < (*v_p0).abstractTime)) goto LA43_;
				(*g_1).mutatedHere = info_p3;
				(*g_1).maxMutation = (*v_p0).abstractTime;
			}
LA43_: ;
			(*g_1).flags = ((*g_1).flags | flags_1);
			add__varpartitions_u698((&(*g_1).mutations), (*v_p0).abstractTime);
		}
		break;
		default:
		{
		}
		break;
		}
	}
	goto LA1_;
LA3_: ;
	{
		(*v_p0).unanalysableMutation = NIM_TRUE;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1) {
	NIM_BOOL result;
	result = ((*((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (x_p0))).p == (*((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (y_p1))).p);
	return result;
}
static N_INLINE(void, nimCopySeqPayload)(void* dest_p0, void* src_p1, NI elemSize_p2, NI elemAlign_p3) {
	tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ* d_1;
	tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ* s_1;
	d_1 = ((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (dest_p0));
	s_1 = ((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (src_p1));
	{
		NI headerSize_1;
		if (!(((NI)0) < (*s_1).len)) goto LA3_;
		headerSize_1 = align__system_u1639(((NI)8), elemAlign_p3);
		copyMem__system_u1742(((void*) ((NU)((NU64)(((NU) (ptrdiff_t) ((*d_1).p))) + (NU64)(((NU) (headerSize_1)))))), ((void*) ((NU)((NU64)(((NU) (ptrdiff_t) ((*s_1).p))) + (NU64)(((NU) (headerSize_1)))))), ((NI)((*s_1).len * elemSize_p2)));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___varpartitions_u267)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest_p0, tySequence__qwqHTkRvwhrRyENtudHQ7g src_p1) {
	NI T6_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__varpartitions_u284((&(*dest_p0)), T6_);
	nimCopySeqPayload(dest_p0, (&src_p1), ((NI)8), ((NI)8));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___varpartitions_u261)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest_p0) {
	(*dest_p0).len = 0; (*dest_p0).p = NIM_NIL;
}
N_LIB_PRIVATE N_NIMCALL(void, connect__varpartitions_u759)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* v_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3) {
	NI aid_1;
	NI bid_1;
	NI ra_1;
	NI rb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	aid_1 = variableId__varpartitions_u372((&(*v_p0)), a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(aid_1 < ((NI)0))) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	bid_1 = variableId__varpartitions_u372((&(*v_p0)), b_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(bid_1 < ((NI)0))) goto LA7_;
		goto BeforeRet_;
	}
LA7_: ;
	ra_1 = root__varpartitions_u615(v_p0, aid_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rb_1 = root__varpartitions_u615(v_p0, bid_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* param_1;
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD_;
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA colontmpD__2;
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA paramFlags_1;
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA rbFlags_1;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA mutatedHere_1;
		NI mut_1;
		NI con_1;
		tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* gb_1;
		if (!!((ra_1 == rb_1))) goto LA11_;
		param_1 = NIM_NIL;
		nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
		nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA));
		param_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		{
			NIM_BOOL T15_;
			T15_ = (NIM_BOOL)0;
			T15_ = ((*a_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T15_)) goto LA16_;
			T15_ = !(((*(*a_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*a_p1).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA16_: ;
			if (!T15_) goto LA17_;
			eqcopy___ast_u4577(&param_1, a_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA13_;
LA17_: ;
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = ((*b_p2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T20_)) goto LA21_;
			T20_ = !(((*(*b_p2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*(*b_p2).typ).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46)));
LA21_: ;
			if (!T20_) goto LA22_;
			eqcopy___ast_u4577(&param_1, b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA13_;
LA22_: ;
LA13_: ;
		{
			if (!!((param_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA26_;
			colontmpD_ = 8;
			paramFlags_1 = colontmpD_;
		}
		goto LA24_;
LA26_: ;
		{
			colontmpD__2 = 0;
			paramFlags_1 = colontmpD__2;
		}
LA24_: ;
		rbFlags_1 = 0;
		mutatedHere_1 = unknownLineInfo__lineinfos_u364;
		mut_1 = ((NI)0);
		con_1 = (*v_p0).abstractTime;
		gb_1 = ((tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA*) NIM_NIL);
		{
			if (!((*v_p0).s.p->data[rb_1].con.kind == ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2))) goto LA31_;
			gb_1 = (&(*v_p0).graphs.p->data[(*v_p0).s.p->data[rb_1].con.graphIndex]);
			{
				if (!(param_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA35_;
				eqcopy___ast_u4577(&param_1, (*gb_1).param);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA35_: ;
			mutatedHere_1 = (*gb_1).mutatedHere;
			rbFlags_1 = (*gb_1).flags;
			mut_1 = (*gb_1).maxMutation;
			con_1 = min__varpartitions_u803(con_1, (*gb_1).minConnection);
		}
LA31_: ;
		(*v_p0).s.p->data[rb_1].con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)1);
		(*v_p0).s.p->data[rb_1].con.parent = ra_1;
		switch ((*v_p0).s.p->data[ra_1].con.kind) {
		case ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)0):
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__3;
			tySequence__qwqHTkRvwhrRyENtudHQ7g colontmpD__4;
			tySequence__qwqHTkRvwhrRyENtudHQ7g colontmpD__5;
			NI T38_;
			tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA T39_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			(*v_p0).s.p->data[ra_1].con.kind = ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2);
			T38_ = (*v_p0).graphs.len;
			(*v_p0).s.p->data[ra_1].con.graphIndex = T38_;
			nimZeroMem((void*)(&T39_), sizeof(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA));
			blitTmp_1 = param_1;
			eqwasMoved___ast_u4571(&param_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T39_.param = blitTmp_1;
			T39_.mutatedHere = mutatedHere_1;
			colontmpD__3 = eqdup___lineinfos_u2037(info_p3);
			T39_.connectedVia = colontmpD__3;
			T39_.flags = (paramFlags_1 | rbFlags_1);
			T39_.maxMutation = mut_1;
			T39_.minConnection = con_1;
			{
				tySequence__qwqHTkRvwhrRyENtudHQ7g blitTmp_2;
				if (!!((gb_1 == ((tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA*) NIM_NIL)))) goto LA42_;
				eqcopy___varpartitions_u267((&colontmpD__4), (*gb_1).mutations);
				blitTmp_2 = colontmpD__4;
				eqwasMoved___varpartitions_u261((&colontmpD__4));
				T39_.mutations = blitTmp_2;
			}
			goto LA40_;
LA42_: ;
			{
				tySequence__qwqHTkRvwhrRyENtudHQ7g blitTmp_3;
				colontmpD__5.len = 0; colontmpD__5.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
				blitTmp_3 = colontmpD__5;
				eqwasMoved___varpartitions_u261((&colontmpD__5));
				T39_.mutations = blitTmp_3;
			}
LA40_: ;
			add__varpartitions_u557((&(*v_p0).graphs), (&T39_));
			eqdestroy___varpartitions_u264(colontmpD__5);
			eqdestroy___varpartitions_u264(colontmpD__4);
		}
		break;
		case ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2):
		{
			tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* g_1;
			g_1 = (&(*v_p0).graphs.p->data[(*v_p0).s.p->data[ra_1].con.graphIndex]);
			{
				if (!((*g_1).param == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA48_;
				eqsink___ast_u4583(&(*g_1).param, param_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqwasMoved___ast_u4571(&param_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA48_: ;
			{
				NIM_BOOL T52_;
				T52_ = (NIM_BOOL)0;
				T52_ = eqeq___msgs_u1103((*g_1).mutatedHere, unknownLineInfo__lineinfos_u364);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T52_) goto LA53_;
				(*g_1).mutatedHere = mutatedHere_1;
			}
LA53_: ;
			(*g_1).minConnection = min__varpartitions_u803((*g_1).minConnection, con_1);
			(*g_1).connectedVia = info_p3;
			(*g_1).flags = ((*g_1).flags | (paramFlags_1 | rbFlags_1));
			{
				if (!!((gb_1 == ((tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA*) NIM_NIL)))) goto LA57_;
				add__varpartitions_u849((&(*g_1).mutations), (((*gb_1).mutations).p) ? ((*gb_1).mutations.p->data) : NIM_NIL, (*gb_1).mutations.len);
			}
LA57_: ;
		}
		break;
		default:
		{
		}
		break;
		}
		eqdestroy___ast_u4574(param_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, destMightOwn__varpartitions_u1086)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2) {
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin121_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p2).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	{
		{
			tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T6_;
			T6_ = 0;
			if (!!(((IL64(2147483664) & (*(*n_p2).typField).flags) == T6_))) goto LA7_;
			(*c_p0).inConvHasDestructor += ((NI)1);
			destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*c_p0).inConvHasDestructor -= ((NI)1);
		}
		goto LA4_;
LA7_: ;
		{
			destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
					if (!(i_2 < colontmp_)) goto LA13;
					colontmpD_ = NIM_NIL;
					i_1 = i_2;
					(*c_p0).inConditional += ((NI)1);
					colontmpD_ = lastSon__ast_u5208((*n_p2)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					destMightOwn__varpartitions_u1086(c_p0, dest_p1, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
					(*c_p0).inConditional -= ((NI)1);
					i_2 += ((NI)1);
					{
						LA14_:;
					}
					{
						oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin14_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA13: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97):
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
					if (!(i_4 < colontmp__2)) goto LA20;
					colontmpD__2 = NIM_NIL;
					i_3 = i_4;
					(*c_p0).inConditional += ((NI)1);
					colontmpD__2 = lastSon__ast_u5208((*n_p2)._kind_6.sons.p->data[i_3]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					destMightOwn__varpartitions_u1086(c_p0, dest_p1, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					(*c_p0).inConditional -= ((NI)1);
					i_4 += ((NI)1);
					{
						LA21_:;
					}
					{
						oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin21_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA20: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126):
	{
		{
			NI T27_;
			NI T30_;
			T27_ = (NI)0;
			T27_ = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T27_)) goto LA28_;
			T30_ = (NI)0;
			T30_ = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[(NI)(T30_ - ((NI)1))]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA28_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
	{
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_6 = ((NI)1);
			{
				while (1) {
					if (!(i_6 < colontmp__3)) goto LA34;
					i_5 = i_6;
					destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[i_5]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_6 += ((NI)1);
				} LA34: ;
			}
		}
		(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		{
			NI i_7;
			NI colontmp__4;
			NI i_8;
			i_7 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_8 = ((NI)1);
			{
				while (1) {
					if (!(i_8 < colontmp__4)) goto LA38;
					i_7 = i_8;
					destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[i_7]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_8 += ((NI)1);
				} LA38: ;
			}
		}
		{
			tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T41_;
			T41_ = 0;
			if (!!(((IL64(2147483664) & (*(*n_p2).typField).flags) == T41_))) goto LA42_;
			(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
		}
LA42_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		(*c_p0).inConstructor += ((NI)1);
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_1;
			son_1 = NIM_NIL;
			{
				NI i_9;
				NI colontmp__5;
				NI i_10;
				i_9 = (NI)0;
				colontmp__5 = (NI)0;
				colontmp__5 = safeLen__ast_u3197(n_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
				i_10 = ((NI)0);
				{
					while (1) {
						if (!(i_10 < colontmp__5)) goto LA50;
						i_9 = i_10;
						eqcopy___ast_u3255(&son_1, (*n_p2)._kind_6.sons.p->data[i_9]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
						destMightOwn__varpartitions_u1086(c_p0, dest_p1, son_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
						i_10 += ((NI)1);
					} LA50: ;
				}
			}
			{
				LA47_:;
			}
			{
				oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(son_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
				*nimErr_ = oldNimErrFin47_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
		(*c_p0).inConstructor -= ((NI)1);
		{
			colontmpD__3 = skipTypes__ast_u5379((*n_p2).typField, TM__39a9bfgg3gnILXo9by9cxATh0Q_14);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			if (!((*colontmpD__3).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24))) goto LA55_;
			(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
		}
LA55_: ;
		{
			LA45_:;
		}
		{
			oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin45_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			if (!((*(*n_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*(*n_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*(*n_p2)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA62_;
			{
				tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T66_;
				T66_ = 0;
				if (!!((((*(*n_p2)._kind_4.sym).flags & 67108872) == T66_))) goto LA67_;
				(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
			}
			goto LA64_;
LA67_: ;
			{
				connect__varpartitions_u759(c_p0, (*dest_p1).sym, (*n_p2)._kind_4.sym, (*n_p2).info);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((NI)0) < (*c_p0).inConstructor)) goto LA72_;
					(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
				}
LA72_: ;
			}
LA64_: ;
		}
LA62_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	{
		destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			if (!!(((*n_p2).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA78_;
			{
				NIM_BOOL T82_;
				tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T83_;
				T82_ = (NIM_BOOL)0;
				T83_ = 0;
				T82_ = !(((IL64(2147483664) & (*(*n_p2).typField).flags) == T83_));
				if (T82_) goto LA84_;
				T82_ = (((NI)0) < (*c_p0).inConvHasDestructor);
LA84_: ;
				if (!T82_) goto LA85_;
				(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
			}
			goto LA80_;
LA85_: ;
			{
				NIM_BOOL T88_;
				NI T90_;
				tySequence__hMc5eJjVGjq6i857yHjTtg roots_1;
				T88_ = (NIM_BOOL)0;
				T88_ = ((*(*n_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47) || (*(*n_p2).typField).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23));
				if (!(T88_)) goto LA89_;
				T90_ = (NI)0;
				T90_ = len__ast_u3190(n_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T88_ = (((NI)1) < T90_);
LA89_: ;
				if (!T88_) goto LA91_;
				roots_1.len = 0; roots_1.p = NIM_NIL;
				roots_1.len = 0; roots_1.p = (tySequence__hMc5eJjVGjq6i857yHjTtg_Content*) newSeqPayload(0, sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ), NIM_ALIGNOF(tyTuple__Wipq1508vNWp3jwczem6TQ));
				allRoots__varpartitions_u973((*n_p2)._kind_6.sons.p->data[((NI)1)], (&roots_1), ((NI)1000));
				if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
				{
					NIM_BOOL T96_;
					NI T97_;
					T96_ = (NIM_BOOL)0;
					T97_ = roots_1.len;
					T96_ = (T97_ == ((NI)0));
					if (!(T96_)) goto LA98_;
					T96_ = (((NI)0) < (*c_p0).inConditional);
LA98_: ;
					if (!T96_) goto LA99_;
					(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
				}
				goto LA94_;
LA99_: ;
				{
					{
						tyTuple__Wipq1508vNWp3jwczem6TQ* r_1;
						NI i_11;
						NI L_1;
						NI T103_;
						r_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
						i_11 = ((NI)0);
						T103_ = roots_1.len;
						L_1 = T103_;
						{
							while (1) {
								if (!(i_11 < L_1)) goto LA105;
								r_1 = (&roots_1.p->data[i_11]);
								connect__varpartitions_u759(c_p0, (*dest_p1).sym, (*r_1).Field0, (*(*n_p2)._kind_6.sons.p->data[((NI)1)]).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
								i_11 += ((NI)1);
							} LA105: ;
						}
					}
				}
LA94_: ;
				{
					LA93_:;
				}
				{
					eqdestroy___varpartitions_u1284(roots_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA80_;
LA91_: ;
			{
				tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg colontmpD__4;
				tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg colontmpD__5;
				tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic_1;
				colontmpD__4 = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
				colontmpD__5 = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
				{
					if (!((*(*n_p2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA111_;
					colontmpD__4 = (*(*(*n_p2)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic;
					magic_1 = colontmpD__4;
				}
				goto LA109_;
LA111_: ;
				{
					colontmpD__5 = ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0);
					magic_1 = colontmpD__5;
				}
LA109_: ;
				{
					if (!(magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)148) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)129) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)130) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)131) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)143) || magic_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)144))) goto LA116_;
					{
						NI i_12;
						NI colontmp__6;
						NI i_13;
						i_12 = (NI)0;
						colontmp__6 = (NI)0;
						colontmp__6 = len__ast_u3190(n_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_13 = ((NI)1);
						{
							while (1) {
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__6;
								if (!(i_13 < colontmp__6)) goto LA120;
								colontmpD__6 = NIM_NIL;
								i_12 = i_13;
								{
									tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T124_;
									colontmpD__6 = skipTypes__ast_u5379((*(*n_p2)._kind_6.sons.p->data[i_12]).typField, TM__39a9bfgg3gnILXo9by9cxATh0Q_15);
									if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
									T124_ = 0;
									if (!!(((IL64(2147483664) & (*colontmpD__6).flags) == T124_))) goto LA125_;
									destMightOwn__varpartitions_u1086(c_p0, dest_p1, (*n_p2)._kind_6.sons.p->data[i_12]);
									if (NIM_UNLIKELY(*nimErr_)) goto LA121_;
								}
LA125_: ;
								i_13 += ((NI)1);
								{
									LA121_:;
								}
								{
									oldNimErrFin121_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									*nimErr_ = oldNimErrFin121_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							} LA120: ;
						}
					}
				}
LA116_: ;
			}
LA80_: ;
		}
LA78_: ;
	}
	break;
	default:
	{
		(*dest_p1).flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, deps__varpartitions_u1674)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p2) {
	tySequence__hMc5eJjVGjq6i857yHjTtg targets_1;
	tySequence__hMc5eJjVGjq6i857yHjTtg sources_1;
	NIM_BOOL destIsComplex_1;
NIM_BOOL oldNimErrFin46_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	targets_1.len = 0; targets_1.p = NIM_NIL;
	sources_1.len = 0; sources_1.p = NIM_NIL;
	{
		if (!(((*c_p0).goals &((NU8)1<<((NU)((((tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g)1)))&7U)))!=0)) goto LA4_;
		borrowingAsgn__varpartitions_u1590(c_p0, dest_p1, src_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	targets_1.len = 0; targets_1.p = (tySequence__hMc5eJjVGjq6i857yHjTtg_Content*) newSeqPayload(0, sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ), NIM_ALIGNOF(tyTuple__Wipq1508vNWp3jwczem6TQ));
	sources_1.len = 0; sources_1.p = (tySequence__hMc5eJjVGjq6i857yHjTtg_Content*) newSeqPayload(0, sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ), NIM_ALIGNOF(tyTuple__Wipq1508vNWp3jwczem6TQ));
	allRoots__varpartitions_u973(dest_p1, (&targets_1), ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	allRoots__varpartitions_u973(src_p2, (&sources_1), ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	destIsComplex_1 = containsPointer__varpartitions_u1664((*dest_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyTuple__Wipq1508vNWp3jwczem6TQ* t_1;
		NI i_1;
		NI L_1;
		NI T7_;
		t_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
		i_1 = ((NI)0);
		T7_ = targets_1.len;
		L_1 = T7_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA9;
				t_1 = (&targets_1.p->data[i_1]);
				{
					NIM_BOOL T12_;
					T12_ = (NIM_BOOL)0;
					T12_ = !(((*dest_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)));
					if (!(T12_)) goto LA13_;
					T12_ = ((*c_p0).inNoSideEffectSection == ((NI)0));
LA13_: ;
					if (!T12_) goto LA14_;
					potentialMutation__varpartitions_u636(c_p0, (*t_1).Field0, (*t_1).Field1, (*dest_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA14_: ;
				{
					if (!destIsComplex_1) goto LA18_;
					{
						tyTuple__Wipq1508vNWp3jwczem6TQ* s_1;
						NI i_2;
						NI L_2;
						NI T21_;
						s_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
						i_2 = ((NI)0);
						T21_ = sources_1.len;
						L_2 = T21_;
						{
							while (1) {
								if (!(i_2 < L_2)) goto LA23;
								s_1 = (&sources_1.p->data[i_2]);
								connect__varpartitions_u759(c_p0, (*t_1).Field0, (*s_1).Field0, (*dest_p1).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
								i_2 += ((NI)1);
							} LA23: ;
						}
					}
				}
LA18_: ;
				i_1 += ((NI)1);
			} LA9: ;
		}
	}
	{
		NIM_BOOL T26_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* d_1;
		T26_ = (NIM_BOOL)0;
		T26_ = (((*c_p0).goals &((NU8)1<<((NU)((((tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g)2)))&7U)))!=0);
		if (!(T26_)) goto LA27_;
		T26_ = !(((*src_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA27_: ;
		if (!T26_) goto LA28_;
		d_1 = NIM_NIL;
		d_1 = pathExpr__varpartitions_u918(dest_p1, (*c_p0).owner);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			NIM_BOOL T33_;
			NI vid_1;
			T33_ = (NIM_BOOL)0;
			T33_ = !((d_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T33_)) goto LA34_;
			T33_ = ((*d_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA34_: ;
			if (!T33_) goto LA35_;
			vid_1 = variableId__varpartitions_u372((&(*c_p0)), (*d_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			{
				tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* T41_;
				if (!(((NI)0) <= vid_1)) goto LA39_;
				T41_ = (tyObject_Partitions__b3asvfSDaO0FD04RolbF7A*)0;
				T41_ = c_p0;
				destMightOwn__varpartitions_u1086(T41_, (&(*c_p0).s.p->data[vid_1]), src_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				{
					tyTuple__Wipq1508vNWp3jwczem6TQ* source_1;
					NI i_3;
					NI L_3;
					NI T43_;
					source_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
					i_3 = ((NI)0);
					T43_ = sources_1.len;
					L_3 = T43_;
					{
						while (1) {
							tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_2;
							if (!(i_3 < L_3)) goto LA45;
							s_2 = NIM_NIL;
							source_1 = (&sources_1.p->data[i_3]);
							eqcopy___ast_u4577(&s_2, (*source_1).Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
							{
								if (!(s_2 == (*d_1)._kind_4.sym)) goto LA49_;
							}
							goto LA47_;
LA49_: ;
							{
								NIM_BOOL T52_;
								tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T53_;
								T52_ = (NIM_BOOL)0;
								T53_ = 0;
								T52_ = !(((67108872 & (*s_2).flags) == T53_));
								if (T52_) goto LA54_;
								T52_ = hasDisabledAsgn__modulegraphs_u10661((*c_p0).g, (*s_2).typ);
								if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
LA54_: ;
								if (!T52_) goto LA55_;
								(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
							}
							goto LA47_;
LA55_: ;
							{
								NI srcid_1;
								srcid_1 = variableId__varpartitions_u372((&(*c_p0)), s_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
								{
									if (!(((NI)0) <= srcid_1)) goto LA60_;
									{
										NIM_BOOL T64_;
										T64_ = (NIM_BOOL)0;
										T64_ = !(((*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*s_2).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
										if (!(T64_)) goto LA65_;
										T64_ = ((*c_p0).s.p->data[srcid_1].aliveEnd < (*c_p0).s.p->data[vid_1].aliveEnd);
LA65_: ;
										if (!T64_) goto LA66_;
										(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
									}
									goto LA62_;
LA66_: ;
									{
										tySet_tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ T69_;
										T69_ = 0;
										if (!!(((6 & (*c_p0).s.p->data[srcid_1].flags) == T69_))) goto LA70_;
										(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
									}
									goto LA62_;
LA70_: ;
									{
										NIM_BOOL T73_;
										tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym158__1;
										T73_ = (NIM_BOOL)0;
										T73_ = !(((*c_p0).s.p->data[srcid_1].reassignedTo == ((NI)0)));
										if (!(T73_)) goto LA74_;
										xX60gensym158__1 = (*(*d_1)._kind_4.sym).itemId;
										T73_ = !(((*c_p0).s.p->data[srcid_1].reassignedTo == (NI)((NI)((NU64)(((NI) (xX60gensym158__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym158__1.item)))));
LA74_: ;
										if (!T73_) goto LA75_;
										(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
									}
									goto LA62_;
LA75_: ;
LA62_: ;
								}
LA60_: ;
							}
LA47_: ;
							i_3 += ((NI)1);
							{
								LA46_:;
							}
							{
								oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u4574(s_2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
								*nimErr_ = oldNimErrFin46_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
						} LA45: ;
					}
				}
			}
LA39_: ;
		}
LA35_: ;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(d_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA28_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___varpartitions_u1284(sources_1);
		eqdestroy___varpartitions_u1284(targets_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, noCursor__varpartitions_u1468)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	NI vid_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	vid_1 = variableId__varpartitions_u372((&(*c_p0)), s_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= vid_1)) goto LA3_;
		(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)1))) & 7);
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, borrowingCall__varpartitions_u1567)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* destType_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2, NI i_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* v_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	v_1 = NIM_NIL;
	v_1 = pathExpr__varpartitions_u918((*n_p2)._kind_6.sons.p->data[i_p3], (*c_p0).owner);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = !((v_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		T4_ = ((*v_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA5_: ;
		if (!T4_) goto LA6_;
		{
			NI j_1;
			NI colontmp_;
			NI colontmp__2;
			NI i_2;
			j_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp__2 = (NI)0;
			colontmp_ = (NI)(i_p3 + ((NI)1));
			colontmp__2 = len__ast_u3190(n_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = colontmp_;
			{
				while (1) {
					if (!(i_2 < colontmp__2)) goto LA10;
					j_1 = i_2;
					{
						tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T13_;
						T13_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
						T13_ = getMagic__trees_u122((*n_p2)._kind_6.sons.p->data[j_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						if (!(T13_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124))) goto LA14_;
						borrowFrom__varpartitions_u1507(c_p0, (*v_1)._kind_4.sym, (*n_p2)._kind_6.sons.p->data[j_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA14_: ;
					i_2 += ((NI)1);
				} LA10: ;
			}
		}
	}
	goto LA2_;
LA6_: ;
	{
		liMessage__msgs_u1227((*(*c_p0).g).config, (*(*n_p2)._kind_6.sons.p->data[i_p3]).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__39a9bfgg3gnILXo9by9cxATh0Q_17, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_18), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(v_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, potentialMutationViaArg__varpartitions_u1798)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* callee_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*c_p0).goals &((NU8)1<<((NU)((((tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g)0)))&7U)))!=0);
		if (!(T3_)) goto LA4_;
		T3_ = (((*callee_p2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
	}
	goto LA1_;
LA5_: ;
	{
		NIM_BOOL T8_;
		tySequence__hMc5eJjVGjq6i857yHjTtg roots_1;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*c_p0).inNoSideEffectSection == ((NI)0));
		if (!(T8_)) goto LA9_;
		T8_ = containsPointer__varpartitions_u1664((*n_p1).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA9_: ;
		if (!T8_) goto LA10_;
		roots_1.len = 0; roots_1.p = NIM_NIL;
		roots_1.len = 0; roots_1.p = (tySequence__hMc5eJjVGjq6i857yHjTtg_Content*) newSeqPayload(0, sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ), NIM_ALIGNOF(tyTuple__Wipq1508vNWp3jwczem6TQ));
		allRoots__varpartitions_u973(n_p1, (&roots_1), ((NI)1000));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			tyTuple__Wipq1508vNWp3jwczem6TQ* r_1;
			NI i_1;
			NI L_1;
			NI T14_;
			r_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
			i_1 = ((NI)0);
			T14_ = roots_1.len;
			L_1 = T14_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA16;
					r_1 = (&roots_1.p->data[i_1]);
					potentialMutation__varpartitions_u636(c_p0, (*r_1).Field0, (*r_1).Field1, (*n_p1).info);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					i_1 += ((NI)1);
				} LA16: ;
			}
		}
		{
			LA12_:;
		}
		{
			eqdestroy___varpartitions_u1284(roots_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA10_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, pretendOwnsData__varpartitions_u1476)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1) {
	NI vid_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	vid_1 = variableId__varpartitions_u372((&(*c_p0)), s_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= vid_1)) goto LA3_;
		(*c_p0).s.p->data[vid_1].flags |= ((NU8)1)<<(((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)0))) & 7);
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, traverse__varpartitions_u1819)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* c_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin59_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin115_;
NIM_BOOL oldNimErrFin134_;
NIM_BOOL oldNimErrFin152_;
NIM_BOOL oldNimErrFin165_;
NIM_BOOL oldNimErrFin172_;
NIM_BOOL oldNimErrFin188_;
NIM_BOOL oldNimErrFin196_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*c_p0).abstractTime += ((NI)1);
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_1;
			child_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* last_1;
						if (!(i_2 < colontmp_)) goto LA6;
						last_1 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3255(&child_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						last_1 = lastSon__ast_u5208(child_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						traverse__varpartitions_u1819(c_p0, last_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						{
							NIM_BOOL T10_;
							T10_ = (NIM_BOOL)0;
							T10_ = ((*child_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36));
							if (!(T10_)) goto LA11_;
							T10_ = ((*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37) || (*last_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160));
LA11_: ;
							if (!T10_) goto LA12_;
							{
								NI T16_;
								NI T17_;
								T16_ = (NI)0;
								T16_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								T17_ = (NI)0;
								T17_ = len__ast_u3190(last_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								if (!!(((NI)(T16_ - ((NI)2)) == T17_))) goto LA18_;
								eqdestroy___ast_u3252(last_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
								eqdestroy___ast_u3252(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA18_: ;
							{
								NI i_3;
								NI colontmp__2;
								NI T21_;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								T21_ = (NI)0;
								T21_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								colontmp__2 = (NI)(T21_ - ((NI)2));
								i_4 = ((NI)0);
								{
									while (1) {
										if (!(i_4 < colontmp__2)) goto LA23;
										i_3 = i_4;
										deps__varpartitions_u1674(c_p0, (*child_1)._kind_6.sons.p->data[i_3], (*last_1)._kind_6.sons.p->data[i_3]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
										i_4 += ((NI)1);
									} LA23: ;
								}
							}
						}
						goto LA8_;
LA12_: ;
						{
							{
								NI i_5;
								NI colontmp__3;
								NI T26_;
								NI i_6;
								i_5 = (NI)0;
								colontmp__3 = (NI)0;
								T26_ = (NI)0;
								T26_ = len__ast_u3190(child_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
								colontmp__3 = (NI)(T26_ - ((NI)2));
								i_6 = ((NI)0);
								{
									while (1) {
										if (!(i_6 < colontmp__3)) goto LA28;
										i_5 = i_6;
										deps__varpartitions_u1674(c_p0, (*child_1)._kind_6.sons.p->data[i_5], last_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
										i_6 += ((NI)1);
									} LA28: ;
								}
							}
						}
LA8_: ;
						i_2 += ((NI)1);
						{
							LA7_:;
						}
						{
							oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(last_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
							*nimErr_ = oldNimErrFin7_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)74):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)149):
	{
		traverse__varpartitions_u1819(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*c_p0).inAsgnSource += ((NI)1);
		traverse__varpartitions_u1819(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*c_p0).inAsgnSource -= ((NI)1);
		deps__varpartitions_u1674(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		(*c_p0).abstractTime -= ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)158) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
		(*c_p0).abstractTime -= ((NI)1);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* parameters_1;
		NI colontmpD_;
		NI colontmpD__2;
		NI L_1;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_1;
		parameters_1 = NIM_NIL;
		colontmpD_ = (NI)0;
		colontmpD__2 = (NI)0;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_2;
			child_2 = NIM_NIL;
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
				i_8 = ((NI)0);
				{
					while (1) {
						if (!(i_8 < colontmp__4)) goto LA42;
						i_7 = i_8;
						eqcopy___ast_u3255(&child_2, (*n_p1)._kind_6.sons.p->data[i_7]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						traverse__varpartitions_u1819(c_p0, child_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
						i_8 += ((NI)1);
					} LA42: ;
				}
			}
			{
				LA39_:;
			}
			{
				oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				*nimErr_ = oldNimErrFin39_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		}
		eqcopy___ast_u3381(&parameters_1, (*(*n_p1)._kind_6.sons.p->data[((NI)0)]).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		{
			if (!!((parameters_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA47_;
			colontmpD_ = signatureLen__ast_u5610(parameters_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			L_1 = colontmpD_;
		}
		goto LA45_;
LA47_: ;
		{
			colontmpD__2 = ((NI)0);
			L_1 = colontmpD__2;
		}
LA45_: ;
		m_1 = getMagic__trees_u122(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		{
			NIM_BOOL T52_;
			T52_ = (NIM_BOOL)0;
			T52_ = (m_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)149));
			if (!(T52_)) goto LA53_;
			T52_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA53_: ;
			if (!T52_) goto LA54_;
			noCursor__varpartitions_u1468(c_p0, (*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
		}
LA54_: ;
		{
			NI i_9;
			NI colontmp__5;
			NI i_10;
			i_9 = (NI)0;
			colontmp__5 = (NI)0;
			colontmp__5 = len__ast_u3190(n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			i_10 = ((NI)1);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
					if (!(i_10 < colontmp__5)) goto LA58;
					it_1 = NIM_NIL;
					i_9 = i_10;
					eqcopy___ast_u3255(&it_1, (*n_p1)._kind_6.sons.p->data[i_9]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
					{
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* paramType_1;
						if (!(i_9 < L_1)) goto LA62_;
						paramType_1 = NIM_NIL;
						paramType_1 = skipTypes__ast_u5379((*parameters_1).sons.p->data[i_9], TM__39a9bfgg3gnILXo9by9cxATh0Q_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						{
							NIM_BOOL T67_;
							NIM_BOOL T68_;
							tySequence__hMc5eJjVGjq6i857yHjTtg roots_1;
							T67_ = (NIM_BOOL)0;
							T68_ = (NIM_BOOL)0;
							T68_ = isCompileTimeOnly__types_u3655(paramType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
							T67_ = !(T68_);
							if (!(T67_)) goto LA69_;
							T67_ = ((*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23) || (*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46) || (*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45));
LA69_: ;
							if (!T67_) goto LA70_;
							roots_1.len = 0; roots_1.p = NIM_NIL;
							roots_1.len = 0; roots_1.p = (tySequence__hMc5eJjVGjq6i857yHjTtg_Content*) newSeqPayload(0, sizeof(tyTuple__Wipq1508vNWp3jwczem6TQ), NIM_ALIGNOF(tyTuple__Wipq1508vNWp3jwczem6TQ));
							allRoots__varpartitions_u973(it_1, (&roots_1), ((NI)1000));
							if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
							{
								if (!((*paramType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23))) goto LA75_;
								{
									if (!((*c_p0).inNoSideEffectSection == ((NI)0))) goto LA79_;
									{
										tyTuple__Wipq1508vNWp3jwczem6TQ* r_1;
										NI i_11;
										NI L_2;
										NI T82_;
										r_1 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
										i_11 = ((NI)0);
										T82_ = roots_1.len;
										L_2 = T82_;
										{
											while (1) {
												if (!(i_11 < L_2)) goto LA84;
												r_1 = (&roots_1.p->data[i_11]);
												potentialMutation__varpartitions_u636(c_p0, (*r_1).Field0, (*r_1).Field1, (*it_1).info);
												if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
												i_11 += ((NI)1);
											} LA84: ;
										}
									}
								}
LA79_: ;
								{
									tyTuple__Wipq1508vNWp3jwczem6TQ* r_2;
									NI i_12;
									NI L_3;
									NI T86_;
									r_2 = (tyTuple__Wipq1508vNWp3jwczem6TQ*)0;
									i_12 = ((NI)0);
									T86_ = roots_1.len;
									L_3 = T86_;
									{
										while (1) {
											if (!(i_12 < L_3)) goto LA88;
											r_2 = (&roots_1.p->data[i_12]);
											noCursor__varpartitions_u1468(c_p0, (*r_2).Field0);
											if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
											i_12 += ((NI)1);
										} LA88: ;
									}
								}
								{
									if (!(((*c_p0).goals &((NU8)1<<((NU)((((tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g)1)))&7U)))!=0)) goto LA91_;
									{
										NIM_BOOL T95_;
										tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T96_;
										tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T98_;
										T95_ = (NIM_BOOL)0;
										T96_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
										T96_ = directViewType__typeallowed_u556((*paramType_1).sons.p->data[((NI)0)]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
										T95_ = (T96_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0));
										if (!(T95_)) goto LA97_;
										T98_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
										T98_ = classifyViewType__typeallowed_u552((*paramType_1).sons.p->data[((NI)0)]);
										if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
										T95_ = !((T98_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0)));
LA97_: ;
										if (!T95_) goto LA99_;
										borrowingCall__varpartitions_u1567(c_p0, (*paramType_1).sons.p->data[((NI)0)], n_p1, i_9);
										if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
									}
LA99_: ;
								}
LA91_: ;
							}
LA75_: ;
							{
								LA72_:;
							}
							{
								eqdestroy___varpartitions_u1284(roots_1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						}
						goto LA65_;
LA70_: ;
						{
							if (!(m_1 == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0))) goto LA104_;
							potentialMutationViaArg__varpartitions_u1798(c_p0, (*n_p1)._kind_6.sons.p->data[i_9], parameters_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
						}
						goto LA65_;
LA104_: ;
LA65_: ;
						{
							LA64_:;
						}
						{
							oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3378(paramType_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
							*nimErr_ = oldNimErrFin64_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
					}
LA62_: ;
					i_10 += ((NI)1);
					{
						LA59_:;
					}
					{
						oldNimErrFin59_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(it_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						*nimErr_ = oldNimErrFin59_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				} LA58: ;
			}
		}
		{
			LA37_:;
		}
		{
			oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(parameters_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin37_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	{
		traverse__varpartitions_u1819(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_3;
			child_3 = NIM_NIL;
			{
				NI i_13;
				NI colontmp__6;
				NI i_14;
				i_13 = (NI)0;
				colontmp__6 = (NI)0;
				colontmp__6 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
				i_14 = ((NI)0);
				{
					while (1) {
						if (!(i_14 < colontmp__6)) goto LA118;
						i_13 = i_14;
						eqcopy___ast_u3255(&child_3, (*n_p1)._kind_6.sons.p->data[i_13]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						traverse__varpartitions_u1819(c_p0, child_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						i_14 += ((NI)1);
					} LA118: ;
				}
			}
			{
				LA115_:;
			}
			{
				oldNimErrFin115_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin115_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			if (!(((NI)0) < (*c_p0).inAsgnSource)) goto LA123_;
			{
				NI i_15;
				NI colontmp__7;
				NI i_16;
				i_15 = (NI)0;
				colontmp__7 = (NI)0;
				colontmp__7 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_16 = ((NI)0);
				{
					while (1) {
						if (!(i_16 < colontmp__7)) goto LA127;
						i_15 = i_16;
						{
							if (!((*(*n_p1)._kind_6.sons.p->data[i_15]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA130_;
							pretendOwnsData__varpartitions_u1476(c_p0, (*(*n_p1)._kind_6.sons.p->data[i_15])._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA130_: ;
						i_16 += ((NI)1);
					} LA127: ;
				}
			}
		}
LA123_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_4;
			child_4 = NIM_NIL;
			{
				NI i_17;
				NI colontmp__8;
				NI i_18;
				i_17 = (NI)0;
				colontmp__8 = (NI)0;
				colontmp__8 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
				i_18 = ((NI)0);
				{
					while (1) {
						if (!(i_18 < colontmp__8)) goto LA137;
						i_17 = i_18;
						eqcopy___ast_u3255(&child_4, (*n_p1)._kind_6.sons.p->data[i_17]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						traverse__varpartitions_u1819(c_p0, child_4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
						i_18 += ((NI)1);
					} LA137: ;
				}
			}
			{
				LA134_:;
			}
			{
				oldNimErrFin134_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin134_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			if (!(((NI)0) < (*c_p0).inAsgnSource)) goto LA142_;
			{
				NI i_19;
				NI colontmp__9;
				NI i_20;
				i_19 = (NI)0;
				colontmp__9 = (NI)0;
				colontmp__9 = len__ast_u3190(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_20 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_2;
						if (!(i_20 < colontmp__9)) goto LA146;
						it_2 = NIM_NIL;
						i_19 = i_20;
						it_2 = skipColon__ast_u7347((*n_p1)._kind_6.sons.p->data[i_19]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							if (!((*it_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA149_;
							pretendOwnsData__varpartitions_u1476(c_p0, (*it_2)._kind_4.sym);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA149_: ;
						i_20 += ((NI)1);
						eqdestroy___ast_u3252(it_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA146: ;
				}
			}
		}
LA142_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaList_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		NI enforceNoSideEffects_1;
		pragmaList_1 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		eqcopy___ast_u3255(&pragmaList_1, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		enforceNoSideEffects_1 = ((NI)0);
		{
			NI i_21;
			NI colontmp__10;
			NI i_22;
			i_21 = (NI)0;
			colontmp__10 = (NI)0;
			colontmp__10 = len__ast_u3190(pragmaList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
			i_22 = ((NI)0);
			{
				while (1) {
					if (!(i_22 < colontmp__10)) goto LA155;
					i_21 = i_22;
					{
						NIM_BOOL T158_;
						T158_ = (NIM_BOOL)0;
						T158_ = isNoSideEffectPragma__trees_u281((*pragmaList_1)._kind_6.sons.p->data[i_21]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
						if (!T158_) goto LA159_;
						enforceNoSideEffects_1 = ((NI)1);
						goto LA153;
					}
LA159_: ;
					i_22 += ((NI)1);
				} LA155: ;
			}
		} LA153: ;
		(*c_p0).inNoSideEffectSection += enforceNoSideEffects_1;
		colontmpD__3 = lastSon__ast_u5208(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		traverse__varpartitions_u1819(c_p0, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
		(*c_p0).inNoSideEffectSection -= enforceNoSideEffects_1;
		{
			LA152_:;
		}
		{
			oldNimErrFin152_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(pragmaList_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin152_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)95):
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_5;
			child_5 = NIM_NIL;
			{
				NI i_23;
				NI colontmp__11;
				NI i_24;
				i_23 = (NI)0;
				colontmp__11 = (NI)0;
				colontmp__11 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
				i_24 = ((NI)0);
				{
					while (1) {
						if (!(i_24 < colontmp__11)) goto LA168;
						i_23 = i_24;
						eqcopy___ast_u3255(&child_5, (*n_p1)._kind_6.sons.p->data[i_23]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						traverse__varpartitions_u1819(c_p0, child_5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
						i_24 += ((NI)1);
					} LA168: ;
				}
			}
			{
				LA165_:;
			}
			{
				oldNimErrFin165_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_5);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin165_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_6;
			child_6 = NIM_NIL;
			{
				NI i_25;
				NI colontmp__12;
				NI i_26;
				i_25 = (NI)0;
				colontmp__12 = (NI)0;
				colontmp__12 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
				i_26 = ((NI)0);
				{
					while (1) {
						if (!(i_26 < colontmp__12)) goto LA175;
						i_25 = i_26;
						eqcopy___ast_u3255(&child_6, (*n_p1)._kind_6.sons.p->data[i_25]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
						traverse__varpartitions_u1819(c_p0, child_6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
						i_26 += ((NI)1);
					} LA175: ;
				}
			}
			{
				LA172_:;
			}
			{
				oldNimErrFin172_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin172_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		{
			if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96))) goto LA180_;
			traverse__varpartitions_u1819(c_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA180_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)105):
	{
		{
			if (!(*c_p0).processDefer) goto LA185_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_7;
				child_7 = NIM_NIL;
				{
					NI i_27;
					NI colontmp__13;
					NI i_28;
					i_27 = (NI)0;
					colontmp__13 = (NI)0;
					colontmp__13 = safeLen__ast_u3197(n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
					i_28 = ((NI)0);
					{
						while (1) {
							if (!(i_28 < colontmp__13)) goto LA191;
							i_27 = i_28;
							eqcopy___ast_u3255(&child_7, (*n_p1)._kind_6.sons.p->data[i_27]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							traverse__varpartitions_u1819(c_p0, child_7);
							if (NIM_UNLIKELY(*nimErr_)) goto LA188_;
							i_28 += ((NI)1);
						} LA191: ;
					}
				}
				{
					LA188_:;
				}
				{
					oldNimErrFin188_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(child_7);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin188_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		}
LA185_: ;
	}
	break;
	default:
	{
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* child_8;
			child_8 = NIM_NIL;
			{
				NI i_29;
				NI colontmp__14;
				NI i_30;
				i_29 = (NI)0;
				colontmp__14 = (NI)0;
				colontmp__14 = safeLen__ast_u3197(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA196_;
				i_30 = ((NI)0);
				{
					while (1) {
						if (!(i_30 < colontmp__14)) goto LA199;
						i_29 = i_30;
						eqcopy___ast_u3255(&child_8, (*n_p1)._kind_6.sons.p->data[i_29]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA196_;
						traverse__varpartitions_u1819(c_p0, child_8);
						if (NIM_UNLIKELY(*nimErr_)) goto LA196_;
						i_30 += ((NI)1);
					} LA199: ;
				}
			}
			{
				LA196_:;
			}
			{
				oldNimErrFin196_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(child_8);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin196_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_u2111)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2, tySet_tyEnum_Goal__RD6GWZwy9cEvrgXiskNzy8g goals_p3, tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* Result) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A));
	nimZeroMem((void*)Result, sizeof(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A));
	colontmpD_ = eqdup___ast_u4580(s_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).owner = colontmpD_;
	colontmpD__2 = eqdup___modulegraphs_u14759(g_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).g = colontmpD__2;
	(*Result).goals = goals_p3;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
		if (!!(((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)17)))) goto LA3_;
		params_1 = NIM_NIL;
		eqcopy___ast_u3255(&params_1, (*(*s_p0).typ).n);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(params_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)1);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA7;
					i_1 = i_2;
					registerParam__varpartitions_u528(Result, (*params_1)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			NI T10_;
			T10_ = (NI)0;
			T10_ = safeLen__ast_u3197((*s_p0).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)7) < T10_)) goto LA11_;
			registerResult__varpartitions_u389(Result, (*(*s_p0).ast)._kind_6.sons.p->data[((NI)7)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
		eqdestroy___ast_u3252(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	computeLiveRanges__varpartitions_u1969(Result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).processDefer = NIM_TRUE;
	{
		NI i_3;
		NI colontmp__2;
		NI T14_;
		NI res_1;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		T14_ = (*Result).defers.len;
		colontmp__2 = (NI)(T14_ - ((NI)1));
		res_1 = colontmp__2;
		{
			while (1) {
				if (!(((NI)0) <= res_1)) goto LA16;
				i_3 = ((NI) (res_1));
				computeLiveRanges__varpartitions_u1969(Result, (*Result).defers.p->data[i_3]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				res_1 -= ((NI)1);
			} LA16: ;
		}
	}
	(*Result).processDefer = NIM_FALSE;
	(*Result).abstractTime = ((NI)0);
	traverse__varpartitions_u1819(Result, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).processDefer = NIM_TRUE;
	{
		NI i_4;
		NI colontmp__3;
		NI T18_;
		NI res_2;
		i_4 = (NI)0;
		colontmp__3 = (NI)0;
		T18_ = (*Result).defers.len;
		colontmp__3 = (NI)(T18_ - ((NI)1));
		res_2 = colontmp__3;
		{
			while (1) {
				if (!(((NI)0) <= res_2)) goto LA20;
				i_4 = ((NI) (res_2));
				traverse__varpartitions_u1819(Result, (*Result).defers.p->data[i_4]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				res_2 -= ((NI)1);
			} LA20: ;
		}
	}
	(*Result).processDefer = NIM_FALSE;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, contains__varpartitions_u2531)(tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ s_p0, NI value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ, dotdot___varpartitions_u2499)(NI a_p0, NI b_p1) {
	tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, dangerousMutation__varpartitions_u2467)(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* g_p0, tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg* v_p1) {
	NIM_BOOL result;
{	{
		tySet_tyEnum_SubgraphFlag__P9bPHnAa9aKW9bv9ac9cLB19cWbA T3_;
		T3_ = 0;
		if (!!(((5 & (*g_p0).flags) == T3_))) goto LA4_;
		{
			NI* m_1;
			NI i_1;
			NI L_1;
			NI T7_;
			m_1 = (NI*)0;
			i_1 = ((NI)0);
			T7_ = (*g_p0).mutations.len;
			L_1 = T7_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA9;
					m_1 = (&(*g_p0).mutations.p->data[i_1]);
					{
						tyObject_HSlice__NlVuRWLMrpRXeZtKL6lYSQ T12_;
						NIM_BOOL T13_;
						T12_ = dotdot___varpartitions_u2499((*v_p1).aliveStart, (*v_p1).aliveEnd);
						T13_ = (NIM_BOOL)0;
						T13_ = contains__varpartitions_u2531(T12_, (*m_1));
						if (!T13_) goto LA14_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA14_: ;
					i_1 += ((NI)1);
				} LA9: ;
			}
		}
	}
LA4_: ;
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, cannotBorrow__varpartitions_u2557)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA* g_p2) {
	NimStringV2 m_1;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	m_1.len = 0; m_1.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = rawNewString((*(*s_p1).name).s.len + 59);
appendString((&T2_), TM__39a9bfgg3gnILXo9by9cxATh0Q_20);
appendString((&T2_), (*(*s_p1).name).s);
appendString((&T2_), TM__39a9bfgg3gnILXo9by9cxATh0Q_22);
	m_1 = T2_;
	{
		NIM_BOOL T5_;
		NimStringV2 colontmpD_;
		T5_ = (NIM_BOOL)0;
		T5_ = eqeq___msgs_u1103((*g_p2).mutatedHere, unknownLineInfo__lineinfos_u364);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T5_)) goto LA6_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		prepareAdd((&m_1), 1);
appendString((&m_1), TM__39a9bfgg3gnILXo9by9cxATh0Q_24);
		colontmpD_ = dollar___msgs_u714(config_p0, (*g_p2).mutatedHere);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		prepareAdd((&m_1), colontmpD_.len + 0);
appendString((&m_1), colontmpD_);
		prepareAdd((&m_1), 21);
appendString((&m_1), TM__39a9bfgg3gnILXo9by9cxATh0Q_26);
		{
			LA8_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		NIM_BOOL T13_;
		NimStringV2 colontmpD__2;
		T13_ = (NIM_BOOL)0;
		T13_ = eqeq___msgs_u1103((*g_p2).connectedVia, unknownLineInfo__lineinfos_u364);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T13_)) goto LA14_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		prepareAdd((&m_1), 1);
appendString((&m_1), TM__39a9bfgg3gnILXo9by9cxATh0Q_27);
		colontmpD__2 = dollar___msgs_u714(config_p0, (*g_p2).connectedVia);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		prepareAdd((&m_1), colontmpD__2.len + 0);
appendString((&m_1), colontmpD__2);
		prepareAdd((&m_1), 62);
appendString((&m_1), TM__39a9bfgg3gnILXo9by9cxATh0Q_29);
		{
			LA16_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	liMessage__msgs_u1227(config_p0, (*s_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), m_1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_30), NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(m_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBorrowedLocations__varpartitions_u2562)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* par_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*par_p0).s.len;
		colontmp_ = T2_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* v_1;
				if (!(i_2 < colontmp_)) goto LA4;
				v_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u4577(&v_1, (*par_p0).s.p->data[i_1].sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					NIM_BOOL T8_;
					tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw T10_;
					NI rid_1;
					T8_ = (NIM_BOOL)0;
					T8_ = !(((*v_1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
					if (!(T8_)) goto LA9_;
					T10_ = (tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0;
					T10_ = classifyViewType__typeallowed_u552((*v_1).typ);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = !((T10_ == ((tyEnum_ViewTypeKind__29b0TWM75qypjUa6azRUxIw)0)));
LA9_: ;
					if (!T8_) goto LA11_;
					rid_1 = root__varpartitions_u615(par_p0, i_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					{
						NIM_BOOL constViolation_1;
						if (!(((NI)0) <= rid_1)) goto LA15_;
						constViolation_1 = NIM_FALSE;
						{
							NI* b_1;
							tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp__2;
							NI i_3;
							NI L_1;
							NI T18_;
							b_1 = (NI*)0;
							colontmp__2 = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)0;
							colontmp__2 = (&(*par_p0).s.p->data[rid_1].borrowsFrom);
							i_3 = ((NI)0);
							T18_ = (*colontmp__2).len;
							L_1 = T18_;
							{
								while (1) {
									NI sid_1;
									if (!(i_3 < L_1)) goto LA20;
									b_1 = (&(*colontmp__2).p->data[i_3]);
									sid_1 = root__varpartitions_u615(par_p0, (*b_1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
									{
										if (!(((NI)0) <= sid_1)) goto LA23_;
										{
											NIM_BOOL T27_;
											T27_ = (NIM_BOOL)0;
											T27_ = ((*par_p0).s.p->data[sid_1].con.kind == ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2));
											if (!(T27_)) goto LA28_;
											T27_ = dangerousMutation__varpartitions_u2467((&(*par_p0).graphs.p->data[(*par_p0).s.p->data[sid_1].con.graphIndex]), (&(*par_p0).s.p->data[i_1]));
											if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
LA28_: ;
											if (!T27_) goto LA29_;
											cannotBorrow__varpartitions_u2557(config_p2, v_1, (&(*par_p0).graphs.p->data[(*par_p0).s.p->data[sid_1].con.graphIndex]));
											if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
										}
LA29_: ;
										{
											NIM_BOOL T33_;
											NimStringV2 colontmpD_;
											NimStringV2 T38_;
											T33_ = (NIM_BOOL)0;
											T33_ = !(((*(*par_p0).s.p->data[sid_1].sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3)));
											if (!(T33_)) goto LA34_;
											T33_ = ((*par_p0).s.p->data[sid_1].aliveEnd < (*par_p0).s.p->data[rid_1].aliveEnd);
LA34_: ;
											if (!T33_) goto LA35_;
											colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
											T38_.len = 0; T38_.p = NIM_NIL;
											T38_ = rawNewString((*(*v_1).name).s.len + (*(*(*par_p0).s.p->data[sid_1].sym).name).s.len + 59);
appendString((&T38_), TM__39a9bfgg3gnILXo9by9cxATh0Q_32);
appendString((&T38_), (*(*v_1).name).s);
appendString((&T38_), TM__39a9bfgg3gnILXo9by9cxATh0Q_34);
appendString((&T38_), (*(*(*par_p0).s.p->data[sid_1].sym).name).s);
appendString((&T38_), TM__39a9bfgg3gnILXo9by9cxATh0Q_36);
											colontmpD_ = T38_;
											liMessage__msgs_u1227(config_p2, (*v_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_37), NIM_FALSE, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
											{
												LA37_:;
											}
											{
												eqdestroy___system_u2691(colontmpD_);
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
										}
LA35_: ;
										{
											NIM_BOOL T43_;
											NimStringV2 colontmpD__2;
											NimStringV2 T48_;
											T43_ = (NIM_BOOL)0;
											T43_ = (((*par_p0).s.p->data[rid_1].flags &((NU8)1<<((NU)((((tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ)4)))&7U)))!=0);
											if (!(T43_)) goto LA44_;
											T43_ = isConstSym__varpartitions_u1485((*par_p0).s.p->data[sid_1].sym);
											if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
LA44_: ;
											if (!T43_) goto LA45_;
											colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
											T48_.len = 0; T48_.p = NIM_NIL;
											T48_ = rawNewString((*(*v_1).name).s.len + (*(*(*par_p0).s.p->data[sid_1].sym).name).s.len + 67);
appendString((&T48_), TM__39a9bfgg3gnILXo9by9cxATh0Q_38);
appendString((&T48_), (*(*v_1).name).s);
appendString((&T48_), TM__39a9bfgg3gnILXo9by9cxATh0Q_40);
appendString((&T48_), (*(*(*par_p0).s.p->data[sid_1].sym).name).s);
appendString((&T48_), TM__39a9bfgg3gnILXo9by9cxATh0Q_42);
											colontmpD__2 = T48_;
											liMessage__msgs_u1227(config_p2, (*v_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_43), NIM_FALSE, NIM_FALSE);
											if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
											constViolation_1 = NIM_TRUE;
											{
												LA47_:;
											}
											{
												eqdestroy___system_u2691(colontmpD__2);
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
										}
LA45_: ;
									}
LA23_: ;
									i_3 += ((NI)1);
								} LA20: ;
							}
						}
						{
							NIM_BOOL T53_;
							NimStringV2 colontmpD__3;
							NimStringV2 T58_;
							T53_ = (NIM_BOOL)0;
							T53_ = ((48 & (*par_p0).s.p->data[rid_1].flags) == 48);
							if (!(T53_)) goto LA54_;
							T53_ = !(constViolation_1);
LA54_: ;
							if (!T53_) goto LA55_;
							colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
							T58_.len = 0; T58_.p = NIM_NIL;
							T58_ = rawNewString((*(*v_1).name).s.len + 63);
appendString((&T58_), TM__39a9bfgg3gnILXo9by9cxATh0Q_44);
appendString((&T58_), (*(*v_1).name).s);
appendString((&T58_), TM__39a9bfgg3gnILXo9by9cxATh0Q_46);
							colontmpD__3 = T58_;
							liMessage__msgs_u1227(config_p2, (*v_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__39a9bfgg3gnILXo9by9cxATh0Q_47), NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
							{
								LA57_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__3);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						}
LA55_: ;
					}
LA15_: ;
				}
LA11_: ;
				i_2 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(v_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2319)(tySequence__9aee2Loc4nE9bvjjGuhsI78w dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			eqdestroy___varpartitions_u264(dest_p0.p->data[colontmp_].mutations);
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].param);
				if (!T6_) goto LA7_;
				eqdestroy___ast_u3469((&(*dest_p0.p->data[colontmp_].param)));
				nimRawDispose(dest_p0.p->data[colontmp_].param, ((NI)8));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_MutationInfo__PxsvdgDRugMnwwZP8bDvWA));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2188)(tySequence__SyrQ8FqS1U0ZKpu8mJO6PQ dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			eqdestroy___pureZosproc_u474(dest_p0.p->data[colontmp_].borrowsFrom);
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].sym);
				if (!T6_) goto LA7_;
				eqdestroy___ast_u3469((&(*dest_p0.p->data[colontmp_].sym)));
				nimRawDispose(dest_p0.p->data[colontmp_].sym, ((NI)8));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___varpartitions_u2167)(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).g);
		if (!T3_) goto LA4_;
		eqdestroy___modulegraphs_u13532((&(*(*dest_p0).g)));
		nimRawDispose((*dest_p0).g, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).owner);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3469((&(*(*dest_p0).owner)));
		nimRawDispose((*dest_p0).owner, ((NI)8));
	}
LA9_: ;
	eqdestroy___varpartitions_u2319((*dest_p0).graphs);
	eqdestroy___varpartitions_u2188((*dest_p0).s);
	eqdestroy___ast_u3696((*dest_p0).defers);
}
N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_u2627)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g_p2) {
	tyObject_Partitions__b3asvfSDaO0FD04RolbF7A par_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&par_1), sizeof(tyObject_Partitions__b3asvfSDaO0FD04RolbF7A));
	computeGraphPartitions__varpartitions_u2111(s_p0, n_p1, g_p2, 4, (&par_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI i_1;
		NI colontmp_;
		NI T3_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T3_ = par_1.s.len;
		colontmp_ = T3_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
				tyObject_VarIndex__xDnEx9cq41ypm0l6yI8haPg* v_1;
				if (!(i_2 < colontmp_)) goto LA5;
				colontmpD_ = NIM_NIL;
				colontmpD__2 = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				i_1 = i_2;
				v_1 = (&par_1.s.p->data[i_1]);
				{
					NIM_BOOL T9_;
					NIM_BOOL T10_;
					NIM_BOOL T11_;
					NIM_BOOL T12_;
					NIM_BOOL T13_;
					tySet_tyEnum_VarFlag__aOzmnZO0GBH6j9b7ZHYDeIQ T14_;
					tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T17_;
					tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A T19_;
					NIM_BOOL T22_;
					NI rid_1;
					T9_ = (NIM_BOOL)0;
					T10_ = (NIM_BOOL)0;
					T11_ = (NIM_BOOL)0;
					T12_ = (NIM_BOOL)0;
					T13_ = (NIM_BOOL)0;
					T14_ = 0;
					T13_ = (((*v_1).flags & 11) == T14_);
					if (!(T13_)) goto LA15_;
					T13_ = !(((*(*v_1).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3) || (*(*v_1).sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11)));
LA15_: ;
					T12_ = T13_;
					if (!(T12_)) goto LA16_;
					T17_ = 0;
					T12_ = (((*(*v_1).sym).flags & 67108872) == T17_);
LA16_: ;
					T11_ = T12_;
					if (!(T11_)) goto LA18_;
					T19_ = 0;
					T11_ = !(((IL64(2147483664) & (*(*(*v_1).sym).typ).flags) == T19_));
LA18_: ;
					T10_ = T11_;
					if (!(T10_)) goto LA20_;
					colontmpD_ = skipTypes__ast_u5379((*(*v_1).sym).typ, TM__39a9bfgg3gnILXo9by9cxATh0Q_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T10_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45)));
LA20_: ;
					T9_ = T10_;
					if (!(T9_)) goto LA21_;
					T22_ = (NIM_BOOL)0;
					colontmpD__2 = getAttachedOp__modulegraphs_u4987(g_p2, (*(*v_1).sym).typ, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T22_ = (colontmpD__2 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
					if (T22_) goto LA23_;
					colontmpD__3 = getAttachedOp__modulegraphs_u4987(g_p2, (*(*v_1).sym).typ, ((tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q)2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T22_ = !((((*colontmpD__3).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)24)))&63U)))!=0));
LA23_: ;
					T9_ = T22_;
LA21_: ;
					if (!T9_) goto LA24_;
					rid_1 = root__varpartitions_u615((&par_1), i_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NIM_BOOL T28_;
						T28_ = (NIM_BOOL)0;
						T28_ = (par_1.s.p->data[rid_1].con.kind == ((tyEnum_VarIndexKind__nDbuBc9bkPR0imwvpV80ARA)2));
						if (!(T28_)) goto LA29_;
						T28_ = dangerousMutation__varpartitions_u2467((&par_1.graphs.p->data[par_1.s.p->data[rid_1].con.graphIndex]), (&par_1.s.p->data[i_1]));
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
LA29_: ;
						if (!T28_) goto LA30_;
					}
					goto LA26_;
LA30_: ;
					{
						(*(*v_1).sym).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)41))) & 63);
					}
LA26_: ;
				}
LA24_: ;
				i_2 += ((NI)1);
				{
					LA6_:;
				}
				{
					oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u4574(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u4574(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3378(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin6_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___varpartitions_u2167((&par_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
