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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ;
typedef NU32 tyArray__PPSU5X9aizf5OJq0lL4Og7A[4];
typedef NU32 tyArray__r9bju37iC07zYknBh9c9bUAhw[2];
typedef NU8 tyArray__cPt4wmOc2JydnlcujLtYUg[64];
struct tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ {
	tyArray__PPSU5X9aizf5OJq0lL4Og7A state;
	tyArray__r9bju37iC07zYknBh9c9bUAhw count;
	tyArray__cPt4wmOc2JydnlcujLtYUg buffer;
};
typedef NU32 tyArray__YeqgWInwxbQdpRdnfRTZgQ[16];
typedef struct {
NU8* Field0;
NI Field1;
} tyOpenArray__UMVJID9bgFAzHOc9bt5jE4PA;
typedef NU8 tyArray__mXjDD1r0VWLRZmHnQfpVHA[8];
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
static N_INLINE(void, clearBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u269)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0);
static N_INLINE(void, zeroMem__system_u1739)(void* p_p0, NI size_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, md5Update__OOZdistZchecksumsZsrcZchecksumsZmd5_u186)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0, NU8* input_p1, NI input_p1Len_0);
static N_INLINE(void, writeBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u306)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0, NI index_p1, NU8* input_p2, NI input_p2Len_0, NI inputIndex_p3, NI len_p4);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, transform__OOZdistZchecksumsZsrcZchecksumsZmd5_u157)(NU8* buffer_p0, NI buffer_p0Len_0, NU32* state_p1);
N_LIB_PRIVATE N_NIMCALL(void, encode__OOZdistZchecksumsZsrcZchecksumsZmd5_u74)(NU32* dest_p0, NU8* src_p1, NI src_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6);
static N_INLINE(NU32, F__OOZdistZchecksumsZsrcZchecksumsZmd5_u11)(NU32 x_p0, NU32 y_p1, NU32 z_p2);
static N_INLINE(void, rot__OOZdistZchecksumsZsrcZchecksumsZmd5_u31)(NU32* x_p0, NU8 n_p1);
N_LIB_PRIVATE N_NIMCALL(void, GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6);
static N_INLINE(NU32, G__OOZdistZchecksumsZsrcZchecksumsZmd5_u16)(NU32 x_p0, NU32 y_p1, NU32 z_p2);
N_LIB_PRIVATE N_NIMCALL(void, HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6);
static N_INLINE(NU32, H__OOZdistZchecksumsZsrcZchecksumsZmd5_u21)(NU32 x_p0, NU32 y_p1, NU32 z_p2);
N_LIB_PRIVATE N_NIMCALL(void, II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6);
static N_INLINE(NU32, I__OOZdistZchecksumsZsrcZchecksumsZmd5_u26)(NU32 x_p0, NU32 y_p1, NU32 z_p2);
N_LIB_PRIVATE N_NIMCALL(void, decode__OOZdistZchecksumsZsrcZchecksumsZmd5_u116)(NU8* dest_p0, NI dest_p0Len_0, NU32* src_p1, NI src_p1Len_0);
N_LIB_PRIVATE NIM_CONST tyArray__cPt4wmOc2JydnlcujLtYUg padding__OOZdistZchecksumsZsrcZchecksumsZmd5_u10 = {((NU8)128),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0),
((NU8)0)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(void, zeroMem__system_u1739)(void* p_p0, NI size_p1) {
	nimZeroMem(p_p0, size_p1);
}
static N_INLINE(void, clearBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u269)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0) {
	zeroMem__system_u1739(((void*) ((*c_p0).buffer)), ((NI)64));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, md5Init__OOZdistZchecksumsZsrcZchecksumsZmd5_u184)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*c_p0).state[(((NI)0))- 0] = ((NU32)1732584193);
	(*c_p0).state[(((NI)1))- 0] = ((NU32)IL64(4023233417));
	(*c_p0).state[(((NI)2))- 0] = ((NU32)IL64(2562383102));
	(*c_p0).state[(((NI)3))- 0] = ((NU32)271733878);
	(*c_p0).count[(((NI)0))- 0] = ((NU32)0);
	(*c_p0).count[(((NI)1))- 0] = ((NU32)0);
	clearBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u269(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, writeBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u306)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0, NI index_p1, NU8* input_p2, NI input_p2Len_0, NI inputIndex_p3, NI len_p4) {
	copyMem__system_u1742(((void*) ((&(*c_p0).buffer[(index_p1)- 0]))), ((void*) ((&input_p2[inputIndex_p3]))), (len_p4));
}
N_LIB_PRIVATE N_NIMCALL(void, encode__OOZdistZchecksumsZsrcZchecksumsZmd5_u74)(NU32* dest_p0, NU8* src_p1, NI src_p1Len_0) {
	NI j_1;
	j_1 = ((NI)0);
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= ((NI)15))) goto LA3;
				i_1 = ((NI) (res_1));
				dest_p0[(i_1)- 0] = (NU32)((NU32)((NU32)(((NU32) (src_p1[j_1])) | (NU32)((NU64)(((NU32) (src_p1[(NI)(j_1 + ((NI)1))]))) << (NU64)(((NI)8) & (32 - 1)))) | (NU32)((NU64)(((NU32) (src_p1[(NI)(j_1 + ((NI)2))]))) << (NU64)(((NI)16) & (32 - 1)))) | (NU32)((NU64)(((NU32) (src_p1[(NI)(j_1 + ((NI)3))]))) << (NU64)(((NI)24) & (32 - 1))));
				j_1 += ((NI)4);
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
}
static N_INLINE(NU32, F__OOZdistZchecksumsZsrcZchecksumsZmd5_u11)(NU32 x_p0, NU32 y_p1, NU32 z_p2) {
	NU32 result;
	result = (NU32)((NU32)(x_p0 & y_p1) | (NU32)((NU32)((NU32) ~(x_p0)) & z_p2));
	return result;
}
static N_INLINE(void, rot__OOZdistZchecksumsZsrcZchecksumsZmd5_u31)(NU32* x_p0, NU8 n_p1) {
	(*x_p0) = (NU32)((NU32)((NU32)((*x_p0)) << (NU32)(n_p1 & (32 - 1))) | (NU32)((NU32)((*x_p0)) >> (NU32)((NU32)((NU32)(((NU32)32)) - (NU32)(((NU32) (n_p1)))) & (32 - 1))));
}
N_LIB_PRIVATE N_NIMCALL(void, FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6) {
	NU32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NU32)0;
	T1_ = F__OOZdistZchecksumsZsrcZchecksumsZmd5_u11(b_p1, c_p2, d_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a_p0)) + (NU32)(T1_))) + (NU32)(x_p4))) + (NU32)(ac_p6));
	rot__OOZdistZchecksumsZsrcZchecksumsZmd5_u31(a_p0, s_p5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((*a_p0)) + (NU32)(b_p1));
	}BeforeRet_: ;
}
static N_INLINE(NU32, G__OOZdistZchecksumsZsrcZchecksumsZmd5_u16)(NU32 x_p0, NU32 y_p1, NU32 z_p2) {
	NU32 result;
	result = (NU32)((NU32)(x_p0 & z_p2) | (NU32)(y_p1 & (NU32)((NU32) ~(z_p2))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6) {
	NU32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NU32)0;
	T1_ = G__OOZdistZchecksumsZsrcZchecksumsZmd5_u16(b_p1, c_p2, d_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a_p0)) + (NU32)(T1_))) + (NU32)(x_p4))) + (NU32)(ac_p6));
	rot__OOZdistZchecksumsZsrcZchecksumsZmd5_u31(a_p0, s_p5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((*a_p0)) + (NU32)(b_p1));
	}BeforeRet_: ;
}
static N_INLINE(NU32, H__OOZdistZchecksumsZsrcZchecksumsZmd5_u21)(NU32 x_p0, NU32 y_p1, NU32 z_p2) {
	NU32 result;
	result = (NU32)((NU32)(x_p0 ^ y_p1) ^ z_p2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6) {
	NU32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NU32)0;
	T1_ = H__OOZdistZchecksumsZsrcZchecksumsZmd5_u21(b_p1, c_p2, d_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a_p0)) + (NU32)(T1_))) + (NU32)(x_p4))) + (NU32)(ac_p6));
	rot__OOZdistZchecksumsZsrcZchecksumsZmd5_u31(a_p0, s_p5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((*a_p0)) + (NU32)(b_p1));
	}BeforeRet_: ;
}
static N_INLINE(NU32, I__OOZdistZchecksumsZsrcZchecksumsZmd5_u26)(NU32 x_p0, NU32 y_p1, NU32 z_p2) {
	NU32 result;
	result = (NU32)(y_p1 ^ (NU32)(x_p0 | (NU32)((NU32) ~(z_p2))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66)(NU32* a_p0, NU32 b_p1, NU32 c_p2, NU32 d_p3, NU32 x_p4, NU8 s_p5, NU32 ac_p6) {
	NU32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NU32)0;
	T1_ = I__OOZdistZchecksumsZsrcZchecksumsZmd5_u26(b_p1, c_p2, d_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a_p0)) + (NU32)(T1_))) + (NU32)(x_p4))) + (NU32)(ac_p6));
	rot__OOZdistZchecksumsZsrcZchecksumsZmd5_u31(a_p0, s_p5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*a_p0) = (NU32)((NU32)((*a_p0)) + (NU32)(b_p1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, transform__OOZdistZchecksumsZsrcZchecksumsZmd5_u157)(NU8* buffer_p0, NI buffer_p0Len_0, NU32* state_p1) {
	tyArray__YeqgWInwxbQdpRdnfRTZgQ myBlock_1;
	NU32 a_1;
	NU32 b_1;
	NU32 c_1;
	NU32 d_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)myBlock_1, sizeof(tyArray__YeqgWInwxbQdpRdnfRTZgQ));
	encode__OOZdistZchecksumsZsrcZchecksumsZmd5_u74(myBlock_1, buffer_p0, buffer_p0Len_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	a_1 = state_p1[(((NI)0))- 0];
	b_1 = state_p1[(((NI)1))- 0];
	c_1 = state_p1[(((NI)2))- 0];
	d_1 = state_p1[(((NI)3))- 0];
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)0))- 0], ((NU8)7), ((NU32)IL64(3614090360)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)1))- 0], ((NU8)12), ((NU32)IL64(3905402710)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)2))- 0], ((NU8)17), ((NU32)606105819));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)3))- 0], ((NU8)22), ((NU32)IL64(3250441966)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)4))- 0], ((NU8)7), ((NU32)IL64(4118548399)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)5))- 0], ((NU8)12), ((NU32)1200080426));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)6))- 0], ((NU8)17), ((NU32)IL64(2821735955)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)7))- 0], ((NU8)22), ((NU32)IL64(4249261313)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)8))- 0], ((NU8)7), ((NU32)1770035416));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)9))- 0], ((NU8)12), ((NU32)IL64(2336552879)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)10))- 0], ((NU8)17), ((NU32)IL64(4294925233)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)11))- 0], ((NU8)22), ((NU32)IL64(2304563134)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)12))- 0], ((NU8)7), ((NU32)1804603682));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)13))- 0], ((NU8)12), ((NU32)IL64(4254626195)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)14))- 0], ((NU8)17), ((NU32)IL64(2792965006)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	FF__OOZdistZchecksumsZsrcZchecksumsZmd5_u42((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)15))- 0], ((NU8)22), ((NU32)1236535329));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)1))- 0], ((NU8)5), ((NU32)IL64(4129170786)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)6))- 0], ((NU8)9), ((NU32)IL64(3225465664)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)11))- 0], ((NU8)14), ((NU32)643717713));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)0))- 0], ((NU8)20), ((NU32)IL64(3921069994)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)5))- 0], ((NU8)5), ((NU32)IL64(3593408605)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)10))- 0], ((NU8)9), ((NU32)38016083));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)15))- 0], ((NU8)14), ((NU32)IL64(3634488961)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)4))- 0], ((NU8)20), ((NU32)IL64(3889429448)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)9))- 0], ((NU8)5), ((NU32)568446438));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)14))- 0], ((NU8)9), ((NU32)IL64(3275163606)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)3))- 0], ((NU8)14), ((NU32)IL64(4107603335)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)8))- 0], ((NU8)20), ((NU32)1163531501));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)13))- 0], ((NU8)5), ((NU32)IL64(2850285829)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)2))- 0], ((NU8)9), ((NU32)IL64(4243563512)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)7))- 0], ((NU8)14), ((NU32)1735328473));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	GG__OOZdistZchecksumsZsrcZchecksumsZmd5_u50((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)12))- 0], ((NU8)20), ((NU32)IL64(2368359562)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)5))- 0], ((NU8)4), ((NU32)IL64(4294588738)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)8))- 0], ((NU8)11), ((NU32)IL64(2272392833)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)11))- 0], ((NU8)16), ((NU32)1839030562));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)14))- 0], ((NU8)23), ((NU32)IL64(4259657740)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)1))- 0], ((NU8)4), ((NU32)IL64(2763975236)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)4))- 0], ((NU8)11), ((NU32)1272893353));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)7))- 0], ((NU8)16), ((NU32)IL64(4139469664)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)10))- 0], ((NU8)23), ((NU32)IL64(3200236656)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)13))- 0], ((NU8)4), ((NU32)681279174));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)0))- 0], ((NU8)11), ((NU32)IL64(3936430074)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)3))- 0], ((NU8)16), ((NU32)IL64(3572445317)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)6))- 0], ((NU8)23), ((NU32)76029189));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)9))- 0], ((NU8)4), ((NU32)IL64(3654602809)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)12))- 0], ((NU8)11), ((NU32)IL64(3873151461)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)15))- 0], ((NU8)16), ((NU32)530742520));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	HH__OOZdistZchecksumsZsrcZchecksumsZmd5_u58((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)2))- 0], ((NU8)23), ((NU32)IL64(3299628645)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)0))- 0], ((NU8)6), ((NU32)IL64(4096336452)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)7))- 0], ((NU8)10), ((NU32)1126891415));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)14))- 0], ((NU8)15), ((NU32)IL64(2878612391)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)5))- 0], ((NU8)21), ((NU32)IL64(4237533241)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)12))- 0], ((NU8)6), ((NU32)1700485571));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)3))- 0], ((NU8)10), ((NU32)IL64(2399980690)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)10))- 0], ((NU8)15), ((NU32)IL64(4293915773)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)1))- 0], ((NU8)21), ((NU32)IL64(2240044497)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)8))- 0], ((NU8)6), ((NU32)1873313359));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)15))- 0], ((NU8)10), ((NU32)IL64(4264355552)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)6))- 0], ((NU8)15), ((NU32)IL64(2734768916)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)13))- 0], ((NU8)21), ((NU32)1309151649));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&a_1), b_1, c_1, d_1, myBlock_1[(((NI)4))- 0], ((NU8)6), ((NU32)IL64(4149444226)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&d_1), a_1, b_1, c_1, myBlock_1[(((NI)11))- 0], ((NU8)10), ((NU32)IL64(3174756917)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&c_1), d_1, a_1, b_1, myBlock_1[(((NI)2))- 0], ((NU8)15), ((NU32)718787259));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	II__OOZdistZchecksumsZsrcZchecksumsZmd5_u66((&b_1), c_1, d_1, a_1, myBlock_1[(((NI)9))- 0], ((NU8)21), ((NU32)IL64(3951481745)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	state_p1[(((NI)0))- 0] = (NU32)((NU32)(state_p1[(((NI)0))- 0]) + (NU32)(a_1));
	state_p1[(((NI)1))- 0] = (NU32)((NU32)(state_p1[(((NI)1))- 0]) + (NU32)(b_1));
	state_p1[(((NI)2))- 0] = (NU32)((NU32)(state_p1[(((NI)2))- 0]) + (NU32)(c_1));
	state_p1[(((NI)3))- 0] = (NU32)((NU32)(state_p1[(((NI)3))- 0]) + (NU32)(d_1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, md5Update__OOZdistZchecksumsZsrcZchecksumsZmd5_u186)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0, NU8* input_p1, NI input_p1Len_0) {
	NI Index_1;
	NI PartLen_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	Index_1 = ((NI) ((NU32)((NU32)((NU32)((*c_p0).count[(((NI)0))- 0]) >> (NU64)(((NI)3) & (32 - 1))) & ((NU32)63))));
	(*c_p0).count[(((NI)0))- 0] = (NU32)((NU32)((*c_p0).count[(((NI)0))- 0]) + (NU32)((NU32)((NU64)(((NU32) (input_p1Len_0))) << (NU64)(((NI)3) & (32 - 1)))));
	{
		if (!((NU32)((*c_p0).count[(((NI)0))- 0]) < (NU32)((NU32)((NU64)(((NU32) (input_p1Len_0))) << (NU64)(((NI)3) & (32 - 1)))))) goto LA3_;
		(*c_p0).count[(((NI)1))- 0] = (NU32)((NU32)((*c_p0).count[(((NI)1))- 0]) + (NU32)(((NU32)1)));
	}
LA3_: ;
	(*c_p0).count[(((NI)1))- 0] = (NU32)((NU32)((*c_p0).count[(((NI)1))- 0]) + (NU32)((NU32)((NU32)(((NU32) (input_p1Len_0))) >> (NU64)(((NI)29) & (32 - 1)))));
	PartLen_1 = (NI)(((NI)64) - Index_1);
	{
		NI i_1;
		if (!(PartLen_1 <= input_p1Len_0)) goto LA7_;
		writeBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u306(c_p0, Index_1, input_p1, input_p1Len_0, ((NI)0), PartLen_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		transform__OOZdistZchecksumsZsrcZchecksumsZmd5_u157((*c_p0).buffer, 64, (*c_p0).state);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_1 = PartLen_1;
		{
			while (1) {
				if (!((NI)(i_1 + ((NI)63)) < input_p1Len_0)) goto LA10;
				transform__OOZdistZchecksumsZsrcZchecksumsZmd5_u157((NU8*)(input_p1)+(i_1), ((NI)(i_1 + ((NI)63)))-(i_1)+1, (*c_p0).state);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_1 += ((NI)64);
			} LA10: ;
		}
		{
			if (!(i_1 < input_p1Len_0)) goto LA13_;
			writeBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u306(c_p0, ((NI)0), input_p1, input_p1Len_0, i_1, (NI)(input_p1Len_0 - i_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
	goto LA5_;
LA7_: ;
	{
		if (!(((NI)0) < input_p1Len_0)) goto LA16_;
		writeBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u306(c_p0, Index_1, input_p1, input_p1Len_0, ((NI)0), input_p1Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA16_: ;
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, md5Update__OOZdistZchecksumsZsrcZchecksumsZmd5_u192)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0, NCSTRING input_p1, NI len_p2) {
	tyOpenArray__UMVJID9bgFAzHOc9bt5jE4PA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_.Field0 = (NU8*)(input_p1)+(((NI)0)); T1_.Field1 = ((NI)(len_p2 - ((NI)1)))-(((NI)0))+1;
	md5Update__OOZdistZchecksumsZsrcZchecksumsZmd5_u186(c_p0, T1_.Field0, T1_.Field1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, decode__OOZdistZchecksumsZsrcZchecksumsZmd5_u116)(NU8* dest_p0, NI dest_p0Len_0, NU32* src_p1, NI src_p1Len_0) {
	NI i_1;
	i_1 = ((NI)0);
	{
		NI j_1;
		NI colontmp_;
		NI res_1;
		j_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (src_p1Len_0-1);
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= colontmp_)) goto LA3;
				j_1 = ((NI) (res_1));
				dest_p0[i_1] = ((NU8) ((NU32)(src_p1[j_1] & ((NU32)255))));
				dest_p0[(NI)(i_1 + ((NI)1))] = ((NU8) ((NU32)((NU32)((NU32)(src_p1[j_1]) >> (NU64)(((NI)8) & (32 - 1))) & ((NU32)255))));
				dest_p0[(NI)(i_1 + ((NI)2))] = ((NU8) ((NU32)((NU32)((NU32)(src_p1[j_1]) >> (NU64)(((NI)16) & (32 - 1))) & ((NU32)255))));
				dest_p0[(NI)(i_1 + ((NI)3))] = ((NU8) ((NU32)((NU32)((NU32)(src_p1[j_1]) >> (NU64)(((NI)24) & (32 - 1))) & ((NU32)255))));
				i_1 += ((NI)4);
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, md5Final__OOZdistZchecksumsZsrcZchecksumsZmd5_u189)(tyObject_MD5Context__6G4A09c6Yh9bSSo5x6UWzEqQ* c_p0, NU8* digest_p1) {
	tyArray__mXjDD1r0VWLRZmHnQfpVHA Bits_1;
	NI PadLen_1;
	NI Index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Bits_1, sizeof(tyArray__mXjDD1r0VWLRZmHnQfpVHA));
	PadLen_1 = (NI)0;
	decode__OOZdistZchecksumsZsrcZchecksumsZmd5_u116(Bits_1, 8, (*c_p0).count, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	Index_1 = ((NI) ((NU32)((NU32)((NU32)((*c_p0).count[(((NI)0))- 0]) >> (NU64)(((NI)3) & (32 - 1))) & ((NU32)63))));
	{
		if (!(Index_1 < ((NI)56))) goto LA3_;
		PadLen_1 = (NI)(((NI)56) - Index_1);
	}
	goto LA1_;
LA3_: ;
	{
		PadLen_1 = (NI)(((NI)120) - Index_1);
	}
LA1_: ;
	md5Update__OOZdistZchecksumsZsrcZchecksumsZmd5_u186(c_p0, (NU8*)((padding__OOZdistZchecksumsZsrcZchecksumsZmd5_u10)+(((NI)0))), ((NI)(PadLen_1 - ((NI)1)))-(((NI)0))+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	md5Update__OOZdistZchecksumsZsrcZchecksumsZmd5_u186(c_p0, Bits_1, 8);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	decode__OOZdistZchecksumsZsrcZchecksumsZmd5_u116(digest_p1, 16, (*c_p0).state, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	clearBuffer__OOZdistZchecksumsZsrcZchecksumsZmd5_u269(c_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___OOZdistZchecksumsZsrcZchecksumsZmd5_u241)(NU8* dest_p0) {
	nimZeroMem((void*)dest_p0, sizeof(tyArray__dnD8kjh6rJ1Yy5jHvid0Ow));
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZdistZchecksumsZsrcZchecksumsZmd5_u244)(tyArray__dnD8kjh6rJ1Yy5jHvid0Ow dest_p0) {
}
