text: /* Generated by Nim Compiler v0.17.2 */
  /*   (c) 2018 Andreas Rumpf */
  /* The generated code is subject to the original license. */
  /* Compiled for: Linux, amd64, gcc */
  /* Command for C compiler:
     gcc -c  -w  -I/usr/lib/nim -o /home/mulh8377/Courses/TextAnalyis/projects/cs5293-project0/nimcache/stdlib_xmltree.o /home/mulh8377/Courses/TextAnalyis/projects/cs5293-project0/nimcache/stdlib_xmltree.c */
  #define NIM_NEW_MANGLING_RULES
  #define NIM_INTBITS 64
  
  #include "nimbase.h"
  #include <string.h>
  #undef LANGUAGE_C
  #undef MIPSEB
  #undef MIPSEL
  #undef PPC
  #undef R3000
  #undef R4000
  #undef i386
  #undef linux
  #undef mips
  #undef near
  #undef powerpc
  #undef unix
  typedef struct tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ;
  typedef struct NimStringDesc NimStringDesc;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct tySequence_AjV3cEUgs0Y9c7dCt9aItdIA tySequence_AjV3cEUgs0Y9c7dCt9aItdIA;
  typedef struct tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw;
  typedef struct TNimType TNimType;
  typedef struct TNimNode TNimNode;
  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_LLChunk_XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
  typedef struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
  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 RootObj RootObj;
  typedef struct tySequence_4eQHGndY6XBYpFOH09apV8Q tySequence_4eQHGndY6XBYpFOH09apV8Q;
  typedef struct tyTuple_UV3llMMYFckfui8YMBuUZA tyTuple_UV3llMMYFckfui8YMBuUZA;
  typedef struct tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w;
  typedef struct tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ;
  typedef NU8 tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg;
  struct TGenericSeq {
  NI len;
  NI reserved;
  };
  struct NimStringDesc {
    TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
  };
  struct tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ {
  tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg k;
  union{
  struct {NimStringDesc* fText;
  } S1;
  struct {NimStringDesc* fTag;
  tySequence_AjV3cEUgs0Y9c7dCt9aItdIA* s;
  tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* fAttr;
  } S2;
  } kU;
  NI fClientData;
  };
  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;
  };
  typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
  struct TNimNode {
  tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
  NI offset;
  TNimType* typ;
  NCSTRING name;
  NI len;
  TNimNode** sons;
  };
  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 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;
  tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* llmem;
  NI currMem;
  NI maxMem;
  NI freeMem;
  NI lastSize;
  tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* freeChunksList;
  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;
  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;
  };
  struct RootObj {
  TNimType* m_type;
  };
  typedef NU8 tyEnum_StringTableMode_G9c4wVDFIzf0xHmQvxso9a9cQ;
  struct tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw {
    RootObj Sup;
  NI counter;
  tySequence_4eQHGndY6XBYpFOH09apV8Q* data;
  tyEnum_StringTableMode_G9c4wVDFIzf0xHmQvxso9a9cQ mode;
  };
  struct tyTuple_UV3llMMYFckfui8YMBuUZA {
  NimStringDesc* Field0;
  NimStringDesc* Field1;
  };
  struct tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w {
  NI prevSize;
  NI size;
  };
  struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ {
    tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
  tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* next;
  tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* prev;
  tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ* freeList;
  NI free;
  NI acc;
  NF data;
  };
  struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw {
  NI size;
  NI acc;
  tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* next;
  };
  struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg {
    tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
  tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* next;
  tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* prev;
  NF data;
  };
  typedef NI tyArray_9a8QARi5WsUggNU9bom7kzTQ[8];
  struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw {
  tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next;
  NI key;
  tyArray_9a8QARi5WsUggNU9bom7kzTQ bits;
  };
  struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg {
  tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg* next;
  NI key;
  tyArray_9a8QARi5WsUggNU9bom7kzTQ bits;
  };
  struct tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ {
  tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ* next;
  NI zeroField;
  };
  struct tySequence_AjV3cEUgs0Y9c7dCt9aItdIA {
    TGenericSeq Sup;
    tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* data[SEQ_DECL_SIZE];
  };
  struct tySequence_4eQHGndY6XBYpFOH09apV8Q {
    TGenericSeq Sup;
    tyTuple_UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE];
  };
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newXmlNode_zocgm9bE8KcazL4WHT9axo9bg)(tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg kind);
  N_NIMCALL(void, nimGCvisit)(void* d, NI op);
  static N_NIMCALL(void, Marker_tySequence_AjV3cEUgs0Y9c7dCt9aItdIA)(void* p, NI op);
  static N_NIMCALL(void, Marker_tyRef_TikLQZVsFf7R0nt3oy4s9bg)(void* p, NI op);
  N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
  N_NIMCALL(void, FieldDiscriminantCheck)(NI oldDiscVal, NI newDiscVal, TNimNode** a, NI L);
  static N_INLINE(void, nimFrame)(TFrame* s);
  N_NOINLINE(void, stackOverflow_II46IjNZztN9bmbxUD8dt8g)(void);
  static N_INLINE(void, popFrame)(void);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newElement_uONDNX4Q6ri9c9cSfLIvv8DQ)(NimStringDesc* tag);
  N_NOINLINE(void, raiseFieldError)(NimStringDesc* f);
  N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
  static N_INLINE(void, nimGCunrefNoCycle)(void* p);
  static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr);
  static N_INLINE(void, rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
  N_NOINLINE(void, addZCT_fCDI7oO1NNVXXURtxSzsRw)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
  N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newText_qt1k3g1aYfrKRVDFYKeG3A)(NimStringDesc* text);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newComment_XIJqUJEpTq2bai9bulcUi9bg)(NimStringDesc* comment);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newCData_WuMZkkUy9cJG3jFSbh019avw)(NimStringDesc* cdata);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newEntity_9ctb9aQYaBwNTYctI3EKuEvQ)(NimStringDesc* entity);
  static N_INLINE(NimStringDesc*, text_QtoaNWis79bdA859c6he5fbAxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  N_NIMCALL(void, failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA)(NimStringDesc* msg);
  N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
  static N_INLINE(void, texteq__UCmBNzoBpBKFh9ccEBG0VNQxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* text);
  static N_INLINE(NimStringDesc*, rawText_QtoaNWis79bdA859c6he5fbA_2xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(NimStringDesc*, rawTag_QtoaNWis79bdA859c6he5fbA_3xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  N_NIMCALL(NimStringDesc*, innerText_J8zSYsXiqc2Cue41dd0uuw)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  N_NIMCALL(void, worker_R5GJM7it1tbj9bKx8GW2Arg)(NimStringDesc** res, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
  static N_INLINE(void, copyMem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, void* source, NI size);
  N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
  N_NOINLINE(void, raiseIndexError)(void);
  static N_INLINE(NI, addInt)(NI a, NI b);
  N_NOINLINE(void, raiseOverflow)(void);
  static N_INLINE(NimStringDesc*, tag_QtoaNWis79bdA859c6he5fbA_4xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(void, tageq__sqzIUxe6N8aFHqmX6csYQAxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* tag);
  static N_INLINE(void, add_IfMT5tPSNLKQQespGYVK4gxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* father, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* son);
  N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq, NI elemSize);
  static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
  N_NIMCALL(void, insert_KaazKnpxYeCmXBLI9c2Y4MA)(tySequence_AjV3cEUgs0Y9c7dCt9aItdIA** x, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* item, NI i);
  static N_INLINE(void, insert_amK6yK6mfhTO9cDSHOZo7Pwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* father, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* son, NI index);
  static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
  N_NOINLINE(void, raiseRangeError)(NI64 val);
  static N_INLINE(NI, len_nNpwpmx4yrat7uqLK78Ljwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg, kind_tga3MeAof39b4TZ0fuaeZXgxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI i);
  N_NIMCALL(void, delete_gWrVbGhkXRG8BpHa2fyaGg)(tySequence_AjV3cEUgs0Y9c7dCt9aItdIA** x, NI i);
  N_NIMCALL(void, delete_eSTR0eTs7Q3CTVCKGhf0iA)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI i);
  static N_INLINE(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ**, X5BX5D__gUjsy8bWDoNTSKKZJpPZRwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** n, NI i);
  static N_INLINE(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ**, mget_gUjsy8bWDoNTSKKZJpPZRw_2xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** n, NI i);
  static N_INLINE(tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw*, attrs_2QT0Y19bvocFDK3gux9c644Qxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(void, attrseq__n1dueK1BMvuSCXgFQEIhvwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* attr);
  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);
  static N_INLINE(NI, attrsLen_nNpwpmx4yrat7uqLK78Ljw_2xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  N_NIMCALL(NI, nstlen)(tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* t);
  static N_INLINE(NI, clientData_nNpwpmx4yrat7uqLK78Ljw_3xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(void, clientDataeq__pQVVerYdGzV29cVNcvrYS9aAxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI data);
  N_NIMCALL(void, addEscaped_Sz4t9bYeRWG9bGp5ci6iq0Gg)(NimStringDesc** result, NimStringDesc* s);
  N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
  N_NIMCALL(NimStringDesc*, escape_zpJJik0owP9caseGcw2LLIQ)(NimStringDesc* s);
  N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
  N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
  N_NIMCALL(void, addIndent_L05R3NaizQIzWPJoVmRnOQ)(NimStringDesc** result, NI indent);
  N_NIMCALL(NIM_BOOL, noWhitespace_7lf1TsEh4xrYSwCjJdbzhg)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  static N_INLINE(NI, subInt)(NI a, NI b);
  N_NIMCALL(void, add_OpXIXvW9ceTKs1efxmHpO7Q)(NimStringDesc** result, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI indent, NI indWidth);
  N_NIMCALL(void, addEscapedAttr_Sz4t9bYeRWG9bGp5ci6iq0Gg_2)(NimStringDesc** result, NimStringDesc* s);
  N_NIMCALL(NimStringDesc*, dollar__J8zSYsXiqc2Cue41dd0uuw_2)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newXmlTree_X1IpfV8s0Su0ztUes1qaWw)(NimStringDesc* tag, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** children, NI childrenLen_0, tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* attributes);
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, child_vd9cQ6VOpbUvYGMOMtU76hQ)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* name);
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
  static N_INLINE(NIM_BOOL, equalMem_fmeFeLBvgmAHG9bC8ETS9bYQsystem)(void* a, void* b, NI size);
  N_NIMCALL(NimStringDesc*, attr_bmHX2VR5JgLhf8uEacZNPg)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* name);
  N_NIMCALL(NimStringDesc*, getOrDefault_sPC3Tb9bX9b1TxdHlL7x9cN3Q)(tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* t, NimStringDesc* key, NimStringDesc* default_0);
  N_NIMCALL(void, findAll_4I9bCKVoyMTDwbYYQINHbQQ)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* tag, tySequence_AjV3cEUgs0Y9c7dCt9aItdIA** result);
  N_NIMCALL(tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*, findAll_MDjuw9ckES89aDttZ7GAr1HQ)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* tag);
  N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
  TNimType NTI_X79bE2j9a1V7tizbx9blALudQ_;
  TNimType NTI_L9a59cbX9cQkF2r36q7xUnCbg_;
  extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg_;
  TNimType NTI_AjV3cEUgs0Y9c7dCt9aItdIA_;
  extern TNimType NTI_pkhT5bYRU9ayIZ9cBuuCx4Xw_;
  extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA_;
  TNimType NTI_TikLQZVsFf7R0nt3oy4s9bg_;
  extern TNimNode* NimDT__X79bE2j9a1V7tizbx9blALudQ_k[6];
  extern TFrame* framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw;
  extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
  TNimNode* NimDT__X79bE2j9a1V7tizbx9blALudQ_k[6];
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7, "fTag", 4);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8, "s", 1);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9, "fText", 5);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_10, "contains({xnText, xnComment, xnCData, xnEntity}, n.k) ", 54);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_11, "", 0);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_13, "len(a) == L seq modified while iterating over it", 48);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14, "n.k == xnElement ", 17);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_15, "father.k == xnElement and son.k == xnElement ", 45);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16, "fAttr", 5);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_17, "&lt;", 4);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_18, "&gt;", 4);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_19, "&amp;", 5);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_20, "&quot;", 6);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_21, "&#x27;", 6);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_22, "&#x2F;", 6);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_24, "len(a) == L string modified while iterating over it", 51);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_25, "\012", 1);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_29, "=\"", 2);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_40, "</", 2);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_41, ">", 1);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_42, " />", 3);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_43, "<!-- ", 5);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_44, " -->", 4);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_45, "<![CDATA[", 9);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_46, "]]>", 3);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_49, "kind(n) == xnElement ", 21);
  STRING_LITERAL(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_52, "isNil(result) == false ", 23);
  static N_NIMCALL(void, Marker_tySequence_AjV3cEUgs0Y9c7dCt9aItdIA)(void* p, NI op) {
  	tySequence_AjV3cEUgs0Y9c7dCt9aItdIA* a;
  	NI T1_;
  	a = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*)p;
  	T1_ = (NI)0;
  	for (T1_ = 0; T1_ < a->Sup.len; T1_++) {
  	nimGCvisit((void*)a->data[T1_], op);
  	}
  }
  static N_NIMCALL(void, Marker_tyRef_TikLQZVsFf7R0nt3oy4s9bg)(void* p, NI op) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* a;
  	a = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)p;
  	switch ((*a).k) {
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 0):
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 4):
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 2):
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 3):
  	nimGCvisit((void*)(*a).kU.S1.fText, op);
  	break;
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1):
  	nimGCvisit((void*)(*a).kU.S2.fTag, op);
  	nimGCvisit((void*)(*a).kU.S2.s, op);
  	nimGCvisit((void*)(*a).kU.S2.fAttr, op);
  	break;
  	} 
  }
  
  static N_INLINE(void, nimFrame)(TFrame* s) {
  	NI T1_;
  	T1_ = (NI)0;
  	{
  		if (!(framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA4_;
  		T1_ = ((NI) 0);
  	}
  	goto LA2_;
  	LA4_: ;
  	{
  		T1_ = ((NI) ((NI16)((*framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1))));
  	}
  	LA2_: ;
  	(*s).calldepth = ((NI16) (T1_));
  	(*s).prev = framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw;
  	framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw = s;
  	{
  		if (!((*s).calldepth == ((NI16) 2000))) goto LA9_;
  		stackOverflow_II46IjNZztN9bmbxUD8dt8g();
  	}
  	LA9_: ;
  }
  
  static N_INLINE(void, popFrame)(void) {
  	framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newXmlNode_zocgm9bE8KcazL4WHT9axo9bg)(tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg kind) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg T1_;
  	nimfr_("newXmlNode", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(41, "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*) newObj((&NTI_TikLQZVsFf7R0nt3oy4s9bg_), sizeof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ));
  	nimln_(42, "xmltree.nim");
  	T1_ = (tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg)0;
  	T1_ = kind;
  	FieldDiscriminantCheck((NI)(NU)((*result).k), (NI)(NU)(T1_), NimDT__X79bE2j9a1V7tizbx9blALudQ_k, 6);
  	(*result).k = T1_;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr) {
  	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* result;
  	nimfr_("usrToCell", "gc.nim");
  	result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
  	nimln_(138, "gc.nim");
  	result = ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (usr))) - (NU64)(((NI)sizeof(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
  	popFrame();
  	return result;
  }
  
  static N_INLINE(void, rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	nimfr_("rtlAddZCT", "gc.nim");
  	nimln_(216, "gc.nim");
  	addZCT_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c);
  	popFrame();
  }
  
  static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
  	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c;
  	nimfr_("nimGCunrefNoCycle", "gc.nim");
  	nimln_(255, "gc.nim");
  	c = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p);
  	nimln_(257, "gc.nim");
  	{
  		(*c).refcount -= ((NI) 8);
  		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
  		nimln_(258, "gc.nim");
  		rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c);
  	}
  	LA3_: ;
  	popFrame();
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newElement_uONDNX4Q6ri9c9cSfLIvv8DQ)(NimStringDesc* tag) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	NimStringDesc* T1_;
  	nimfr_("newElement", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(46, "xmltree.nim");
  	result = newXmlNode_zocgm9bE8KcazL4WHT9axo9bg(((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1));
  	if (!(((2 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  	nimln_(47, "xmltree.nim");
  	T1_ = (NimStringDesc*)0;
  	T1_ = (*result).kU.S2.fTag; (*result).kU.S2.fTag = copyStringRC1(tag);
  	if (T1_) nimGCunrefNoCycle(T1_);
  	if (!(((2 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  	nimln_(48, "xmltree.nim");
  	if ((*result).kU.S2.s) { nimGCunrefNoCycle((*result).kU.S2.s); (*result).kU.S2.s = NIM_NIL; }
  	(*result).kU.S2.s = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*) newSeqRC1((&NTI_AjV3cEUgs0Y9c7dCt9aItdIA_), 0);
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newText_qt1k3g1aYfrKRVDFYKeG3A)(NimStringDesc* text) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	NimStringDesc* T1_;
  	nimfr_("newText", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(53, "xmltree.nim");
  	result = newXmlNode_zocgm9bE8KcazL4WHT9axo9bg(((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 0));
  	if (!(((29 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	nimln_(54, "xmltree.nim");
  	T1_ = (NimStringDesc*)0;
  	T1_ = (*result).kU.S1.fText; (*result).kU.S1.fText = copyStringRC1(text);
  	if (T1_) nimGCunrefNoCycle(T1_);
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newComment_XIJqUJEpTq2bai9bulcUi9bg)(NimStringDesc* comment) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	NimStringDesc* T1_;
  	nimfr_("newComment", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(58, "xmltree.nim");
  	result = newXmlNode_zocgm9bE8KcazL4WHT9axo9bg(((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 4));
  	if (!(((29 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	nimln_(59, "xmltree.nim");
  	T1_ = (NimStringDesc*)0;
  	T1_ = (*result).kU.S1.fText; (*result).kU.S1.fText = copyStringRC1(comment);
  	if (T1_) nimGCunrefNoCycle(T1_);
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newCData_WuMZkkUy9cJG3jFSbh019avw)(NimStringDesc* cdata) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	NimStringDesc* T1_;
  	nimfr_("newCData", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(63, "xmltree.nim");
  	result = newXmlNode_zocgm9bE8KcazL4WHT9axo9bg(((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 2));
  	if (!(((29 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	nimln_(64, "xmltree.nim");
  	T1_ = (NimStringDesc*)0;
  	T1_ = (*result).kU.S1.fText; (*result).kU.S1.fText = copyStringRC1(cdata);
  	if (T1_) nimGCunrefNoCycle(T1_);
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newEntity_9ctb9aQYaBwNTYctI3EKuEvQ)(NimStringDesc* entity) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	NimStringDesc* T1_;
  	nimfr_("newEntity", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(68, "xmltree.nim");
  	result = newXmlNode_zocgm9bE8KcazL4WHT9axo9bg(((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 3));
  	if (!(((29 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	nimln_(69, "xmltree.nim");
  	T1_ = (NimStringDesc*)0;
  	T1_ = (*result).kU.S1.fText; (*result).kU.S1.fText = copyStringRC1(entity);
  	if (T1_) nimGCunrefNoCycle(T1_);
  	popFrame();
  	return result;
  }
  
  static N_INLINE(NimStringDesc*, text_QtoaNWis79bdA859c6he5fbAxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NimStringDesc* result;
  	nimfr_("text", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(74, "xmltree.nim");
  	{
  		if (!!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_10));
  	}
  	LA3_: ;
  	nimln_(75, "xmltree.nim");
  	if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	result = copyString((*n).kU.S1.fText);
  	popFrame();
  	return result;
  }
  
  static N_INLINE(void, texteq__UCmBNzoBpBKFh9ccEBG0VNQxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* text) {
  	NimStringDesc* T5_;
  	nimfr_("text=", "xmltree.nim");
  	nimln_(80, "xmltree.nim");
  	{
  		if (!!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_10));
  	}
  	LA3_: ;
  	if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	nimln_(81, "xmltree.nim");
  	T5_ = (NimStringDesc*)0;
  	T5_ = (*n).kU.S1.fText; (*n).kU.S1.fText = copyStringRC1(text);
  	if (T5_) nimGCunrefNoCycle(T5_);
  	popFrame();
  }
  
  static N_INLINE(NimStringDesc*, rawText_QtoaNWis79bdA859c6he5fbA_2xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NimStringDesc* result;
  	nimfr_("rawText", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(86, "xmltree.nim");
  	if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  	result = (*n).kU.S1.fText;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(NimStringDesc*, rawTag_QtoaNWis79bdA859c6he5fbA_3xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NimStringDesc* result;
  	nimfr_("rawTag", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(91, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  	result = (*n).kU.S2.fTag;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(void, copyMem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, void* source, NI size) {
  	void* T1_;
  	T1_ = (void*)0;
  	T1_ = memcpy(dest, source, ((size_t) (size)));
  }
  
  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
  	copyMem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest).data[((*dest).Sup.len)- 0]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
  	(*dest).Sup.len += (*src).Sup.len;
  }
  
  static N_INLINE(NI, addInt)(NI a, NI b) {
  	NI result;
  {	result = (NI)0;
  	result = (NI)((NU64)(a) + (NU64)(b));
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = (((NI) 0) <= (NI)(result ^ a));
  		if (T3_) goto LA4_;
  		T3_ = (((NI) 0) <= (NI)(result ^ b));
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		goto BeforeRet_;
  	}
  	LA5_: ;
  	raiseOverflow();
  	}BeforeRet_: ;
  	return result;
  }
  
  N_NIMCALL(void, worker_R5GJM7it1tbj9bKx8GW2Arg)(NimStringDesc** res, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	nimfr_("worker", "xmltree.nim");
  	nimln_(101, "xmltree.nim");
  	switch ((*n).k) {
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 0):
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 3):
  	{
  		nimln_(103, "xmltree.nim");
  		if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  		(*res) = resizeString((*res), (*n).kU.S1.fText->Sup.len + 0);
  appendString((*res), (*n).kU.S1.fText);
  	}
  	break;
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1):
  	{
  		{
  			tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* sub;
  			tySequence_AjV3cEUgs0Y9c7dCt9aItdIA* colontmp_;
  			NI i;
  			NI L;
  			NI T4_;
  			sub = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  			colontmp_ = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*)0;
  			nimln_(105, "xmltree.nim");
  			if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  			colontmp_ = (*n).kU.S2.s;
  			nimln_(3639, "system.nim");
  			i = ((NI) 0);
  			nimln_(3640, "system.nim");
  			T4_ = (colontmp_ ? colontmp_->Sup.len : 0);
  			L = T4_;
  			{
  				nimln_(3641, "system.nim");
  				while (1) {
  					NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_12;
  					if (!(i < L)) goto LA6;
  					nimln_(3642, "system.nim");
  					if ((NU)(i) >= (NU)(colontmp_->Sup.len)) raiseIndexError();
  					sub = colontmp_->data[i];
  					nimln_(106, "xmltree.nim");
  					worker_R5GJM7it1tbj9bKx8GW2Arg(res, sub);
  					nimln_(3643, "system.nim");
  					TM_qYyKc6OpDWHHaBXL9bX9aQ2A_12 = addInt(i, ((NI) 1));
  					i = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_12);
  					nimln_(3644, "system.nim");
  					{
  						NI T9_;
  						T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
  						if (!!((T9_ == L))) goto LA10_;
  						failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_13));
  					}
  					LA10_: ;
  				} LA6: ;
  			}
  		}
  	}
  	break;
  	default:
  	{
  	}
  	break;
  	}
  	popFrame();
  }
  
  N_NIMCALL(NimStringDesc*, innerText_J8zSYsXiqc2Cue41dd0uuw)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NimStringDesc* result;
  	nimfr_("innerText", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(110, "xmltree.nim");
  	result = copyString(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_11));
  	nimln_(111, "xmltree.nim");
  	worker_R5GJM7it1tbj9bKx8GW2Arg((&result), n);
  	popFrame();
  	return result;
  }
  
  static N_INLINE(NimStringDesc*, tag_QtoaNWis79bdA859c6he5fbA_4xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NimStringDesc* result;
  	nimfr_("tag", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(115, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	nimln_(116, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  	result = copyString((*n).kU.S2.fTag);
  	popFrame();
  	return result;
  }
  
  static N_INLINE(void, tageq__sqzIUxe6N8aFHqmX6csYQAxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* tag) {
  	NimStringDesc* T5_;
  	nimfr_("tag=", "xmltree.nim");
  	nimln_(120, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  	nimln_(121, "xmltree.nim");
  	T5_ = (NimStringDesc*)0;
  	T5_ = (*n).kU.S2.fTag; (*n).kU.S2.fTag = copyStringRC1(tag);
  	if (T5_) nimGCunrefNoCycle(T5_);
  	popFrame();
  }
  
  static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
  	nimfr_("asgnRefNoCycle", "gc.nim");
  	nimln_(276, "gc.nim");
  	{
  		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c;
  		nimln_(378, "system.nim");
  		nimln_(276, "gc.nim");
  		if (!!((src == NIM_NIL))) goto LA3_;
  		nimln_(277, "gc.nim");
  		c = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src);
  		nimln_(278, "gc.nim");
  		(*c).refcount += ((NI) 8);
  	}
  	LA3_: ;
  	nimln_(279, "gc.nim");
  	{
  		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c_2;
  		nimln_(378, "system.nim");
  		nimln_(279, "gc.nim");
  		if (!!(((*dest) == NIM_NIL))) goto LA7_;
  		nimln_(280, "gc.nim");
  		c_2 = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest));
  		nimln_(281, "gc.nim");
  		{
  			(*c_2).refcount -= ((NI) 8);
  			if (!((NU64)((*c_2).refcount) < (NU64)(((NI) 8)))) goto LA11_;
  			nimln_(282, "gc.nim");
  			rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c_2);
  		}
  		LA11_: ;
  	}
  	LA7_: ;
  	nimln_(283, "gc.nim");
  	(*dest) = src;
  	popFrame();
  }
  
  static N_INLINE(void, add_IfMT5tPSNLKQQespGYVK4gxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* father, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* son) {
  	NI T1_;
  	nimfr_("add", "xmltree.nim");
  	nimln_(125, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*father).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  	(*father).kU.S2.s = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*) incrSeqV2(&((*father).kU.S2.s)->Sup, sizeof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*));
  	T1_ = (*father).kU.S2.s->Sup.len++;
  	asgnRefNoCycle((void**) (&(*father).kU.S2.s->data[T1_]), son);
  	popFrame();
  }
  
  static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {
  	NI result;
  {	result = (NI)0;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = (a <= i);
  		if (!(T3_)) goto LA4_;
  		T3_ = (i <= b);
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		result = i;
  		goto BeforeRet_;
  	}
  	goto LA1_;
  	LA5_: ;
  	{
  		raiseRangeError(((NI64) (i)));
  	}
  	LA1_: ;
  	}BeforeRet_: ;
  	return result;
  }
  
  static N_INLINE(void, insert_amK6yK6mfhTO9cDSHOZo7Pwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* father, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* son, NI index) {
  	nimfr_("insert", "xmltree.nim");
  	nimln_(129, "xmltree.nim");
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = ((*father).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1));
  		if (!(T3_)) goto LA4_;
  		T3_ = ((*son).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1));
  		LA4_: ;
  		if (!!(T3_)) goto LA5_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_15));
  	}
  	LA5_: ;
  	nimln_(130, "xmltree.nim");
  	{
  		NI T9_;
  		if (!(((2 &(1U<<((NU)((*father).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  		T9_ = ((*father).kU.S2.s ? (*father).kU.S2.s->Sup.len : 0);
  		if (!(index < T9_)) goto LA10_;
  		nimln_(131, "xmltree.nim");
  		if (!(((2 &(1U<<((NU)((*father).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  		insert_KaazKnpxYeCmXBLI9c2Y4MA((&(*father).kU.S2.s), son, ((NI)chckRange(index, ((NI) 0), ((NI) IL64(9223372036854775807)))));
  	}
  	goto LA7_;
  	LA10_: ;
  	{
  		NI T13_;
  		nimln_(133, "xmltree.nim");
  		if (!(((2 &(1U<<((NU)((*father).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  		if (!(((2 &(1U<<((NU)((*father).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  		T13_ = ((*father).kU.S2.s ? (*father).kU.S2.s->Sup.len : 0);
  		insert_KaazKnpxYeCmXBLI9c2Y4MA((&(*father).kU.S2.s), son, ((NI)chckRange(T13_, ((NI) 0), ((NI) IL64(9223372036854775807)))));
  	}
  	LA7_: ;
  	popFrame();
  }
  
  static N_INLINE(NI, len_nNpwpmx4yrat7uqLK78Ljwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NI result;
  	nimfr_("len", "xmltree.nim");
  	result = (NI)0;
  	nimln_(137, "xmltree.nim");
  	{
  		NI T5_;
  		if (!((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1))) goto LA3_;
  		if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  		T5_ = ((*n).kU.S2.s ? (*n).kU.S2.s->Sup.len : 0);
  		result = T5_;
  	}
  	LA3_: ;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg, kind_tga3MeAof39b4TZ0fuaeZXgxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg result;
  	nimfr_("kind", "xmltree.nim");
  	result = (tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg)0;
  	nimln_(141, "xmltree.nim");
  	result = (*n).k;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI i) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	nimfr_("[]", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(145, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	nimln_(146, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  	if ((NU)(i) >= (NU)((*n).kU.S2.s->Sup.len)) raiseIndexError();
  	result = (*n).kU.S2.s->data[i];
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(void, delete_eSTR0eTs7Q3CTVCKGhf0iA)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI i) {
  	nimfr_("delete", "xmltree.nim");
  	nimln_(150, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	nimln_(151, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  	delete_gWrVbGhkXRG8BpHa2fyaGg((&(*n).kU.S2.s), i);
  	popFrame();
  }
  
  static N_INLINE(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ**, X5BX5D__gUjsy8bWDoNTSKKZJpPZRwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** n, NI i) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** result;
  	nimfr_("[]", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ**)0;
  	nimln_(155, "xmltree.nim");
  	{
  		if (!!(((*(*n)).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	nimln_(156, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*(*n)).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  	if ((NU)(i) >= (NU)((*(*n)).kU.S2.s->Sup.len)) raiseIndexError();
  	result = &(*(*n)).kU.S2.s->data[i];
  	popFrame();
  	return result;
  }
  
  static N_INLINE(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ**, mget_gUjsy8bWDoNTSKKZJpPZRw_2xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** n, NI i) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** result;
  	nimfr_("mget", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ**)0;
  	nimln_(159, "xmltree.nim");
  	nimln_(161, "xmltree.nim");
  	result = X5BX5D__gUjsy8bWDoNTSKKZJpPZRwxmltree(n, i);
  	popFrame();
  	return result;
  }
  
  static N_INLINE(tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw*, attrs_2QT0Y19bvocFDK3gux9c644Qxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* result;
  	nimfr_("attrs", "xmltree.nim");
  	result = (tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw*)0;
  	nimln_(176, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	nimln_(177, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  	result = (*n).kU.S2.fAttr;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(void, incRef_9cAA5YuQAAC3MVbnGeV86swsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	nimfr_("incRef", "gc.nim");
  	nimln_(196, "gc.nim");
  	(*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
  	popFrame();
  }
  
  static N_INLINE(void, decRef_MV4BBk6J1qu70IbBxwEn4wsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	nimfr_("decRef", "gc.nim");
  	nimln_(223, "gc.nim");
  	{
  		(*c).refcount -= ((NI) 8);
  		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
  		nimln_(224, "gc.nim");
  		rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c);
  	}
  	LA3_: ;
  	popFrame();
  }
  
  static N_INLINE(void, asgnRef)(void** dest, void* src) {
  	nimfr_("asgnRef", "gc.nim");
  	nimln_(269, "gc.nim");
  	{
  		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  		nimln_(378, "system.nim");
  		nimln_(269, "gc.nim");
  		if (!!((src == NIM_NIL))) goto LA3_;
  		T5_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
  		T5_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src);
  		incRef_9cAA5YuQAAC3MVbnGeV86swsystem(T5_);
  	}
  	LA3_: ;
  	nimln_(270, "gc.nim");
  	{
  		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  		nimln_(378, "system.nim");
  		nimln_(270, "gc.nim");
  		if (!!(((*dest) == NIM_NIL))) goto LA8_;
  		T10_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
  		T10_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest));
  		decRef_MV4BBk6J1qu70IbBxwEn4wsystem(T10_);
  	}
  	LA8_: ;
  	nimln_(271, "gc.nim");
  	(*dest) = src;
  	popFrame();
  }
  
  static N_INLINE(void, attrseq__n1dueK1BMvuSCXgFQEIhvwxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* attr) {
  	nimfr_("attrs=", "xmltree.nim");
  	nimln_(181, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  	nimln_(182, "xmltree.nim");
  	asgnRef((void**) (&(*n).kU.S2.fAttr), attr);
  	popFrame();
  }
  
  static N_INLINE(NI, attrsLen_nNpwpmx4yrat7uqLK78Ljw_2xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NI result;
  	nimfr_("attrsLen", "xmltree.nim");
  	result = (NI)0;
  	nimln_(186, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA3_: ;
  	nimln_(187, "xmltree.nim");
  	{
  		if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  		if (!!(((*n).kU.S2.fAttr == 0))) goto LA7_;
  		if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  		result = nstlen((*n).kU.S2.fAttr);
  	}
  	LA7_: ;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(NI, clientData_nNpwpmx4yrat7uqLK78Ljw_3xmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NI result;
  	nimfr_("clientData", "xmltree.nim");
  	result = (NI)0;
  	nimln_(192, "xmltree.nim");
  	result = (*n).fClientData;
  	popFrame();
  	return result;
  }
  
  static N_INLINE(void, clientDataeq__pQVVerYdGzV29cVNcvrYS9aAxmltree)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI data) {
  	nimfr_("clientData=", "xmltree.nim");
  	nimln_(197, "xmltree.nim");
  	(*n).fClientData = data;
  	popFrame();
  }
  
  N_NIMCALL(void, addEscaped_Sz4t9bYeRWG9bGp5ci6iq0Gg)(NimStringDesc** result, NimStringDesc* s) {
  	nimfr_("addEscaped", "xmltree.nim");
  	{
  		NIM_CHAR c;
  		NI i;
  		NI L;
  		c = (NIM_CHAR)0;
  		nimln_(3657, "system.nim");
  		i = ((NI) 0);
  		nimln_(3658, "system.nim");
  		L = (s ? s->Sup.len : 0);
  		{
  			nimln_(3659, "system.nim");
  			while (1) {
  				NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_23;
  				if (!(i < L)) goto LA3;
  				nimln_(3660, "system.nim");
  				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
  				c = s->data[i];
  				nimln_(202, "xmltree.nim");
  				switch (((NU8)(c))) {
  				case 60:
  				{
  					nimln_(203, "xmltree.nim");
  					(*result) = resizeString((*result), 4);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_17));
  				}
  				break;
  				case 62:
  				{
  					nimln_(204, "xmltree.nim");
  					(*result) = resizeString((*result), 4);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_18));
  				}
  				break;
  				case 38:
  				{
  					nimln_(205, "xmltree.nim");
  					(*result) = resizeString((*result), 5);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_19));
  				}
  				break;
  				case 34:
  				{
  					nimln_(206, "xmltree.nim");
  					(*result) = resizeString((*result), 6);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_20));
  				}
  				break;
  				case 39:
  				{
  					nimln_(207, "xmltree.nim");
  					(*result) = resizeString((*result), 6);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_21));
  				}
  				break;
  				case 47:
  				{
  					nimln_(208, "xmltree.nim");
  					(*result) = resizeString((*result), 6);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_22));
  				}
  				break;
  				default:
  				{
  					nimln_(209, "xmltree.nim");
  					(*result) = addChar((*result), c);
  				}
  				break;
  				}
  				nimln_(3661, "system.nim");
  				TM_qYyKc6OpDWHHaBXL9bX9aQ2A_23 = addInt(i, ((NI) 1));
  				i = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_23);
  				nimln_(3662, "system.nim");
  				{
  					if (!!(((s ? s->Sup.len : 0) == L))) goto LA13_;
  					failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_24));
  				}
  				LA13_: ;
  			} LA3: ;
  		}
  	}
  	popFrame();
  }
  
  N_NIMCALL(NimStringDesc*, escape_zpJJik0owP9caseGcw2LLIQ)(NimStringDesc* s) {
  	NimStringDesc* result;
  	nimfr_("escape", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(225, "xmltree.nim");
  	result = rawNewString(((NI)chckRange((s ? s->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807)))));
  	nimln_(226, "xmltree.nim");
  	addEscaped_Sz4t9bYeRWG9bGp5ci6iq0Gg((&result), s);
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(void, addIndent_L05R3NaizQIzWPJoVmRnOQ)(NimStringDesc** result, NI indent) {
  	nimfr_("addIndent", "xmltree.nim");
  	nimln_(229, "xmltree.nim");
  	(*result) = resizeString((*result), 1);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_25));
  	{
  		NI i;
  		NI res;
  		i = (NI)0;
  		nimln_(1986, "system.nim");
  		res = ((NI) 1);
  		{
  			nimln_(1987, "system.nim");
  			while (1) {
  				NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_26;
  				if (!(res <= indent)) goto LA3;
  				nimln_(1988, "system.nim");
  				i = res;
  				nimln_(230, "xmltree.nim");
  				(*result) = addChar((*result), 32);
  				nimln_(1989, "system.nim");
  				TM_qYyKc6OpDWHHaBXL9bX9aQ2A_26 = addInt(res, ((NI) 1));
  				res = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_26);
  			} LA3: ;
  		}
  	}
  	popFrame();
  }
  
  static N_INLINE(NI, subInt)(NI a, NI b) {
  	NI result;
  {	result = (NI)0;
  	result = (NI)((NU64)(a) - (NU64)(b));
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = (((NI) 0) <= (NI)(result ^ a));
  		if (T3_) goto LA4_;
  		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		goto BeforeRet_;
  	}
  	LA5_: ;
  	raiseOverflow();
  	}BeforeRet_: ;
  	return result;
  }
  
  N_NIMCALL(NIM_BOOL, noWhitespace_7lf1TsEh4xrYSwCjJdbzhg)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NIM_BOOL result;
  	nimfr_("noWhitespace", "xmltree.nim");
  {	result = (NIM_BOOL)0;
  	{
  		NI i;
  		NI colontmp_;
  		NI T2_;
  		NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_27;
  		NI res;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		nimln_(235, "xmltree.nim");
  		T2_ = (NI)0;
  		T2_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  		TM_qYyKc6OpDWHHaBXL9bX9aQ2A_27 = subInt(T2_, ((NI) 1));
  		colontmp_ = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_27);
  		nimln_(1986, "system.nim");
  		res = ((NI) 0);
  		{
  			nimln_(1987, "system.nim");
  			while (1) {
  				NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_28;
  				if (!(res <= colontmp_)) goto LA4;
  				nimln_(1988, "system.nim");
  				i = res;
  				nimln_(236, "xmltree.nim");
  				{
  					tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* T7_;
  					tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg T8_;
  					T7_ = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  					T7_ = X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree(n, i);
  					T8_ = (tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg)0;
  					T8_ = kind_tga3MeAof39b4TZ0fuaeZXgxmltree(T7_);
  					if (!((9 &(1U<<((NU)(T8_)&7U)))!=0)) goto LA9_;
  					result = NIM_TRUE;
  					goto BeforeRet_;
  				}
  				LA9_: ;
  				nimln_(1989, "system.nim");
  				TM_qYyKc6OpDWHHaBXL9bX9aQ2A_28 = addInt(res, ((NI) 1));
  				res = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_28);
  			} LA4: ;
  		}
  	}
  	}BeforeRet_: ;
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(void, addEscapedAttr_Sz4t9bYeRWG9bGp5ci6iq0Gg_2)(NimStringDesc** result, NimStringDesc* s) {
  	nimfr_("addEscapedAttr", "xmltree.nim");
  	{
  		NIM_CHAR c;
  		NI i;
  		NI L;
  		c = (NIM_CHAR)0;
  		nimln_(3657, "system.nim");
  		i = ((NI) 0);
  		nimln_(3658, "system.nim");
  		L = (s ? s->Sup.len : 0);
  		{
  			nimln_(3659, "system.nim");
  			while (1) {
  				NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_30;
  				if (!(i < L)) goto LA3;
  				nimln_(3660, "system.nim");
  				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
  				c = s->data[i];
  				nimln_(245, "xmltree.nim");
  				switch (((NU8)(c))) {
  				case 60:
  				{
  					nimln_(246, "xmltree.nim");
  					(*result) = resizeString((*result), 4);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_17));
  				}
  				break;
  				case 62:
  				{
  					nimln_(247, "xmltree.nim");
  					(*result) = resizeString((*result), 4);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_18));
  				}
  				break;
  				case 38:
  				{
  					nimln_(248, "xmltree.nim");
  					(*result) = resizeString((*result), 5);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_19));
  				}
  				break;
  				case 34:
  				{
  					nimln_(249, "xmltree.nim");
  					(*result) = resizeString((*result), 6);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_20));
  				}
  				break;
  				default:
  				{
  					nimln_(250, "xmltree.nim");
  					(*result) = addChar((*result), c);
  				}
  				break;
  				}
  				nimln_(3661, "system.nim");
  				TM_qYyKc6OpDWHHaBXL9bX9aQ2A_30 = addInt(i, ((NI) 1));
  				i = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_30);
  				nimln_(3662, "system.nim");
  				{
  					if (!!(((s ? s->Sup.len : 0) == L))) goto LA11_;
  					failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_24));
  				}
  				LA11_: ;
  			} LA3: ;
  		}
  	}
  	popFrame();
  }
  
  N_NIMCALL(void, add_OpXIXvW9ceTKs1efxmHpO7Q)(NimStringDesc** result, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NI indent, NI indWidth) {
  	nimfr_("add", "xmltree.nim");
  {	nimln_(252, "xmltree.nim");
  	{
  		if (!(n == NIM_NIL)) goto LA3_;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	nimln_(253, "xmltree.nim");
  	switch ((*n).k) {
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1):
  	{
  		nimln_(255, "xmltree.nim");
  		(*result) = addChar((*result), 60);
  		nimln_(256, "xmltree.nim");
  		if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  		(*result) = resizeString((*result), (*n).kU.S2.fTag->Sup.len + 0);
  appendString((*result), (*n).kU.S2.fTag);
  		nimln_(257, "xmltree.nim");
  		{
  			if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  			if (!!(((*n).kU.S2.fAttr == 0))) goto LA8_;
  			{
  				NimStringDesc* key;
  				NimStringDesc* val;
  				tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* colontmp_;
  				key = (NimStringDesc*)0;
  				val = (NimStringDesc*)0;
  				colontmp_ = (tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw*)0;
  				nimln_(258, "xmltree.nim");
  				if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  				colontmp_ = (*n).kU.S2.fAttr;
  				{
  					NI h;
  					NI colontmp__2;
  					NI T12_;
  					NI res;
  					h = (NI)0;
  					colontmp__2 = (NI)0;
  					nimln_(50, "strtabs.nim");
  					T12_ = ((*colontmp_).data ? ((*colontmp_).data->Sup.len-1) : -1);
  					colontmp__2 = T12_;
  					nimln_(1986, "system.nim");
  					res = ((NI) 0);
  					{
  						nimln_(1987, "system.nim");
  						while (1) {
  							NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_31;
  							if (!(res <= colontmp__2)) goto LA14;
  							nimln_(1988, "system.nim");
  							h = res;
  							nimln_(51, "strtabs.nim");
  							{
  								if ((NU)(h) >= (NU)((*colontmp_).data->Sup.len)) raiseIndexError();
  								if (!!(((*colontmp_).data->data[h].Field0 == 0))) goto LA17_;
  								nimln_(52, "strtabs.nim");
  								if ((NU)(h) >= (NU)((*colontmp_).data->Sup.len)) raiseIndexError();
  								key = (*colontmp_).data->data[h].Field0;
  								if ((NU)(h) >= (NU)((*colontmp_).data->Sup.len)) raiseIndexError();
  								val = (*colontmp_).data->data[h].Field1;
  								nimln_(259, "xmltree.nim");
  								(*result) = addChar((*result), 32);
  								nimln_(260, "xmltree.nim");
  								(*result) = resizeString((*result), key->Sup.len + 0);
  appendString((*result), key);
  								nimln_(261, "xmltree.nim");
  								(*result) = resizeString((*result), 2);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_29));
  								nimln_(262, "xmltree.nim");
  								addEscapedAttr_Sz4t9bYeRWG9bGp5ci6iq0Gg_2(result, val);
  								nimln_(263, "xmltree.nim");
  								(*result) = addChar((*result), 34);
  							}
  							LA17_: ;
  							nimln_(1989, "system.nim");
  							TM_qYyKc6OpDWHHaBXL9bX9aQ2A_31 = addInt(res, ((NI) 1));
  							res = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_31);
  						} LA14: ;
  					}
  				}
  			}
  		}
  		LA8_: ;
  		nimln_(264, "xmltree.nim");
  		{
  			NI T21_;
  			T21_ = (NI)0;
  			T21_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  			if (!(((NI) 0) < T21_)) goto LA22_;
  			nimln_(265, "xmltree.nim");
  			(*result) = addChar((*result), 62);
  			nimln_(266, "xmltree.nim");
  			{
  				NI T26_;
  				T26_ = (NI)0;
  				T26_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  				if (!(((NI) 1) < T26_)) goto LA27_;
  				nimln_(267, "xmltree.nim");
  				{
  					NIM_BOOL T31_;
  					T31_ = (NIM_BOOL)0;
  					T31_ = noWhitespace_7lf1TsEh4xrYSwCjJdbzhg(n);
  					if (!T31_) goto LA32_;
  					{
  						NI i;
  						NI colontmp__3;
  						NI T35_;
  						NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_32;
  						NI res_2;
  						i = (NI)0;
  						colontmp__3 = (NI)0;
  						nimln_(271, "xmltree.nim");
  						T35_ = (NI)0;
  						T35_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  						TM_qYyKc6OpDWHHaBXL9bX9aQ2A_32 = subInt(T35_, ((NI) 1));
  						colontmp__3 = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_32);
  						nimln_(1986, "system.nim");
  						res_2 = ((NI) 0);
  						{
  							nimln_(1987, "system.nim");
  							while (1) {
  								tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* T38_;
  								NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_33;
  								NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_34;
  								if (!(res_2 <= colontmp__3)) goto LA37;
  								nimln_(1988, "system.nim");
  								i = res_2;
  								nimln_(271, "xmltree.nim");
  								T38_ = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  								T38_ = X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree(n, i);
  								TM_qYyKc6OpDWHHaBXL9bX9aQ2A_33 = addInt(indent, indWidth);
  								add_OpXIXvW9ceTKs1efxmHpO7Q(result, T38_, (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_33), indWidth);
  								nimln_(1989, "system.nim");
  								TM_qYyKc6OpDWHHaBXL9bX9aQ2A_34 = addInt(res_2, ((NI) 1));
  								res_2 = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_34);
  							} LA37: ;
  						}
  					}
  				}
  				goto LA29_;
  				LA32_: ;
  				{
  					{
  						NI i_2;
  						NI colontmp__4;
  						NI T41_;
  						NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_35;
  						NI res_3;
  						i_2 = (NI)0;
  						colontmp__4 = (NI)0;
  						nimln_(273, "xmltree.nim");
  						T41_ = (NI)0;
  						T41_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  						TM_qYyKc6OpDWHHaBXL9bX9aQ2A_35 = subInt(T41_, ((NI) 1));
  						colontmp__4 = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_35);
  						nimln_(1986, "system.nim");
  						res_3 = ((NI) 0);
  						{
  							nimln_(1987, "system.nim");
  							while (1) {
  								NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_36;
  								tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* T44_;
  								NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_37;
  								NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_38;
  								if (!(res_3 <= colontmp__4)) goto LA43;
  								nimln_(1988, "system.nim");
  								i_2 = res_3;
  								nimln_(274, "xmltree.nim");
  								TM_qYyKc6OpDWHHaBXL9bX9aQ2A_36 = addInt(indent, indWidth);
  								addIndent_L05R3NaizQIzWPJoVmRnOQ(result, (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_36));
  								nimln_(275, "xmltree.nim");
  								T44_ = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  								T44_ = X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree(n, i_2);
  								TM_qYyKc6OpDWHHaBXL9bX9aQ2A_37 = addInt(indent, indWidth);
  								add_OpXIXvW9ceTKs1efxmHpO7Q(result, T44_, (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_37), indWidth);
  								nimln_(1989, "system.nim");
  								TM_qYyKc6OpDWHHaBXL9bX9aQ2A_38 = addInt(res_3, ((NI) 1));
  								res_3 = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_38);
  							} LA43: ;
  						}
  					}
  					nimln_(276, "xmltree.nim");
  					addIndent_L05R3NaizQIzWPJoVmRnOQ(result, indent);
  				}
  				LA29_: ;
  			}
  			goto LA24_;
  			LA27_: ;
  			{
  				tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* T46_;
  				NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_39;
  				nimln_(278, "xmltree.nim");
  				T46_ = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  				T46_ = X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree(n, ((NI) 0));
  				TM_qYyKc6OpDWHHaBXL9bX9aQ2A_39 = addInt(indent, indWidth);
  				add_OpXIXvW9ceTKs1efxmHpO7Q(result, T46_, (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_39), indWidth);
  			}
  			LA24_: ;
  			nimln_(279, "xmltree.nim");
  			(*result) = resizeString((*result), 2);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_40));
  			nimln_(280, "xmltree.nim");
  			if (!(((2 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  			(*result) = resizeString((*result), (*n).kU.S2.fTag->Sup.len + 0);
  appendString((*result), (*n).kU.S2.fTag);
  			nimln_(281, "xmltree.nim");
  			(*result) = resizeString((*result), 1);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_41));
  		}
  		goto LA19_;
  		LA22_: ;
  		{
  			nimln_(283, "xmltree.nim");
  			(*result) = resizeString((*result), 3);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_42));
  		}
  		LA19_: ;
  	}
  	break;
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 0):
  	{
  		nimln_(285, "xmltree.nim");
  		if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  		addEscaped_Sz4t9bYeRWG9bGp5ci6iq0Gg(result, (*n).kU.S1.fText);
  	}
  	break;
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 4):
  	{
  		nimln_(287, "xmltree.nim");
  		(*result) = resizeString((*result), 5);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_43));
  		nimln_(288, "xmltree.nim");
  		if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  		addEscaped_Sz4t9bYeRWG9bGp5ci6iq0Gg(result, (*n).kU.S1.fText);
  		nimln_(289, "xmltree.nim");
  		(*result) = resizeString((*result), 4);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_44));
  	}
  	break;
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 2):
  	{
  		nimln_(291, "xmltree.nim");
  		(*result) = resizeString((*result), 9);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_45));
  		nimln_(292, "xmltree.nim");
  		if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  		(*result) = resizeString((*result), (*n).kU.S1.fText->Sup.len + 0);
  appendString((*result), (*n).kU.S1.fText);
  		nimln_(293, "xmltree.nim");
  		(*result) = resizeString((*result), 3);
  appendString((*result), ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_46));
  	}
  	break;
  	case ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 3):
  	{
  		nimln_(295, "xmltree.nim");
  		(*result) = addChar((*result), 38);
  		nimln_(296, "xmltree.nim");
  		if (!(((29 &(1U<<((NU)((*n).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_9));
  		(*result) = resizeString((*result), (*n).kU.S1.fText->Sup.len + 0);
  appendString((*result), (*n).kU.S1.fText);
  		nimln_(297, "xmltree.nim");
  		(*result) = addChar((*result), 59);
  	}
  	break;
  	}
  	}BeforeRet_: ;
  	popFrame();
  }
  
  N_NIMCALL(NimStringDesc*, dollar__J8zSYsXiqc2Cue41dd0uuw_2)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n) {
  	NimStringDesc* result;
  	nimfr_("$", "xmltree.nim");
  	result = (NimStringDesc*)0;
  	nimln_(306, "xmltree.nim");
  	result = copyString(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_11));
  	nimln_(307, "xmltree.nim");
  	add_OpXIXvW9ceTKs1efxmHpO7Q((&result), n, ((NI) 0), ((NI) 2));
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, newXmlTree_X1IpfV8s0Su0ztUes1qaWw)(NimStringDesc* tag, tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ** children, NI childrenLen_0, tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* attributes) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	NimStringDesc* T1_;
  	nimfr_("newXmlTree", "xmltree.nim");
  	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(312, "xmltree.nim");
  	result = newXmlNode_zocgm9bE8KcazL4WHT9axo9bg(((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1));
  	if (!(((2 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_7));
  	nimln_(313, "xmltree.nim");
  	T1_ = (NimStringDesc*)0;
  	T1_ = (*result).kU.S2.fTag; (*result).kU.S2.fTag = copyStringRC1(tag);
  	if (T1_) nimGCunrefNoCycle(T1_);
  	nimln_(314, "xmltree.nim");
  	if (!(((2 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  	if ((*result).kU.S2.s) { nimGCunrefNoCycle((*result).kU.S2.s); (*result).kU.S2.s = NIM_NIL; }
  	(*result).kU.S2.s = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*) newSeqRC1((&NTI_AjV3cEUgs0Y9c7dCt9aItdIA_), ((NI)chckRange(childrenLen_0, ((NI) 0), ((NI) IL64(9223372036854775807)))));
  	{
  		NI i;
  		NI colontmp_;
  		NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_47;
  		NI res;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		nimln_(315, "xmltree.nim");
  		TM_qYyKc6OpDWHHaBXL9bX9aQ2A_47 = subInt(childrenLen_0, ((NI) 1));
  		colontmp_ = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_47);
  		nimln_(1986, "system.nim");
  		res = ((NI) 0);
  		{
  			nimln_(1987, "system.nim");
  			while (1) {
  				NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_48;
  				if (!(res <= colontmp_)) goto LA4;
  				nimln_(1988, "system.nim");
  				i = res;
  				if (!(((2 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_8));
  				if ((NU)(i) >= (NU)((*result).kU.S2.s->Sup.len)) raiseIndexError();
  				nimln_(315, "xmltree.nim");
  				if ((NU)(i) >= (NU)(childrenLen_0)) raiseIndexError();
  				asgnRefNoCycle((void**) (&(*result).kU.S2.s->data[i]), children[i]);
  				nimln_(1989, "system.nim");
  				TM_qYyKc6OpDWHHaBXL9bX9aQ2A_48 = addInt(res, ((NI) 1));
  				res = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_48);
  			} LA4: ;
  		}
  	}
  	if (!(((2 &(1U<<((NU)((*result).k)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_16));
  	nimln_(316, "xmltree.nim");
  	asgnRef((void**) (&(*result).kU.S2.fAttr), attributes);
  	popFrame();
  	return result;
  }
  
  static N_INLINE(NIM_BOOL, equalMem_fmeFeLBvgmAHG9bC8ETS9bYQsystem)(void* a, void* b, NI size) {
  	NIM_BOOL result;
  	int T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (int)0;
  	T1_ = memcmp(a, b, ((size_t) (size)));
  	result = (T1_ == ((NI32) 0));
  	return result;
  }
  
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
  	NIM_BOOL result;
  	NIM_BOOL T11_;
  {	result = (NIM_BOOL)0;
  	{
  		if (!(a == b)) goto LA3_;
  		result = NIM_TRUE;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	{
  		NIM_BOOL T7_;
  		T7_ = (NIM_BOOL)0;
  		T7_ = (a == NIM_NIL);
  		if (T7_) goto LA8_;
  		T7_ = (b == NIM_NIL);
  		LA8_: ;
  		if (!T7_) goto LA9_;
  		result = NIM_FALSE;
  		goto BeforeRet_;
  	}
  	LA9_: ;
  	T11_ = (NIM_BOOL)0;
  	T11_ = ((*a).Sup.len == (*b).Sup.len);
  	if (!(T11_)) goto LA12_;
  	T11_ = equalMem_fmeFeLBvgmAHG9bC8ETS9bYQsystem(((void*) ((*a).data)), ((void*) ((*b).data)), ((NI) ((*a).Sup.len)));
  	LA12_: ;
  	result = T11_;
  	goto BeforeRet_;
  	}BeforeRet_: ;
  	return result;
  }
  
  N_NIMCALL(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*, child_vd9cQ6VOpbUvYGMOMtU76hQ)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* name) {
  	tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* result;
  	nimfr_("child", "xmltree.nim");
  {	result = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  	nimln_(357, "xmltree.nim");
  	{
  		tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg T3_;
  		T3_ = (tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg)0;
  		T3_ = kind_tga3MeAof39b4TZ0fuaeZXgxmltree(n);
  		if (!!((T3_ == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA4_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_49));
  	}
  	LA4_: ;
  	{
  		tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* i;
  		i = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  		nimln_(165, "xmltree.nim");
  		{
  			if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA9_;
  			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  		}
  		LA9_: ;
  		{
  			NI i_2;
  			NI colontmp_;
  			NI T12_;
  			NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_50;
  			NI res;
  			i_2 = (NI)0;
  			colontmp_ = (NI)0;
  			nimln_(166, "xmltree.nim");
  			T12_ = (NI)0;
  			T12_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  			TM_qYyKc6OpDWHHaBXL9bX9aQ2A_50 = subInt(T12_, ((NI) 1));
  			colontmp_ = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_50);
  			nimln_(1986, "system.nim");
  			res = ((NI) 0);
  			{
  				nimln_(1987, "system.nim");
  				while (1) {
  					NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_51;
  					if (!(res <= colontmp_)) goto LA14;
  					nimln_(1988, "system.nim");
  					i_2 = res;
  					nimln_(166, "xmltree.nim");
  					i = X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree(n, i_2);
  					nimln_(359, "xmltree.nim");
  					{
  						tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg T17_;
  						T17_ = (tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg)0;
  						T17_ = kind_tga3MeAof39b4TZ0fuaeZXgxmltree(i);
  						if (!(T17_ == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1))) goto LA18_;
  						nimln_(360, "xmltree.nim");
  						{
  							NimStringDesc* T22_;
  							T22_ = (NimStringDesc*)0;
  							T22_ = tag_QtoaNWis79bdA859c6he5fbA_4xmltree(i);
  							if (!eqStrings(T22_, name)) goto LA23_;
  							nimln_(361, "xmltree.nim");
  							result = i;
  							goto BeforeRet_;
  						}
  						LA23_: ;
  					}
  					LA18_: ;
  					nimln_(1989, "system.nim");
  					TM_qYyKc6OpDWHHaBXL9bX9aQ2A_51 = addInt(res, ((NI) 1));
  					res = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_51);
  				} LA14: ;
  			}
  		}
  	}
  	}BeforeRet_: ;
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(NimStringDesc*, attr_bmHX2VR5JgLhf8uEacZNPg)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* name) {
  	NimStringDesc* result;
  	tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* T11_;
  	nimfr_("attr", "xmltree.nim");
  {	result = (NimStringDesc*)0;
  	nimln_(366, "xmltree.nim");
  	{
  		tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg T3_;
  		T3_ = (tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg)0;
  		T3_ = kind_tga3MeAof39b4TZ0fuaeZXgxmltree(n);
  		if (!!((T3_ == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA4_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_49));
  	}
  	LA4_: ;
  	nimln_(367, "xmltree.nim");
  	{
  		tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw* T8_;
  		T8_ = (tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw*)0;
  		T8_ = attrs_2QT0Y19bvocFDK3gux9c644Qxmltree(n);
  		if (!(T8_ == NIM_NIL)) goto LA9_;
  		result = copyString(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_11));
  		goto BeforeRet_;
  	}
  	LA9_: ;
  	nimln_(368, "xmltree.nim");
  	T11_ = (tyObject_StringTableObj_DKRIdH9c9cKI7YpQb9c0wKlEw*)0;
  	T11_ = attrs_2QT0Y19bvocFDK3gux9c644Qxmltree(n);
  	result = getOrDefault_sPC3Tb9bX9b1TxdHlL7x9cN3Q(T11_, name, ((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_11));
  	goto BeforeRet_;
  	}BeforeRet_: ;
  	popFrame();
  	return result;
  }
  
  N_NIMCALL(void, findAll_4I9bCKVoyMTDwbYYQINHbQQ)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* tag, tySequence_AjV3cEUgs0Y9c7dCt9aItdIA** result) {
  	nimfr_("findAll", "xmltree.nim");
  	nimln_(385, "xmltree.nim");
  	{
  		if (!!((((*result) == 0) == NIM_FALSE))) goto LA3_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_52));
  	}
  	LA3_: ;
  	nimln_(386, "xmltree.nim");
  	{
  		if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA7_;
  		failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  	}
  	LA7_: ;
  	{
  		tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* child;
  		child = (tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*)0;
  		nimln_(165, "xmltree.nim");
  		{
  			if (!!(((*n).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA12_;
  			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_14));
  		}
  		LA12_: ;
  		{
  			NI i;
  			NI colontmp_;
  			NI T15_;
  			NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_53;
  			NI res;
  			i = (NI)0;
  			colontmp_ = (NI)0;
  			nimln_(166, "xmltree.nim");
  			T15_ = (NI)0;
  			T15_ = len_nNpwpmx4yrat7uqLK78Ljwxmltree(n);
  			TM_qYyKc6OpDWHHaBXL9bX9aQ2A_53 = subInt(T15_, ((NI) 1));
  			colontmp_ = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_53);
  			nimln_(1986, "system.nim");
  			res = ((NI) 0);
  			{
  				nimln_(1987, "system.nim");
  				while (1) {
  					NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_54;
  					if (!(res <= colontmp_)) goto LA17;
  					nimln_(1988, "system.nim");
  					i = res;
  					nimln_(166, "xmltree.nim");
  					child = X5BX5D__jkWgplUGXddn3L7EecYVjgxmltree(n, i);
  					{
  						nimln_(388, "xmltree.nim");
  						{
  							nimln_(378, "system.nim");
  							nimln_(388, "xmltree.nim");
  							if (!!(((*child).k == ((tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg) 1)))) goto LA21_;
  							nimln_(389, "xmltree.nim");
  							goto LA18;
  						}
  						LA21_: ;
  						nimln_(390, "xmltree.nim");
  						{
  							NimStringDesc* T25_;
  							NI T28_;
  							T25_ = (NimStringDesc*)0;
  							T25_ = tag_QtoaNWis79bdA859c6he5fbA_4xmltree(child);
  							if (!eqStrings(T25_, tag)) goto LA26_;
  							nimln_(391, "xmltree.nim");
  							(*result) = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*) incrSeqV2(&((*result))->Sup, sizeof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*));
  							T28_ = (*result)->Sup.len++;
  							asgnRefNoCycle((void**) (&(*result)->data[T28_]), child);
  						}
  						LA26_: ;
  						nimln_(392, "xmltree.nim");
  						findAll_4I9bCKVoyMTDwbYYQINHbQQ(child, tag, result);
  					} LA18: ;
  					nimln_(1989, "system.nim");
  					TM_qYyKc6OpDWHHaBXL9bX9aQ2A_54 = addInt(res, ((NI) 1));
  					res = (NI)(TM_qYyKc6OpDWHHaBXL9bX9aQ2A_54);
  				} LA17: ;
  			}
  		}
  	}
  	popFrame();
  }
  
  N_NIMCALL(tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*, findAll_MDjuw9ckES89aDttZ7GAr1HQ)(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ* n, NimStringDesc* tag) {
  	tySequence_AjV3cEUgs0Y9c7dCt9aItdIA* result;
  	nimfr_("findAll", "xmltree.nim");
  	result = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*)0;
  	nimln_(403, "xmltree.nim");
  	result = (tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*) newSeq((&NTI_AjV3cEUgs0Y9c7dCt9aItdIA_), ((NI) 0));
  	nimln_(404, "xmltree.nim");
  	findAll_4I9bCKVoyMTDwbYYQINHbQQ(n, tag, (&result));
  	popFrame();
  	return result;
  }
  NIM_EXTERNC N_NOINLINE(void, stdlib_xmltreeInit000)(void) {
  	nimfr_("xmltree", "xmltree.nim");
  	popFrame();
  }
  
  NIM_EXTERNC N_NOINLINE(void, stdlib_xmltreeDatInit000)(void) {
  static TNimNode* TM_qYyKc6OpDWHHaBXL9bX9aQ2A_2[2];
  static TNimNode* TM_qYyKc6OpDWHHaBXL9bX9aQ2A_3[5];
  NI TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5;
  static char* NIM_CONST TM_qYyKc6OpDWHHaBXL9bX9aQ2A_4[5] = {
  "xnText", 
  "xnElement", 
  "xnCData", 
  "xnEntity", 
  "xnComment"};
  static TNimNode* TM_qYyKc6OpDWHHaBXL9bX9aQ2A_6[3];
  static TNimNode TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[14];
  NTI_X79bE2j9a1V7tizbx9blALudQ_.size = sizeof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ);
  NTI_X79bE2j9a1V7tizbx9blALudQ_.kind = 18;
  NTI_X79bE2j9a1V7tizbx9blALudQ_.base = 0;
  NTI_X79bE2j9a1V7tizbx9blALudQ_.flags = 2;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_2[0] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1];
  NTI_L9a59cbX9cQkF2r36q7xUnCbg_.size = sizeof(tyEnum_XmlNodeKind_L9a59cbX9cQkF2r36q7xUnCbg);
  NTI_L9a59cbX9cQkF2r36q7xUnCbg_.kind = 14;
  NTI_L9a59cbX9cQkF2r36q7xUnCbg_.base = 0;
  NTI_L9a59cbX9cQkF2r36q7xUnCbg_.flags = 3;
  for (TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5 = 0; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5 < 5; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5++) {
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5+2].kind = 1;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5+2].offset = TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5+2].name = TM_qYyKc6OpDWHHaBXL9bX9aQ2A_4[TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_3[TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[TM_qYyKc6OpDWHHaBXL9bX9aQ2A_5+2];
  }
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[7].len = 5; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[7].kind = 2; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[7].sons = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_3[0];
  NTI_L9a59cbX9cQkF2r36q7xUnCbg_.node = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[7];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1].kind = 3;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1].offset = offsetof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ, k);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1].typ = (&NTI_L9a59cbX9cQkF2r36q7xUnCbg_);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1].name = "k";
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1].sons = &NimDT__X79bE2j9a1V7tizbx9blALudQ_k[0];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[1].len = 5;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8].kind = 1;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8].offset = offsetof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ, kU.S1.fText);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8].name = "fText";
  NimDT__X79bE2j9a1V7tizbx9blALudQ_k[0] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8];
  NimDT__X79bE2j9a1V7tizbx9blALudQ_k[4] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8];
  NimDT__X79bE2j9a1V7tizbx9blALudQ_k[2] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8];
  NimDT__X79bE2j9a1V7tizbx9blALudQ_k[3] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[8];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_6[0] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[10];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[10].kind = 1;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[10].offset = offsetof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ, kU.S2.fTag);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[10].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[10].name = "fTag";
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_6[1] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[11];
  NTI_AjV3cEUgs0Y9c7dCt9aItdIA_.size = sizeof(tySequence_AjV3cEUgs0Y9c7dCt9aItdIA*);
  NTI_AjV3cEUgs0Y9c7dCt9aItdIA_.kind = 24;
  NTI_AjV3cEUgs0Y9c7dCt9aItdIA_.base = (&NTI_TikLQZVsFf7R0nt3oy4s9bg_);
  NTI_AjV3cEUgs0Y9c7dCt9aItdIA_.flags = 2;
  NTI_AjV3cEUgs0Y9c7dCt9aItdIA_.marker = Marker_tySequence_AjV3cEUgs0Y9c7dCt9aItdIA;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[11].kind = 1;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[11].offset = offsetof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ, kU.S2.s);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[11].typ = (&NTI_AjV3cEUgs0Y9c7dCt9aItdIA_);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[11].name = "s";
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_6[2] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[12];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[12].kind = 1;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[12].offset = offsetof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ, kU.S2.fAttr);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[12].typ = (&NTI_pkhT5bYRU9ayIZ9cBuuCx4Xw_);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[12].name = "fAttr";
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[9].len = 3; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[9].kind = 2; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[9].sons = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_6[0];
  NimDT__X79bE2j9a1V7tizbx9blALudQ_k[1] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[9];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_2[1] = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[13];
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[13].kind = 1;
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[13].offset = offsetof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ, fClientData);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[13].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[13].name = "fClientData";
  TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[0].len = 2; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[0].kind = 2; TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[0].sons = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_2[0];
  NTI_X79bE2j9a1V7tizbx9blALudQ_.node = &TM_qYyKc6OpDWHHaBXL9bX9aQ2A_0[0];
  NTI_TikLQZVsFf7R0nt3oy4s9bg_.size = sizeof(tyObject_XmlNodeObj_X79bE2j9a1V7tizbx9blALudQ*);
  NTI_TikLQZVsFf7R0nt3oy4s9bg_.kind = 22;
  NTI_TikLQZVsFf7R0nt3oy4s9bg_.base = (&NTI_X79bE2j9a1V7tizbx9blALudQ_);
  NTI_TikLQZVsFf7R0nt3oy4s9bg_.flags = 2;
  NTI_TikLQZVsFf7R0nt3oy4s9bg_.marker = Marker_tyRef_TikLQZVsFf7R0nt3oy4s9bg;
  }
  
  