/* Generated by Nim Compiler v1.0.6 */
/*   (c) 2019 Andreas Rumpf */
/* The generated code is subject to the original license. */
#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
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NI16 tyUncheckedArray__Tyd4y3haUOOHTj71TPIRag[1];
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;
};
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___NmQ9ct6KsQm3mcX4z6BEBbA)(NI16* w, NI estimate, NI replacement);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
N_LIB_PRIVATE N_NIMCALL(NI, ord__N9bsHhIEUMfKbgZ9aJBy6m2A)(NI16 arg);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__K8rR70TBwrP6FNBzDhVVOA)(NCSTRING source, NI L);
N_NIMCALL(NI, mulInt)(NI a, NI b);
static N_NIMCALL(void, Marker_tyRef__4HwedE75WPfqZSQ0Cq2OUg)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(NI, subInt)(NI a, NI b);
static N_INLINE(size_t, nimCStrLen)(NCSTRING a);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
extern TNimType NTI__kDPg4wXyR8DDyA0MeEjIsw_;
TNimType NTI__Tyd4y3haUOOHTj71TPIRag_;
TNimType NTI__4HwedE75WPfqZSQ0Cq2OUg_;
static N_INLINE(NI, addInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU32)(a) + (NU32)(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;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(NI, ord__N9bsHhIEUMfKbgZ9aJBy6m2A)(NI16 arg) {	NI result;
	result = (NI)0;
	result = ((NI) (((NU16) (arg))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___NmQ9ct6KsQm3mcX4z6BEBbA)(NI16* w, NI estimate, NI replacement) {	NimStringDesc* result;
	NI TM__R8z9bzATizpQoD67YeHNTdg_2;
	NI i;
	result = (NimStringDesc*)0;
	TM__R8z9bzATizpQoD67YeHNTdg_2 = addInt(estimate, (NI)((NI32)(estimate) >> (NU32)(((NI) 2))));
	result = rawNewString(((NI)chckRange((NI)(TM__R8z9bzATizpQoD67YeHNTdg_2), ((NI) 0), ((NI) 2147483647))));
	i = ((NI) 0);
	{
		while (1) {
			NI ch;
			NI TM__R8z9bzATizpQoD67YeHNTdg_3;
			if (!!((w[i] == ((NI16) 0)))) goto LA2;
			ch = ord__N9bsHhIEUMfKbgZ9aJBy6m2A(w[i]);
			TM__R8z9bzATizpQoD67YeHNTdg_3 = addInt(i, ((NI) 1));
			i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_3);
			{
				NIM_BOOL T5_;
				NI ch2;
				T5_ = (NIM_BOOL)0;
				T5_ = (((NI) 55296) <= ch);
				if (!(T5_)) goto LA6_;
				T5_ = (ch <= ((NI) 56319));
				LA6_: ;
				if (!T5_) goto LA7_;
				ch2 = ord__N9bsHhIEUMfKbgZ9aJBy6m2A(w[i]);
				{
					NIM_BOOL T11_;
					NI TM__R8z9bzATizpQoD67YeHNTdg_4;
					NI TM__R8z9bzATizpQoD67YeHNTdg_5;
					NI TM__R8z9bzATizpQoD67YeHNTdg_6;
					T11_ = (NIM_BOOL)0;
					T11_ = (((NI) 56320) <= ch2);
					if (!(T11_)) goto LA12_;
					T11_ = (ch2 <= ((NI) 57343));
					LA12_: ;
					if (!T11_) goto LA13_;
					TM__R8z9bzATizpQoD67YeHNTdg_4 = addInt((NI)((NU32)((NI)(ch & ((NI) 1023))) << (NU32)(((NI) 10))), (NI)(ch2 & ((NI) 1023)));
					TM__R8z9bzATizpQoD67YeHNTdg_5 = addInt((NI)(TM__R8z9bzATizpQoD67YeHNTdg_4), ((NI) 65536));
					ch = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_5);
					TM__R8z9bzATizpQoD67YeHNTdg_6 = addInt(i, ((NI) 1));
					i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_6);
				}
				goto LA9_;
				LA13_: ;
				{
					ch = replacement;
				}
				LA9_: ;
			}
			goto LA3_;
			LA7_: ;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (((NI) 56320) <= ch);
				if (!(T17_)) goto LA18_;
				T17_ = (ch <= ((NI) 57343));
				LA18_: ;
				if (!T17_) goto LA19_;
				ch = replacement;
			}
			goto LA3_;
			LA19_: ;
			LA3_: ;
			{
				if (!(ch < ((NI) 128))) goto LA23_;
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange(ch, ((NI) 0), ((NI) 255))))));
			}
			goto LA21_;
			LA23_: ;
			{
				if (!(ch < ((NI) 2048))) goto LA26_;
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)((NI32)(ch) >> (NU32)(((NI) 6))) | ((NI) 192)), ((NI) 0), ((NI) 255))))));
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)(ch & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255))))));
			}
			goto LA21_;
			LA26_: ;
			{
				if (!(ch < ((NI) 65536))) goto LA29_;
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)((NI32)(ch) >> (NU32)(((NI) 12))) | ((NI) 224)), ((NI) 0), ((NI) 255))))));
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)((NI)((NI32)(ch) >> (NU32)(((NI) 6))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255))))));
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)(ch & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255))))));
			}
			goto LA21_;
			LA29_: ;
			{
				if (!(ch <= ((NI) 1114111))) goto LA32_;
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)((NI32)(ch) >> (NU32)(((NI) 18))) | ((NI) 240)), ((NI) 0), ((NI) 255))))));
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)((NI)((NI32)(ch) >> (NU32)(((NI) 12))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255))))));
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)((NI)((NI32)(ch) >> (NU32)(((NI) 6))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255))))));
				result = addChar(result, ((NIM_CHAR) (((NI)chckRange((NI)((NI)(ch & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255))))));
			}
			goto LA21_;
			LA32_: ;
			{
				result = addChar(result, 239);
				result = addChar(result, 191);
				result = addChar(result, 189);
			}
			LA21_: ;
		} LA2: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___NleKxkskBzDhxdrvP1WL7A)(NI16* s) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = dollar___NmQ9ct6KsQm3mcX4z6BEBbA(s, ((NI) 80), ((NI) 65533));
	return result;
}
static N_NIMCALL(void, Marker_tyRef__4HwedE75WPfqZSQ0Cq2OUg)(void* p, NI op) {
	NI16* a;
	a = (NI16*)p;
}
static N_INLINE(NI, subInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU32)(a) - (NU32)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU32) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__K8rR70TBwrP6FNBzDhVVOA)(NCSTRING source, NI L) {	NI16* result;
	NI TM__R8z9bzATizpQoD67YeHNTdg_7;
	NI TM__R8z9bzATizpQoD67YeHNTdg_8;
	NI TM__R8z9bzATizpQoD67YeHNTdg_9;
	NI TM__R8z9bzATizpQoD67YeHNTdg_10;
	NI d;
	result = (NI16*)0;
	TM__R8z9bzATizpQoD67YeHNTdg_7 = mulInt(L, ((NI) 4));
	TM__R8z9bzATizpQoD67YeHNTdg_8 = addInt((NI)(TM__R8z9bzATizpQoD67YeHNTdg_7), ((NI) 2));
	TM__R8z9bzATizpQoD67YeHNTdg_9 = mulInt((NI)(TM__R8z9bzATizpQoD67YeHNTdg_8), ((NI) 4));
	TM__R8z9bzATizpQoD67YeHNTdg_10 = addInt((NI)(TM__R8z9bzATizpQoD67YeHNTdg_9), ((NI) 2));
	result = (NI16*) newObj((&NTI__4HwedE75WPfqZSQ0Cq2OUg_), ((NI)chckRange((NI)(TM__R8z9bzATizpQoD67YeHNTdg_10), ((NI) 0), ((NI) 2147483647))));
	d = ((NI) 0);
	{
		NI ch;
		NI i;
		NI result_2;
		ch = (NI)0;
		i = ((NI) 0);
		result_2 = (NI)0;
		{
			while (1) {
				NI TM__R8z9bzATizpQoD67YeHNTdg_32;
				if (!(i < L)) goto LA3;
				{
					NI TM__R8z9bzATizpQoD67YeHNTdg_11;
					if (!(((NU8)(source[i])) <= ((NI) 127))) goto LA6_;
					result_2 = ((NU8)(source[i]));
					TM__R8z9bzATizpQoD67YeHNTdg_11 = addInt(i, ((NI) 1));
					i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_11);
				}
				goto LA4_;
				LA6_: ;
				{
					if (!((NI)((NI32)(((NU8)(source[i]))) >> (NU32)(((NI) 5))) == ((NI) 6))) goto LA9_;
					{
						NI TM__R8z9bzATizpQoD67YeHNTdg_12;
						NI TM__R8z9bzATizpQoD67YeHNTdg_13;
						NI TM__R8z9bzATizpQoD67YeHNTdg_14;
						TM__R8z9bzATizpQoD67YeHNTdg_12 = subInt(L, ((NI) 2));
						if (!(i <= (NI)(TM__R8z9bzATizpQoD67YeHNTdg_12))) goto LA13_;
						TM__R8z9bzATizpQoD67YeHNTdg_13 = addInt(i, ((NI) 1));
						result_2 = (NI)((NI)((NU32)((NI)(((NU8)(source[i])) & ((NI) 31))) << (NU32)(((NI) 6))) | (NI)(((NU8)(source[(NI)(TM__R8z9bzATizpQoD67YeHNTdg_13)])) & ((NI) 63)));
						TM__R8z9bzATizpQoD67YeHNTdg_14 = addInt(i, ((NI) 2));
						i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_14);
					}
					goto LA11_;
					LA13_: ;
					{
						NI TM__R8z9bzATizpQoD67YeHNTdg_15;
						result_2 = ((NI) 65533);
						TM__R8z9bzATizpQoD67YeHNTdg_15 = addInt(i, ((NI) 1));
						i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_15);
					}
					LA11_: ;
				}
				goto LA4_;
				LA9_: ;
				{
					if (!((NI)((NI32)(((NU8)(source[i]))) >> (NU32)(((NI) 4))) == ((NI) 14))) goto LA17_;
					{
						NI TM__R8z9bzATizpQoD67YeHNTdg_16;
						NI TM__R8z9bzATizpQoD67YeHNTdg_17;
						NI TM__R8z9bzATizpQoD67YeHNTdg_18;
						NI TM__R8z9bzATizpQoD67YeHNTdg_19;
						TM__R8z9bzATizpQoD67YeHNTdg_16 = subInt(L, ((NI) 3));
						if (!(i <= (NI)(TM__R8z9bzATizpQoD67YeHNTdg_16))) goto LA21_;
						TM__R8z9bzATizpQoD67YeHNTdg_17 = addInt(i, ((NI) 1));
						TM__R8z9bzATizpQoD67YeHNTdg_18 = addInt(i, ((NI) 2));
						result_2 = (NI)((NI)((NI)((NU32)((NI)(((NU8)(source[i])) & ((NI) 15))) << (NU32)(((NI) 12))) | (NI)((NU32)((NI)(((NU8)(source[(NI)(TM__R8z9bzATizpQoD67YeHNTdg_17)])) & ((NI) 63))) << (NU32)(((NI) 6)))) | (NI)(((NU8)(source[(NI)(TM__R8z9bzATizpQoD67YeHNTdg_18)])) & ((NI) 63)));
						TM__R8z9bzATizpQoD67YeHNTdg_19 = addInt(i, ((NI) 3));
						i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_19);
					}
					goto LA19_;
					LA21_: ;
					{
						NI TM__R8z9bzATizpQoD67YeHNTdg_20;
						result_2 = ((NI) 65533);
						TM__R8z9bzATizpQoD67YeHNTdg_20 = addInt(i, ((NI) 1));
						i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_20);
					}
					LA19_: ;
				}
				goto LA4_;
				LA17_: ;
				{
					if (!((NI)((NI32)(((NU8)(source[i]))) >> (NU32)(((NI) 3))) == ((NI) 30))) goto LA25_;
					{
						NI TM__R8z9bzATizpQoD67YeHNTdg_21;
						NI TM__R8z9bzATizpQoD67YeHNTdg_22;
						NI TM__R8z9bzATizpQoD67YeHNTdg_23;
						NI TM__R8z9bzATizpQoD67YeHNTdg_24;
						NI TM__R8z9bzATizpQoD67YeHNTdg_25;
						TM__R8z9bzATizpQoD67YeHNTdg_21 = subInt(L, ((NI) 4));
						if (!(i <= (NI)(TM__R8z9bzATizpQoD67YeHNTdg_21))) goto LA29_;
						TM__R8z9bzATizpQoD67YeHNTdg_22 = addInt(i, ((NI) 1));
						TM__R8z9bzATizpQoD67YeHNTdg_23 = addInt(i, ((NI) 2));
						TM__R8z9bzATizpQoD67YeHNTdg_24 = addInt(i, ((NI) 3));
						result_2 = (NI)((NI)((NI)((NI)((NU32)((NI)(((NU8)(source[i])) & ((NI) 7))) << (NU32)(((NI) 18))) | (NI)((NU32)((NI)(((NU8)(source[(NI)(TM__R8z9bzATizpQoD67YeHNTdg_22)])) & ((NI) 63))) << (NU32)(((NI) 12)))) | (NI)((NU32)((NI)(((NU8)(source[(NI)(TM__R8z9bzATizpQoD67YeHNTdg_23)])) & ((NI) 63))) << (NU32)(((NI) 6)))) | (NI)(((NU8)(source[(NI)(TM__R8z9bzATizpQoD67YeHNTdg_24)])) & ((NI) 63)));
						TM__R8z9bzATizpQoD67YeHNTdg_25 = addInt(i, ((NI) 4));
						i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_25);
					}
					goto LA27_;
					LA29_: ;
					{
						NI TM__R8z9bzATizpQoD67YeHNTdg_26;
						result_2 = ((NI) 65533);
						TM__R8z9bzATizpQoD67YeHNTdg_26 = addInt(i, ((NI) 1));
						i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_26);
					}
					LA27_: ;
				}
				goto LA4_;
				LA25_: ;
				{
					NI TM__R8z9bzATizpQoD67YeHNTdg_27;
					result_2 = ((NI) 65533);
					TM__R8z9bzATizpQoD67YeHNTdg_27 = addInt(i, ((NI) 1));
					i = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_27);
				}
				LA4_: ;
				ch = result_2;
				{
					if (!(ch <= ((NI) 65535))) goto LA35_;
					{
						NIM_BOOL T39_;
						T39_ = (NIM_BOOL)0;
						T39_ = (((NI) 55296) <= ch);
						if (!(T39_)) goto LA40_;
						T39_ = (ch <= ((NI) 57343));
						LA40_: ;
						if (!T39_) goto LA41_;
						result[d] = ((NI16) -3);
					}
					goto LA37_;
					LA41_: ;
					{
						result[d] = ((NI16) (((NU16) (ch))));
					}
					LA37_: ;
				}
				goto LA33_;
				LA35_: ;
				{
					if (!(((NI) 1114111) < ch)) goto LA45_;
					result[d] = ((NI16) -3);
				}
				goto LA33_;
				LA45_: ;
				{
					NI ch_2;
					NI TM__R8z9bzATizpQoD67YeHNTdg_28;
					NI TM__R8z9bzATizpQoD67YeHNTdg_29;
					NI TM__R8z9bzATizpQoD67YeHNTdg_30;
					NI TM__R8z9bzATizpQoD67YeHNTdg_31;
					TM__R8z9bzATizpQoD67YeHNTdg_28 = subInt(ch, ((NI) 65536));
					ch_2 = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_28);
					TM__R8z9bzATizpQoD67YeHNTdg_29 = addInt((NI)((NI32)(ch_2) >> (NU32)(((NI) 10))), ((NI) 55296));
					result[d] = ((NI16) (((NU16) ((NI)(TM__R8z9bzATizpQoD67YeHNTdg_29)))));
					TM__R8z9bzATizpQoD67YeHNTdg_30 = addInt(d, ((NI) 1));
					d = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_30);
					TM__R8z9bzATizpQoD67YeHNTdg_31 = addInt((NI)(ch_2 & ((NI) 1023)), ((NI) 56320));
					result[d] = ((NI16) (((NU16) ((NI)(TM__R8z9bzATizpQoD67YeHNTdg_31)))));
				}
				LA33_: ;
				TM__R8z9bzATizpQoD67YeHNTdg_32 = addInt(d, ((NI) 1));
				d = (NI)(TM__R8z9bzATizpQoD67YeHNTdg_32);
			} LA3: ;
		}
	}
	result[d] = ((NI16) 0);
	return result;
}
static N_INLINE(size_t, nimCStrLen)(NCSTRING a) {	size_t result;
	result = (size_t)0;
	result = strlen(a);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__G8rSmf9akUNUzuZWlrfFAmA)(NCSTRING s) {	NI16* result;
{	result = (NI16*)0;
	{
		if (!(s == 0)) goto LA3_;
		result = NIM_NIL;
		goto BeforeRet_;
	}
	LA3_: ;
	result = newWideCString__K8rR70TBwrP6FNBzDhVVOA(s, (s ? nimCStrLen(s) : 0));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__rFkWhJjmVi0m0Hc9agVEZIQ)(NimStringDesc* s) {	NI16* result;
	result = (NI16*)0;
	result = newWideCString__K8rR70TBwrP6FNBzDhVVOA(nimToCStringConv(s), (s ? s->Sup.len : 0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_widestrsDatInit000)(void) {
NTI__Tyd4y3haUOOHTj71TPIRag_.size = sizeof(tyUncheckedArray__Tyd4y3haUOOHTj71TPIRag);
NTI__Tyd4y3haUOOHTj71TPIRag_.kind = 49;
NTI__Tyd4y3haUOOHTj71TPIRag_.base = (&NTI__kDPg4wXyR8DDyA0MeEjIsw_);
NTI__Tyd4y3haUOOHTj71TPIRag_.flags = 3;
NTI__4HwedE75WPfqZSQ0Cq2OUg_.size = sizeof(NI16*);
NTI__4HwedE75WPfqZSQ0Cq2OUg_.kind = 22;
NTI__4HwedE75WPfqZSQ0Cq2OUg_.base = (&NTI__Tyd4y3haUOOHTj71TPIRag_);
NTI__4HwedE75WPfqZSQ0Cq2OUg_.flags = 2;
NTI__4HwedE75WPfqZSQ0Cq2OUg_.marker = Marker_tyRef__4HwedE75WPfqZSQ0Cq2OUg;
}

