/* 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_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
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 tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ tySequence__S89cE01OvNjsN9c71FKsSrqQ;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA;
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;
};
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
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;
};
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_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 NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
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_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__TAsXwXSUBvAawE1kIQ5ziQ[1];
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ {
  NI len; tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__S89cE01OvNjsN9c71FKsSrqQ trace;
	Exception* up;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content { NI cap; tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, mapTypeToAstX__vmdeps_u33)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3, NIM_BOOL inst_p4, NIM_BOOL allowRecursionX_p5, NIM_BOOL skipAlias_p6);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, atomicTypeX__vmdeps_u29)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_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(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, atomicTypeX__vmdeps_u17)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, NimStringV2 name_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, newSym__ast_u4205)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q symKind_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u206)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NimStringV2 identifier_p1);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* 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, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
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*, newNodeIT__ast_u4112)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, indexType__ast_u5345)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIdentNode__ast_u5164)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyTree__ast_u6891)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, base__ast_u5351)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipModifier__ast_u5338)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, genericHead__ast_u5376)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, typeBodyImpl__ast_u5369)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, mapTypeToBracketX__vmdeps_u41)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, NimStringV2 name_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p5, NIM_BOOL inst_p6);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newType__ast_u5900)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, objectNode__vmdeps_u62)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyNode__ast_u6736)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3699)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, returnType__ast_u5354)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(NI, kidsLen__ast_u5648)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_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(NimStringV2, dollar___ast_u26)(tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, last__ast_u5278)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u91)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosparentDir)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPath__msgs_u624)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, findFile__options_u4081)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 f_p1, NIM_BOOL suppressStdlib_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, readFile__stdZsyncio_u535)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_u404)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(void, appendToModule__ast_u4652)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTreeI__ast_u4180)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p2, NI children_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newStrNode__ast_u5422)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NimStringV2 strVal_p1);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(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);
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, rawNewString)(NI space_p0);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3656)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_2 = { 4 | NIM_STRLIT_FLAG, "none" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_3 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_2};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_4 = { 4 | NIM_STRLIT_FLAG, "bool" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_5 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_4};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_6 = { 4 | NIM_STRLIT_FLAG, "char" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_7 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_6};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_8 = { 3 | NIM_STRLIT_FLAG, "nil" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_9 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_8};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_10 = { 7 | NIM_STRLIT_FLAG, "untyped" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_11 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_10};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_12 = { 5 | NIM_STRLIT_FLAG, "typed" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_13 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_12};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_14 = { 4 | NIM_STRLIT_FLAG, "void" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_15 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_14};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_16 = { 5 | NIM_STRLIT_FLAG, "empty" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_17 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_16};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_18 = { 14 | NIM_STRLIT_FLAG, "UncheckedArray" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_19 = {14, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_18};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_20 = { 5 | NIM_STRLIT_FLAG, "array" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_21 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_20};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_22 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_23 = {2, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_22};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_24 = { 8 | NIM_STRLIT_FLAG, "typeDesc" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_25 = {8, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_24};
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_26 = {8, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_24};
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_27 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_14};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_28 = { 8 | NIM_STRLIT_FLAG, "distinct" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_29 = {8, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_28};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_30 = { 5 | NIM_STRLIT_FLAG, "tuple" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_31 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_30};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_32 = { 3 | NIM_STRLIT_FLAG, "set" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_33 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_32};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_34 = { 3 | NIM_STRLIT_FLAG, "ptr" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_35 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_34};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_36 = { 3 | NIM_STRLIT_FLAG, "ref" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_37 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_36};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_38 = { 3 | NIM_STRLIT_FLAG, "var" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_39 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_38};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_40 = { 4 | NIM_STRLIT_FLAG, "lent" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_41 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_40};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_42 = { 4 | NIM_STRLIT_FLAG, "sink" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_43 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_42};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_44 = { 3 | NIM_STRLIT_FLAG, "seq" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_45 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_44};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_46 = { 4 | NIM_STRLIT_FLAG, "proc" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_47 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_46};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_48 = { 9 | NIM_STRLIT_FLAG, "openArray" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_49 = {9, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_48};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_50 = { 5 | NIM_STRLIT_FLAG, "range" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_51 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_50};
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_52 = {2, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_22};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_53 = { 7 | NIM_STRLIT_FLAG, "pointer" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_54 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_53};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_55 = { 6 | NIM_STRLIT_FLAG, "string" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_56 = {6, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_55};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_57 = { 7 | NIM_STRLIT_FLAG, "cstring" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_58 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_57};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_59 = { 3 | NIM_STRLIT_FLAG, "int" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_60 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_59};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_61 = { 4 | NIM_STRLIT_FLAG, "int8" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_62 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_61};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_63 = { 5 | NIM_STRLIT_FLAG, "int16" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_64 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_63};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_65 = { 5 | NIM_STRLIT_FLAG, "int32" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_66 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_65};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_67 = { 5 | NIM_STRLIT_FLAG, "int64" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_68 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_67};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_69 = { 5 | NIM_STRLIT_FLAG, "float" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_70 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_69};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_71 = { 7 | NIM_STRLIT_FLAG, "float32" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_72 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_71};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_73 = { 7 | NIM_STRLIT_FLAG, "float64" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_74 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_73};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_75 = { 8 | NIM_STRLIT_FLAG, "float128" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_76 = {8, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_75};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_77 = { 4 | NIM_STRLIT_FLAG, "uint" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_78 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_77};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_79 = { 5 | NIM_STRLIT_FLAG, "uint8" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_80 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_79};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_81 = { 6 | NIM_STRLIT_FLAG, "uint16" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_82 = {6, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_81};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_83 = { 6 | NIM_STRLIT_FLAG, "uint32" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_84 = {6, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_83};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_85 = { 6 | NIM_STRLIT_FLAG, "uint64" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_86 = {6, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_85};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_87 = { 7 | NIM_STRLIT_FLAG, "varargs" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_88 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_87};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_89 = { 5 | NIM_STRLIT_FLAG, "error" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_90 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_89};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_91 = { 16 | NIM_STRLIT_FLAG, "builtinTypeClass" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_92 = {16, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_91};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_93 = { 7 | NIM_STRLIT_FLAG, "concept" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_94 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_93};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_95 = { 18 | NIM_STRLIT_FLAG, "compositeTypeClass" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_96 = {18, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_95};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_97 = { 3 | NIM_STRLIT_FLAG, "and" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_98 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_97};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_99 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_100 = {2, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_99};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_101 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_102 = {3, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_101};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_103 = { 8 | NIM_STRLIT_FLAG, "iterable" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_104 = {8, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_103};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_105 = { 8 | NIM_STRLIT_FLAG, "anything" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_106 = {8, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_105};
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_107 = {4, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_14};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_108 = { 6 | NIM_STRLIT_FLAG, "static" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_109 = {6, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_108};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_110 = { 5 | NIM_STRLIT_FLAG, "owned" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_111 = {5, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_110};
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_112 = {7, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_93};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_113 = { 18 | NIM_STRLIT_FLAG, "cannot open file: " };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_114 = {18, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_113};
static const struct {
  NI cap; NIM_CHAR data[61+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_116 = { 61 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/vmdeps.nim" };
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__gLSXNlwmnHPzTIXzvpQGfw_117 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__gLSXNlwmnHPzTIXzvpQGfw_118 = {0, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_117};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gLSXNlwmnHPzTIXzvpQGfw_115 = {{61, (NimStrPayload*)&TM__gLSXNlwmnHPzTIXzvpQGfw_116},
((NI)29),
((NI)14)}
;
extern NIM_BOOL nimInErrorMode__system_u4138;
extern Exception* currException__system_u3623;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4138);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, atomicTypeX__vmdeps_u29)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newSymNode__ast_u5168(s_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).info = info_p1;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* 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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, atomicTypeX__vmdeps_u17)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, NimStringV2 name_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__2;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	sym_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = getIdent__idents_u206(cache_p0, name_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = owner__ast_u6246(t_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = 0;
	sym_1 = newSym__ast_u4205(((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)7), colontmpD_, idgen_p5, colontmpD__2, info_p4, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*sym_1).magic = m_p2;
	eqcopy___ast_u3381(&(*sym_1).typ, t_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newSymNode__ast_u5168(sym_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&(*result).typField, t_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___idents_u155(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(sym_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, indexType__ast_u5345)(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;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, base__ast_u5351)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*t_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipModifier__ast_u5338)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, genericHead__ast_u5376)(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;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, typeBodyImpl__ast_u5369)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, mapTypeToBracketX__vmdeps_u41)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, NimStringV2 name_p1, tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg m_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p3, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p4, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p5, NIM_BOOL inst_p6) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T2_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	colontmpD__3 = NIM_NIL;
	{
		if (!((*t_p3).n == 0)) goto LA5_;
		colontmpD_ = info_p4;
		T2_ = colontmpD_;
	}
	goto LA3_;
LA5_: ;
	{
		colontmpD__2 = (*(*t_p3).n).info;
		T2_ = colontmpD__2;
	}
LA3_: ;
	result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T2_, t_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = atomicTypeX__vmdeps_u17(cache_p0, name_p1, m_p2, t_p3, info_p4, idgen_p5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
		a_1 = NIM_NIL;
		{
			NI i_1;
			NI colontmp_;
			NI T11_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T11_ = (*t_p3).sons.len;
			colontmp_ = T11_;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA13;
					i_1 = i_2;
					eqcopy___ast_u3381(&a_1, (*t_p3).sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* voidt_1;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__4;
						tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T18_;
						if (!(a_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA16_;
						voidt_1 = NIM_NIL;
						colontmpD__4 = NIM_NIL;
						voidt_1 = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_27, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)170), t_p3, info_p4, idgen_p5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						colontmpD__4 = owner__ast_u6246(t_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						T18_ = NIM_NIL;
						T18_ = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63), idgen_p5, colontmpD__4, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T18_); goto LA9_;}
						eqsink___ast_u3387(&(*voidt_1).typField, T18_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						add__ast_u3215(result, voidt_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						eqdestroy___ast_u4574(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						eqdestroy___ast_u3252(voidt_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
					goto LA14_;
LA16_: ;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
						colontmpD__5 = NIM_NIL;
						colontmpD__5 = mapTypeToAstX__vmdeps_u33(cache_p0, a_1, info_p4, idgen_p5, inst_p6, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						add__ast_u3215(result, colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
						{
							LA20_:;
						}
						{
							oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							*nimErr_ = oldNimErrFin20_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					}
LA14_: ;
					i_2 += ((NI)1);
				} LA13: ;
			}
		}
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(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;
}
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(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(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, objectNode__vmdeps_u62)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		colontmpD_ = NIM_NIL;
		result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (*n_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = mapTypeToAstX__vmdeps_u33(cache_p0, (*(*n_p1)._kind_4.sym).typ, (*n_p1).info, idgen_p2, NIM_TRUE, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			if (!!(((*(*n_p1)._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA8_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = copyTree__ast_u6891((*(*n_p1)._kind_4.sym).ast);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			add__ast_u3215(result, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
		goto LA6_;
LA8_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			colontmpD__3 = NIM_NIL;
			colontmpD__3 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*n_p1).info);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			add__ast_u3215(result, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA6_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = copyNode__ast_u6736(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			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 BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					if (!(i_2 < colontmp_)) goto LA19;
					colontmpD__4 = NIM_NIL;
					i_1 = i_2;
					colontmpD__4 = objectNode__vmdeps_u62(cache_p0, (*n_p1)._kind_6.sons.p->data[i_1], idgen_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					add__ast_u3215(result, colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					i_2 += ((NI)1);
					{
						LA20_:;
					}
					{
						oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin20_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA19: ;
			}
		}
	}
LA1_: ;
	}BeforeRet_: ;
	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;
}
static N_INLINE(NI, kidsLen__ast_u5648)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, last__ast_u5278)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, mapTypeToAstX__vmdeps_u33)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3, NIM_BOOL inst_p4, NIM_BOOL allowRecursionX_p5, NIM_BOOL skipAlias_p6) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NIM_BOOL allowRecursion_1;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL oldNimErrFin91_;
NIM_BOOL oldNimErrFin86_;
NIM_BOOL oldNimErrFin105_;
NIM_BOOL oldNimErrFin122_;
NIM_BOOL oldNimErrFin117_;
NIM_BOOL oldNimErrFin109_;
NIM_BOOL oldNimErrFin130_;
NIM_BOOL oldNimErrFin138_;
NIM_BOOL oldNimErrFin142_;
NIM_BOOL oldNimErrFin146_;
NIM_BOOL oldNimErrFin150_;
NIM_BOOL oldNimErrFin158_;
NIM_BOOL oldNimErrFin197_;
NIM_BOOL oldNimErrFin211_;
NIM_BOOL oldNimErrFin181_;
NIM_BOOL oldNimErrFin236_;
NIM_BOOL oldNimErrFin224_;
NIM_BOOL oldNimErrFin255_;
NIM_BOOL oldNimErrFin251_;
NIM_BOOL oldNimErrFin243_;
NIM_BOOL oldNimErrFin283_;
NIM_BOOL oldNimErrFin278_;
NIM_BOOL oldNimErrFin311_;
NIM_BOOL oldNimErrFin300_;
NIM_BOOL oldNimErrFin296_;
NIM_BOOL oldNimErrFin326_;
NIM_BOOL oldNimErrFin341_;
NIM_BOOL oldNimErrFin356_;
NIM_BOOL oldNimErrFin398_;
NIM_BOOL oldNimErrFin415_;
NIM_BOOL oldNimErrFin404_;
NIM_BOOL oldNimErrFin374_;
NIM_BOOL oldNimErrFin458_;
NIM_BOOL oldNimErrFin474_;
NIM_BOOL oldNimErrFin468_;
NIM_BOOL oldNimErrFin444_;
NIM_BOOL oldNimErrFin506_;
NIM_BOOL oldNimErrFin510_;
NIM_BOOL oldNimErrFin520_;
NIM_BOOL oldNimErrFin545_;
NIM_BOOL oldNimErrFin534_;
NIM_BOOL oldNimErrFin552_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	allowRecursion_1 = allowRecursionX_p5;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T9_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = inst_p4;
		if (!(T5_)) goto LA6_;
		T5_ = !(allowRecursion_1);
LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = !(((*t_p1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
LA7_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T9_ = skipAlias_p6;
		if (!(T9_)) goto LA10_;
		T9_ = ((*t_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4));
LA10_: ;
		T3_ = !(T9_);
LA8_: ;
		if (!T3_) goto LA11_;
		result = atomicTypeX__vmdeps_u29((*t_p1).sym, info_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA11_: ;
	switch ((*t_p1).kind) {
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)0):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_3, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_5, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)188), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_7, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)189), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)5):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_9, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)193), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)6):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_11, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)194), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)7):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_13, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)195), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)63):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_15, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)170), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)3):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_17, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)49):
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD_;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T23_;
		nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		{
			if (!((*t_p1).n == 0)) goto LA26_;
			colontmpD_ = info_p2;
			T23_ = colontmpD_;
		}
		goto LA24_;
LA26_: ;
		{
			colontmpD__2 = (*(*t_p1).n).info;
			T23_ = colontmpD__2;
		}
LA24_: ;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T23_, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colontmpD__3 = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_19, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)272), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colontmpD__4 = elementType__ast_u5331(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colontmpD__5 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__4, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__ast_u3215(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16):
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__6;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__7;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T33_;
		nimZeroMem((void*)(&colontmpD__6), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		nimZeroMem((void*)(&colontmpD__7), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		colontmpD__8 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		colontmpD__10 = NIM_NIL;
		colontmpD__11 = NIM_NIL;
		{
			if (!((*t_p1).n == 0)) goto LA36_;
			colontmpD__6 = info_p2;
			T33_ = colontmpD__6;
		}
		goto LA34_;
LA36_: ;
		{
			colontmpD__7 = (*(*t_p1).n).info;
			T33_ = colontmpD__7;
		}
LA34_: ;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T33_, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		colontmpD__8 = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_21, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)160), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		add__ast_u3215(result, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		{
			NIM_BOOL T41_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* rng_1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__12;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__13;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__14;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__16;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__18;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__19;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T46_;
			T41_ = (NIM_BOOL)0;
			T41_ = inst_p4;
			if (!(T41_)) goto LA42_;
			colontmpD__9 = indexType__ast_u5345(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			T41_ = ((*colontmpD__9).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20));
LA42_: ;
			if (!T41_) goto LA43_;
			rng_1 = NIM_NIL;
			nimZeroMem((void*)(&colontmpD__12), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__13), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__14 = NIM_NIL;
			colontmpD__15 = NIM_NIL;
			colontmpD__16 = NIM_NIL;
			colontmpD__17 = NIM_NIL;
			colontmpD__18 = NIM_NIL;
			colontmpD__19 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA49_;
				colontmpD__12 = info_p2;
				T46_ = colontmpD__12;
			}
			goto LA47_;
LA49_: ;
			{
				colontmpD__13 = (*(*t_p1).n).info;
				T46_ = colontmpD__13;
			}
LA47_: ;
			rng_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), T46_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__14 = getIdent__idents_u206(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_23);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__15 = newIdentNode__ast_u5164(colontmpD__14, info_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			add__ast_u3215(rng_1, colontmpD__15);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__16 = indexType__ast_u5345(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__17 = copyTree__ast_u6891((*(*colontmpD__16).n)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			add__ast_u3215(rng_1, colontmpD__17);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__18 = indexType__ast_u5345(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__19 = copyTree__ast_u6891((*(*colontmpD__18).n)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			add__ast_u3215(rng_1, colontmpD__19);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			add__ast_u3215(result, rng_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			{
				LA45_:;
			}
			{
				oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__19);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___ast_u3378(colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___ast_u3252(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___ast_u3378(colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___ast_u3252(colontmpD__15);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___idents_u155(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___ast_u3252(rng_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				*nimErr_ = oldNimErrFin45_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		}
		goto LA39_;
LA43_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__20;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__21;
			colontmpD__20 = NIM_NIL;
			colontmpD__21 = NIM_NIL;
			colontmpD__20 = indexType__ast_u5345(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			colontmpD__21 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__20, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			add__ast_u3215(result, colontmpD__21);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			{
				LA55_:;
			}
			{
				oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__21);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				eqdestroy___ast_u3378(colontmpD__20);
				if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
				*nimErr_ = oldNimErrFin55_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		}
LA39_: ;
		colontmpD__10 = elementType__ast_u5331(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		colontmpD__11 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__10, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		add__ast_u3215(result, colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
		{
			LA32_:;
		}
		{
			oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3378(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin32_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)8):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__22;
		colontmpD__22 = NIM_NIL;
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__23;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__24;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__25;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__26;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__27;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T67_;
			colontmpD__22 = base__ast_u5351(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
			if (!!((colontmpD__22 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA64_;
			nimZeroMem((void*)(&colontmpD__23), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__24), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__25 = NIM_NIL;
			colontmpD__26 = NIM_NIL;
			colontmpD__27 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA70_;
				colontmpD__23 = info_p2;
				T67_ = colontmpD__23;
			}
			goto LA68_;
LA70_: ;
			{
				colontmpD__24 = (*(*t_p1).n).info;
				T67_ = colontmpD__24;
			}
LA68_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T67_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			colontmpD__25 = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_25, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)196), t_p1, info_p2, idgen_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			add__ast_u3215(result, colontmpD__25);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			colontmpD__26 = base__ast_u5351(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			colontmpD__27 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__26, info_p2, idgen_p3, inst_p4, NIM_FALSE, skipAlias_p6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			add__ast_u3215(result, colontmpD__27);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			{
				LA66_:;
			}
			{
				oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__27);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				eqdestroy___ast_u3378(colontmpD__26);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				eqdestroy___ast_u3252(colontmpD__25);
				if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
				*nimErr_ = oldNimErrFin66_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		}
		goto LA62_;
LA64_: ;
		{
			result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_26, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)196), t_p1, info_p2, idgen_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		}
LA62_: ;
		{
			LA61_:;
		}
		{
			oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__22);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin61_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)9):
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__28;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__29;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T79_;
		nimZeroMem((void*)(&colontmpD__28), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		nimZeroMem((void*)(&colontmpD__29), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		{
			if (!((*t_p1).n == 0)) goto LA82_;
			colontmpD__28 = info_p2;
			T79_ = colontmpD__28;
		}
		goto LA80_;
LA82_: ;
		{
			colontmpD__29 = (*(*t_p1).n).info;
			T79_ = colontmpD__29;
		}
LA80_: ;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T79_, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
			a_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI T88_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T88_ = (*t_p1).sons.len;
				colontmp_ = T88_;
				i_2 = ((NI)0);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__30;
						if (!(i_2 < colontmp_)) goto LA90;
						colontmpD__30 = NIM_NIL;
						i_1 = i_2;
						eqcopy___ast_u3381(&a_1, (*t_p1).sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
						colontmpD__30 = mapTypeToAstX__vmdeps_u33(cache_p0, a_1, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
						add__ast_u3215(result, colontmpD__30);
						if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
						i_2 += ((NI)1);
						{
							LA91_:;
						}
						{
							oldNimErrFin91_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__30);
							if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
							*nimErr_ = oldNimErrFin91_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
					} LA90: ;
				}
			}
			{
				LA86_:;
			}
			{
				oldNimErrFin86_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin86_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)11):
	{
		{
			if (!inst_p4) goto LA99_;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__31;
				if (!allowRecursion_1) goto LA103_;
				colontmpD__31 = NIM_NIL;
				colontmpD__31 = skipModifier__ast_u5338(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
				result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__31, info_p2, idgen_p3, inst_p4, NIM_TRUE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
				eqcopy___ast_u3381(&(*result).typField, t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA105_;
				{
					LA105_:;
				}
				{
					oldNimErrFin105_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3378(colontmpD__31);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin105_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA101_;
LA103_: ;
			{
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__32;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__33;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__34;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__35;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T110_;
				nimZeroMem((void*)(&colontmpD__32), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				nimZeroMem((void*)(&colontmpD__33), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				colontmpD__34 = NIM_NIL;
				colontmpD__35 = NIM_NIL;
				{
					if (!((*t_p1).n == 0)) goto LA113_;
					colontmpD__32 = info_p2;
					T110_ = colontmpD__32;
				}
				goto LA111_;
LA113_: ;
				{
					colontmpD__33 = (*(*t_p1).n).info;
					T110_ = colontmpD__33;
				}
LA111_: ;
				result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T110_, t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				colontmpD__34 = genericHead__ast_u5376(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				colontmpD__35 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__34, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				add__ast_u3215(result, colontmpD__35);
				if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_2;
					NIM_BOOL __1;
					a_2 = NIM_NIL;
					__1 = (NIM_BOOL)0;
					{
						NI i_3;
						NI colontmp__2;
						NI T119_;
						NI i_4;
						i_3 = (NI)0;
						colontmp__2 = (NI)0;
						T119_ = (*t_p1).sons.len;
						colontmp__2 = (NI)(T119_ - ((NI)1));
						i_4 = ((NI)1);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__36;
								if (!(i_4 < colontmp__2)) goto LA121;
								colontmpD__36 = NIM_NIL;
								i_3 = i_4;
								__1 = !((i_3 == ((NI)1)));
								eqcopy___ast_u3381(&a_2, (*t_p1).sons.p->data[i_3]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
								colontmpD__36 = mapTypeToAstX__vmdeps_u33(cache_p0, a_2, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
								add__ast_u3215(result, colontmpD__36);
								if (NIM_UNLIKELY(*nimErr_)) goto LA122_;
								i_4 += ((NI)1);
								{
									LA122_:;
								}
								{
									oldNimErrFin122_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__36);
									if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
									*nimErr_ = oldNimErrFin122_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
							} LA121: ;
						}
					}
					{
						LA117_:;
					}
					{
						oldNimErrFin117_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
						*nimErr_ = oldNimErrFin117_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA109_;
				}
				{
					LA109_:;
				}
				{
					oldNimErrFin109_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__35);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(colontmpD__34);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin109_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA101_: ;
		}
		goto LA97_;
LA99_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__37;
			colontmpD__37 = NIM_NIL;
			colontmpD__37 = skipModifier__ast_u5338(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__37, info_p2, idgen_p3, inst_p4, allowRecursion_1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			eqcopy___ast_u3381(&(*result).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			{
				LA130_:;
			}
			{
				oldNimErrFin130_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__37);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin130_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA97_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)10):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__38;
			if (!inst_p4) goto LA136_;
			colontmpD__38 = NIM_NIL;
			colontmpD__38 = typeBodyImpl__ast_u5369(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
			result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__38, info_p2, idgen_p3, inst_p4, NIM_TRUE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
			{
				LA138_:;
			}
			{
				oldNimErrFin138_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__38);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin138_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA134_;
LA136_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__39;
			colontmpD__39 = NIM_NIL;
			colontmpD__39 = typeBodyImpl__ast_u5369(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__39, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA142_;
			{
				LA142_:;
			}
			{
				oldNimErrFin142_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__39);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin142_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA134_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)4):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__40;
		colontmpD__40 = NIM_NIL;
		colontmpD__40 = skipModifier__ast_u5338(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
		result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__40, info_p2, idgen_p3, inst_p4, allowRecursion_1, skipAlias_p6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
		{
			LA146_:;
		}
		{
			oldNimErrFin146_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__40);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin146_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)15):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__41;
		colontmpD__41 = NIM_NIL;
		colontmpD__41 = skipModifier__ast_u5338(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
		result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__41, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
		{
			LA150_:;
		}
		{
			oldNimErrFin150_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__41);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin150_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)13):
	{
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__42;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__43;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__44;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__45;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T159_;
			if (!inst_p4) goto LA156_;
			nimZeroMem((void*)(&colontmpD__42), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__43), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__44 = NIM_NIL;
			colontmpD__45 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA162_;
				colontmpD__42 = info_p2;
				T159_ = colontmpD__42;
			}
			goto LA160_;
LA162_: ;
			{
				colontmpD__43 = (*(*t_p1).n).info;
				T159_ = colontmpD__43;
			}
LA160_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)146), T159_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
			colontmpD__44 = skipModifier__ast_u5338(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
			colontmpD__45 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__44, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
			add__ast_u3215(result, colontmpD__45);
			if (NIM_UNLIKELY(*nimErr_)) goto LA158_;
			{
				LA158_:;
			}
			{
				oldNimErrFin158_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__45);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD__44);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin158_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA154_;
LA156_: ;
		{
			{
				NIM_BOOL T170_;
				T170_ = (NIM_BOOL)0;
				T170_ = allowRecursion_1;
				if (T170_) goto LA171_;
				T170_ = ((*t_p1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
LA171_: ;
				if (!T170_) goto LA172_;
				result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_29, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)169), t_p1, info_p2, idgen_p3, inst_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA168_;
LA172_: ;
			{
				result = atomicTypeX__vmdeps_u29((*t_p1).sym, info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA168_: ;
		}
LA154_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)12):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)30):
	{
		result = atomicTypeX__vmdeps_u29((*t_p1).sym, info_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17):
	{
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__46;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__47;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* objectDef_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__48;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__49;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T182_;
			if (!inst_p4) goto LA179_;
			nimZeroMem((void*)(&colontmpD__46), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__47), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			objectDef_1 = NIM_NIL;
			colontmpD__48 = NIM_NIL;
			colontmpD__49 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA185_;
				colontmpD__46 = info_p2;
				T182_ = colontmpD__46;
			}
			goto LA183_;
LA185_: ;
			{
				colontmpD__47 = (*(*t_p1).n).info;
				T182_ = colontmpD__47;
			}
LA183_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133), T182_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			objectDef_1 = (*(*(*t_p1).sym).ast)._kind_6.sons.p->data[((NI)2)];
			{
				if (!((*objectDef_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141))) goto LA190_;
				objectDef_1 = (*objectDef_1)._kind_6.sons.p->data[((NI)0)];
			}
LA190_: ;
			colontmpD__48 = copyTree__ast_u6891((*objectDef_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			add__ast_u3215(result, colontmpD__48);
			if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__50;
				colontmpD__49 = baseClass__ast_u5348(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				if (!(colontmpD__49 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA194_;
				colontmpD__50 = NIM_NIL;
				colontmpD__50 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				add__ast_u3215(result, colontmpD__50);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				eqdestroy___ast_u3252(colontmpD__50);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			}
			goto LA192_;
LA194_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nn_1;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__51;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__52;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__53;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__54;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T198_;
				nn_1 = NIM_NIL;
				nimZeroMem((void*)(&colontmpD__51), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				nimZeroMem((void*)(&colontmpD__52), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				colontmpD__53 = NIM_NIL;
				colontmpD__54 = NIM_NIL;
				{
					if (!((*t_p1).n == 0)) goto LA201_;
					colontmpD__51 = info_p2;
					T198_ = colontmpD__51;
				}
				goto LA199_;
LA201_: ;
				{
					colontmpD__52 = (*(*t_p1).n).info;
					T198_ = colontmpD__52;
				}
LA199_: ;
				nn_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)77), T198_, t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				colontmpD__53 = baseClass__ast_u5348(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				colontmpD__54 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__53, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				add__ast_u3215(nn_1, colontmpD__54);
				if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				add__ast_u3215(result, nn_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA197_;
				{
					LA197_:;
				}
				{
					oldNimErrFin197_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__54);
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
					eqdestroy___ast_u3378(colontmpD__53);
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
					eqdestroy___ast_u3252(nn_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
					*nimErr_ = oldNimErrFin197_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			}
LA192_: ;
			{
				NI T208_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__55;
				T208_ = (NI)0;
				T208_ = len__ast_u3190((*t_p1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				if (!(((NI)0) < T208_)) goto LA209_;
				colontmpD__55 = NIM_NIL;
				colontmpD__55 = objectNode__vmdeps_u62(cache_p0, (*t_p1).n, idgen_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA211_;
				add__ast_u3215(result, colontmpD__55);
				if (NIM_UNLIKELY(*nimErr_)) goto LA211_;
				{
					LA211_:;
				}
				{
					oldNimErrFin211_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__55);
					if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
					*nimErr_ = oldNimErrFin211_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			}
			goto LA206_;
LA209_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__56;
				colontmpD__56 = NIM_NIL;
				colontmpD__56 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				add__ast_u3215(result, colontmpD__56);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
				eqdestroy___ast_u3252(colontmpD__56);
				if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
			}
LA206_: ;
			{
				LA181_:;
			}
			{
				oldNimErrFin181_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__49);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD__48);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin181_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA177_;
LA179_: ;
		{
			{
				NIM_BOOL T220_;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__57;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__58;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__59;
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__60;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__61;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T225_;
				T220_ = (NIM_BOOL)0;
				T220_ = allowRecursion_1;
				if (T220_) goto LA221_;
				T220_ = ((*t_p1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
LA221_: ;
				if (!T220_) goto LA222_;
				nimZeroMem((void*)(&colontmpD__57), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				nimZeroMem((void*)(&colontmpD__58), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				colontmpD__59 = NIM_NIL;
				colontmpD__60 = NIM_NIL;
				colontmpD__61 = NIM_NIL;
				{
					if (!((*t_p1).n == 0)) goto LA228_;
					colontmpD__57 = info_p2;
					T225_ = colontmpD__57;
				}
				goto LA226_;
LA228_: ;
				{
					colontmpD__58 = (*(*t_p1).n).info;
					T225_ = colontmpD__58;
				}
LA226_: ;
				result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133), T225_, t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				colontmpD__59 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				add__ast_u3215(result, colontmpD__59);
				if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__62;
					colontmpD__60 = baseClass__ast_u5348(t_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
					if (!(colontmpD__60 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA233_;
					colontmpD__62 = NIM_NIL;
					colontmpD__62 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
					add__ast_u3215(result, colontmpD__62);
					if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
					eqdestroy___ast_u3252(colontmpD__62);
					if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				}
				goto LA231_;
LA233_: ;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__63;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__64;
					colontmpD__63 = NIM_NIL;
					colontmpD__64 = NIM_NIL;
					colontmpD__63 = baseClass__ast_u5348(t_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
					colontmpD__64 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__63, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
					add__ast_u3215(result, colontmpD__64);
					if (NIM_UNLIKELY(*nimErr_)) goto LA236_;
					{
						LA236_:;
					}
					{
						oldNimErrFin236_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__64);
						if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
						eqdestroy___ast_u3378(colontmpD__63);
						if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
						*nimErr_ = oldNimErrFin236_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				}
LA231_: ;
				colontmpD__61 = copyTree__ast_u6891((*t_p1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				add__ast_u3215(result, colontmpD__61);
				if (NIM_UNLIKELY(*nimErr_)) goto LA224_;
				{
					LA224_:;
				}
				{
					oldNimErrFin224_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__61);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3378(colontmpD__60);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					eqdestroy___ast_u3252(colontmpD__59);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin224_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA218_;
LA222_: ;
			{
				result = atomicTypeX__vmdeps_u29((*t_p1).sym, info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA218_: ;
		}
LA177_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14):
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__65;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__66;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__67;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T244_;
		nimZeroMem((void*)(&colontmpD__65), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		nimZeroMem((void*)(&colontmpD__66), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		colontmpD__67 = NIM_NIL;
		{
			if (!((*t_p1).n == 0)) goto LA247_;
			colontmpD__65 = info_p2;
			T244_ = colontmpD__65;
		}
		goto LA245_;
LA247_: ;
		{
			colontmpD__66 = (*(*t_p1).n).info;
			T244_ = colontmpD__66;
		}
LA245_: ;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150), T244_, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
		colontmpD__67 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
		add__ast_u3215(result, colontmpD__67);
		if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
		{
			tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp__3;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** c_1;
			NI i_5;
			NI L_1;
			NI T252_;
			colontmp__3.len = 0; colontmp__3.p = NIM_NIL;
			c_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			eqcopy___ast_u3699((&colontmp__3), (*(*t_p1).n)._kind_6.sons);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			i_5 = ((NI)0);
			T252_ = colontmp__3.len;
			L_1 = T252_;
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__68;
					if (!(i_5 < L_1)) goto LA254;
					colontmpD__68 = NIM_NIL;
					c_1 = &colontmp__3.p->data[i_5];
					colontmpD__68 = copyTree__ast_u6891((*c_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
					add__ast_u3215(result, colontmpD__68);
					if (NIM_UNLIKELY(*nimErr_)) goto LA255_;
					i_5 += ((NI)1);
					{
						LA255_:;
					}
					{
						oldNimErrFin255_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__68);
						if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
						*nimErr_ = oldNimErrFin255_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
				} LA254: ;
			}
			{
				LA251_:;
			}
			{
				oldNimErrFin251_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3696(colontmp__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
				*nimErr_ = oldNimErrFin251_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
		}
		{
			LA243_:;
		}
		{
			oldNimErrFin243_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__67);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin243_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18):
	{
		{
			if (!inst_p4) goto LA265_;
			{
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__69;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__70;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T271_;
				if (!((*t_p1).n == 0)) goto LA269_;
				nimZeroMem((void*)(&colontmpD__69), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				nimZeroMem((void*)(&colontmpD__70), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				{
					if (!((*t_p1).n == 0)) goto LA274_;
					colontmpD__69 = info_p2;
					T271_ = colontmpD__69;
				}
				goto LA272_;
LA274_: ;
				{
					colontmpD__70 = (*(*t_p1).n).info;
					T271_ = colontmpD__70;
				}
LA272_: ;
				result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160), T271_, t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* subType_1;
					subType_1 = NIM_NIL;
					{
						NI i_6;
						NI colontmp__4;
						NI T280_;
						NI i_7;
						i_6 = (NI)0;
						colontmp__4 = (NI)0;
						T280_ = (*t_p1).sons.len;
						colontmp__4 = T280_;
						i_7 = ((NI)0);
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__71;
								if (!(i_7 < colontmp__4)) goto LA282;
								colontmpD__71 = NIM_NIL;
								i_6 = i_7;
								eqcopy___ast_u3381(&subType_1, (*t_p1).sons.p->data[i_6]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA283_;
								colontmpD__71 = mapTypeToAstX__vmdeps_u33(cache_p0, subType_1, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA283_;
								add__ast_u3215(result, colontmpD__71);
								if (NIM_UNLIKELY(*nimErr_)) goto LA283_;
								i_7 += ((NI)1);
								{
									LA283_:;
								}
								{
									oldNimErrFin283_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__71);
									if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
									*nimErr_ = oldNimErrFin283_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA278_;
							} LA282: ;
						}
					}
					{
						LA278_:;
					}
					{
						oldNimErrFin278_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3378(subType_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin278_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
			}
			goto LA267_;
LA269_: ;
			{
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__72;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__73;
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T289_;
				nimZeroMem((void*)(&colontmpD__72), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				nimZeroMem((void*)(&colontmpD__73), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
				{
					if (!((*t_p1).n == 0)) goto LA292_;
					colontmpD__72 = info_p2;
					T289_ = colontmpD__72;
				}
				goto LA290_;
LA292_: ;
				{
					colontmpD__73 = (*(*t_p1).n).info;
					T289_ = colontmpD__73;
				}
LA290_: ;
				result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134), T289_, t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp__5;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_1;
					NI i_8;
					NI L_2;
					NI T297_;
					colontmp__5.len = 0; colontmp__5.p = NIM_NIL;
					s_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
					eqcopy___ast_u3699((&colontmp__5), (*(*t_p1).n)._kind_6.sons);
					if (NIM_UNLIKELY(*nimErr_)) goto LA296_;
					i_8 = ((NI)0);
					T297_ = colontmp__5.len;
					L_2 = T297_;
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idX60gensym56__1;
							tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__74;
							tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__75;
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__76;
							tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T301_;
							if (!(i_8 < L_2)) goto LA299;
							idX60gensym56__1 = NIM_NIL;
							nimZeroMem((void*)(&colontmpD__74), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
							nimZeroMem((void*)(&colontmpD__75), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
							colontmpD__76 = NIM_NIL;
							s_1 = &colontmp__5.p->data[i_8];
							{
								if (!((*t_p1).n == 0)) goto LA304_;
								colontmpD__74 = info_p2;
								T301_ = colontmpD__74;
							}
							goto LA302_;
LA304_: ;
							{
								colontmpD__75 = (*(*t_p1).n).info;
								T301_ = colontmpD__75;
							}
LA302_: ;
							idX60gensym56__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T301_, t_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							add__ast_u3215(idX60gensym56__1, (*s_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							colontmpD__76 = mapTypeToAstX__vmdeps_u33(cache_p0, (*(*s_1)).typField, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							add__ast_u3215(idX60gensym56__1, colontmpD__76);
							if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__77;
								if (!!(((*(*(*s_1))._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA309_;
								colontmpD__77 = NIM_NIL;
								colontmpD__77 = copyTree__ast_u6891((*(*(*s_1))._kind_4.sym).ast);
								if (NIM_UNLIKELY(*nimErr_)) goto LA311_;
								add__ast_u3215(idX60gensym56__1, colontmpD__77);
								if (NIM_UNLIKELY(*nimErr_)) goto LA311_;
								{
									LA311_:;
								}
								{
									oldNimErrFin311_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3252(colontmpD__77);
									if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
									*nimErr_ = oldNimErrFin311_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							}
							goto LA307_;
LA309_: ;
							{
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__78;
								colontmpD__78 = NIM_NIL;
								colontmpD__78 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*s_1)).info);
								if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
								add__ast_u3215(idX60gensym56__1, colontmpD__78);
								if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
								eqdestroy___ast_u3252(colontmpD__78);
								if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							}
LA307_: ;
							add__ast_u3215(result, idX60gensym56__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA300_;
							i_8 += ((NI)1);
							{
								LA300_:;
							}
							{
								oldNimErrFin300_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__76);
								if (NIM_UNLIKELY(*nimErr_)) goto LA296_;
								eqdestroy___ast_u3252(idX60gensym56__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA296_;
								*nimErr_ = oldNimErrFin300_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA296_;
						} LA299: ;
					}
					{
						LA296_:;
					}
					{
						oldNimErrFin296_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3696(colontmp__5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin296_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
			}
LA267_: ;
		}
		goto LA263_;
LA265_: ;
		{
			result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_31, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)171), t_p1, info_p2, idgen_p3, inst_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA263_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_33, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)163), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21):
	{
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__79;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__80;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__81;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__82;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T327_;
			if (!inst_p4) goto LA324_;
			nimZeroMem((void*)(&colontmpD__79), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__80), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__81 = NIM_NIL;
			colontmpD__82 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA330_;
				colontmpD__79 = info_p2;
				T327_ = colontmpD__79;
			}
			goto LA328_;
LA330_: ;
			{
				colontmpD__80 = (*(*t_p1).n).info;
				T327_ = colontmpD__80;
			}
LA328_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142), T327_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
			colontmpD__81 = elementType__ast_u5331(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
			colontmpD__82 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__81, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
			add__ast_u3215(result, colontmpD__82);
			if (NIM_UNLIKELY(*nimErr_)) goto LA326_;
			{
				LA326_:;
			}
			{
				oldNimErrFin326_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__82);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD__81);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin326_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA322_;
LA324_: ;
		{
			result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_35, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)167), t_p1, info_p2, idgen_p3, inst_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA322_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22):
	{
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__83;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__84;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__85;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__86;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T342_;
			if (!inst_p4) goto LA339_;
			nimZeroMem((void*)(&colontmpD__83), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__84), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__85 = NIM_NIL;
			colontmpD__86 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA345_;
				colontmpD__83 = info_p2;
				T342_ = colontmpD__83;
			}
			goto LA343_;
LA345_: ;
			{
				colontmpD__84 = (*(*t_p1).n).info;
				T342_ = colontmpD__84;
			}
LA343_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141), T342_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA341_;
			colontmpD__85 = elementType__ast_u5331(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA341_;
			colontmpD__86 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__85, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA341_;
			add__ast_u3215(result, colontmpD__86);
			if (NIM_UNLIKELY(*nimErr_)) goto LA341_;
			{
				LA341_:;
			}
			{
				oldNimErrFin341_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__86);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD__85);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin341_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA337_;
LA339_: ;
		{
			result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_37, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)166), t_p1, info_p2, idgen_p3, inst_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA337_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23):
	{
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__87;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__88;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__89;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__90;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T357_;
			if (!inst_p4) goto LA354_;
			nimZeroMem((void*)(&colontmpD__87), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__88), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__89 = NIM_NIL;
			colontmpD__90 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA360_;
				colontmpD__87 = info_p2;
				T357_ = colontmpD__87;
			}
			goto LA358_;
LA360_: ;
			{
				colontmpD__88 = (*(*t_p1).n).info;
				T357_ = colontmpD__88;
			}
LA358_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143), T357_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			colontmpD__89 = elementType__ast_u5331(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			colontmpD__90 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__89, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			add__ast_u3215(result, colontmpD__90);
			if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
			{
				LA356_:;
			}
			{
				oldNimErrFin356_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__90);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD__89);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin356_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA352_;
LA354_: ;
		{
			result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_39, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)168), t_p1, info_p2, idgen_p3, inst_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA352_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)47):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_41, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)270), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)46):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_43, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)270), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_45, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)164), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25):
	{
		{
			tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__91;
			tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__92;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__93;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__94;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fp_1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__95;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__96;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__97;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prag_1;
			tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw T375_;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T381_;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T387_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T421_;
			if (!inst_p4) goto LA372_;
			colontmpD__91 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
			colontmpD__92 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
			nimZeroMem((void*)(&colontmpD__93), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__94), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			fp_1 = NIM_NIL;
			nimZeroMem((void*)(&colontmpD__95), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__96), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__97 = NIM_NIL;
			prag_1 = NIM_NIL;
			T375_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
			{
				if (!(((*t_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)15)))&63U)))!=0)) goto LA378_;
				colontmpD__91 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148);
				T375_ = colontmpD__91;
			}
			goto LA376_;
LA378_: ;
			{
				colontmpD__92 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)147);
				T375_ = colontmpD__92;
			}
LA376_: ;
			{
				if (!((*t_p1).n == 0)) goto LA384_;
				colontmpD__93 = info_p2;
				T381_ = colontmpD__93;
			}
			goto LA382_;
LA384_: ;
			{
				colontmpD__94 = (*(*t_p1).n).info;
				T381_ = colontmpD__94;
			}
LA382_: ;
			result = newNodeIT__ast_u4112(T375_, T381_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			{
				if (!((*t_p1).n == 0)) goto LA390_;
				colontmpD__95 = info_p2;
				T387_ = colontmpD__95;
			}
			goto LA388_;
LA390_: ;
			{
				colontmpD__96 = (*(*t_p1).n).info;
				T387_ = colontmpD__96;
			}
LA388_: ;
			fp_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), T387_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__98;
				colontmpD__97 = returnType__ast_u5354(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				if (!(colontmpD__97 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA395_;
				colontmpD__98 = NIM_NIL;
				colontmpD__98 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				add__ast_u3215(fp_1, colontmpD__98);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				eqdestroy___ast_u3252(colontmpD__98);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			}
			goto LA393_;
LA395_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__99;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__100;
				colontmpD__99 = NIM_NIL;
				colontmpD__100 = NIM_NIL;
				colontmpD__99 = returnType__ast_u5354(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA398_;
				colontmpD__100 = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__99, (*(*(*t_p1).n)._kind_6.sons.p->data[((NI)0)]).info, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA398_;
				add__ast_u3215(fp_1, colontmpD__100);
				if (NIM_UNLIKELY(*nimErr_)) goto LA398_;
				{
					LA398_:;
				}
				{
					oldNimErrFin398_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__100);
					if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
					eqdestroy___ast_u3378(colontmpD__99);
					if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
					*nimErr_ = oldNimErrFin398_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			}
LA393_: ;
			{
				NI i_9;
				NI colontmp__6;
				NI i_10;
				i_9 = (NI)0;
				colontmp__6 = (NI)0;
				colontmp__6 = kidsLen__ast_u5648(t_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				i_10 = ((NI)1);
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* idX60gensym80__1;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__101;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__102;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__103;
						tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T405_;
						if (!(i_10 < colontmp__6)) goto LA403;
						idX60gensym80__1 = NIM_NIL;
						nimZeroMem((void*)(&colontmpD__101), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
						nimZeroMem((void*)(&colontmpD__102), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
						colontmpD__103 = NIM_NIL;
						i_9 = i_10;
						{
							if (!((*t_p1).n == 0)) goto LA408_;
							colontmpD__101 = info_p2;
							T405_ = colontmpD__101;
						}
						goto LA406_;
LA408_: ;
						{
							colontmpD__102 = (*(*t_p1).n).info;
							T405_ = colontmpD__102;
						}
LA406_: ;
						idX60gensym80__1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), T405_, t_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						add__ast_u3215(idX60gensym80__1, (*(*t_p1).n)._kind_6.sons.p->data[i_9]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						colontmpD__103 = mapTypeToAstX__vmdeps_u33(cache_p0, (*t_p1).sons.p->data[i_9], info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						add__ast_u3215(idX60gensym80__1, colontmpD__103);
						if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__104;
							if (!!(((*(*(*(*t_p1).n)._kind_6.sons.p->data[i_9])._kind_4.sym).ast == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA413_;
							colontmpD__104 = NIM_NIL;
							colontmpD__104 = copyTree__ast_u6891((*(*(*(*t_p1).n)._kind_6.sons.p->data[i_9])._kind_4.sym).ast);
							if (NIM_UNLIKELY(*nimErr_)) goto LA415_;
							add__ast_u3215(idX60gensym80__1, colontmpD__104);
							if (NIM_UNLIKELY(*nimErr_)) goto LA415_;
							{
								LA415_:;
							}
							{
								oldNimErrFin415_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(colontmpD__104);
								if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
								*nimErr_ = oldNimErrFin415_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						}
						goto LA411_;
LA413_: ;
						{
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__105;
							colontmpD__105 = NIM_NIL;
							colontmpD__105 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (*(*(*t_p1).n)._kind_6.sons.p->data[i_9]).info);
							if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
							add__ast_u3215(idX60gensym80__1, colontmpD__105);
							if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
							eqdestroy___ast_u3252(colontmpD__105);
							if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						}
LA411_: ;
						add__ast_u3215(fp_1, idX60gensym80__1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
						i_10 += ((NI)1);
						{
							LA404_:;
						}
						{
							oldNimErrFin404_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__103);
							if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
							eqdestroy___ast_u3252(idX60gensym80__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
							*nimErr_ = oldNimErrFin404_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
					} LA403: ;
				}
			}
			add__ast_u3215(result, fp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			T421_ = NIM_NIL;
			{
				NI T424_;
				T424_ = (NI)0;
				T424_ = len__ast_u3190((*(*t_p1).n)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				if (!(((NI)0) < T424_)) goto LA425_;
				prag_1 = copyTree__ast_u6891((*(*(*t_p1).n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)4)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			}
			goto LA422_;
LA425_: ;
			{
				prag_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			}
LA422_: ;
			{
				NIM_BOOL T430_;
				NimStringV2 colontmpD__106;
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__107;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__108;
				T430_ = (NIM_BOOL)0;
				T430_ = !(((*t_p1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9)));
				if (T430_) goto LA431_;
				T430_ = (((*t_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)42)))&63U)))!=0);
LA431_: ;
				if (!T430_) goto LA432_;
				colontmpD__106.len = 0; colontmpD__106.p = NIM_NIL;
				colontmpD__107 = NIM_NIL;
				colontmpD__108 = NIM_NIL;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T438_;
					if (!((*prag_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA436_;
					T438_ = NIM_NIL;
					T438_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90), info_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T438_); goto LA374_;}
					eqsink___ast_u3261(&prag_1, T438_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				}
LA436_: ;
				colontmpD__106 = dollar___ast_u26((*t_p1).callConv);
				colontmpD__107 = getIdent__idents_u206(cache_p0, colontmpD__106);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				colontmpD__108 = newIdentNode__ast_u5164(colontmpD__107, info_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				add__ast_u3215(prag_1, colontmpD__108);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				eqdestroy___ast_u3252(colontmpD__108);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				eqdestroy___idents_u155(colontmpD__107);
				if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
				eqdestroy___system_u2691(colontmpD__106);
			}
LA432_: ;
			add__ast_u3215(result, prag_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA374_;
			{
				LA374_:;
			}
			{
				oldNimErrFin374_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(prag_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3378(colontmpD__97);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(fp_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin374_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA370_;
LA372_: ;
		{
			result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_47, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3, inst_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA370_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_49, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)161), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)20):
	{
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__109;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__110;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__111;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T445_;
		nimZeroMem((void*)(&colontmpD__109), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		nimZeroMem((void*)(&colontmpD__110), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		colontmpD__111 = NIM_NIL;
		{
			if (!((*t_p1).n == 0)) goto LA448_;
			colontmpD__109 = info_p2;
			T445_ = colontmpD__109;
		}
		goto LA446_;
LA448_: ;
		{
			colontmpD__110 = (*(*t_p1).n).info;
			T445_ = colontmpD__110;
		}
LA446_: ;
		result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T445_, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
		colontmpD__111 = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_51, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)162), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
		add__ast_u3215(result, colontmpD__111);
		if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
		{
			NIM_BOOL T453_;
			NI T455_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* rng_2;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__112;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__113;
			tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__114;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__115;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__116;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__117;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T459_;
			T453_ = (NIM_BOOL)0;
			T453_ = inst_p4;
			if (!(T453_)) goto LA454_;
			T455_ = (NI)0;
			T455_ = len__ast_u3190((*t_p1).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
			T453_ = (T455_ == ((NI)2));
LA454_: ;
			if (!T453_) goto LA456_;
			rng_2 = NIM_NIL;
			nimZeroMem((void*)(&colontmpD__112), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__113), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__114 = NIM_NIL;
			colontmpD__115 = NIM_NIL;
			colontmpD__116 = NIM_NIL;
			colontmpD__117 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA462_;
				colontmpD__112 = info_p2;
				T459_ = colontmpD__112;
			}
			goto LA460_;
LA462_: ;
			{
				colontmpD__113 = (*(*t_p1).n).info;
				T459_ = colontmpD__113;
			}
LA460_: ;
			rng_2 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), T459_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			colontmpD__114 = getIdent__idents_u206(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_52);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			colontmpD__115 = newIdentNode__ast_u5164(colontmpD__114, info_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			add__ast_u3215(rng_2, colontmpD__115);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			colontmpD__116 = copyTree__ast_u6891((*(*t_p1).n)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			add__ast_u3215(rng_2, colontmpD__116);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			colontmpD__117 = copyTree__ast_u6891((*(*t_p1).n)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			add__ast_u3215(rng_2, colontmpD__117);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			add__ast_u3215(result, rng_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA458_;
			{
				LA458_:;
			}
			{
				oldNimErrFin458_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__117);
				if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
				eqdestroy___ast_u3252(colontmpD__116);
				if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
				eqdestroy___ast_u3252(colontmpD__115);
				if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
				eqdestroy___idents_u155(colontmpD__114);
				if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
				eqdestroy___ast_u3252(rng_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
				*nimErr_ = oldNimErrFin458_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
		}
		goto LA451_;
LA456_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__118;
			colontmpD__118 = NIM_NIL;
			colontmpD__118 = copyTree__ast_u6891((*(*t_p1).n)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA468_;
			add__ast_u3215(result, colontmpD__118);
			if (NIM_UNLIKELY(*nimErr_)) goto LA468_;
			{
				NI T471_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__119;
				T471_ = (NI)0;
				T471_ = len__ast_u3190((*t_p1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA468_;
				if (!(((NI)1) < T471_)) goto LA472_;
				colontmpD__119 = NIM_NIL;
				colontmpD__119 = copyTree__ast_u6891((*(*t_p1).n)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
				add__ast_u3215(result, colontmpD__119);
				if (NIM_UNLIKELY(*nimErr_)) goto LA474_;
				{
					LA474_:;
				}
				{
					oldNimErrFin474_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__119);
					if (NIM_UNLIKELY(*nimErr_)) goto LA468_;
					*nimErr_ = oldNimErrFin474_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA468_;
			}
LA472_: ;
			{
				LA468_:;
			}
			{
				oldNimErrFin468_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__118);
				if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
				*nimErr_ = oldNimErrFin468_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA444_;
		}
LA451_: ;
		{
			LA444_:;
		}
		{
			oldNimErrFin444_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__111);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin444_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_54, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)192), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_56, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)190), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_58, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)191), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_60, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)174), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)32):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_62, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)175), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)33):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_64, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)176), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)34):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_66, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)177), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_68, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)178), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_70, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)184), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)37):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_72, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)185), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)38):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_74, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)186), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_76, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)187), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_78, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)179), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)41):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_80, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)180), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)42):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_82, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)181), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)43):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_84, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)182), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_86, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)183), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)48):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_88, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)165), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_90, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)51):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_92, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)52):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)53):
	{
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__120;
			if (!(((*t_p1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)10)))&63U)))!=0)) goto LA504_;
			colontmpD__120 = NIM_NIL;
			colontmpD__120 = last__ast_u5278(t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA506_;
			result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__120, info_p2, idgen_p3, inst_p4, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA506_;
			{
				LA506_:;
			}
			{
				oldNimErrFin506_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(colontmpD__120);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin506_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA502_;
LA504_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__121;
			colontmpD__121 = NIM_NIL;
			result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_94, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3, inst_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA510_;
			colontmpD__121 = copyTree__ast_u6891((*t_p1).n);
			if (NIM_UNLIKELY(*nimErr_)) goto LA510_;
			add__ast_u3215(result, colontmpD__121);
			if (NIM_UNLIKELY(*nimErr_)) goto LA510_;
			{
				LA510_:;
			}
			{
				oldNimErrFin510_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__121);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin510_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA502_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)54):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_96, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)56):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_98, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)57):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_100, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)58):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_102, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)64):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_104, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)173), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)59):
	{
		result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_106, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)55):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__122;
		colontmpD__122 = NIM_NIL;
		colontmpD__122 = skipModifier__ast_u5338(t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA520_;
		result = mapTypeToAstX__vmdeps_u33(cache_p0, colontmpD__122, info_p2, idgen_p3, inst_p4, allowRecursion_1, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA520_;
		{
			LA520_:;
		}
		{
			oldNimErrFin520_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(colontmpD__122);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin520_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)60):
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)61):
	{
		{
			if (!inst_p4) goto LA526_;
			{
				if (!!(((*t_p1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA530_;
				result = copyTree__ast_u6891((*t_p1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA528_;
LA530_: ;
			{
				result = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_107, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)170), t_p1, info_p2, idgen_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA528_: ;
		}
		goto LA524_;
LA526_: ;
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__123;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA colontmpD__124;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__125;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T535_;
			nimZeroMem((void*)(&colontmpD__123), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			nimZeroMem((void*)(&colontmpD__124), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
			colontmpD__125 = NIM_NIL;
			{
				if (!((*t_p1).n == 0)) goto LA538_;
				colontmpD__123 = info_p2;
				T535_ = colontmpD__123;
			}
			goto LA536_;
LA538_: ;
			{
				colontmpD__124 = (*(*t_p1).n).info;
				T535_ = colontmpD__124;
			}
LA536_: ;
			result = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T535_, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA534_;
			colontmpD__125 = atomicTypeX__vmdeps_u17(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_109, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA534_;
			add__ast_u3215(result, colontmpD__125);
			if (NIM_UNLIKELY(*nimErr_)) goto LA534_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__126;
				if (!!(((*t_p1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA543_;
				colontmpD__126 = NIM_NIL;
				colontmpD__126 = copyTree__ast_u6891((*t_p1).n);
				if (NIM_UNLIKELY(*nimErr_)) goto LA545_;
				add__ast_u3215(result, colontmpD__126);
				if (NIM_UNLIKELY(*nimErr_)) goto LA545_;
				{
					LA545_:;
				}
				{
					oldNimErrFin545_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__126);
					if (NIM_UNLIKELY(*nimErr_)) goto LA534_;
					*nimErr_ = oldNimErrFin545_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA534_;
			}
LA543_: ;
			{
				LA534_:;
			}
			{
				oldNimErrFin534_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__125);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin534_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA524_: ;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)45):
	{
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_111, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)270), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)62):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__127;
		colontmpD__127 = NIM_NIL;
		result = mapTypeToBracketX__vmdeps_u41(cache_p0, TM__gLSXNlwmnHPzTIXzvpQGfw_112, ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0), t_p1, info_p2, idgen_p3, inst_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA552_;
		colontmpD__127 = copyTree__ast_u6891((*t_p1).n);
		if (NIM_UNLIKELY(*nimErr_)) goto LA552_;
		add__ast_u3215(result, colontmpD__127);
		if (NIM_UNLIKELY(*nimErr_)) goto LA552_;
		{
			LA552_:;
		}
		{
			oldNimErrFin552_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__127);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin552_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, opMapTypeInstToAst__vmdeps_u302)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3, NIM_BOOL skipAlias_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = mapTypeToAstX__vmdeps_u33(cache_p0, t_p1, info_p2, idgen_p3, NIM_TRUE, NIM_FALSE, skipAlias_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, opMapTypeToAst__vmdeps_u296)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = mapTypeToAstX__vmdeps_u33(cache_p0, t_p1, info_p2, idgen_p3, NIM_FALSE, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, opMapTypeImplToAst__vmdeps_u309)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = mapTypeToAstX__vmdeps_u33(cache_p0, t_p1, info_p2, idgen_p3, NIM_TRUE, NIM_TRUE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u91)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3623;
	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_: ;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3656(&currException__system_u3623, (*currException__system_u3623).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, opSlurp__vmdeps_u10)(NimStringV2 file_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p3) {
	NimStringV2 result;
	NimStringV2 filename_1;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
	NimStringV2 T3_;
	NimStringV2 T4_;
	NimStringV2 T5_;
	NimStringV2 T12_;
	NI32 T13_;
	tyArray__TAsXwXSUBvAawE1kIQ5ziQ T14_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	filename_1.len = 0; filename_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3 = NIM_NIL;
	colontmpD__4 = NIM_NIL;
	T3_.len = 0; T3_.p = NIM_NIL;
	T3_ = toFullPath__msgs_u624(conf_p3, info_p1.fileIndex);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T3_); goto LA2_;}
	colontmpD_ = T3_;
	T4_.len = 0; T4_.p = NIM_NIL;
	T4_ = nosparentDir(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T4_); goto LA2_;}
	colontmpD__2 = T4_;
	T5_.len = 0; T5_.p = NIM_NIL;
	T5_ = slash___stdZprivateZospaths2_u91(colontmpD__2, file_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T5_); goto LA2_;}
	filename_1 = T5_;
	{
		NIM_BOOL T8_;
		NimStringV2 T11_;
		T8_ = (NIM_BOOL)0;
		T8_ = nosfileExists(filename_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		if (!!(T8_)) goto LA9_;
		T11_.len = 0; T11_.p = NIM_NIL;
		T11_ = findFile__options_u4081(conf_p3, file_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T11_); goto LA2_;}
		eqsink___system_u2700((&filename_1), T11_);
	}
LA9_: ;
	T12_.len = 0; T12_.p = NIM_NIL;
	T12_ = readFile__stdZsyncio_u535(filename_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T12_); goto LA2_;}
	result = T12_;
	T13_ = (NI32)0;
	T13_ = fileInfoIdx__msgs_u404(conf_p3, filename_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
	(void)(T13_);
	nimZeroMem((void*)T14_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
	T15_ = NIM_NIL;
	T15_ = newStrNode__ast_u5422(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), filename_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA2_;}
	colontmpD__3 = T15_;
	T14_[0] = colontmpD__3;
	T16_ = NIM_NIL;
	T16_ = newTreeI__ast_u4180(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121), info_p1, T14_, 1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA2_;}
	colontmpD__4 = T16_;
	appendToModule__ast_u4652(module_p2, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
	{
		LA2_:;
	}
	{
		oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(filename_1);
		*nimErr_ = oldNimErrFin2_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA1_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 395251200)) {
			NimStringV2 colontmpD__5;
			NimStringV2 T23_;
			*nimErr_ = NIM_FALSE;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			T23_.len = 0; T23_.p = NIM_NIL;
			T23_ = rawNewString(file_p0.len + 18);
appendString((&T23_), TM__gLSXNlwmnHPzTIXzvpQGfw_114);
appendString((&T23_), file_p0);
			colontmpD__5 = T23_;
			liMessage__msgs_u1227(conf_p3, info_p1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__gLSXNlwmnHPzTIXzvpQGfw_115), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			result = TM__gLSXNlwmnHPzTIXzvpQGfw_118;
			{
				LA22_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__5);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			popCurrentException();
			LA20_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
