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

#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_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
struct tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* partialParam;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* objType;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
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 NU16 tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw;
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 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;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw {
  NI len; tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content* p;
};
struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ {
	tySequence__hRbbzIynOoxrYjHTIKZ3Gw data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug {
	NI32 module;
	NI32 symId;
	NI32 typeId_0;
	NIM_BOOL sealed;
	tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ disambTable;
};
typedef tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* tyArray__s9a2jZbmN9cnqFaNnzUrYEjg[8192];
struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA {
	tyArray__s9a2jZbmN9cnqFaNnzUrYEjg buckets;
	NI wordCounter;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idAnon;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idDelegator;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* emptyIdent;
};
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;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__TAsXwXSUBvAawE1kIQ5ziQ[1];
typedef NU8 tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tyTuple__Oubp8LPEu86EPyDuc56AXg {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field0;
	NI Field1;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content { NI cap; tyTuple__Oubp8LPEu86EPyDuc56AXg data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
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_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getPragmaVal__pragmas_u99)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* procAst_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw name_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___liftlocals_u92)(tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3074)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u274)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3288)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3469)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupParam__liftlocals_u45)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
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);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_u2166)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u4571)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3375)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA*, eqdup___idents_u344)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug*, eqdup___ast_u3106)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTree__ast_u4170)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p1, NI children_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, liftLocals__liftlocals_u35)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI i_p1, tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ* c_p2);
static N_INLINE(NIM_BOOL, interestingVar__liftlocals_u17)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lookupOrAdd__liftlocals_u28)(tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, addUniqueField__lowerings_u285)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* obj_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5171)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5168)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__xMgMWEFctBTF9b4zdqZ9bcYg_2 = { 31 | NIM_STRLIT_FLAG, "\'$1\' is not a parameter of \'$2\'" };
static const NimStringV2 TM__xMgMWEFctBTF9b4zdqZ9bcYg_3 = {31, (NimStrPayload*)&TM__xMgMWEFctBTF9b4zdqZ9bcYg_2};
static const struct {
  NI cap; NIM_CHAR data[65+1];
} TM__xMgMWEFctBTF9b4zdqZ9bcYg_5 = { 65 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/liftlocals.nim" };
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__xMgMWEFctBTF9b4zdqZ9bcYg_6 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__xMgMWEFctBTF9b4zdqZ9bcYg_7 = { 51 | NIM_STRLIT_FLAG, "parameter \'$1\' is not a pointer to a partial object" };
static const NimStringV2 TM__xMgMWEFctBTF9b4zdqZ9bcYg_8 = {51, (NimStrPayload*)&TM__xMgMWEFctBTF9b4zdqZ9bcYg_7};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__xMgMWEFctBTF9b4zdqZ9bcYg_4 = {{65, (NimStrPayload*)&TM__xMgMWEFctBTF9b4zdqZ9bcYg_5},
((NI)66),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__xMgMWEFctBTF9b4zdqZ9bcYg_9 = {{65, (NimStrPayload*)&TM__xMgMWEFctBTF9b4zdqZ9bcYg_5},
((NI)71),
((NI)14)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
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, 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, nimDecRefIsLast)(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)((NI64)((*cell_1).rc) >> (NU64)(((NI)4) & (64 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	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___liftlocals_u92)(tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast((*dest_p0).idgen);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3074((&(*(*dest_p0).idgen)));
		nimRawDispose((*dest_p0).idgen, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLast((*dest_p0).cache);
		if (!T8_) goto LA9_;
		eqdestroy___idents_u274((&(*(*dest_p0).cache)));
		nimRawDispose((*dest_p0).cache, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).objType);
		if (!T13_) goto LA14_;
		eqdestroy___ast_u3288((&(*(*dest_p0).objType)));
		nimRawDispose((*dest_p0).objType, ((NI)8));
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).partialParam);
		if (!T18_) goto LA19_;
		eqdestroy___ast_u3469((&(*(*dest_p0).partialParam)));
		nimRawDispose((*dest_p0).partialParam, ((NI)8));
	}
LA19_: ;
}
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(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupParam__liftlocals_u45)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	{
		if (!!(((*dest_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2)))) goto LA3_;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		goto BeforeRet_;
	}
LA3_: ;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(params_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA7;
				i_1 = i_2;
				{
					NIM_BOOL T10_;
					T10_ = (NIM_BOOL)0;
					T10_ = ((*(*params_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
					if (!(T10_)) goto LA11_;
					T10_ = ((*(*(*(*params_p0)._kind_6.sons.p->data[i_1])._kind_4.sym).name).id == (*(*dest_p1)._kind_5.ident).id);
LA11_: ;
					if (!T10_) goto LA12_;
					eqcopy___ast_u4577(&result, (*(*params_p0)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA12_: ;
				i_2 += ((NI)1);
			} LA7: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, interestingVar__liftlocals_u17)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*s_p0).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11));
	if (!(T1_)) goto LA2_;
	T1_ = !((((*s_p0).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)3)))&63U)))!=0));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lookupOrAdd__liftlocals_u28)(tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ* c_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* field_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* deref_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	field_1 = NIM_NIL;
	deref_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	field_1 = addUniqueField__lowerings_u285((*c_p0).objType, s_p1, (*c_p0).cache, (*c_p0).idgen);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	deref_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65), info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&(*deref_1).typField, (*c_p0).objType);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = newSymNode__ast_u5171((*c_p0).partialParam, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(deref_1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, deref_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = newSymNode__ast_u5168(field_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&(*result).typField, (*field_1).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(deref_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(field_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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, liftLocals__liftlocals_u35)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI i_p1, tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ* c_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	it_1 = NIM_NIL;
	eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_p1]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch ((*it_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			NIM_BOOL T4_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
			T4_ = (NIM_BOOL)0;
			T4_ = interestingVar__liftlocals_u17((*it_1)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T4_) goto LA5_;
			T7_ = NIM_NIL;
			T7_ = lookupOrAdd__liftlocals_u28(c_p2, (*it_1)._kind_4.sym, (*it_1).info);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto BeforeRet_;}
			eqsink___ast_u3261(&(*n_p0)._kind_6.sons.p->data[i_p1], T7_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)52):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159):
	{
	}
	break;
	default:
	{
		{
			NI i_2;
			NI colontmp_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_u3197(it_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_3 = ((NI)0);
			{
				while (1) {
					if (!(i_3 < colontmp_)) goto LA12;
					i_2 = i_3;
					liftLocals__liftlocals_u35(it_1, i_2, c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_3 += ((NI)1);
				} LA12: ;
			}
		}
	}
	break;
	}
	eqdestroy___ast_u3252(it_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, liftLocalsIfRequested__liftlocals_u62)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prc_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* liftDest_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* partialParam_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* objType_1;
	tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ c_1;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* colontmpD_;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* w_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* blitTmp_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* blitTmp_2;
	tyArray__TAsXwXSUBvAawE1kIQ5ziQ T23_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	liftDest_1 = NIM_NIL;
	partialParam_1 = NIM_NIL;
	objType_1 = NIM_NIL;
	nimZeroMem((void*)(&c_1), sizeof(tyObject_Ctx__swBeeZgThSNlhlCh4G9cKRQ));
	w_1 = NIM_NIL;
	liftDest_1 = getPragmaVal__pragmas_u99((*prc_p0).ast, ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)228));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(liftDest_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(w_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___liftlocals_u92((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(partialParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(liftDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	partialParam_1 = lookupParam__liftlocals_u45((*(*prc_p0).typ).n, liftDest_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T11_;
		if (!(partialParam_1 == 0)) goto LA8_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__3 = dollar___renderer_u2166(liftDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		T11_[0] = colontmpD__3;
		T11_[1] = (*(*prc_p0).name).s;
		colontmpD__4 = nsuFormatOpenArray(TM__xMgMWEFctBTF9b4zdqZ9bcYg_3, T11_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		liMessage__msgs_u1227(conf_p3, (*liftDest_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__xMgMWEFctBTF9b4zdqZ9bcYg_4), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___ast_u3252(w_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___liftlocals_u92((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(partialParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(liftDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA10_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	objType_1 = skipTypes__ast_u5379((*partialParam_1).typ, TM__xMgMWEFctBTF9b4zdqZ9bcYg_6);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T16_;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		T16_ = (NIM_BOOL)0;
		T16_ = !(((*objType_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17)));
		if (T16_) goto LA17_;
		T16_ = !((((*objType_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)16)))&63U)))!=0));
LA17_: ;
		if (!T16_) goto LA18_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__5 = dollar___renderer_u2166(liftDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		colontmpD__6 = nsuFormatSingleElem(TM__xMgMWEFctBTF9b4zdqZ9bcYg_8, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		liMessage__msgs_u1227(conf_p3, (*liftDest_1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__xMgMWEFctBTF9b4zdqZ9bcYg_9), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		eqcopy___ast_u3255(&result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___ast_u3252(w_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___liftlocals_u92((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(partialParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(liftDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA20_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA18_: ;
	blitTmp_1 = partialParam_1;
	eqwasMoved___ast_u4571(&partialParam_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.partialParam = blitTmp_1;
	blitTmp_2 = objType_1;
	eqwasMoved___ast_u3375(&objType_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.objType = blitTmp_2;
	colontmpD_ = eqdup___idents_u344(cache_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.cache = colontmpD_;
	colontmpD__2 = eqdup___ast_u3106(idgen_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.idgen = colontmpD__2;
	nimZeroMem((void*)T23_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
	T23_[0] = n_p1;
	w_1 = newTree__ast_u4170(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), T23_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	liftLocals__liftlocals_u35(w_1, ((NI)0), (&c_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&result, (*w_1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(w_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___liftlocals_u92((&c_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3378(objType_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u4574(partialParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(liftDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
