/* Generated by Nim Compiler v0.19.4 */
/*   (c) 2018 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_NEW_MANGLING_RULES
#define NIM_INTBITS 32

#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_Table_Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence_7lEisrXlQEzwtUKW5pzRCw tySequence_7lEisrXlQEzwtUKW5pzRCw;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw tyTuple_xYhUhS7X82rKTqbT9bRfCnw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA;
typedef struct tyObject_ValueError_5aqBlilCK53e9cDu4kUyN5Q tyObject_ValueError_5aqBlilCK53e9cDu4kUyN5Q;
typedef struct tyObject_Defect_LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect_LbeSGvgPzGzXnW9caIkJqMA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence_uB9b75OUPRENsBAu4AnoePA tySequence_uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack_7fytPA5bBsob6See21YMRA tyObject_GcStack_7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyTuple_ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence_kxu4GK0onha2t9bo86mdVAg tySequence_kxu4GK0onha2t9bo86mdVAg;
typedef struct tyTuple_xDU9bZmv1ZbZkJDaATBekIQ tyTuple_xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence_23SMqauuRsbDANhthj9bWlA tySequence_23SMqauuRsbDANhthj9bWlA;
typedef struct tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_Table_NttoEzoiq5CiphZe81oadg tyObject_Table_NttoEzoiq5CiphZe81oadg;
typedef struct tySequence_squ9b9bUH4OLHf6cEMrt6hVA tySequence_squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyTuple_F3gkSrMB1qp2Tvf9bixVXwg tyTuple_F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyObject_Table_nagDFX4QHx0s6Fvma9blmSg tyObject_Table_nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence_pHNq3oXj9av2sEUdqaqeZjw tySequence_pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tyTuple_wcNatyuf8WOqAhGLhSvgiw tyTuple_wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType__dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType__dNELmBSmY7nthjhZupWO6g;
typedef struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w;
typedef struct tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA;
typedef struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg;
typedef struct tySequence_s12F9c4cKfaapm8VzG9a1flQ tySequence_s12F9c4cKfaapm8VzG9a1flQ;
typedef struct tyTuple_8jHm6IGDGecciKpp2bTNxA tyTuple_8jHm6IGDGecciKpp2bTNxA;
typedef struct tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ;
typedef struct tySequence_hLW2w9a9bDM1AHB8BIrU3BYw tySequence_hLW2w9a9bDM1AHB8BIrU3BYw;
typedef struct tyTuple_YGgHblKlCINajXDZno8UTQ tyTuple_YGgHblKlCINajXDZno8UTQ;
typedef struct tyObject_Table_JrI9bTpOVccKpiJXKOskjFg tyObject_Table_JrI9bTpOVccKpiJXKOskjFg;
typedef struct tySequence_YuKuU17u5ApAIki23DK9bJw tySequence_YuKuU17u5ApAIki23DK9bJw;
typedef struct tyTuple_Wymbvuvlf49clEgp9bKoFN9bw tyTuple_Wymbvuvlf49clEgp9bKoFN9bw;
typedef struct tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA;
typedef struct tySequence_Ef05srmQTDulnBdXR4Ja6Q tySequence_Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence_MvZmat48bhe9b6x9aUD58D5Q tySequence_MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg;
typedef struct tySequence_ZySnRyYriVjDpNDRyzJyGg tySequence_ZySnRyYriVjDpNDRyzJyGg;
typedef struct tyTuple_ImmlCByLdDIzmbcHsV583w tyTuple_ImmlCByLdDIzmbcHsV583w;
typedef struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA tySequence_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ tySequence_DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA;
typedef struct tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA;
typedef struct tySequence_sII3pVVRkIdBZ2HDPdZddA tySequence_sII3pVVRkIdBZ2HDPdZddA;
typedef struct tyTuple_wROVfG5RQYpjEAhvO3LqdQ tyTuple_wROVfG5RQYpjEAhvO3LqdQ;
typedef struct tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg;
typedef struct tySequence_jwzrUFjG9akTIJTBBFvvqxw tySequence_jwzrUFjG9akTIJTBBFvvqxw;
typedef struct tyTuple_XOVT24GHXwqiEj5GCsEGCA tyTuple_XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ;
typedef struct tySequence_XUL1TrMU0tgXmaMFCIYgFQ tySequence_XUL1TrMU0tgXmaMFCIYgFQ;
typedef struct tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg;
typedef struct tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ;
typedef struct tySequence_pUxI6Ljo6IKKHXKOZkQ7Og tySequence_pUxI6Ljo6IKKHXKOZkQ7Og;
typedef struct tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ;
typedef struct tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg;
typedef struct tySequence_MlAD6nAPq9bHKla9cWiIZP0g tySequence_MlAD6nAPq9bHKla9cWiIZP0g;
typedef struct tyTuple_awOivLjlO76sGdHY7nQUjQ tyTuple_awOivLjlO76sGdHY7nQUjQ;
typedef struct tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q;
typedef struct tySequence_oLpBKXzW3hF9aCVMo5EymfQ tySequence_oLpBKXzW3hF9aCVMo5EymfQ;
typedef struct tyObject_Table_XC01wkRgzAyOjTiapde7hQ tyObject_Table_XC01wkRgzAyOjTiapde7hQ;
typedef struct tySequence_wAC0kXbVGkLoWP8vdi0sUw tySequence_wAC0kXbVGkLoWP8vdi0sUw;
typedef struct tyTuple_A9cRoiotm9actU8lLMnN9bYcw tyTuple_A9cRoiotm9actU8lLMnN9bYcw;
typedef struct tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg;
typedef struct tySequence_5PunAJrNQYcB8dF0jau3pQ tySequence_5PunAJrNQYcB8dF0jau3pQ;
typedef struct tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA;
typedef struct tyTuple_zwpS6d6iewrdlBSTNFoyVA tyTuple_zwpS6d6iewrdlBSTNFoyVA;
typedef struct tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
struct tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA {
tySequence_7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
typedef NU8 tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc_ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence_uB9b75OUPRENsBAu4AnoePA* trace;
NU raise_id;
Exception* up;
};
struct tyObject_Defect_LbeSGvgPzGzXnW9caIkJqMA {
  Exception Sup;
};
struct tyObject_ValueError_5aqBlilCK53e9cDu4kUyN5Q {
  tyObject_Defect_LbeSGvgPzGzXnW9caIkJqMA Sup;
};
struct tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA {
  tyObject_ValueError_5aqBlilCK53e9cDu4kUyN5Q Sup;
};
struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack_7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* tyArray_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray_BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* tyArray_N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray_N1u1nqOgmuJN9cSZrnMHgOQ tyArray_B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw* tyArray_lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA {
tyArray_lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* tyArray_0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw {
tyArray_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyArray_LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray_LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray_SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray_BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray_B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack_7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence_kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
struct tyTuple_xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence_23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_Table_NttoEzoiq5CiphZe81oadg {
tySequence_squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyTuple_F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_Table_nagDFX4QHx0s6Fvma9blmSg {
tySequence_pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
struct tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType__dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple_wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg Field2;
};
struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} S1;
struct {NF floatVal;
} S2;
struct {NimStringDesc* strVal;
} S3;
struct {tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
} S4;
struct {tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* ident;
} S5;
struct {tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} S6;
} _Ukind;
NimStringDesc* comment;
};
struct tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg {
tySequence_s12F9c4cKfaapm8VzG9a1flQ* data;
NI counter;
};
struct tyTuple_8jHm6IGDGecciKpp2bTNxA {
NI Field0;
NI64 Field1;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ {
tySequence_hLW2w9a9bDM1AHB8BIrU3BYw* data;
NI counter;
};
struct tyTuple_YGgHblKlCINajXDZno8UTQ {
NI Field0;
NI Field1;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyObject_Table_JrI9bTpOVccKpiJXKOskjFg {
tySequence_YuKuU17u5ApAIki23DK9bJw* data;
NI counter;
};
struct tyTuple_Wymbvuvlf49clEgp9bKoFN9bw {
NI Field0;
NI Field1;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw;
typedef NU8 tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* dup;
};
struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence_Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* destructor;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* deepCopy;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* assignment;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sink;
tySequence_MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 lockLevel;
tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
};
struct tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg {
tySequence_ZySnRyYriVjDpNDRyzJyGg* data;
NI counter;
};
struct tyTuple_ImmlCByLdDIzmbcHsV583w {
NI Field0;
NI Field1;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* Field2;
};
typedef NU8 tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw;
struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NU16 tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU32 tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg;
struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence_Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
} S1;
struct {tySequence_DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
} S2;
struct {tySequence_DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tab;
} S3;
struct {tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
} S4;
} _Ukind;
tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* constraint;
};
struct tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA {
tySequence_sII3pVVRkIdBZ2HDPdZddA* data;
NI counter;
};
typedef NU8 tyArray_qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple_wROVfG5RQYpjEAhvO3LqdQ {
NI Field0;
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* Field2;
};
struct tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg {
tySequence_jwzrUFjG9akTIJTBBFvvqxw* data;
NI counter;
};
struct tyTuple_XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
struct tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ {
tySequence_XUL1TrMU0tgXmaMFCIYgFQ* data;
NI counter;
};
struct tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg {
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field0;
NI Field1;
};
struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA {
  RootObj Sup;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* left;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* right;
NI L;
NimStringDesc* data;
};
struct tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ {
tySequence_pUxI6Ljo6IKKHXKOZkQ7Og* data;
NI counter;
};
struct tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ {
NI Field0;
NimStringDesc* Field1;
NI Field2;
};
struct tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg {
tySequence_MlAD6nAPq9bHKla9cWiIZP0g* data;
NI counter;
NI first;
NI last;
};
struct tyTuple_awOivLjlO76sGdHY7nQUjQ {
NI Field0;
NI Field1;
NimStringDesc* Field2;
tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q* Field3;
};
typedef NU8 tyEnum_JsonNodeKind_RUngo7nCHe6O8aBGIcrhtg;
struct tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q {
tyEnum_JsonNodeKind_RUngo7nCHe6O8aBGIcrhtg kind;
union{
struct {NimStringDesc* str;
} S1;
struct {NI64 num;
} S2;
struct {NF fnum;
} S3;
struct {NIM_BOOL bval;
} S4;
struct {tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg fields;
} S6;
struct {tySequence_oLpBKXzW3hF9aCVMo5EymfQ* elems;
} S7;
} _Ukind;
};
struct tyObject_Table_XC01wkRgzAyOjTiapde7hQ {
tySequence_wAC0kXbVGkLoWP8vdi0sUw* data;
NI counter;
};
struct tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg {
NimStringDesc* keyword;
NimStringDesc* link;
NimStringDesc* linkTitle;
NimStringDesc* linkDesc;
};
struct tyTuple_A9cRoiotm9actU8lLMnN9bYcw {
NI Field0;
tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg Field1;
tySequence_5PunAJrNQYcB8dF0jau3pQ* Field2;
};
struct tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyTuple_zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tySequence_7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple_xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence_kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence_23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence_squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple_F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence_pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple_wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence_s12F9c4cKfaapm8VzG9a1flQ {
  TGenericSeq Sup;
  tyTuple_8jHm6IGDGecciKpp2bTNxA data[SEQ_DECL_SIZE];
};
struct tySequence_hLW2w9a9bDM1AHB8BIrU3BYw {
  TGenericSeq Sup;
  tyTuple_YGgHblKlCINajXDZno8UTQ data[SEQ_DECL_SIZE];
};
struct tySequence_YuKuU17u5ApAIki23DK9bJw {
  TGenericSeq Sup;
  tyTuple_Wymbvuvlf49clEgp9bKoFN9bw data[SEQ_DECL_SIZE];
};
struct tySequence_ZySnRyYriVjDpNDRyzJyGg {
  TGenericSeq Sup;
  tyTuple_ImmlCByLdDIzmbcHsV583w data[SEQ_DECL_SIZE];
};
struct tySequence_sII3pVVRkIdBZ2HDPdZddA {
  TGenericSeq Sup;
  tyTuple_wROVfG5RQYpjEAhvO3LqdQ data[SEQ_DECL_SIZE];
};
struct tySequence_jwzrUFjG9akTIJTBBFvvqxw {
  TGenericSeq Sup;
  tyTuple_XOVT24GHXwqiEj5GCsEGCA data[SEQ_DECL_SIZE];
};
struct tySequence_XUL1TrMU0tgXmaMFCIYgFQ {
  TGenericSeq Sup;
  tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
};
struct tySequence_pUxI6Ljo6IKKHXKOZkQ7Og {
  TGenericSeq Sup;
  tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ data[SEQ_DECL_SIZE];
};
struct tySequence_MlAD6nAPq9bHKla9cWiIZP0g {
  TGenericSeq Sup;
  tyTuple_awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
};
struct tySequence_5PunAJrNQYcB8dF0jau3pQ {
  TGenericSeq Sup;
  tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg data[SEQ_DECL_SIZE];
};
struct tySequence_wAC0kXbVGkLoWP8vdi0sUw {
  TGenericSeq Sup;
  tyTuple_A9cRoiotm9actU8lLMnN9bYcw data[SEQ_DECL_SIZE];
};
struct tySequence_uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence_Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence_MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple_zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence_oLpBKXzW3hF9aCVMo5EymfQ {
  TGenericSeq Sup;
  tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence_7lEisrXlQEzwtUKW5pzRCw)(void* p, NI op);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NI, rawGet_Hrrb9bMn0tTonVFfO89bMq7Qtables)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash_uBstFm5SYVQeOL3j9c9bc58A)(NimStringDesc* x);
static N_INLINE(NIM_BOOL, isFilled_IxXD1UAPoEehVDW9cv9cRaewtables)(NI hcode);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(NI, nextTry_OLPhxSyW9bte5CwHzzQVhfAtables)(NI h, NI maxHash);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr);
static N_INLINE(void, rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_fCDI7oO1NNVXXURtxSzsRw)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef_9cAA5YuQAAC3MVbnGeV86swsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, decRef_MV4BBk6J1qu70IbBxwEn4wsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_NIMCALL(void, raiseException)(Exception* e, NCSTRING ename);
static N_INLINE(NIM_BOOL, mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables)(NI length, NI counter);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_noqcbSww08dp4tCQVVbWZg)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_9bM8oVdJ6KWBIBE2WQJhEJw)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence_7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(NI, rawGetKnownHC_uH3LwXMCZPbdvrXuVEjukAtables)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence_kxu4GK0onha2t9bo86mdVAg)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_23SMqauuRsbDANhthj9bWlA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_squ9b9bUH4OLHf6cEMrt6hVA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_pHNq3oXj9av2sEUdqaqeZjw)(void* p, NI op);
static N_INLINE(NI, rawGet_j9aobU5BHD0uM7On6pCBOwgtables)(tyObject_Table_NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_C6xPtZxPzFWGPOrqRzba7Q)(tyObject_Table_NttoEzoiq5CiphZe81oadg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_s28jdF2EEvyYQVlzenCSig)(tyObject_Table_NttoEzoiq5CiphZe81oadg* t, tySequence_squ9b9bUH4OLHf6cEMrt6hVA** data, NimStringDesc* key, NI64 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_4XJDMiICRwxvo1n1D6W9aTwtables)(tyObject_Table_NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_CS9bPajrJ9aEZKDFoiiFY9c9bA_2)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key);
static N_INLINE(NI, rawGet_0XZEgJW3uehG9cXUcVmtY7Qtables)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_fkW9aT6F0hjmHrlDS8SyNKA)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_0NA5biXkeWjvlQX0IaFiFg)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* t, tySequence_23SMqauuRsbDANhthj9bWlA** data, NimStringDesc* key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_Sn2xCyLl8duWzAdrSrOlaAtables)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_9bALhrM27ZL9b9b8VRibHPvXw_2)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key);
static N_INLINE(NI, rawGet_tet5Q0dJ9aKF52m5Hj1gphwtables)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_8Zcjft84OecXo9bv9bEpkg2Q)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_8EF30r0AvRDqLjZtoX22Ng)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* t, tySequence_pHNq3oXj9av2sEUdqaqeZjw** data, NimStringDesc* key, tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_npP49bzhpxsQhxcTNPkaKPwtables)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence_s12F9c4cKfaapm8VzG9a1flQ)(void* p, NI op);
static N_INLINE(NI, rawGet_6OeVbegbfYRSVFFkgVWDTwtables)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI* hc);
static N_INLINE(NI, hash_wXLApNp4hVfHIRffgEB6jwtables)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_3Cf9cl39al9cEKtG7iPQg0QwA)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_ht2VADsNgzAzgmj6ZYStcA)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg* t, tySequence_s12F9c4cKfaapm8VzG9a1flQ** data, NI64 key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_JhOIJso23m0fXixcymwaJgtables)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI hc);
static N_NIMCALL(void, Marker_tySequence_hLW2w9a9bDM1AHB8BIrU3BYw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_YuKuU17u5ApAIki23DK9bJw)(void* p, NI op);
static N_INLINE(NI, rawGet_Rc2wjMJRndXvQuWUc2DmAgtables)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI* hc);
static N_INLINE(NI, hash_M6zZEYz39abIOUmj0QsNREgtables)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_TXvF9bP1adjujBVvx9cArIfQ)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_6sCvsGhWRrLFC5j85kNTXw)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ* t, tySequence_hLW2w9a9bDM1AHB8BIrU3BYw** data, NI key, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_DgWux9biTC5qG9aTPPocjoXQtables)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI hc);
static N_INLINE(NI, rawGet_pvcDHvqgLMwrC0KBqOMqFgtables)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg t, NI key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_WIcTkVMCaHYQls9bw9aoZUsw)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_ISITmT26D9aqVBNSJdvKUcg)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg* t, tySequence_YuKuU17u5ApAIki23DK9bJw** data, NI key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_k3cawTLGIYCS35JhtQQ9aIQtables)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg t, NI key, NI hc);
static N_NIMCALL(void, Marker_tySequence_ZySnRyYriVjDpNDRyzJyGg)(void* p, NI op);
static N_INLINE(NI, rawGet_KlZI5r9aivUwI0HQTkAYdYAtables)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_DbL5xGKJrgpLFKHSYZyVjw)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_jlI85IqdXxHHICQpT33C6w)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg* t, tySequence_ZySnRyYriVjDpNDRyzJyGg** data, NI key, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_9c4wkTb5XpRDZndeHFC9brQgtables)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI hc);
static N_NIMCALL(void, Marker_tySequence_sII3pVVRkIdBZ2HDPdZddA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_jwzrUFjG9akTIJTBBFvvqxw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_XUL1TrMU0tgXmaMFCIYgFQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet_2rknrqVhALZjHMyYSj9aZDA_2)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key);
N_LIB_PRIVATE N_NIMCALL(NI, hash_GmDea9bcNl3tvgPhCgWeYfQ)(tyArray_qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq__0iUwL9ajONRz2GYAZk9cgslg)(tyArray_qtqsWM5aXmcpMIVmvq3kAA a, tyArray_qtqsWM5aXmcpMIVmvq3kAA b);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_OoA2f214FJ9aqR7LCSeO5Rw)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_e3nhPU4k9aFXZKOhpb0UV1g)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ t, tySequence_XUL1TrMU0tgXmaMFCIYgFQ** data, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI val);
static N_INLINE(NI, rawGet_pJ0eBgObDVmY49aC9a9cyaE1wtables)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_7ZRaFyVN4GiF7ghs7Q9bhoQ)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_GfpFXSXtGSp409auyRzI5ZA)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* t, tySequence_sII3pVVRkIdBZ2HDPdZddA** data, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_5OIPoEKCpPQvJUNggja6rQtables)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__cjda4doS9ccFOjsWsGu9aa2A)(tyArray_qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet_8vBSbDe2Qj1xnvhBImE2Cw_2)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_pjKukiDHFKNfQyDgcciTYQ)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_M9br9awYfpKkT2227fVl2X3A)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg t, tySequence_jwzrUFjG9akTIJTBBFvvqxw** data, NimStringDesc* key, NI val);
static N_INLINE(NI, rawGet_9aVJFybVm9c5e4wLJUeFo16Atables)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI* hc);
static N_INLINE(NI, hash_a5N2Ic0uYrdiANf4A16L3wtables)(NI32 x);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_eab58velAgPvxN6UgqsHDQ)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_Jy1mTSJBT8E45L7Him3GCw)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ* t, tySequence_kxu4GK0onha2t9bo86mdVAg** data, NI32 key, NI32 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_uacS859atSC6ew9aPXEhdpbgtables)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI hc);
static N_NIMCALL(void, Marker_tySequence_pUxI6Ljo6IKKHXKOZkQ7Og)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op);
static N_INLINE(NI, rawGet_zIRwMVAlJ706loTKVNibUgtables)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_ydvDAmdrAl9caImBqrTajfw)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_9bw2DEsl8WZBLK9cAAmFv6Kg)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* t, tySequence_pUxI6Ljo6IKKHXKOZkQ7Og** data, NimStringDesc* key, NI val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_eJMbdbmImWuq69bh5K4KpHgtables)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet_RlRJm9aeypbITbYPmGVBpmg)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
static N_INLINE(NI, rawGet_0a0hytiKUsK9cgzQb059c9coAtables)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_WxcpUIMurkKssglWin5tGw)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_wHzW7E4SNJAr7GY5xV9aKTQ)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* t, tySequence_MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC_y5zIH0nHazZxyuNWEp4ybw)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence_wAC0kXbVGkLoWP8vdi0sUw)(void* p, NI op);
static N_INLINE(NI, rawGet_e6griT9ctURYEPXa2IpD8qQtables)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash_Q7BtvrecnTohFQH6ezREJw)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq__fsWIAWPnaoNtepsWNV0Ldw)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg x, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg y);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_STJSjA8jj1750IW61H2O9aw)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_AYmZY9aGPFN9bPW6Tz9c4R1Fg)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ* t, tySequence_wAC0kXbVGkLoWP8vdi0sUw** data, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, tySequence_5PunAJrNQYcB8dF0jau3pQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_9anHnzGEdw3p9aixFO7oVqmQtables)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, NI hc);
TNimType NTI_Ab4q9c36aMR4mtkEOIBzdzA_;
TNimType NTI_xYhUhS7X82rKTqbT9bRfCnw_;
extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTI_sVg18TP9cLifHyygRe9cro9aA_;
TNimType NTI_7lEisrXlQEzwtUKW5pzRCw_;
extern TNimType NTI_nuL5K2f5u8HXdjAg35PVfw_;
extern TNimType NTI_nRD4SGrdQPt47sk7LIklpA_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
TNimType NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_;
TNimType NTI_xDU9bZmv1ZbZkJDaATBekIQ_;
TNimType NTI_kxu4GK0onha2t9bo86mdVAg_;
TNimType NTI_0Y2brGGKD9bV6GJLXT9aUDgA_;
TNimType NTI_2SGm9aGCXuo7XSQ9bqD29axXw_;
extern TNimType NTI_fKfcLzXYiz5jNu3NH3Tv8Q_;
TNimType NTI_23SMqauuRsbDANhthj9bWlA_;
TNimType NTI_NttoEzoiq5CiphZe81oadg_;
TNimType NTI_F3gkSrMB1qp2Tvf9bixVXwg_;
extern TNimType NTI_Aav8dQoMlCFnZRxA0IhTHQ_;
TNimType NTI_squ9b9bUH4OLHf6cEMrt6hVA_;
TNimType NTI_nagDFX4QHx0s6Fvma9blmSg_;
TNimType NTI_wcNatyuf8WOqAhGLhSvgiw_;
extern TNimType NTI_VZdzO0Tlflp7WMN4gS8oPg_;
TNimType NTI_pHNq3oXj9av2sEUdqaqeZjw_;
TNimType NTI_7O9bs4LORhqcR0JGh7d1MDg_;
TNimType NTI_8jHm6IGDGecciKpp2bTNxA_;
TNimType NTI_s12F9c4cKfaapm8VzG9a1flQ_;
TNimType NTI_Os4it9bmHnOQtsd5CqH09aRQ_;
TNimType NTI_YGgHblKlCINajXDZno8UTQ_;
extern TNimType NTI_AgIT5feFR9a9aoVjv9cx2rOtg_;
TNimType NTI_hLW2w9a9bDM1AHB8BIrU3BYw_;
TNimType NTI_JrI9bTpOVccKpiJXKOskjFg_;
TNimType NTI_Wymbvuvlf49clEgp9bKoFN9bw_;
TNimType NTI_YuKuU17u5ApAIki23DK9bJw_;
TNimType NTI_bBTYOvhK9cfU3hC9aEhb2BYg_;
TNimType NTI_ImmlCByLdDIzmbcHsV583w_;
extern TNimType NTI_K9bspPztfoWajecnwjyHuYQ_;
TNimType NTI_ZySnRyYriVjDpNDRyzJyGg_;
TNimType NTI_gZ3EYQdz9coOB7ngN9a1cqwA_;
TNimType NTI_wROVfG5RQYpjEAhvO3LqdQ_;
extern TNimType NTI_qtqsWM5aXmcpMIVmvq3kAA_;
extern TNimType NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_;
TNimType NTI_sII3pVVRkIdBZ2HDPdZddA_;
TNimType NTI_chlLjy9bvnFM9b9bSZfiIkyGg_;
extern TNimType NTI_XOVT24GHXwqiEj5GCsEGCA_;
TNimType NTI_jwzrUFjG9akTIJTBBFvvqxw_;
TNimType NTI_tUMxxU9cRgLolsrW9b7IBGsQ_;
TNimType NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_;
TNimType NTI_XUL1TrMU0tgXmaMFCIYgFQ_;
TNimType NTI_i55W8RrwGKsG9cl0sAKxgkQ_;
TNimType NTI_sr3s7uVHpu9cEbbDnCSg8yQ_;
TNimType NTI_pUxI6Ljo6IKKHXKOZkQ7Og_;
TNimType NTI_ZZvSdVkA2s2sIyifu4cpkg_;
TNimType NTI_awOivLjlO76sGdHY7nQUjQ_;
extern TNimType NTI_zfzzuQ8txrdZAYK0WGWpHg_;
TNimType NTI_MlAD6nAPq9bHKla9cWiIZP0g_;
TNimType NTI_XC01wkRgzAyOjTiapde7hQ_;
TNimType NTI_A9cRoiotm9actU8lLMnN9bYcw_;
extern TNimType NTI_G9ccBDFWfr9aYnLgXTNGDHDg_;
extern TNimType NTI_5PunAJrNQYcB8dF0jau3pQ_;
TNimType NTI_wAC0kXbVGkLoWP8vdi0sUw_;
STRING_LITERAL(TM_4SoG2KRQy3oMm9aUzSLtGrA_4, "key not found: ", 15);
static N_NIMCALL(void, Marker_tySequence_7lEisrXlQEzwtUKW5pzRCw)(void* p, NI op) {
	tySequence_7lEisrXlQEzwtUKW5pzRCw* a;
	NI T1_;
	a = (tySequence_7lEisrXlQEzwtUKW5pzRCw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_3szSLCSpnvZ5aG81NL42Lw)(NI initialSize, tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* Result) {
	genericReset((void*)Result, (&NTI_Ab4q9c36aMR4mtkEOIBzdzA_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI_7lEisrXlQEzwtUKW5pzRCw_), ((NI) (initialSize))));
}

static N_INLINE(NIM_BOOL, isFilled_IxXD1UAPoEehVDW9cv9cRaewtables)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}

static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}

static N_INLINE(NIM_BOOL, equalMem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}

static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}

static N_INLINE(NI, nextTry_OLPhxSyW9bte5CwHzzQVhfAtables)(NI h, NI maxHash) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
	return result;
}

static N_INLINE(NI, rawGet_Hrrb9bMn0tTonVFfO89bMq7Qtables)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_UAtRwp1eySbgtbhu9cbob2w)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet_Hrrb9bMn0tTonVFfO89bMq7Qtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}

static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}

static N_INLINE(void, copyMem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}

static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest).data[((*dest).Sup.len)- 0]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}

static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (ptrdiff_t) (usr))) - (NU32)(((NI)sizeof(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result;
}

static N_INLINE(void, rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c);
}

static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c;
		if (!!((src == NIM_NIL))) goto LA3_;
		c = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src);
		(*c).refcount += ((NI) 8);
	}
	LA3_: ;
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c_2;
		if (!!(((*dest) == NIM_NIL))) goto LA7_;
		c_2 = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest));
		{
			(*c_2).refcount -= ((NI) 8);
			if (!((NU32)((*c_2).refcount) < (NU32)(((NI) 8)))) goto LA11_;
			rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c_2);
		}
		LA11_: ;
	}
	LA7_: ;
	(*dest) = src;
}

static N_INLINE(void, incRef_9cAA5YuQAAC3MVbnGeV86swsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU32)((*c).refcount) + (NU32)(((NI) 8)));
}

static N_INLINE(void, decRef_MV4BBk6J1qu70IbBxwEn4wsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA3_;
		rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c);
	}
	LA3_: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src);
		incRef_9cAA5YuQAAC3MVbnGeV86swsystem(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest));
		decRef_MV4BBk6J1qu70IbBxwEn4wsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}

N_LIB_PRIVATE N_NIMCALL(NI32*, X5BX5D__9bqt0R9aAENvBB3P9cr4g9bcbA)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key) {
	NI32* result;
	NI hc;
	NI index;
	result = (NI32*)0;
	hc = (NI)0;
	index = rawGet_Hrrb9bMn0tTonVFfO89bMq7Qtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = (&(*t).data->data[index].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA* e;
		NimStringDesc* T6_;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*)0;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*) newObj((&NTI_nuL5K2f5u8HXdjAg35PVfw_), sizeof(tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA));
		(*e).Sup.Sup.Sup.Sup.m_type = (&NTI_nRD4SGrdQPt47sk7LIklpA_);
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T6_, ((NimStringDesc*) &TM_4SoG2KRQy3oMm9aUzSLtGrA_4));
appendString(T6_, key);
		asgnRefNoCycle((void**) (&(*e).Sup.Sup.Sup.message), T6_);
		asgnRef((void**) (&(*e).Sup.Sup.Sup.parent), NIM_NIL);
		raiseException((Exception*)e, "KeyError");
	}
	LA1_: ;
	return result;
}

static N_INLINE(NIM_BOOL, mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables)(NI length, NI counter) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NI)(length * ((NI) 2)) < (NI)(counter * ((NI) 3)));
	if (T1_) goto LA2_;
	T1_ = ((NI)(length - counter) < ((NI) 4));
	LA2_: ;
	result = T1_;
	return result;
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c;
	c = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p);
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA3_;
		rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c);
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_9bM8oVdJ6KWBIBE2WQJhEJw)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence_7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_noqcbSww08dp4tCQVVbWZg)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* t) {
	tySequence_7lEisrXlQEzwtUKW5pzRCw* n;
	NI T1_;
	tySequence_7lEisrXlQEzwtUKW5pzRCw* T2_;
	n = (tySequence_7lEisrXlQEzwtUKW5pzRCw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI_7lEisrXlQEzwtUKW5pzRCw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_7lEisrXlQEzwtUKW5pzRCw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_9bM8oVdJ6KWBIBE2WQJhEJw(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_uH3LwXMCZPbdvrXuVEjukAtables)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqStrings(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__Px0WL9blj3awa00DQI58LjA)(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key, NI32 val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_Hrrb9bMn0tTonVFfO89bMq7Qtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_noqcbSww08dp4tCQVVbWZg(t);
			index = rawGetKnownHC_uH3LwXMCZPbdvrXuVEjukAtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_9bM8oVdJ6KWBIBE2WQJhEJw(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}
static N_NIMCALL(void, Marker_tySequence_kxu4GK0onha2t9bo86mdVAg)(void* p, NI op) {
	tySequence_kxu4GK0onha2t9bo86mdVAg* a;
	NI T1_;
	a = (tySequence_kxu4GK0onha2t9bo86mdVAg*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence_23SMqauuRsbDANhthj9bWlA)(void* p, NI op) {
	tySequence_23SMqauuRsbDANhthj9bWlA* a;
	NI T1_;
	a = (tySequence_23SMqauuRsbDANhthj9bWlA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence_squ9b9bUH4OLHf6cEMrt6hVA)(void* p, NI op) {
	tySequence_squ9b9bUH4OLHf6cEMrt6hVA* a;
	NI T1_;
	a = (tySequence_squ9b9bUH4OLHf6cEMrt6hVA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence_pHNq3oXj9av2sEUdqaqeZjw)(void* p, NI op) {
	tySequence_pHNq3oXj9av2sEUdqaqeZjw* a;
	NI T1_;
	a = (tySequence_pHNq3oXj9av2sEUdqaqeZjw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2.root, op);
	}
}

static N_INLINE(NI, rawGet_j9aobU5BHD0uM7On6pCBOwgtables)(tyObject_Table_NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI64, getOrDefault_zhUanUtpfXgm9cLgISuJAWw)(tyObject_Table_NttoEzoiq5CiphZe81oadg t, NimStringDesc* key) {
	NI64 result;
	NI hc;
	NI index;
	result = (NI64)0;
	hc = (NI)0;
	index = rawGet_j9aobU5BHD0uM7On6pCBOwgtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_s28jdF2EEvyYQVlzenCSig)(tyObject_Table_NttoEzoiq5CiphZe81oadg* t, tySequence_squ9b9bUH4OLHf6cEMrt6hVA** data, NimStringDesc* key, NI64 val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_C6xPtZxPzFWGPOrqRzba7Q)(tyObject_Table_NttoEzoiq5CiphZe81oadg* t) {
	tySequence_squ9b9bUH4OLHf6cEMrt6hVA* n;
	NI T1_;
	tySequence_squ9b9bUH4OLHf6cEMrt6hVA* T2_;
	n = (tySequence_squ9b9bUH4OLHf6cEMrt6hVA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI_squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_squ9b9bUH4OLHf6cEMrt6hVA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_s28jdF2EEvyYQVlzenCSig(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_4XJDMiICRwxvo1n1D6W9aTwtables)(tyObject_Table_NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqStrings(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__X9cohlTAuimdEuIia9bXW1Ew)(tyObject_Table_NttoEzoiq5CiphZe81oadg* t, NimStringDesc* key, NI64 val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_j9aobU5BHD0uM7On6pCBOwgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_C6xPtZxPzFWGPOrqRzba7Q(t);
			index = rawGetKnownHC_4XJDMiICRwxvo1n1D6W9aTwtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_s28jdF2EEvyYQVlzenCSig(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

static N_INLINE(NI, rawGet_0XZEgJW3uehG9cXUcVmtY7Qtables)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_CS9bPajrJ9aEZKDFoiiFY9c9bA_2)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet_0XZEgJW3uehG9cXUcVmtY7Qtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_CS9bPajrJ9aEZKDFoiiFY9c9bA)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = hasKey_CS9bPajrJ9aEZKDFoiiFY9c9bA_2(t, key);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_0NA5biXkeWjvlQX0IaFiFg)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* t, tySequence_23SMqauuRsbDANhthj9bWlA** data, NimStringDesc* key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_fkW9aT6F0hjmHrlDS8SyNKA)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* t) {
	tySequence_23SMqauuRsbDANhthj9bWlA* n;
	NI T1_;
	tySequence_23SMqauuRsbDANhthj9bWlA* T2_;
	n = (tySequence_23SMqauuRsbDANhthj9bWlA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI_23SMqauuRsbDANhthj9bWlA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_23SMqauuRsbDANhthj9bWlA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_0NA5biXkeWjvlQX0IaFiFg(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_Sn2xCyLl8duWzAdrSrOlaAtables)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqStrings(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__gm5LWfQZ9chb1ykaBb0NY1w)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_0XZEgJW3uehG9cXUcVmtY7Qtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_fkW9aT6F0hjmHrlDS8SyNKA(t);
			index = rawGetKnownHC_Sn2xCyLl8duWzAdrSrOlaAtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_0NA5biXkeWjvlQX0IaFiFg(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**, X5BX5D__JTpD8NxiYwFaA8g9aHb1EtA)(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** result;
	NI hc;
	NI index;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**)0;
	hc = (NI)0;
	index = rawGet_0XZEgJW3uehG9cXUcVmtY7Qtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = &(*t).data->data[index].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA* e;
		NimStringDesc* T6_;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*)0;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*) newObj((&NTI_nuL5K2f5u8HXdjAg35PVfw_), sizeof(tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA));
		(*e).Sup.Sup.Sup.Sup.m_type = (&NTI_nRD4SGrdQPt47sk7LIklpA_);
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T6_, ((NimStringDesc*) &TM_4SoG2KRQy3oMm9aUzSLtGrA_4));
appendString(T6_, key);
		asgnRefNoCycle((void**) (&(*e).Sup.Sup.Sup.message), T6_);
		asgnRef((void**) (&(*e).Sup.Sup.Sup.parent), NIM_NIL);
		raiseException((Exception*)e, "KeyError");
	}
	LA1_: ;
	return result;
}

static N_INLINE(NI, rawGet_tet5Q0dJ9aKF52m5Hj1gphwtables)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_9bALhrM27ZL9b9b8VRibHPvXw_2)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet_tet5Q0dJ9aKF52m5Hj1gphwtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_9bALhrM27ZL9b9b8VRibHPvXw)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = hasKey_9bALhrM27ZL9b9b8VRibHPvXw_2(t, key);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_8EF30r0AvRDqLjZtoX22Ng)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* t, tySequence_pHNq3oXj9av2sEUdqaqeZjw** data, NimStringDesc* key, tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2.root), val.root);
	(*data)->data[h].Field2.entries = val.entries;
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_8Zcjft84OecXo9bv9bEpkg2Q)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* t) {
	tySequence_pHNq3oXj9av2sEUdqaqeZjw* n;
	NI T1_;
	tySequence_pHNq3oXj9av2sEUdqaqeZjw* T2_;
	n = (tySequence_pHNq3oXj9av2sEUdqaqeZjw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI_pHNq3oXj9av2sEUdqaqeZjw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_pHNq3oXj9av2sEUdqaqeZjw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_8EF30r0AvRDqLjZtoX22Ng(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_npP49bzhpxsQhxcTNPkaKPwtables)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqStrings(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__8ZwEgYmlvJjxHuDFaE7UVQ)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key, tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_tet5Q0dJ9aKF52m5Hj1gphwtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2.root), val.root);
		(*t).data->data[index].Field2.entries = val.entries;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_8Zcjft84OecXo9bv9bEpkg2Q(t);
			index = rawGetKnownHC_npP49bzhpxsQhxcTNPkaKPwtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_8EF30r0AvRDqLjZtoX22Ng(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg*, X5BX5D__Gyc4IYb67njbcHYJVOgNtQ)(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key) {
	tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg* result;
	NI hc;
	NI index;
	result = (tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg*)0;
	hc = (NI)0;
	index = rawGet_tet5Q0dJ9aKF52m5Hj1gphwtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = (&(*t).data->data[index].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA* e;
		NimStringDesc* T6_;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*)0;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*) newObj((&NTI_nuL5K2f5u8HXdjAg35PVfw_), sizeof(tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA));
		(*e).Sup.Sup.Sup.Sup.m_type = (&NTI_nRD4SGrdQPt47sk7LIklpA_);
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T6_, ((NimStringDesc*) &TM_4SoG2KRQy3oMm9aUzSLtGrA_4));
appendString(T6_, key);
		asgnRefNoCycle((void**) (&(*e).Sup.Sup.Sup.message), T6_);
		asgnRef((void**) (&(*e).Sup.Sup.Sup.parent), NIM_NIL);
		raiseException((Exception*)e, "KeyError");
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence_s12F9c4cKfaapm8VzG9a1flQ)(void* p, NI op) {
	tySequence_s12F9c4cKfaapm8VzG9a1flQ* a;
	NI T1_;
	a = (tySequence_s12F9c4cKfaapm8VzG9a1flQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_n4fbse9b9aLWou9cT9c9aNlhs2g)(NI initialSize, tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg* Result) {
	genericReset((void*)Result, (&NTI_7O9bs4LORhqcR0JGh7d1MDg_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI_s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (initialSize))));
}

static N_INLINE(NI, hash_wXLApNp4hVfHIRffgEB6jwtables)(NI64 x) {
	NI result;
	result = (NI)0;
	result = ((NI) (((NI32)(NU32)(NU64)(x))));
	return result;
}

static N_INLINE(NI, rawGet_6OeVbegbfYRSVFFkgVWDTwtables)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_wXLApNp4hVfHIRffgEB6jwtables(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = (t.data->data[h].Field1 == key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, getOrDefault_OOSAOnhbe8pxdusO1rboow)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg t, NI64 key) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NI hc;
	NI index;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	hc = (NI)0;
	index = rawGet_6OeVbegbfYRSVFFkgVWDTwtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_ht2VADsNgzAzgmj6ZYStcA)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg* t, tySequence_s12F9c4cKfaapm8VzG9a1flQ** data, NI64 key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_3Cf9cl39al9cEKtG7iPQg0QwA)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg* t) {
	tySequence_s12F9c4cKfaapm8VzG9a1flQ* n;
	NI T1_;
	tySequence_s12F9c4cKfaapm8VzG9a1flQ* T2_;
	n = (tySequence_s12F9c4cKfaapm8VzG9a1flQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI_s12F9c4cKfaapm8VzG9a1flQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_s12F9c4cKfaapm8VzG9a1flQ*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_ht2VADsNgzAzgmj6ZYStcA(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_JhOIJso23m0fXixcymwaJgtables)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = (t.data->data[h].Field1 == key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__wRs6d9cI19clruK9cPE3ztVsA)(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg* t, NI64 key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_6OeVbegbfYRSVFFkgVWDTwtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_3Cf9cl39al9cEKtG7iPQg0QwA(t);
			index = rawGetKnownHC_JhOIJso23m0fXixcymwaJgtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_ht2VADsNgzAzgmj6ZYStcA(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}
static N_NIMCALL(void, Marker_tySequence_hLW2w9a9bDM1AHB8BIrU3BYw)(void* p, NI op) {
	tySequence_hLW2w9a9bDM1AHB8BIrU3BYw* a;
	NI T1_;
	a = (tySequence_hLW2w9a9bDM1AHB8BIrU3BYw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_Z0P6P58YBdVjpZlNtweBfA)(NI initialSize, tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ* Result) {
	genericReset((void*)Result, (&NTI_Os4it9bmHnOQtsd5CqH09aRQ_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI_hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (initialSize))));
}
static N_NIMCALL(void, Marker_tySequence_YuKuU17u5ApAIki23DK9bJw)(void* p, NI op) {
	tySequence_YuKuU17u5ApAIki23DK9bJw* a;
	NI T1_;
	a = (tySequence_YuKuU17u5ApAIki23DK9bJw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_nY9aBzJgd0qDIvm7CK9bVIcA)(NI initialSize, tyObject_Table_JrI9bTpOVccKpiJXKOskjFg* Result) {
	genericReset((void*)Result, (&NTI_JrI9bTpOVccKpiJXKOskjFg_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI_YuKuU17u5ApAIki23DK9bJw_), ((NI) (initialSize))));
}

static N_INLINE(NI, hash_M6zZEYz39abIOUmj0QsNREgtables)(NI x) {
	NI result;
	result = (NI)0;
	result = x;
	return result;
}

static N_INLINE(NI, rawGet_Rc2wjMJRndXvQuWUc2DmAgtables)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_M6zZEYz39abIOUmj0QsNREgtables(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = (t.data->data[h].Field1 == key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_6sCvsGhWRrLFC5j85kNTXw)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ* t, tySequence_hLW2w9a9bDM1AHB8BIrU3BYw** data, NI key, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_TXvF9bP1adjujBVvx9cArIfQ)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ* t) {
	tySequence_hLW2w9a9bDM1AHB8BIrU3BYw* n;
	NI T1_;
	tySequence_hLW2w9a9bDM1AHB8BIrU3BYw* T2_;
	n = (tySequence_hLW2w9a9bDM1AHB8BIrU3BYw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI_hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_hLW2w9a9bDM1AHB8BIrU3BYw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_6sCvsGhWRrLFC5j85kNTXw(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_DgWux9biTC5qG9aTPPocjoXQtables)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = (t.data->data[h].Field1 == key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__4J2KxaBA7Xsqtl1DOjhmuw)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ* t, NI key, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_Rc2wjMJRndXvQuWUc2DmAgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_TXvF9bP1adjujBVvx9cArIfQ(t);
			index = rawGetKnownHC_DgWux9biTC5qG9aTPPocjoXQtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_6sCvsGhWRrLFC5j85kNTXw(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, getOrDefault_Q456uU89bdR9cKc4yVk8z7Mw)(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ t, NI key) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	NI hc;
	NI index;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	hc = (NI)0;
	index = rawGet_Rc2wjMJRndXvQuWUc2DmAgtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}

static N_INLINE(NI, rawGet_pvcDHvqgLMwrC0KBqOMqFgtables)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_M6zZEYz39abIOUmj0QsNREgtables(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = (t.data->data[h].Field1 == key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, getOrDefault_cAkAEwfW9cxC2y2UQOZz2Aw)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg t, NI key) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NI hc;
	NI index;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	hc = (NI)0;
	index = rawGet_pvcDHvqgLMwrC0KBqOMqFgtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_ISITmT26D9aqVBNSJdvKUcg)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg* t, tySequence_YuKuU17u5ApAIki23DK9bJw** data, NI key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_WIcTkVMCaHYQls9bw9aoZUsw)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg* t) {
	tySequence_YuKuU17u5ApAIki23DK9bJw* n;
	NI T1_;
	tySequence_YuKuU17u5ApAIki23DK9bJw* T2_;
	n = (tySequence_YuKuU17u5ApAIki23DK9bJw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI_YuKuU17u5ApAIki23DK9bJw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_YuKuU17u5ApAIki23DK9bJw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_ISITmT26D9aqVBNSJdvKUcg(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_k3cawTLGIYCS35JhtQQ9aIQtables)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg t, NI key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = (t.data->data[h].Field1 == key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__5EsDXhxconxyEkG2G09cLrQ)(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg* t, NI key, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_pvcDHvqgLMwrC0KBqOMqFgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_WIcTkVMCaHYQls9bw9aoZUsw(t);
			index = rawGetKnownHC_k3cawTLGIYCS35JhtQQ9aIQtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_ISITmT26D9aqVBNSJdvKUcg(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}
static N_NIMCALL(void, Marker_tySequence_ZySnRyYriVjDpNDRyzJyGg)(void* p, NI op) {
	tySequence_ZySnRyYriVjDpNDRyzJyGg* a;
	NI T1_;
	a = (tySequence_ZySnRyYriVjDpNDRyzJyGg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_Ipvh6QQgUo2jYZwrgNlNoQ)(NI initialSize, tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg* Result) {
	genericReset((void*)Result, (&NTI_bBTYOvhK9cfU3hC9aEhb2BYg_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_ZySnRyYriVjDpNDRyzJyGg*) newSeq((&NTI_ZySnRyYriVjDpNDRyzJyGg_), ((NI) (initialSize))));
}

static N_INLINE(NI, rawGet_KlZI5r9aivUwI0HQTkAYdYAtables)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_M6zZEYz39abIOUmj0QsNREgtables(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = (t.data->data[h].Field1 == key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_jlI85IqdXxHHICQpT33C6w)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg* t, tySequence_ZySnRyYriVjDpNDRyzJyGg** data, NI key, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_DbL5xGKJrgpLFKHSYZyVjw)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg* t) {
	tySequence_ZySnRyYriVjDpNDRyzJyGg* n;
	NI T1_;
	tySequence_ZySnRyYriVjDpNDRyzJyGg* T2_;
	n = (tySequence_ZySnRyYriVjDpNDRyzJyGg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_ZySnRyYriVjDpNDRyzJyGg*) newSeq((&NTI_ZySnRyYriVjDpNDRyzJyGg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_ZySnRyYriVjDpNDRyzJyGg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_jlI85IqdXxHHICQpT33C6w(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_9c4wkTb5XpRDZndeHFC9brQgtables)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = (t.data->data[h].Field1 == key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__Sq4FNQ1Z27suzN0PstbCaQ)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg* t, NI key, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_KlZI5r9aivUwI0HQTkAYdYAtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_DbL5xGKJrgpLFKHSYZyVjw(t);
			index = rawGetKnownHC_9c4wkTb5XpRDZndeHFC9brQgtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_jlI85IqdXxHHICQpT33C6w(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, getOrDefault_op9ayV4JuenM6Fc5zt9bufVQ)(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg t, NI key) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	NI hc;
	NI index;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	hc = (NI)0;
	index = rawGet_KlZI5r9aivUwI0HQTkAYdYAtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence_sII3pVVRkIdBZ2HDPdZddA)(void* p, NI op) {
	tySequence_sII3pVVRkIdBZ2HDPdZddA* a;
	NI T1_;
	NI T2_;
	a = (tySequence_sII3pVVRkIdBZ2HDPdZddA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence_jwzrUFjG9akTIJTBBFvvqxw)(void* p, NI op) {
	tySequence_jwzrUFjG9akTIJTBBFvvqxw* a;
	NI T1_;
	a = (tySequence_jwzrUFjG9akTIJTBBFvvqxw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field0, op);
	}
}
static N_NIMCALL(void, Marker_tySequence_XUL1TrMU0tgXmaMFCIYgFQ)(void* p, NI op) {
	tySequence_XUL1TrMU0tgXmaMFCIYgFQ* a;
	NI T1_;
	NI T2_;
	a = (tySequence_XUL1TrMU0tgXmaMFCIYgFQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_F9bgUDy3IzRyq5PzkIxwTBw)(NI initialSize, tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* Result) {
	genericReset((void*)Result, (&NTI_gZ3EYQdz9coOB7ngN9a1cqwA_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTI_sII3pVVRkIdBZ2HDPdZddA_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(void, initCountTable_l0wwSfs7C3wjWsJaXnDAUA)(NI initialSize, tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ* Result) {
	genericReset((void*)Result, (&NTI_tUMxxU9cRgLolsrW9b7IBGsQ_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_XUL1TrMU0tgXmaMFCIYgFQ*) newSeq((&NTI_XUL1TrMU0tgXmaMFCIYgFQ_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(void, initCountTable_UG5jzAnfHTxYqkwP5bkJug)(NI initialSize, tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg* Result) {
	genericReset((void*)Result, (&NTI_chlLjy9bvnFM9b9bSZfiIkyGg_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTI_jwzrUFjG9akTIJTBBFvvqxw_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(NI, rawGet_2rknrqVhALZjHMyYSj9aZDA_2)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key) {
	NI result;
	NI h;
	NI T1_;
	NI T2_;
{	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash_GmDea9bcNl3tvgPhCgWeYfQ(key);
	T2_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T10_;
			if (!!((t.data->data[h].Field1 == ((NI) 0)))) goto LA4;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = eqeq__0iUwL9ajONRz2GYAZk9cgslg(t.data->data[h].Field0, key);
				if (!T7_) goto LA8_;
				result = h;
				goto BeforeRet_;
			}
			LA8_: ;
			T10_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T10_);
		} LA4: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault_2rknrqVhALZjHMyYSj9aZDA)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key) {
	NI result;
	NI index;
	result = (NI)0;
	index = rawGet_2rknrqVhALZjHMyYSj9aZDA_2(t, key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field1;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_e3nhPU4k9aFXZKOhpb0UV1g)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ t, tySequence_XUL1TrMU0tgXmaMFCIYgFQ** data, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI val) {
	NI h;
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = hash_GmDea9bcNl3tvgPhCgWeYfQ(key);
	T2_ = (((*data) ? (*data)->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T5_;
			if (!!(((*data)->data[h].Field1 == ((NI) 0)))) goto LA4;
			T5_ = (((*data) ? (*data)->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T5_);
		} LA4: ;
	}
	nimCopyMem((void*)(*data)->data[h].Field0, (NIM_CONST void*)key, sizeof(tyArray_qtqsWM5aXmcpMIVmvq3kAA));
	(*data)->data[h].Field1 = val;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_OoA2f214FJ9aqR7LCSeO5Rw)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ* t) {
	tySequence_XUL1TrMU0tgXmaMFCIYgFQ* n;
	NI T1_;
	tySequence_XUL1TrMU0tgXmaMFCIYgFQ* T10_;
	n = (tySequence_XUL1TrMU0tgXmaMFCIYgFQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_XUL1TrMU0tgXmaMFCIYgFQ*) newSeq((&NTI_XUL1TrMU0tgXmaMFCIYgFQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				{
					if (!!(((*t).data->data[i].Field1 == ((NI) 0)))) goto LA8_;
					rawInsert_e3nhPU4k9aFXZKOhpb0UV1g((*t), (&n), (*t).data->data[i].Field0, (*t).data->data[i].Field1);
				}
				LA8_: ;
				res += ((NI) 1);
			} LA5: ;
		}
	}
	T10_ = (tySequence_XUL1TrMU0tgXmaMFCIYgFQ*)0;
	T10_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T10_;
}

N_LIB_PRIVATE N_NIMCALL(void, inc_zz9bdJ5H9aoa4gmP4AyVKgmA)(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ* t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI val) {
	NI index;
	index = rawGet_2rknrqVhALZjHMyYSj9aZDA_2((*t), key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field1 += val;
		{
			if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA7_;
			(*t).counter -= ((NI) 1);
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T12_;
			NIM_BOOL T13_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T12_, (*t).counter);
			if (!T13_) goto LA14_;
			enlarge_OoA2f214FJ9aqR7LCSeO5Rw(t);
		}
		LA14_: ;
		rawInsert_e3nhPU4k9aFXZKOhpb0UV1g((*t), (&(*t).data), key, val);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

static N_INLINE(NI, rawGet_pJ0eBgObDVmY49aC9a9cyaE1wtables)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_GmDea9bcNl3tvgPhCgWeYfQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqeq__0iUwL9ajONRz2GYAZk9cgslg(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, getOrDefault_c1gzIMAwos9ckDh22FJ9cJ4w)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	NI hc;
	NI index;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	hc = (NI)0;
	index = rawGet_pJ0eBgObDVmY49aC9a9cyaE1wtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_GfpFXSXtGSp409auyRzI5ZA)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* t, tySequence_sII3pVVRkIdBZ2HDPdZddA** data, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray_qtqsWM5aXmcpMIVmvq3kAA));
	asgnRefNoCycle((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_7ZRaFyVN4GiF7ghs7Q9bhoQ)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* t) {
	tySequence_sII3pVVRkIdBZ2HDPdZddA* n;
	NI T1_;
	tySequence_sII3pVVRkIdBZ2HDPdZddA* T2_;
	n = (tySequence_sII3pVVRkIdBZ2HDPdZddA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTI_sII3pVVRkIdBZ2HDPdZddA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_sII3pVVRkIdBZ2HDPdZddA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_GfpFXSXtGSp409auyRzI5ZA(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_5OIPoEKCpPQvJUNggja6rQtables)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqeq__0iUwL9ajONRz2GYAZk9cgslg(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__TRBnfbwbN7k5UwqVgDGskg)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_pJ0eBgObDVmY49aC9a9cyaE1wtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_7ZRaFyVN4GiF7ghs7Q9bhoQ(t);
			index = rawGetKnownHC_5OIPoEKCpPQvJUNggja6rQtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_GfpFXSXtGSp409auyRzI5ZA(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**, X5BX5D__OWIu6yRfMJASkF8WB77f2w)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray_qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** result;
	NI hc;
	NI index;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**)0;
	hc = (NI)0;
	index = rawGet_pJ0eBgObDVmY49aC9a9cyaE1wtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = &(*t).data->data[index].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA* e;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*)0;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*) newObj((&NTI_nuL5K2f5u8HXdjAg35PVfw_), sizeof(tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA));
		(*e).Sup.Sup.Sup.Sup.m_type = (&NTI_nRD4SGrdQPt47sk7LIklpA_);
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = dollar__cjda4doS9ccFOjsWsGu9aa2A(key);
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 15);
appendString(T6_, ((NimStringDesc*) &TM_4SoG2KRQy3oMm9aUzSLtGrA_4));
appendString(T6_, T7_);
		asgnRefNoCycle((void**) (&(*e).Sup.Sup.Sup.message), T6_);
		asgnRef((void**) (&(*e).Sup.Sup.Sup.parent), NIM_NIL);
		raiseException((Exception*)e, "KeyError");
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, rawGet_8vBSbDe2Qj1xnvhBImE2Cw_2)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key) {
	NI result;
	NI h;
	NI T1_;
	NI T2_;
{	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	T2_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T9_;
			if (!!((t.data->data[h].Field1 == ((NI) 0)))) goto LA4;
			{
				if (!eqStrings(t.data->data[h].Field0, key)) goto LA7_;
				result = h;
				goto BeforeRet_;
			}
			LA7_: ;
			T9_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T9_);
		} LA4: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault_8vBSbDe2Qj1xnvhBImE2Cw)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key) {
	NI result;
	NI index;
	result = (NI)0;
	index = rawGet_8vBSbDe2Qj1xnvhBImE2Cw_2(t, key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field1;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_M9br9awYfpKkT2227fVl2X3A)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg t, tySequence_jwzrUFjG9akTIJTBBFvvqxw** data, NimStringDesc* key, NI val) {
	NI h;
	NI T1_;
	NI T2_;
	NimStringDesc* T6_;
	T1_ = (NI)0;
	T1_ = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	T2_ = (((*data) ? (*data)->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T5_;
			if (!!(((*data)->data[h].Field1 == ((NI) 0)))) goto LA4;
			T5_ = (((*data) ? (*data)->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T5_);
		} LA4: ;
	}
	T6_ = (NimStringDesc*)0;
	T6_ = (*data)->data[h].Field0; (*data)->data[h].Field0 = copyStringRC1(key);
	if (T6_) nimGCunrefNoCycle(T6_);
	(*data)->data[h].Field1 = val;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_pjKukiDHFKNfQyDgcciTYQ)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg* t) {
	tySequence_jwzrUFjG9akTIJTBBFvvqxw* n;
	NI T1_;
	tySequence_jwzrUFjG9akTIJTBBFvvqxw* T10_;
	n = (tySequence_jwzrUFjG9akTIJTBBFvvqxw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTI_jwzrUFjG9akTIJTBBFvvqxw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				{
					if (!!(((*t).data->data[i].Field1 == ((NI) 0)))) goto LA8_;
					rawInsert_M9br9awYfpKkT2227fVl2X3A((*t), (&n), (*t).data->data[i].Field0, (*t).data->data[i].Field1);
				}
				LA8_: ;
				res += ((NI) 1);
			} LA5: ;
		}
	}
	T10_ = (tySequence_jwzrUFjG9akTIJTBBFvvqxw*)0;
	T10_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T10_;
}

N_LIB_PRIVATE N_NIMCALL(void, inc_YksznXEZ19bxdCUr6TgeIRg)(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg* t, NimStringDesc* key, NI val) {
	NI index;
	index = rawGet_8vBSbDe2Qj1xnvhBImE2Cw_2((*t), key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field1 += val;
		{
			if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA7_;
			(*t).counter -= ((NI) 1);
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T12_;
			NIM_BOOL T13_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T12_, (*t).counter);
			if (!T13_) goto LA14_;
			enlarge_pjKukiDHFKNfQyDgcciTYQ(t);
		}
		LA14_: ;
		rawInsert_M9br9awYfpKkT2227fVl2X3A((*t), (&(*t).data), key, val);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

static N_INLINE(NI, hash_a5N2Ic0uYrdiANf4A16L3wtables)(NI32 x) {
	NI result;
	result = (NI)0;
	result = x;
	return result;
}

static N_INLINE(NI, rawGet_9aVJFybVm9c5e4wLJUeFo16Atables)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_a5N2Ic0uYrdiANf4A16L3wtables(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = (t.data->data[h].Field1 == key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_Jy1mTSJBT8E45L7Him3GCw)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ* t, tySequence_kxu4GK0onha2t9bo86mdVAg** data, NI32 key, NI32 val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_eab58velAgPvxN6UgqsHDQ)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ* t) {
	tySequence_kxu4GK0onha2t9bo86mdVAg* n;
	NI T1_;
	tySequence_kxu4GK0onha2t9bo86mdVAg* T2_;
	n = (tySequence_kxu4GK0onha2t9bo86mdVAg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI_kxu4GK0onha2t9bo86mdVAg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_kxu4GK0onha2t9bo86mdVAg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_Jy1mTSJBT8E45L7Him3GCw(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_uacS859atSC6ew9aPXEhdpbgtables)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = (t.data->data[h].Field1 == key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKeyOrPut_P5TZvveXY76eJD6Kx9cqoIw)(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ* t, NI32 key, NI32 val) {
	NIM_BOOL result;
	NI hc;
	NI index;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	index = rawGet_9aVJFybVm9c5e4wLJUeFo16Atables((*t), key, (&hc));
	{
		if (!(index < ((NI) 0))) goto LA3_;
		result = NIM_FALSE;
		{
			NI T7_;
			NIM_BOOL T8_;
			T7_ = ((*t).data ? (*t).data->Sup.len : 0);
			T8_ = (NIM_BOOL)0;
			T8_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T7_, (*t).counter);
			if (!T8_) goto LA9_;
			enlarge_eab58velAgPvxN6UgqsHDQ(t);
			index = rawGetKnownHC_uacS859atSC6ew9aPXEhdpbgtables((*t), key, hc);
		}
		LA9_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_Jy1mTSJBT8E45L7Him3GCw(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	goto LA1_;
	LA3_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence_pUxI6Ljo6IKKHXKOZkQ7Og)(void* p, NI op) {
	tySequence_pUxI6Ljo6IKKHXKOZkQ7Og* a;
	NI T1_;
	a = (tySequence_pUxI6Ljo6IKKHXKOZkQ7Og*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence_MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op) {
	tySequence_MlAD6nAPq9bHKla9cWiIZP0g* a;
	NI T1_;
	a = (tySequence_MlAD6nAPq9bHKla9cWiIZP0g*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	nimGCvisit((void*)a->data[T1_].Field3, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_KsxTG8BCbxDPiy6BSitr3A)(NI initialSize, tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* Result) {
	genericReset((void*)Result, (&NTI_i55W8RrwGKsG9cl0sAKxgkQ_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_pUxI6Ljo6IKKHXKOZkQ7Og*) newSeq((&NTI_pUxI6Ljo6IKKHXKOZkQ7Og_), ((NI) (initialSize))));
}

static N_INLINE(NI, rawGet_zIRwMVAlJ706loTKVNibUgtables)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_aQ9bGlmunsxiPO9bn4NMLVdg)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet_zIRwMVAlJ706loTKVNibUgtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_9bw2DEsl8WZBLK9cAAmFv6Kg)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* t, tySequence_pUxI6Ljo6IKKHXKOZkQ7Og** data, NimStringDesc* key, NI val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_ydvDAmdrAl9caImBqrTajfw)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* t) {
	tySequence_pUxI6Ljo6IKKHXKOZkQ7Og* n;
	NI T1_;
	tySequence_pUxI6Ljo6IKKHXKOZkQ7Og* T2_;
	n = (tySequence_pUxI6Ljo6IKKHXKOZkQ7Og*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_pUxI6Ljo6IKKHXKOZkQ7Og*) newSeq((&NTI_pUxI6Ljo6IKKHXKOZkQ7Og_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_pUxI6Ljo6IKKHXKOZkQ7Og*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_9bw2DEsl8WZBLK9cAAmFv6Kg(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_eJMbdbmImWuq69bh5K4KpHgtables)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqStrings(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__5zoGSRJ7wsRe69aot0ujw0Q)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* t, NimStringDesc* key, NI val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_zIRwMVAlJ706loTKVNibUgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_ydvDAmdrAl9caImBqrTajfw(t);
			index = rawGetKnownHC_eJMbdbmImWuq69bh5K4KpHgtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_9bw2DEsl8WZBLK9cAAmFv6Kg(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault_YMr4P8nfgPQ9cO9b7WrcVHtg)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key) {
	NI result;
	NI hc;
	NI index;
	result = (NI)0;
	hc = (NI)0;
	index = rawGet_zIRwMVAlJ706loTKVNibUgtables(t, key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = t.data->data[index].Field2;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, rawGet_RlRJm9aeypbITbYPmGVBpmg)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field2, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_iqm6UDESHopNXjGmU4P7nA)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet_RlRJm9aeypbITbYPmGVBpmg(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}

static N_INLINE(NI, rawGet_0a0hytiKUsK9cgzQb059c9coAtables)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_uBstFm5SYVQeOL3j9c9bc58A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqStrings(t.data->data[h].Field2, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D__3MszA1IsDLkWcBk0f4ZIOQ)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key) {
	tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q** result;
	NI hc;
	NI index;
	result = (tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q**)0;
	hc = (NI)0;
	index = rawGet_0a0hytiKUsK9cgzQb059c9coAtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		result = &(*t).data->data[index].Field3;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA* e;
		NimStringDesc* T6_;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*)0;
		e = (tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA*) newObj((&NTI_nuL5K2f5u8HXdjAg35PVfw_), sizeof(tyObject_KeyError_nRD4SGrdQPt47sk7LIklpA));
		(*e).Sup.Sup.Sup.Sup.m_type = (&NTI_nRD4SGrdQPt47sk7LIklpA_);
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T6_, ((NimStringDesc*) &TM_4SoG2KRQy3oMm9aUzSLtGrA_4));
appendString(T6_, key);
		asgnRefNoCycle((void**) (&(*e).Sup.Sup.Sup.message), T6_);
		asgnRef((void**) (&(*e).Sup.Sup.Sup.parent), NIM_NIL);
		raiseException((Exception*)e, "KeyError");
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable_fiyAoB3KBEd8q02UaahGaw)(NI initialSize, tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* Result) {
	genericReset((void*)Result, (&NTI_ZZvSdVkA2s2sIyifu4cpkg_));
	(*Result).counter = ((NI) 0);
	(*Result).first = ((NI) -1);
	(*Result).last = ((NI) -1);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTI_MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_wHzW7E4SNJAr7GY5xV9aKTQ)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* t, tySequence_MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field2; (*data)->data[h].Field2 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRefNoCycle((void**) (&(*data)->data[h].Field3), val);
	(*data)->data[h].Field0 = hc;
	(*data)->data[h].Field1 = ((NI) -1);
	{
		if (!((*t).first < ((NI) 0))) goto LA4_;
		(*t).first = h;
	}
	LA4_: ;
	{
		if (!(((NI) 0) <= (*t).last)) goto LA8_;
		(*data)->data[(*t).last].Field1 = h;
	}
	LA8_: ;
	(*t).last = h;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_WxcpUIMurkKssglWin5tGw)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* t) {
	tySequence_MlAD6nAPq9bHKla9cWiIZP0g* n;
	NI T1_;
	NI h;
	tySequence_MlAD6nAPq9bHKla9cWiIZP0g* T2_;
	n = (tySequence_MlAD6nAPq9bHKla9cWiIZP0g*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTI_MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	h = (*t).first;
	(*t).first = ((NI) -1);
	(*t).last = ((NI) -1);
	T2_ = (tySequence_MlAD6nAPq9bHKla9cWiIZP0g*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		while (1) {
			NI nxt;
			NI eh;
			if (!(((NI) 0) <= h)) goto LA4;
			nxt = n->data[h].Field1;
			eh = n->data[h].Field0;
			{
				NIM_BOOL T7_;
				NI j;
				NI T10_;
				T7_ = (NIM_BOOL)0;
				T7_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
				if (!T7_) goto LA8_;
				T10_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
				j = (NI)(eh & T10_);
				{
					while (1) {
						NIM_BOOL T13_;
						NI T14_;
						T13_ = (NIM_BOOL)0;
						T13_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
						if (!T13_) goto LA12;
						T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
						j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T14_);
					} LA12: ;
				}
				rawInsert_wHzW7E4SNJAr7GY5xV9aKTQ(t, (&(*t).data), n->data[h].Field2, n->data[h].Field3, n->data[h].Field0, j);
			}
			LA8_: ;
			h = nxt;
		} LA4: ;
	}
}

N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC_y5zIH0nHazZxyuNWEp4ybw)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqStrings(t.data->data[h].Field2, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__79bwPu2H8TyyZ9cDM1RrH17A)(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj_df9bshXB7C9cTiWPIOtX3j1Q* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_RlRJm9aeypbITbYPmGVBpmg((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		asgnRefNoCycle((void**) (&(*t).data->data[index].Field3), val);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_WxcpUIMurkKssglWin5tGw(t);
			index = rawGetKnownHC_y5zIH0nHazZxyuNWEp4ybw((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_wHzW7E4SNJAr7GY5xV9aKTQ(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}
static N_NIMCALL(void, Marker_tySequence_wAC0kXbVGkLoWP8vdi0sUw)(void* p, NI op) {
	tySequence_wAC0kXbVGkLoWP8vdi0sUw* a;
	NI T1_;
	a = (tySequence_wAC0kXbVGkLoWP8vdi0sUw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1.keyword, op);
	nimGCvisit((void*)a->data[T1_].Field1.link, op);
	nimGCvisit((void*)a->data[T1_].Field1.linkTitle, op);
	nimGCvisit((void*)a->data[T1_].Field1.linkDesc, op);
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_t6S4pGZGZYSl9bUnFbB3OHQ)(NI initialSize, tyObject_Table_XC01wkRgzAyOjTiapde7hQ* Result) {
	genericReset((void*)Result, (&NTI_XC01wkRgzAyOjTiapde7hQ_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_wAC0kXbVGkLoWP8vdi0sUw*) newSeq((&NTI_wAC0kXbVGkLoWP8vdi0sUw_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(NI, len_dBmnmNEkKiBsFBa0gY1oCw)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ t) {
	NI result;
	result = (NI)0;
	result = t.counter;
	return result;
}

static N_INLINE(NI, rawGet_e6griT9ctURYEPXa2IpD8qQtables)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, NI* hc) {
	NI result;
	NI h;
	NI T5_;
{	result = (NI)0;
	(*hc) = hash_Q7BtvrecnTohFQH6ezREJw(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	T5_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T5_);
	{
		while (1) {
			NIM_BOOL T8_;
			NI T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T8_) goto LA7;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (t.data->data[h].Field0 == (*hc));
				if (!(T11_)) goto LA12_;
				T11_ = eqeq__fsWIAWPnaoNtepsWNV0Ldw(t.data->data[h].Field1, key);
				LA12_: ;
				if (!T11_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T15_);
		} LA7: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawInsert_AYmZY9aGPFN9bPW6Tz9c4R1Fg)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ* t, tySequence_wAC0kXbVGkLoWP8vdi0sUw** data, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, tySequence_5PunAJrNQYcB8dF0jau3pQ* val, NI hc, NI h) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1.keyword; (*data)->data[h].Field1.keyword = copyStringRC1(key.keyword);
	if (T1_) nimGCunrefNoCycle(T1_);
	T2_ = (NimStringDesc*)0;
	T2_ = (*data)->data[h].Field1.link; (*data)->data[h].Field1.link = copyStringRC1(key.link);
	if (T2_) nimGCunrefNoCycle(T2_);
	T3_ = (NimStringDesc*)0;
	T3_ = (*data)->data[h].Field1.linkTitle; (*data)->data[h].Field1.linkTitle = copyStringRC1(key.linkTitle);
	if (T3_) nimGCunrefNoCycle(T3_);
	T4_ = (NimStringDesc*)0;
	T4_ = (*data)->data[h].Field1.linkDesc; (*data)->data[h].Field1.linkDesc = copyStringRC1(key.linkDesc);
	if (T4_) nimGCunrefNoCycle(T4_);
	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTI_5PunAJrNQYcB8dF0jau3pQ_));
	(*data)->data[h].Field0 = hc;
}

N_LIB_PRIVATE N_NIMCALL(void, enlarge_STJSjA8jj1750IW61H2O9aw)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ* t) {
	tySequence_wAC0kXbVGkLoWP8vdi0sUw* n;
	NI T1_;
	tySequence_wAC0kXbVGkLoWP8vdi0sUw* T2_;
	n = (tySequence_wAC0kXbVGkLoWP8vdi0sUw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence_wAC0kXbVGkLoWP8vdi0sUw*) newSeq((&NTI_wAC0kXbVGkLoWP8vdi0sUw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence_wAC0kXbVGkLoWP8vdi0sUw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(j, T16_);
						} LA14: ;
					}
					rawInsert_AYmZY9aGPFN9bPW6Tz9c4R1Fg(t, (&(*t).data), n->data[i].Field1, n->data[i].Field2, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}

static N_INLINE(NI, rawGetKnownHC_9anHnzGEdw3p9aixFO7oVqmQtables)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, NI hc) {
	NI result;
	NI h;
	NI T1_;
{	result = (NI)0;
	T1_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T11_;
			T4_ = (NIM_BOOL)0;
			T4_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(t.data->data[h].Field0);
			if (!T4_) goto LA3;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = (t.data->data[h].Field0 == hc);
				if (!(T7_)) goto LA8_;
				T7_ = eqeq__fsWIAWPnaoNtepsWNV0Ldw(t.data->data[h].Field1, key);
				LA8_: ;
				if (!T7_) goto LA9_;
				result = h;
				goto BeforeRet_;
			}
			LA9_: ;
			T11_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_OLPhxSyW9bte5CwHzzQVhfAtables(h, T11_);
		} LA3: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__aqmCa2fOhndlLIoSqkjFeA)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ* t, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg key, tySequence_5PunAJrNQYcB8dF0jau3pQ* val) {
	NI hc;
	NI index;
	hc = (NI)0;
	index = rawGet_e6griT9ctURYEPXa2IpD8qQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		genericSeqAssign((&(*t).data->data[index].Field2), val, (&NTI_5PunAJrNQYcB8dF0jau3pQ_));
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			T8_ = ((*t).data ? (*t).data->Sup.len : 0);
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash_CT8KHtrz1uoHrT4RgfOSmQtables(T8_, (*t).counter);
			if (!T9_) goto LA10_;
			enlarge_STJSjA8jj1750IW61H2O9aw(t);
			index = rawGetKnownHC_9anHnzGEdw3p9aixFO7oVqmQtables((*t), key, hc);
		}
		LA10_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_AYmZY9aGPFN9bPW6Tz9c4R1Fg(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_dCwU6qgEGA7e26XAloiLnQ)(NI initialSize, tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ* Result) {
	genericReset((void*)Result, (&NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI_kxu4GK0onha2t9bo86mdVAg_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_DL9b5a3z9a23fcu9bcKB8Imgg)(NI initialSize, tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA* Result) {
	genericReset((void*)Result, (&NTI_0Y2brGGKD9bV6GJLXT9aUDgA_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI_23SMqauuRsbDANhthj9bWlA_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_LtebNB4q76OB6Ms9b3jW0zg)(NI initialSize, tyObject_Table_NttoEzoiq5CiphZe81oadg* Result) {
	genericReset((void*)Result, (&NTI_NttoEzoiq5CiphZe81oadg_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI_squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (initialSize))));
}

N_LIB_PRIVATE N_NIMCALL(void, initTable_MqZVM3QTUNgK21VZFpMpxA)(NI initialSize, tyObject_Table_nagDFX4QHx0s6Fvma9blmSg* Result) {
	genericReset((void*)Result, (&NTI_nagDFX4QHx0s6Fvma9blmSg_));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence_pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI_pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (initialSize))));
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_tablesInit000)(void) {
{
	TFrame FR_; FR_.len = 0;
}
}

N_LIB_PRIVATE N_NIMCALL(void, stdlib_tablesDatInit000)(void) {
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_2[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_3[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_5[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_6[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_7[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_8[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_9[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_10[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_11[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_12[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_13[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_14[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_15[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_16[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_17[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_18[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_19[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_20[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_21[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_22[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_23[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_24[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_25[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_26[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_27[3];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_28[4];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_29[4];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_30[2];
static TNimNode* TM_4SoG2KRQy3oMm9aUzSLtGrA_31[3];
static TNimNode TM_4SoG2KRQy3oMm9aUzSLtGrA_0[103];
NTI_Ab4q9c36aMR4mtkEOIBzdzA_.size = sizeof(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA);
NTI_Ab4q9c36aMR4mtkEOIBzdzA_.kind = 18;
NTI_Ab4q9c36aMR4mtkEOIBzdzA_.base = 0;
NTI_Ab4q9c36aMR4mtkEOIBzdzA_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_2[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[1];
NTI_xYhUhS7X82rKTqbT9bRfCnw_.size = sizeof(tyTuple_xYhUhS7X82rKTqbT9bRfCnw);
NTI_xYhUhS7X82rKTqbT9bRfCnw_.kind = 18;
NTI_xYhUhS7X82rKTqbT9bRfCnw_.base = 0;
NTI_xYhUhS7X82rKTqbT9bRfCnw_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_3[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[3];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[3].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[3].offset = offsetof(tyTuple_xYhUhS7X82rKTqbT9bRfCnw, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[3].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[3].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_3[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[4];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[4].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[4].offset = offsetof(tyTuple_xYhUhS7X82rKTqbT9bRfCnw, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[4].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[4].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_3[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[5];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[5].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[5].offset = offsetof(tyTuple_xYhUhS7X82rKTqbT9bRfCnw, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[5].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[5].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[2].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[2].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[2].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_3[0];
NTI_xYhUhS7X82rKTqbT9bRfCnw_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[2];
NTI_7lEisrXlQEzwtUKW5pzRCw_.size = sizeof(tySequence_7lEisrXlQEzwtUKW5pzRCw*);
NTI_7lEisrXlQEzwtUKW5pzRCw_.kind = 24;
NTI_7lEisrXlQEzwtUKW5pzRCw_.base = (&NTI_xYhUhS7X82rKTqbT9bRfCnw_);
NTI_7lEisrXlQEzwtUKW5pzRCw_.flags = 2;
NTI_7lEisrXlQEzwtUKW5pzRCw_.marker = Marker_tySequence_7lEisrXlQEzwtUKW5pzRCw;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[1].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[1].offset = offsetof(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[1].typ = (&NTI_7lEisrXlQEzwtUKW5pzRCw_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[1].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_2[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[6];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[6].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[6].offset = offsetof(tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[6].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[6].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[0].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[0].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[0].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_2[0];
NTI_Ab4q9c36aMR4mtkEOIBzdzA_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[0];
NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_.size = sizeof(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ);
NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_.kind = 18;
NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_.base = 0;
NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_5[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[8];
NTI_xDU9bZmv1ZbZkJDaATBekIQ_.size = sizeof(tyTuple_xDU9bZmv1ZbZkJDaATBekIQ);
NTI_xDU9bZmv1ZbZkJDaATBekIQ_.kind = 18;
NTI_xDU9bZmv1ZbZkJDaATBekIQ_.base = 0;
NTI_xDU9bZmv1ZbZkJDaATBekIQ_.flags = 3;
TM_4SoG2KRQy3oMm9aUzSLtGrA_6[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[10];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[10].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[10].offset = offsetof(tyTuple_xDU9bZmv1ZbZkJDaATBekIQ, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[10].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[10].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_6[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[11];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[11].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[11].offset = offsetof(tyTuple_xDU9bZmv1ZbZkJDaATBekIQ, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[11].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[11].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_6[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[12];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[12].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[12].offset = offsetof(tyTuple_xDU9bZmv1ZbZkJDaATBekIQ, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[12].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[12].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[9].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[9].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[9].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_6[0];
NTI_xDU9bZmv1ZbZkJDaATBekIQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[9];
NTI_kxu4GK0onha2t9bo86mdVAg_.size = sizeof(tySequence_kxu4GK0onha2t9bo86mdVAg*);
NTI_kxu4GK0onha2t9bo86mdVAg_.kind = 24;
NTI_kxu4GK0onha2t9bo86mdVAg_.base = (&NTI_xDU9bZmv1ZbZkJDaATBekIQ_);
NTI_kxu4GK0onha2t9bo86mdVAg_.flags = 2;
NTI_kxu4GK0onha2t9bo86mdVAg_.marker = Marker_tySequence_kxu4GK0onha2t9bo86mdVAg;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[8].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[8].offset = offsetof(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[8].typ = (&NTI_kxu4GK0onha2t9bo86mdVAg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[8].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_5[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[13];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[13].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[13].offset = offsetof(tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[13].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[13].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[7].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[7].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[7].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_5[0];
NTI_e2Ciu0s1q49aVQ7ULXy7l9bQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[7];
NTI_0Y2brGGKD9bV6GJLXT9aUDgA_.size = sizeof(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA);
NTI_0Y2brGGKD9bV6GJLXT9aUDgA_.kind = 18;
NTI_0Y2brGGKD9bV6GJLXT9aUDgA_.base = 0;
NTI_0Y2brGGKD9bV6GJLXT9aUDgA_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_7[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[15];
NTI_2SGm9aGCXuo7XSQ9bqD29axXw_.size = sizeof(tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw);
NTI_2SGm9aGCXuo7XSQ9bqD29axXw_.kind = 18;
NTI_2SGm9aGCXuo7XSQ9bqD29axXw_.base = 0;
NTI_2SGm9aGCXuo7XSQ9bqD29axXw_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_8[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[17];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[17].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[17].offset = offsetof(tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[17].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[17].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_8[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[18];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[18].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[18].offset = offsetof(tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[18].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[18].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_8[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[19];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[19].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[19].offset = offsetof(tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[19].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[19].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[16].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[16].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[16].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_8[0];
NTI_2SGm9aGCXuo7XSQ9bqD29axXw_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[16];
NTI_23SMqauuRsbDANhthj9bWlA_.size = sizeof(tySequence_23SMqauuRsbDANhthj9bWlA*);
NTI_23SMqauuRsbDANhthj9bWlA_.kind = 24;
NTI_23SMqauuRsbDANhthj9bWlA_.base = (&NTI_2SGm9aGCXuo7XSQ9bqD29axXw_);
NTI_23SMqauuRsbDANhthj9bWlA_.flags = 2;
NTI_23SMqauuRsbDANhthj9bWlA_.marker = Marker_tySequence_23SMqauuRsbDANhthj9bWlA;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[15].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[15].offset = offsetof(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[15].typ = (&NTI_23SMqauuRsbDANhthj9bWlA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[15].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_7[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[20];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[20].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[20].offset = offsetof(tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[20].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[20].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[14].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[14].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[14].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_7[0];
NTI_0Y2brGGKD9bV6GJLXT9aUDgA_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[14];
NTI_NttoEzoiq5CiphZe81oadg_.size = sizeof(tyObject_Table_NttoEzoiq5CiphZe81oadg);
NTI_NttoEzoiq5CiphZe81oadg_.kind = 18;
NTI_NttoEzoiq5CiphZe81oadg_.base = 0;
NTI_NttoEzoiq5CiphZe81oadg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_9[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[22];
NTI_F3gkSrMB1qp2Tvf9bixVXwg_.size = sizeof(tyTuple_F3gkSrMB1qp2Tvf9bixVXwg);
NTI_F3gkSrMB1qp2Tvf9bixVXwg_.kind = 18;
NTI_F3gkSrMB1qp2Tvf9bixVXwg_.base = 0;
NTI_F3gkSrMB1qp2Tvf9bixVXwg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_10[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[24];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[24].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[24].offset = offsetof(tyTuple_F3gkSrMB1qp2Tvf9bixVXwg, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[24].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[24].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_10[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[25];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[25].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[25].offset = offsetof(tyTuple_F3gkSrMB1qp2Tvf9bixVXwg, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[25].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[25].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_10[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[26];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[26].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[26].offset = offsetof(tyTuple_F3gkSrMB1qp2Tvf9bixVXwg, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[26].typ = (&NTI_Aav8dQoMlCFnZRxA0IhTHQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[26].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[23].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[23].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[23].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_10[0];
NTI_F3gkSrMB1qp2Tvf9bixVXwg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[23];
NTI_squ9b9bUH4OLHf6cEMrt6hVA_.size = sizeof(tySequence_squ9b9bUH4OLHf6cEMrt6hVA*);
NTI_squ9b9bUH4OLHf6cEMrt6hVA_.kind = 24;
NTI_squ9b9bUH4OLHf6cEMrt6hVA_.base = (&NTI_F3gkSrMB1qp2Tvf9bixVXwg_);
NTI_squ9b9bUH4OLHf6cEMrt6hVA_.flags = 2;
NTI_squ9b9bUH4OLHf6cEMrt6hVA_.marker = Marker_tySequence_squ9b9bUH4OLHf6cEMrt6hVA;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[22].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[22].offset = offsetof(tyObject_Table_NttoEzoiq5CiphZe81oadg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[22].typ = (&NTI_squ9b9bUH4OLHf6cEMrt6hVA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[22].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_9[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[27];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[27].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[27].offset = offsetof(tyObject_Table_NttoEzoiq5CiphZe81oadg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[27].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[27].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[21].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[21].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[21].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_9[0];
NTI_NttoEzoiq5CiphZe81oadg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[21];
NTI_nagDFX4QHx0s6Fvma9blmSg_.size = sizeof(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg);
NTI_nagDFX4QHx0s6Fvma9blmSg_.kind = 18;
NTI_nagDFX4QHx0s6Fvma9blmSg_.base = 0;
NTI_nagDFX4QHx0s6Fvma9blmSg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_11[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[29];
NTI_wcNatyuf8WOqAhGLhSvgiw_.size = sizeof(tyTuple_wcNatyuf8WOqAhGLhSvgiw);
NTI_wcNatyuf8WOqAhGLhSvgiw_.kind = 18;
NTI_wcNatyuf8WOqAhGLhSvgiw_.base = 0;
NTI_wcNatyuf8WOqAhGLhSvgiw_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_12[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[31];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[31].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[31].offset = offsetof(tyTuple_wcNatyuf8WOqAhGLhSvgiw, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[31].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[31].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_12[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[32];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[32].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[32].offset = offsetof(tyTuple_wcNatyuf8WOqAhGLhSvgiw, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[32].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[32].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_12[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[33];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[33].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[33].offset = offsetof(tyTuple_wcNatyuf8WOqAhGLhSvgiw, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[33].typ = (&NTI_VZdzO0Tlflp7WMN4gS8oPg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[33].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[30].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[30].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[30].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_12[0];
NTI_wcNatyuf8WOqAhGLhSvgiw_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[30];
NTI_pHNq3oXj9av2sEUdqaqeZjw_.size = sizeof(tySequence_pHNq3oXj9av2sEUdqaqeZjw*);
NTI_pHNq3oXj9av2sEUdqaqeZjw_.kind = 24;
NTI_pHNq3oXj9av2sEUdqaqeZjw_.base = (&NTI_wcNatyuf8WOqAhGLhSvgiw_);
NTI_pHNq3oXj9av2sEUdqaqeZjw_.flags = 2;
NTI_pHNq3oXj9av2sEUdqaqeZjw_.marker = Marker_tySequence_pHNq3oXj9av2sEUdqaqeZjw;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[29].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[29].offset = offsetof(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[29].typ = (&NTI_pHNq3oXj9av2sEUdqaqeZjw_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[29].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_11[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[34];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[34].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[34].offset = offsetof(tyObject_Table_nagDFX4QHx0s6Fvma9blmSg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[34].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[34].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[28].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[28].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[28].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_11[0];
NTI_nagDFX4QHx0s6Fvma9blmSg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[28];
NTI_7O9bs4LORhqcR0JGh7d1MDg_.size = sizeof(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg);
NTI_7O9bs4LORhqcR0JGh7d1MDg_.kind = 18;
NTI_7O9bs4LORhqcR0JGh7d1MDg_.base = 0;
NTI_7O9bs4LORhqcR0JGh7d1MDg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_13[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[36];
NTI_8jHm6IGDGecciKpp2bTNxA_.size = sizeof(tyTuple_8jHm6IGDGecciKpp2bTNxA);
NTI_8jHm6IGDGecciKpp2bTNxA_.kind = 18;
NTI_8jHm6IGDGecciKpp2bTNxA_.base = 0;
NTI_8jHm6IGDGecciKpp2bTNxA_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_14[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[38];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[38].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[38].offset = offsetof(tyTuple_8jHm6IGDGecciKpp2bTNxA, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[38].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[38].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_14[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[39];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[39].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[39].offset = offsetof(tyTuple_8jHm6IGDGecciKpp2bTNxA, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[39].typ = (&NTI_Aav8dQoMlCFnZRxA0IhTHQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[39].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_14[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[40];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[40].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[40].offset = offsetof(tyTuple_8jHm6IGDGecciKpp2bTNxA, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[40].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[40].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[37].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[37].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[37].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_14[0];
NTI_8jHm6IGDGecciKpp2bTNxA_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[37];
NTI_s12F9c4cKfaapm8VzG9a1flQ_.size = sizeof(tySequence_s12F9c4cKfaapm8VzG9a1flQ*);
NTI_s12F9c4cKfaapm8VzG9a1flQ_.kind = 24;
NTI_s12F9c4cKfaapm8VzG9a1flQ_.base = (&NTI_8jHm6IGDGecciKpp2bTNxA_);
NTI_s12F9c4cKfaapm8VzG9a1flQ_.flags = 2;
NTI_s12F9c4cKfaapm8VzG9a1flQ_.marker = Marker_tySequence_s12F9c4cKfaapm8VzG9a1flQ;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[36].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[36].offset = offsetof(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[36].typ = (&NTI_s12F9c4cKfaapm8VzG9a1flQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[36].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_13[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[41];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[41].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[41].offset = offsetof(tyObject_Table_7O9bs4LORhqcR0JGh7d1MDg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[41].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[41].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[35].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[35].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[35].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_13[0];
NTI_7O9bs4LORhqcR0JGh7d1MDg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[35];
NTI_Os4it9bmHnOQtsd5CqH09aRQ_.size = sizeof(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ);
NTI_Os4it9bmHnOQtsd5CqH09aRQ_.kind = 18;
NTI_Os4it9bmHnOQtsd5CqH09aRQ_.base = 0;
NTI_Os4it9bmHnOQtsd5CqH09aRQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_15[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[43];
NTI_YGgHblKlCINajXDZno8UTQ_.size = sizeof(tyTuple_YGgHblKlCINajXDZno8UTQ);
NTI_YGgHblKlCINajXDZno8UTQ_.kind = 18;
NTI_YGgHblKlCINajXDZno8UTQ_.base = 0;
NTI_YGgHblKlCINajXDZno8UTQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_16[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[45];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[45].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[45].offset = offsetof(tyTuple_YGgHblKlCINajXDZno8UTQ, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[45].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[45].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_16[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[46];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[46].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[46].offset = offsetof(tyTuple_YGgHblKlCINajXDZno8UTQ, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[46].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[46].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_16[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[47];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[47].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[47].offset = offsetof(tyTuple_YGgHblKlCINajXDZno8UTQ, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[47].typ = (&NTI_AgIT5feFR9a9aoVjv9cx2rOtg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[47].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[44].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[44].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[44].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_16[0];
NTI_YGgHblKlCINajXDZno8UTQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[44];
NTI_hLW2w9a9bDM1AHB8BIrU3BYw_.size = sizeof(tySequence_hLW2w9a9bDM1AHB8BIrU3BYw*);
NTI_hLW2w9a9bDM1AHB8BIrU3BYw_.kind = 24;
NTI_hLW2w9a9bDM1AHB8BIrU3BYw_.base = (&NTI_YGgHblKlCINajXDZno8UTQ_);
NTI_hLW2w9a9bDM1AHB8BIrU3BYw_.flags = 2;
NTI_hLW2w9a9bDM1AHB8BIrU3BYw_.marker = Marker_tySequence_hLW2w9a9bDM1AHB8BIrU3BYw;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[43].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[43].offset = offsetof(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[43].typ = (&NTI_hLW2w9a9bDM1AHB8BIrU3BYw_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[43].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_15[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[48];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[48].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[48].offset = offsetof(tyObject_Table_Os4it9bmHnOQtsd5CqH09aRQ, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[48].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[48].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[42].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[42].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[42].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_15[0];
NTI_Os4it9bmHnOQtsd5CqH09aRQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[42];
NTI_JrI9bTpOVccKpiJXKOskjFg_.size = sizeof(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg);
NTI_JrI9bTpOVccKpiJXKOskjFg_.kind = 18;
NTI_JrI9bTpOVccKpiJXKOskjFg_.base = 0;
NTI_JrI9bTpOVccKpiJXKOskjFg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_17[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[50];
NTI_Wymbvuvlf49clEgp9bKoFN9bw_.size = sizeof(tyTuple_Wymbvuvlf49clEgp9bKoFN9bw);
NTI_Wymbvuvlf49clEgp9bKoFN9bw_.kind = 18;
NTI_Wymbvuvlf49clEgp9bKoFN9bw_.base = 0;
NTI_Wymbvuvlf49clEgp9bKoFN9bw_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_18[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[52];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[52].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[52].offset = offsetof(tyTuple_Wymbvuvlf49clEgp9bKoFN9bw, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[52].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[52].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_18[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[53];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[53].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[53].offset = offsetof(tyTuple_Wymbvuvlf49clEgp9bKoFN9bw, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[53].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[53].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_18[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[54];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[54].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[54].offset = offsetof(tyTuple_Wymbvuvlf49clEgp9bKoFN9bw, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[54].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[54].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[51].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[51].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[51].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_18[0];
NTI_Wymbvuvlf49clEgp9bKoFN9bw_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[51];
NTI_YuKuU17u5ApAIki23DK9bJw_.size = sizeof(tySequence_YuKuU17u5ApAIki23DK9bJw*);
NTI_YuKuU17u5ApAIki23DK9bJw_.kind = 24;
NTI_YuKuU17u5ApAIki23DK9bJw_.base = (&NTI_Wymbvuvlf49clEgp9bKoFN9bw_);
NTI_YuKuU17u5ApAIki23DK9bJw_.flags = 2;
NTI_YuKuU17u5ApAIki23DK9bJw_.marker = Marker_tySequence_YuKuU17u5ApAIki23DK9bJw;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[50].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[50].offset = offsetof(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[50].typ = (&NTI_YuKuU17u5ApAIki23DK9bJw_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[50].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_17[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[55];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[55].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[55].offset = offsetof(tyObject_Table_JrI9bTpOVccKpiJXKOskjFg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[55].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[55].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[49].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[49].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[49].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_17[0];
NTI_JrI9bTpOVccKpiJXKOskjFg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[49];
NTI_bBTYOvhK9cfU3hC9aEhb2BYg_.size = sizeof(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg);
NTI_bBTYOvhK9cfU3hC9aEhb2BYg_.kind = 18;
NTI_bBTYOvhK9cfU3hC9aEhb2BYg_.base = 0;
NTI_bBTYOvhK9cfU3hC9aEhb2BYg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_19[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[57];
NTI_ImmlCByLdDIzmbcHsV583w_.size = sizeof(tyTuple_ImmlCByLdDIzmbcHsV583w);
NTI_ImmlCByLdDIzmbcHsV583w_.kind = 18;
NTI_ImmlCByLdDIzmbcHsV583w_.base = 0;
NTI_ImmlCByLdDIzmbcHsV583w_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_20[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[59];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[59].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[59].offset = offsetof(tyTuple_ImmlCByLdDIzmbcHsV583w, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[59].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[59].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_20[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[60];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[60].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[60].offset = offsetof(tyTuple_ImmlCByLdDIzmbcHsV583w, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[60].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[60].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_20[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[61];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[61].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[61].offset = offsetof(tyTuple_ImmlCByLdDIzmbcHsV583w, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[61].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[61].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[58].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[58].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[58].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_20[0];
NTI_ImmlCByLdDIzmbcHsV583w_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[58];
NTI_ZySnRyYriVjDpNDRyzJyGg_.size = sizeof(tySequence_ZySnRyYriVjDpNDRyzJyGg*);
NTI_ZySnRyYriVjDpNDRyzJyGg_.kind = 24;
NTI_ZySnRyYriVjDpNDRyzJyGg_.base = (&NTI_ImmlCByLdDIzmbcHsV583w_);
NTI_ZySnRyYriVjDpNDRyzJyGg_.flags = 2;
NTI_ZySnRyYriVjDpNDRyzJyGg_.marker = Marker_tySequence_ZySnRyYriVjDpNDRyzJyGg;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[57].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[57].offset = offsetof(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[57].typ = (&NTI_ZySnRyYriVjDpNDRyzJyGg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[57].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_19[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[62];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[62].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[62].offset = offsetof(tyObject_Table_bBTYOvhK9cfU3hC9aEhb2BYg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[62].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[62].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[56].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[56].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[56].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_19[0];
NTI_bBTYOvhK9cfU3hC9aEhb2BYg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[56];
NTI_gZ3EYQdz9coOB7ngN9a1cqwA_.size = sizeof(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA);
NTI_gZ3EYQdz9coOB7ngN9a1cqwA_.kind = 18;
NTI_gZ3EYQdz9coOB7ngN9a1cqwA_.base = 0;
NTI_gZ3EYQdz9coOB7ngN9a1cqwA_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_21[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[64];
NTI_wROVfG5RQYpjEAhvO3LqdQ_.size = sizeof(tyTuple_wROVfG5RQYpjEAhvO3LqdQ);
NTI_wROVfG5RQYpjEAhvO3LqdQ_.kind = 18;
NTI_wROVfG5RQYpjEAhvO3LqdQ_.base = 0;
NTI_wROVfG5RQYpjEAhvO3LqdQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_22[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[66];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[66].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[66].offset = offsetof(tyTuple_wROVfG5RQYpjEAhvO3LqdQ, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[66].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[66].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_22[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[67];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[67].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[67].offset = offsetof(tyTuple_wROVfG5RQYpjEAhvO3LqdQ, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[67].typ = (&NTI_qtqsWM5aXmcpMIVmvq3kAA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[67].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_22[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[68];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[68].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[68].offset = offsetof(tyTuple_wROVfG5RQYpjEAhvO3LqdQ, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[68].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[68].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[65].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[65].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[65].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_22[0];
NTI_wROVfG5RQYpjEAhvO3LqdQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[65];
NTI_sII3pVVRkIdBZ2HDPdZddA_.size = sizeof(tySequence_sII3pVVRkIdBZ2HDPdZddA*);
NTI_sII3pVVRkIdBZ2HDPdZddA_.kind = 24;
NTI_sII3pVVRkIdBZ2HDPdZddA_.base = (&NTI_wROVfG5RQYpjEAhvO3LqdQ_);
NTI_sII3pVVRkIdBZ2HDPdZddA_.flags = 2;
NTI_sII3pVVRkIdBZ2HDPdZddA_.marker = Marker_tySequence_sII3pVVRkIdBZ2HDPdZddA;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[64].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[64].offset = offsetof(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[64].typ = (&NTI_sII3pVVRkIdBZ2HDPdZddA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[64].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_21[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[69];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[69].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[69].offset = offsetof(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[69].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[69].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[63].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[63].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[63].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_21[0];
NTI_gZ3EYQdz9coOB7ngN9a1cqwA_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[63];
NTI_chlLjy9bvnFM9b9bSZfiIkyGg_.size = sizeof(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg);
NTI_chlLjy9bvnFM9b9bSZfiIkyGg_.kind = 18;
NTI_chlLjy9bvnFM9b9bSZfiIkyGg_.base = 0;
NTI_chlLjy9bvnFM9b9bSZfiIkyGg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_23[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[71];
NTI_jwzrUFjG9akTIJTBBFvvqxw_.size = sizeof(tySequence_jwzrUFjG9akTIJTBBFvvqxw*);
NTI_jwzrUFjG9akTIJTBBFvvqxw_.kind = 24;
NTI_jwzrUFjG9akTIJTBBFvvqxw_.base = (&NTI_XOVT24GHXwqiEj5GCsEGCA_);
NTI_jwzrUFjG9akTIJTBBFvvqxw_.flags = 2;
NTI_jwzrUFjG9akTIJTBBFvvqxw_.marker = Marker_tySequence_jwzrUFjG9akTIJTBBFvvqxw;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[71].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[71].offset = offsetof(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[71].typ = (&NTI_jwzrUFjG9akTIJTBBFvvqxw_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[71].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_23[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[72];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[72].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[72].offset = offsetof(tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[72].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[72].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[70].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[70].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[70].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_23[0];
NTI_chlLjy9bvnFM9b9bSZfiIkyGg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[70];
NTI_tUMxxU9cRgLolsrW9b7IBGsQ_.size = sizeof(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ);
NTI_tUMxxU9cRgLolsrW9b7IBGsQ_.kind = 18;
NTI_tUMxxU9cRgLolsrW9b7IBGsQ_.base = 0;
NTI_tUMxxU9cRgLolsrW9b7IBGsQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_24[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[74];
NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_.size = sizeof(tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg);
NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_.kind = 18;
NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_.base = 0;
NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_.flags = 3;
TM_4SoG2KRQy3oMm9aUzSLtGrA_25[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[76];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[76].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[76].offset = offsetof(tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[76].typ = (&NTI_qtqsWM5aXmcpMIVmvq3kAA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[76].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_25[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[77];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[77].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[77].offset = offsetof(tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[77].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[77].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[75].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[75].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[75].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_25[0];
NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[75];
NTI_XUL1TrMU0tgXmaMFCIYgFQ_.size = sizeof(tySequence_XUL1TrMU0tgXmaMFCIYgFQ*);
NTI_XUL1TrMU0tgXmaMFCIYgFQ_.kind = 24;
NTI_XUL1TrMU0tgXmaMFCIYgFQ_.base = (&NTI_tA7Q8IrfOKH7Mn89cK9cBAIg_);
NTI_XUL1TrMU0tgXmaMFCIYgFQ_.flags = 2;
NTI_XUL1TrMU0tgXmaMFCIYgFQ_.marker = Marker_tySequence_XUL1TrMU0tgXmaMFCIYgFQ;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[74].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[74].offset = offsetof(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[74].typ = (&NTI_XUL1TrMU0tgXmaMFCIYgFQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[74].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_24[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[78];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[78].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[78].offset = offsetof(tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[78].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[78].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[73].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[73].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[73].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_24[0];
NTI_tUMxxU9cRgLolsrW9b7IBGsQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[73];
NTI_i55W8RrwGKsG9cl0sAKxgkQ_.size = sizeof(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ);
NTI_i55W8RrwGKsG9cl0sAKxgkQ_.kind = 18;
NTI_i55W8RrwGKsG9cl0sAKxgkQ_.base = 0;
NTI_i55W8RrwGKsG9cl0sAKxgkQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_26[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[80];
NTI_sr3s7uVHpu9cEbbDnCSg8yQ_.size = sizeof(tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ);
NTI_sr3s7uVHpu9cEbbDnCSg8yQ_.kind = 18;
NTI_sr3s7uVHpu9cEbbDnCSg8yQ_.base = 0;
NTI_sr3s7uVHpu9cEbbDnCSg8yQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_27[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[82];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[82].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[82].offset = offsetof(tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[82].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[82].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_27[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[83];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[83].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[83].offset = offsetof(tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[83].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[83].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_27[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[84];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[84].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[84].offset = offsetof(tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[84].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[84].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[81].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[81].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[81].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_27[0];
NTI_sr3s7uVHpu9cEbbDnCSg8yQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[81];
NTI_pUxI6Ljo6IKKHXKOZkQ7Og_.size = sizeof(tySequence_pUxI6Ljo6IKKHXKOZkQ7Og*);
NTI_pUxI6Ljo6IKKHXKOZkQ7Og_.kind = 24;
NTI_pUxI6Ljo6IKKHXKOZkQ7Og_.base = (&NTI_sr3s7uVHpu9cEbbDnCSg8yQ_);
NTI_pUxI6Ljo6IKKHXKOZkQ7Og_.flags = 2;
NTI_pUxI6Ljo6IKKHXKOZkQ7Og_.marker = Marker_tySequence_pUxI6Ljo6IKKHXKOZkQ7Og;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[80].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[80].offset = offsetof(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[80].typ = (&NTI_pUxI6Ljo6IKKHXKOZkQ7Og_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[80].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_26[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[85];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[85].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[85].offset = offsetof(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[85].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[85].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[79].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[79].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[79].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_26[0];
NTI_i55W8RrwGKsG9cl0sAKxgkQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[79];
NTI_ZZvSdVkA2s2sIyifu4cpkg_.size = sizeof(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg);
NTI_ZZvSdVkA2s2sIyifu4cpkg_.kind = 18;
NTI_ZZvSdVkA2s2sIyifu4cpkg_.base = 0;
NTI_ZZvSdVkA2s2sIyifu4cpkg_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_28[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[87];
NTI_awOivLjlO76sGdHY7nQUjQ_.size = sizeof(tyTuple_awOivLjlO76sGdHY7nQUjQ);
NTI_awOivLjlO76sGdHY7nQUjQ_.kind = 18;
NTI_awOivLjlO76sGdHY7nQUjQ_.base = 0;
NTI_awOivLjlO76sGdHY7nQUjQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_29[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[89];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[89].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[89].offset = offsetof(tyTuple_awOivLjlO76sGdHY7nQUjQ, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[89].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[89].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_29[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[90];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[90].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[90].offset = offsetof(tyTuple_awOivLjlO76sGdHY7nQUjQ, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[90].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[90].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_29[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[91];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[91].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[91].offset = offsetof(tyTuple_awOivLjlO76sGdHY7nQUjQ, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[91].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[91].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_29[3] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[92];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[92].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[92].offset = offsetof(tyTuple_awOivLjlO76sGdHY7nQUjQ, Field3);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[92].typ = (&NTI_zfzzuQ8txrdZAYK0WGWpHg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[92].name = "Field3";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[88].len = 4; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[88].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[88].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_29[0];
NTI_awOivLjlO76sGdHY7nQUjQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[88];
NTI_MlAD6nAPq9bHKla9cWiIZP0g_.size = sizeof(tySequence_MlAD6nAPq9bHKla9cWiIZP0g*);
NTI_MlAD6nAPq9bHKla9cWiIZP0g_.kind = 24;
NTI_MlAD6nAPq9bHKla9cWiIZP0g_.base = (&NTI_awOivLjlO76sGdHY7nQUjQ_);
NTI_MlAD6nAPq9bHKla9cWiIZP0g_.flags = 2;
NTI_MlAD6nAPq9bHKla9cWiIZP0g_.marker = Marker_tySequence_MlAD6nAPq9bHKla9cWiIZP0g;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[87].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[87].offset = offsetof(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[87].typ = (&NTI_MlAD6nAPq9bHKla9cWiIZP0g_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[87].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_28[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[93];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[93].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[93].offset = offsetof(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[93].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[93].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_28[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[94];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[94].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[94].offset = offsetof(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg, first);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[94].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[94].name = "first";
TM_4SoG2KRQy3oMm9aUzSLtGrA_28[3] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[95];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[95].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[95].offset = offsetof(tyObject_OrderedTable_ZZvSdVkA2s2sIyifu4cpkg, last);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[95].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[95].name = "last";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[86].len = 4; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[86].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[86].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_28[0];
NTI_ZZvSdVkA2s2sIyifu4cpkg_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[86];
NTI_XC01wkRgzAyOjTiapde7hQ_.size = sizeof(tyObject_Table_XC01wkRgzAyOjTiapde7hQ);
NTI_XC01wkRgzAyOjTiapde7hQ_.kind = 18;
NTI_XC01wkRgzAyOjTiapde7hQ_.base = 0;
NTI_XC01wkRgzAyOjTiapde7hQ_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_30[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[97];
NTI_A9cRoiotm9actU8lLMnN9bYcw_.size = sizeof(tyTuple_A9cRoiotm9actU8lLMnN9bYcw);
NTI_A9cRoiotm9actU8lLMnN9bYcw_.kind = 18;
NTI_A9cRoiotm9actU8lLMnN9bYcw_.base = 0;
NTI_A9cRoiotm9actU8lLMnN9bYcw_.flags = 2;
TM_4SoG2KRQy3oMm9aUzSLtGrA_31[0] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[99];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[99].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[99].offset = offsetof(tyTuple_A9cRoiotm9actU8lLMnN9bYcw, Field0);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[99].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[99].name = "Field0";
TM_4SoG2KRQy3oMm9aUzSLtGrA_31[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[100];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[100].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[100].offset = offsetof(tyTuple_A9cRoiotm9actU8lLMnN9bYcw, Field1);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[100].typ = (&NTI_G9ccBDFWfr9aYnLgXTNGDHDg_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[100].name = "Field1";
TM_4SoG2KRQy3oMm9aUzSLtGrA_31[2] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[101];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[101].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[101].offset = offsetof(tyTuple_A9cRoiotm9actU8lLMnN9bYcw, Field2);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[101].typ = (&NTI_5PunAJrNQYcB8dF0jau3pQ_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[101].name = "Field2";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[98].len = 3; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[98].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[98].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_31[0];
NTI_A9cRoiotm9actU8lLMnN9bYcw_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[98];
NTI_wAC0kXbVGkLoWP8vdi0sUw_.size = sizeof(tySequence_wAC0kXbVGkLoWP8vdi0sUw*);
NTI_wAC0kXbVGkLoWP8vdi0sUw_.kind = 24;
NTI_wAC0kXbVGkLoWP8vdi0sUw_.base = (&NTI_A9cRoiotm9actU8lLMnN9bYcw_);
NTI_wAC0kXbVGkLoWP8vdi0sUw_.flags = 2;
NTI_wAC0kXbVGkLoWP8vdi0sUw_.marker = Marker_tySequence_wAC0kXbVGkLoWP8vdi0sUw;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[97].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[97].offset = offsetof(tyObject_Table_XC01wkRgzAyOjTiapde7hQ, data);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[97].typ = (&NTI_wAC0kXbVGkLoWP8vdi0sUw_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[97].name = "data";
TM_4SoG2KRQy3oMm9aUzSLtGrA_30[1] = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[102];
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[102].kind = 1;
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[102].offset = offsetof(tyObject_Table_XC01wkRgzAyOjTiapde7hQ, counter);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[102].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[102].name = "counter";
TM_4SoG2KRQy3oMm9aUzSLtGrA_0[96].len = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[96].kind = 2; TM_4SoG2KRQy3oMm9aUzSLtGrA_0[96].sons = &TM_4SoG2KRQy3oMm9aUzSLtGrA_30[0];
NTI_XC01wkRgzAyOjTiapde7hQ_.node = &TM_4SoG2KRQy3oMm9aUzSLtGrA_0[96];
}

