/* Generated by Nim Compiler v1.2.4 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef NU8 tyArray__YtcvxHNKV4YiecPE9ap1mcA[20];
typedef NU32 tyArray__xsE8WL1yT5DKfrMdYB89bYA[5];
typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
struct tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow {
NI count;
tyArray__xsE8WL1yT5DKfrMdYB89bYA state;
tyArray__w5VB8h5K8DB3oWrO5U2wqg buf;
};
typedef NU32 tyArray__BhDmUZcWSpYFIy5J8Xi8mQ[80];
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NIM_CHAR tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ[8];
N_LIB_PRIVATE N_NIMCALL(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow, newSha1State__BLt9c9b0RROKqDtPYlXNikjw)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, update__ax6Yc9cnMbhcQo7mOcM7vow)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, NIM_CHAR* data, NI dataLen_0);
N_LIB_PRIVATE N_NOINLINE(void, raiseDivByZero)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res);
N_LIB_PRIVATE N_NIMCALL(void, transform__nXAytAbJFaZ9aeQhbOWq40w)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx);
static N_INLINE(void, bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians)(void* outp, void* inp);
static N_INLINE(void, swapEndian32__Y7K2twSvEFXjEQtANWmrhg_2endians)(void* outp, void* inp);
static N_INLINE(NIM_BOOL, nimMulInt)(NI a, NI b, NI* res);
static N_INLINE(NF, toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem)(NI i);
static N_INLINE(NF, abs__BRaAqinz6OWTHkALb4oj6Qsystem)(NF x);
N_LIB_PRIVATE N_NIMCALL(void, finalize__oGD3DkWwC5i1VP9b2FaR3OA)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
N_LIB_PRIVATE N_NOINLINE(void, chckNil)(void* p);
static N_INLINE(void, bigEndian64__Y7K2twSvEFXjEQtANWmrhg_3endians)(void* outp, void* inp);
static N_INLINE(void, swapEndian64__Y7K2twSvEFXjEQtANWmrhg_4endians)(void* outp, void* inp);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x, NI len);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, secureHash__qi7bJ7Ntyvry4psMKnopTA)(NIM_CHAR* str, NI strLen_0, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__4PGnM9bWmsH0Nu7dnr3XzgA)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NI, nsuParseHexInt)(NimStringDesc* s);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___PwqVAsfJ49cJp2hIm2xHpPQ)(tyArray__YtcvxHNKV4YiecPE9ap1mcA x, tyArray__YtcvxHNKV4YiecPE9ap1mcA y);
STRING_LITERAL(TM__SpWH4VocI3fFoiOGE4MzWw_386, "\200", 1);
STRING_LITERAL(TM__SpWH4VocI3fFoiOGE4MzWw_388, "\000", 1);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow, newSha1State__BLt9c9b0RROKqDtPYlXNikjw)(void) {
	tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
	result.count = ((NI) 0);
	result.state[(((NI) 0))- 0] = ((NU32) 1732584193);
	result.state[(((NI) 1))- 0] = ((NU32) IL64(4023233417));
	result.state[(((NI) 2))- 0] = ((NU32) IL64(2562383102));
	result.state[(((NI) 3))- 0] = ((NU32) 271733878);
	result.state[(((NI) 4))- 0] = ((NU32) IL64(3285377520));
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) - (NU64)(((NU) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(r ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) + (NU64)(((NU) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(r ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, swapEndian32__Y7K2twSvEFXjEQtANWmrhg_2endians)(void* outp, void* inp) {
	NU32 tmpX60gensym18895031_;
	tmpX60gensym18895031_ = (NU32)0;
	copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&tmpX60gensym18895031_))), inp, ((NI) 4));
	tmpX60gensym18895031_ = __builtin_bswap32(tmpX60gensym18895031_);
	copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(outp, ((void*) ((&tmpX60gensym18895031_))), ((NI) 4));
}
static N_INLINE(void, bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians)(void* outp, void* inp) {
	swapEndian32__Y7K2twSvEFXjEQtANWmrhg_2endians(outp, inp);
}
static N_INLINE(NF, toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem)(NI i) {
	NF result;
	result = (NF)0;
	result = ((NF) (i));
	return result;
}
static N_INLINE(NF, abs__BRaAqinz6OWTHkALb4oj6Qsystem)(NF x) {
	NF result;
	result = (NF)0;
	{
		if (!(x < 0.0)) goto LA3_;
		result = -(x);
	}
	goto LA1_;
	LA3_: ;
	{
		result = x;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimMulInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	NF floatProd;
	NF T1_;
	NF T2_;
	NF resAsFloat;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) * (NU64)(((NU) (b))))));
	T1_ = (NF)0;
	T1_ = toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem(a);
	T2_ = (NF)0;
	T2_ = toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem(b);
	floatProd = ((NF)(T1_) * (NF)(T2_));
	resAsFloat = toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem(r);
	{
		if (!(resAsFloat == floatProd)) goto LA5_;
		(*res) = r;
	}
	goto LA3_;
	LA5_: ;
	{
		{
			NF T10_;
			NF T11_;
			T10_ = (NF)0;
			T10_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(((NF)(resAsFloat) - (NF)(floatProd)));
			T11_ = (NF)0;
			T11_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(floatProd);
			if (!(((NF)(3.2000000000000000e+01) * (NF)(T10_)) <= T11_)) goto LA12_;
			(*res) = r;
		}
		goto LA8_;
		LA12_: ;
		{
			result = NIM_TRUE;
		}
		LA8_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, transform__nXAytAbJFaZ9aeQhbOWq40w)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx) {
	tyArray__BhDmUZcWSpYFIy5J8Xi8mQ w;
	NU32 a;
	NU32 b;
	NU32 c;
	NU32 d;
	NU32 e;
	NI t;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_30;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_31;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_32;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_33;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_34;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_35;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_36;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_37;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_38;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_39;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_40;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_41;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_42;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_43;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_44;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_45;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_46;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_47;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_48;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_49;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_50;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_51;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_52;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_53;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_54;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_55;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_56;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_57;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_58;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_59;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_60;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_61;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_62;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_63;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_64;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_65;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_66;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_67;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_68;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_69;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_70;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_71;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_72;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_73;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_74;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_75;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_76;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_77;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_78;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_79;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_80;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_81;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_82;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_83;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_84;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_85;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_86;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_87;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_88;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_89;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_90;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_91;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_92;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_93;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_94;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_95;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_96;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_97;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_98;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_99;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_100;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_101;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_102;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_103;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_104;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_105;
	nimZeroMem((void*)w, sizeof(tyArray__BhDmUZcWSpYFIy5J8Xi8mQ));
	a = (NU32)0;
	b = (NU32)0;
	c = (NU32)0;
	d = (NU32)0;
	e = (NU32)0;
	t = ((NI) 0);
	a = (*ctx).state[(((NI) 0))- 0];
	b = (*ctx).state[(((NI) 1))- 0];
	c = (*ctx).state[(((NI) 2))- 0];
	d = (*ctx).state[(((NI) 3))- 0];
	e = (*ctx).state[(((NI) 4))- 0];
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_9;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_10;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_11;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_12;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_13;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_14;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_15;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_16;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_17;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_18;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_19;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_20;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_21;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_22;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_23;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_24;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_25;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_26;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_27;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_28;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_29;
			if (!(t < ((NI) 15))) goto LA2;
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_9)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_9)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_9), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_10)) { raiseOverflow(); };
			if (nimMulInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_10), ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_11)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_11)) > (NU)(63)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_11), 63); }
			bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_9))- 0]))), ((void*) ((&(*ctx).buf[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_11))- 0]))));
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_12)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_12)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_12), 79); }
			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_12))- 0]))) + (NU32)((NU32)(d ^ (NU32)(b & (NU32)(c ^ d)))))) + (NU32)(((NU32) 1518500249)));
			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_13)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_13)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_13), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_14)) { raiseOverflow(); };
			if (nimMulInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_14), ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_15)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_15)) > (NU)(63)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_15), 63); }
			bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_13))- 0]))), ((void*) ((&(*ctx).buf[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_15))- 0]))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_16)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_16)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_16), 79); }
			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_16))- 0]))) + (NU32)((NU32)(c ^ (NU32)(a & (NU32)(b ^ c)))))) + (NU32)(((NU32) 1518500249)));
			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_17)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_17)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_17), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_18)) { raiseOverflow(); };
			if (nimMulInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_18), ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_19)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_19)) > (NU)(63)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_19), 63); }
			bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_17))- 0]))), ((void*) ((&(*ctx).buf[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_19))- 0]))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_20)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_20)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_20), 79); }
			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_20))- 0]))) + (NU32)((NU32)(b ^ (NU32)(e & (NU32)(a ^ b)))))) + (NU32)(((NU32) 1518500249)));
			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_21)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_21)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_21), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_22)) { raiseOverflow(); };
			if (nimMulInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_22), ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_23)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_23)) > (NU)(63)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_23), 63); }
			bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_21))- 0]))), ((void*) ((&(*ctx).buf[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_23))- 0]))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_24)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_24)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_24), 79); }
			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_24))- 0]))) + (NU32)((NU32)(a ^ (NU32)(d & (NU32)(e ^ a)))))) + (NU32)(((NU32) 1518500249)));
			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_25)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_25)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_25), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_26)) { raiseOverflow(); };
			if (nimMulInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_26), ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_27)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_27)) > (NU)(63)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_27), 63); }
			bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_25))- 0]))), ((void*) ((&(*ctx).buf[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_27))- 0]))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_28)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_28)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_28), 79); }
			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_28))- 0]))) + (NU32)((NU32)(e ^ (NU32)(c & (NU32)(d ^ e)))))) + (NU32)(((NU32) 1518500249)));
			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 5), &TM__SpWH4VocI3fFoiOGE4MzWw_29)) { raiseOverflow(); };
			t = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_29);
		} LA2: ;
	}
	if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_30)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_30)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_30), 79); }
	if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_31)) { raiseOverflow(); };
	if (nimMulInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_31), ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_32)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_32)) > (NU)(63)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_32), 63); }
	bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_30))- 0]))), ((void*) ((&(*ctx).buf[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_32))- 0]))));
	if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_33)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_33)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_33), 79); }
	e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_33))- 0]))) + (NU32)((NU32)(d ^ (NU32)(b & (NU32)(c ^ d)))))) + (NU32)(((NU32) 1518500249)));
	b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_34)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_34)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_34), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_35)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_35), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_36)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_36)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_36), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_37)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_37), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_38)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_38)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_38), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_39)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_39), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_40)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_40)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_40), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_41)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_41), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_42)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_42)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_42), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_43)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_43), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_44)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_44)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_44), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_45)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_45), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_46)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_46)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_46), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_47)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_47), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_48)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_48)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_48), 79); }
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_49)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_49), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_50)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_50)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_50), 79); }
	w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_34))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_36))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_38))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_40))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_42))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_44))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_46))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_48))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_50))- 0])) << (NU64)(((NI) 1))));
	if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_51)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_51)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_51), 79); }
	d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_51))- 0]))) + (NU32)((NU32)(c ^ (NU32)(a & (NU32)(b ^ c)))))) + (NU32)(((NU32) 1518500249)));
	a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_52)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_52)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_52), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_53)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_53), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_54)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_54)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_54), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_55)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_55), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_56)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_56)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_56), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_57)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_57), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_58)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_58)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_58), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_59)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_59), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_60)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_60)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_60), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_61)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_61), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_62)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_62)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_62), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_63)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_63), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_64)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_64)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_64), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_65)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_65), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_66)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_66)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_66), 79); }
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_67)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_67), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_68)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_68)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_68), 79); }
	w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_52))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_54))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_56))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_58))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_60))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_62))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_64))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_66))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_68))- 0])) << (NU64)(((NI) 1))));
	if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_69)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_69)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_69), 79); }
	c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_69))- 0]))) + (NU32)((NU32)(b ^ (NU32)(e & (NU32)(a ^ b)))))) + (NU32)(((NU32) 1518500249)));
	e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_70)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_70)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_70), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_71)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_71), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_72)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_72)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_72), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_73)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_73), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_74)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_74)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_74), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_75)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_75), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_76)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_76)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_76), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_77)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_77), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_78)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_78)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_78), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_79)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_79), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_80)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_80)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_80), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_81)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_81), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_82)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_82)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_82), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_83)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_83), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_84)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_84)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_84), 79); }
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_85)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_85), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_86)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_86)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_86), 79); }
	w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_70))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_72))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_74))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_76))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_78))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_80))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_82))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_84))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_86))- 0])) << (NU64)(((NI) 1))));
	if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_87)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_87)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_87), 79); }
	b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_87))- 0]))) + (NU32)((NU32)(a ^ (NU32)(d & (NU32)(e ^ a)))))) + (NU32)(((NU32) 1518500249)));
	d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_88)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_88)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_88), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_89)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_89), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_90)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_90)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_90), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_91)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_91), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_92)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_92)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_92), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_93)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_93), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_94)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_94)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_94), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_95)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_95), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_96)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_96)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_96), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_97)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_97), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_98)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_98)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_98), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_99)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_99), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_100)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_100)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_100), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_101)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_101), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_102)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_102)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_102), 79); }
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_103)) { raiseOverflow(); };
	if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_103), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_104)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_104)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_104), 79); }
	w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_88))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_90))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_92))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_94))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_96))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_98))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_100))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_102))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_104))- 0])) << (NU64)(((NI) 1))));
	if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_105)) { raiseOverflow(); };
	if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_105)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_105), 79); }
	a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_105))- 0]))) + (NU32)((NU32)(e ^ (NU32)(c & (NU32)(d ^ e)))))) + (NU32)(((NU32) 1518500249)));
	c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
	t = ((NI) 20);
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_106;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_107;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_108;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_109;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_110;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_111;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_112;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_113;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_114;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_115;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_116;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_117;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_118;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_119;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_120;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_121;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_122;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_123;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_124;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_125;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_126;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_127;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_128;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_129;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_130;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_131;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_132;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_133;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_134;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_135;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_136;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_137;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_138;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_139;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_140;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_141;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_142;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_143;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_144;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_145;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_146;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_147;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_148;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_149;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_150;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_151;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_152;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_153;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_154;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_155;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_156;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_157;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_158;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_159;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_160;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_161;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_162;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_163;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_164;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_165;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_166;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_167;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_168;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_169;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_170;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_171;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_172;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_173;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_174;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_175;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_176;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_177;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_178;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_179;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_180;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_181;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_182;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_183;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_184;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_185;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_186;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_187;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_188;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_189;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_190;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_191;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_192;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_193;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_194;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_195;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_196;
			if (!(t < ((NI) 40))) goto LA4;
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_106)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_106)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_106), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_107)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_107), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_108)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_108)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_108), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_109)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_109), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_110)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_110)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_110), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_111)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_111), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_112)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_112)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_112), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_113)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_113), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_114)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_114)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_114), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_115)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_115), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_116)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_116)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_116), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_117)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_117), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_118)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_118)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_118), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_119)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_119), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_120)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_120)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_120), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_121)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_121), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_122)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_122)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_122), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_106))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_108))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_110))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_112))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_114))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_116))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_118))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_120))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_122))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_123)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_123)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_123), 79); }
			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_123))- 0]))) + (NU32)((NU32)((NU32)(b ^ c) ^ d)))) + (NU32)(((NU32) 1859775393)));
			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_124)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_124)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_124), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_125)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_125), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_126)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_126)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_126), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_127)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_127), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_128)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_128)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_128), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_129)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_129), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_130)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_130)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_130), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_131)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_131), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_132)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_132)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_132), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_133)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_133), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_134)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_134)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_134), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_135)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_135), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_136)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_136)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_136), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_137)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_137), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_138)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_138)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_138), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_139)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_139), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_140)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_140)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_140), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_124))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_126))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_128))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_130))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_132))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_134))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_136))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_138))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_140))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_141)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_141)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_141), 79); }
			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_141))- 0]))) + (NU32)((NU32)((NU32)(a ^ b) ^ c)))) + (NU32)(((NU32) 1859775393)));
			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_142)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_142)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_142), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_143)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_143), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_144)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_144)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_144), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_145)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_145), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_146)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_146)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_146), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_147)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_147), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_148)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_148)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_148), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_149)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_149), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_150)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_150)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_150), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_151)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_151), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_152)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_152)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_152), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_153)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_153), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_154)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_154)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_154), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_155)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_155), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_156)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_156)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_156), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_157)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_157), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_158)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_158)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_158), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_142))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_144))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_146))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_148))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_150))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_152))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_154))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_156))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_158))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_159)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_159)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_159), 79); }
			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_159))- 0]))) + (NU32)((NU32)((NU32)(e ^ a) ^ b)))) + (NU32)(((NU32) 1859775393)));
			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_160)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_160)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_160), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_161)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_161), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_162)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_162)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_162), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_163)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_163), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_164)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_164)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_164), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_165)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_165), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_166)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_166)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_166), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_167)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_167), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_168)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_168)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_168), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_169)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_169), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_170)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_170)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_170), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_171)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_171), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_172)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_172)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_172), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_173)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_173), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_174)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_174)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_174), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_175)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_175), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_176)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_176)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_176), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_160))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_162))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_164))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_166))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_168))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_170))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_172))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_174))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_176))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_177)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_177)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_177), 79); }
			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_177))- 0]))) + (NU32)((NU32)((NU32)(d ^ e) ^ a)))) + (NU32)(((NU32) 1859775393)));
			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_178)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_178)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_178), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_179)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_179), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_180)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_180)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_180), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_181)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_181), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_182)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_182)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_182), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_183)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_183), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_184)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_184)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_184), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_185)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_185), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_186)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_186)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_186), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_187)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_187), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_188)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_188)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_188), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_189)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_189), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_190)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_190)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_190), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_191)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_191), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_192)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_192)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_192), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_193)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_193), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_194)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_194)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_194), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_178))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_180))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_182))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_184))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_186))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_188))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_190))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_192))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_194))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_195)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_195)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_195), 79); }
			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_195))- 0]))) + (NU32)((NU32)((NU32)(c ^ d) ^ e)))) + (NU32)(((NU32) 1859775393)));
			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 5), &TM__SpWH4VocI3fFoiOGE4MzWw_196)) { raiseOverflow(); };
			t = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_196);
		} LA4: ;
	}
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_197;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_198;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_199;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_200;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_201;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_202;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_203;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_204;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_205;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_206;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_207;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_208;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_209;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_210;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_211;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_212;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_213;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_214;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_215;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_216;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_217;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_218;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_219;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_220;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_221;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_222;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_223;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_224;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_225;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_226;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_227;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_228;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_229;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_230;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_231;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_232;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_233;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_234;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_235;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_236;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_237;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_238;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_239;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_240;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_241;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_242;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_243;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_244;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_245;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_246;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_247;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_248;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_249;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_250;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_251;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_252;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_253;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_254;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_255;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_256;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_257;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_258;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_259;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_260;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_261;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_262;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_263;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_264;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_265;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_266;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_267;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_268;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_269;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_270;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_271;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_272;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_273;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_274;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_275;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_276;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_277;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_278;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_279;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_280;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_281;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_282;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_283;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_284;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_285;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_286;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_287;
			if (!(t < ((NI) 60))) goto LA6;
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_197)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_197)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_197), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_198)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_198), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_199)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_199)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_199), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_200)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_200), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_201)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_201)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_201), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_202)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_202), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_203)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_203)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_203), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_204)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_204), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_205)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_205)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_205), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_206)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_206), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_207)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_207)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_207), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_208)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_208), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_209)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_209)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_209), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_210)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_210), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_211)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_211)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_211), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_212)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_212), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_213)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_213)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_213), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_197))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_199))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_201))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_203))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_205))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_207))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_209))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_211))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_213))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_214)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_214)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_214), 79); }
			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_214))- 0]))) + (NU32)((NU32)((NU32)(b & c) | (NU32)(d & (NU32)(b | c)))))) + (NU32)(((NU32) IL64(2400959708))));
			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_215)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_215)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_215), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_216)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_216), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_217)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_217)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_217), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_218)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_218), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_219)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_219)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_219), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_220)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_220), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_221)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_221)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_221), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_222)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_222), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_223)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_223)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_223), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_224)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_224), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_225)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_225)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_225), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_226)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_226), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_227)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_227)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_227), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_228)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_228), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_229)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_229)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_229), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_230)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_230), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_231)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_231)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_231), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_215))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_217))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_219))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_221))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_223))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_225))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_227))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_229))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_231))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_232)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_232)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_232), 79); }
			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_232))- 0]))) + (NU32)((NU32)((NU32)(a & b) | (NU32)(c & (NU32)(a | b)))))) + (NU32)(((NU32) IL64(2400959708))));
			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_233)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_233)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_233), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_234)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_234), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_235)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_235)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_235), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_236)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_236), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_237)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_237)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_237), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_238)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_238), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_239)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_239)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_239), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_240)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_240), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_241)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_241)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_241), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_242)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_242), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_243)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_243)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_243), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_244)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_244), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_245)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_245)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_245), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_246)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_246), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_247)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_247)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_247), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_248)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_248), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_249)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_249)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_249), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_233))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_235))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_237))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_239))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_241))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_243))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_245))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_247))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_249))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_250)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_250)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_250), 79); }
			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_250))- 0]))) + (NU32)((NU32)((NU32)(e & a) | (NU32)(b & (NU32)(e | a)))))) + (NU32)(((NU32) IL64(2400959708))));
			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_251)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_251)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_251), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_252)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_252), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_253)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_253)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_253), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_254)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_254), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_255)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_255)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_255), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_256)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_256), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_257)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_257)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_257), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_258)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_258), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_259)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_259)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_259), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_260)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_260), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_261)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_261)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_261), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_262)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_262), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_263)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_263)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_263), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_264)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_264), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_265)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_265)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_265), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_266)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_266), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_267)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_267)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_267), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_251))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_253))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_255))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_257))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_259))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_261))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_263))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_265))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_267))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_268)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_268)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_268), 79); }
			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_268))- 0]))) + (NU32)((NU32)((NU32)(d & e) | (NU32)(a & (NU32)(d | e)))))) + (NU32)(((NU32) IL64(2400959708))));
			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_269)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_269)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_269), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_270)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_270), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_271)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_271)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_271), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_272)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_272), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_273)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_273)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_273), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_274)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_274), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_275)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_275)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_275), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_276)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_276), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_277)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_277)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_277), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_278)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_278), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_279)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_279)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_279), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_280)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_280), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_281)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_281)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_281), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_282)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_282), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_283)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_283)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_283), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_284)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_284), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_285)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_285)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_285), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_269))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_271))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_273))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_275))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_277))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_279))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_281))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_283))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_285))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_286)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_286)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_286), 79); }
			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_286))- 0]))) + (NU32)((NU32)((NU32)(c & d) | (NU32)(e & (NU32)(c | d)))))) + (NU32)(((NU32) IL64(2400959708))));
			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 5), &TM__SpWH4VocI3fFoiOGE4MzWw_287)) { raiseOverflow(); };
			t = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_287);
		} LA6: ;
	}
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_288;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_289;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_290;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_291;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_292;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_293;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_294;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_295;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_296;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_297;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_298;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_299;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_300;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_301;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_302;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_303;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_304;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_305;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_306;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_307;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_308;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_309;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_310;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_311;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_312;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_313;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_314;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_315;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_316;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_317;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_318;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_319;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_320;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_321;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_322;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_323;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_324;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_325;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_326;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_327;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_328;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_329;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_330;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_331;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_332;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_333;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_334;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_335;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_336;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_337;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_338;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_339;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_340;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_341;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_342;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_343;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_344;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_345;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_346;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_347;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_348;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_349;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_350;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_351;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_352;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_353;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_354;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_355;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_356;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_357;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_358;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_359;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_360;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_361;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_362;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_363;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_364;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_365;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_366;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_367;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_368;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_369;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_370;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_371;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_372;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_373;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_374;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_375;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_376;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_377;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_378;
			if (!(t < ((NI) 80))) goto LA8;
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_288)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_288)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_288), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_289)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_289), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_290)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_290)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_290), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_291)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_291), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_292)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_292)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_292), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_293)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_293), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_294)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_294)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_294), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_295)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_295), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_296)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_296)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_296), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_297)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_297), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_298)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_298)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_298), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_299)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_299), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_300)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_300)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_300), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_301)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_301), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_302)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_302)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_302), 79); }
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_303)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_303), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_304)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_304)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_304), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_288))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_290))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_292))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_294))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_296))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_298))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_300))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_302))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_304))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 0), &TM__SpWH4VocI3fFoiOGE4MzWw_305)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_305)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_305), 79); }
			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_305))- 0]))) + (NU32)((NU32)((NU32)(b ^ c) ^ d)))) + (NU32)(((NU32) IL64(3395469782))));
			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_306)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_306)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_306), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_307)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_307), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_308)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_308)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_308), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_309)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_309), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_310)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_310)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_310), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_311)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_311), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_312)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_312)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_312), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_313)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_313), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_314)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_314)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_314), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_315)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_315), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_316)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_316)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_316), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_317)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_317), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_318)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_318)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_318), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_319)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_319), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_320)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_320)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_320), 79); }
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_321)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_321), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_322)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_322)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_322), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_306))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_308))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_310))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_312))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_314))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_316))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_318))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_320))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_322))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_323)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_323)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_323), 79); }
			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_323))- 0]))) + (NU32)((NU32)((NU32)(a ^ b) ^ c)))) + (NU32)(((NU32) IL64(3395469782))));
			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_324)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_324)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_324), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_325)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_325), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_326)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_326)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_326), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_327)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_327), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_328)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_328)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_328), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_329)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_329), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_330)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_330)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_330), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_331)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_331), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_332)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_332)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_332), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_333)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_333), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_334)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_334)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_334), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_335)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_335), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_336)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_336)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_336), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_337)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_337), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_338)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_338)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_338), 79); }
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_339)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_339), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_340)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_340)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_340), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_324))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_326))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_328))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_330))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_332))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_334))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_336))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_338))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_340))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_341)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_341)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_341), 79); }
			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_341))- 0]))) + (NU32)((NU32)((NU32)(e ^ a) ^ b)))) + (NU32)(((NU32) IL64(3395469782))));
			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_342)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_342)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_342), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_343)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_343), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_344)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_344)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_344), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_345)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_345), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_346)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_346)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_346), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_347)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_347), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_348)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_348)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_348), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_349)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_349), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_350)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_350)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_350), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_351)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_351), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_352)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_352)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_352), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_353)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_353), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_354)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_354)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_354), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_355)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_355), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_356)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_356)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_356), 79); }
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_357)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_357), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_358)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_358)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_358), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_342))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_344))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_346))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_348))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_350))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_352))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_354))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_356))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_358))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_359)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_359)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_359), 79); }
			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_359))- 0]))) + (NU32)((NU32)((NU32)(d ^ e) ^ a)))) + (NU32)(((NU32) IL64(3395469782))));
			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_360)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_360)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_360), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_361)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_361), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_362)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_362)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_362), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_363)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_363), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_364)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_364)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_364), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_365)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_365), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_366)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_366)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_366), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_367)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_367), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_368)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_368)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_368), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_369)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_369), ((NI) 3), &TM__SpWH4VocI3fFoiOGE4MzWw_370)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_370)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_370), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_371)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_371), ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_372)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_372)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_372), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_373)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_373), ((NI) 14), &TM__SpWH4VocI3fFoiOGE4MzWw_374)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_374)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_374), 79); }
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_375)) { raiseOverflow(); };
			if (nimSubInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_375), ((NI) 16), &TM__SpWH4VocI3fFoiOGE4MzWw_376)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_376)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_376), 79); }
			w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_360))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_362))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_364))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_366))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_368))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_370))- 0] ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_372))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_374))- 0]) ^ w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_376))- 0])) << (NU64)(((NI) 1))));
			if (nimAddInt(t, ((NI) 4), &TM__SpWH4VocI3fFoiOGE4MzWw_377)) { raiseOverflow(); };
			if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_377)) > (NU)(79)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_377), 79); }
			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_377))- 0]))) + (NU32)((NU32)((NU32)(c ^ d) ^ e)))) + (NU32)(((NU32) IL64(3395469782))));
			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
			if (nimAddInt(t, ((NI) 5), &TM__SpWH4VocI3fFoiOGE4MzWw_378)) { raiseOverflow(); };
			t = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_378);
		} LA8: ;
	}
	(*ctx).state[(((NI) 0))- 0] += a;
	(*ctx).state[(((NI) 1))- 0] += b;
	(*ctx).state[(((NI) 2))- 0] += c;
	(*ctx).state[(((NI) 3))- 0] += d;
	(*ctx).state[(((NI) 4))- 0] += e;
}
N_LIB_PRIVATE N_NIMCALL(void, update__ax6Yc9cnMbhcQo7mOcM7vow)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, NIM_CHAR* data, NI dataLen_0) {
	NI i;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_2;
	NI j;
	NI len;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_384;
	if (((NI) 64) == 0){ raiseDivByZero(); }
	if (nimModInt((*ctx).count, ((NI) 64), &TM__SpWH4VocI3fFoiOGE4MzWw_2)) { raiseOverflow(); };
	i = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_2);
	j = ((NI) 0);
	len = dataLen_0;
	{
		NI TM__SpWH4VocI3fFoiOGE4MzWw_3;
		NI TM__SpWH4VocI3fFoiOGE4MzWw_4;
		NI TM__SpWH4VocI3fFoiOGE4MzWw_5;
		NI TM__SpWH4VocI3fFoiOGE4MzWw_6;
		NI TM__SpWH4VocI3fFoiOGE4MzWw_7;
		NI TM__SpWH4VocI3fFoiOGE4MzWw_8;
		if (nimSubInt(((NI) 64), i, &TM__SpWH4VocI3fFoiOGE4MzWw_3)) { raiseOverflow(); };
		if (!((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_3) < len)) goto LA3_;
		if ((NU)(i) > (NU)(63)){ raiseIndexError2(i, 63); }
		if ((NU)(j) >= (NU)(dataLen_0)){ raiseIndexError2(j,dataLen_0-1); }
		if (nimSubInt(((NI) 64), i, &TM__SpWH4VocI3fFoiOGE4MzWw_4)) { raiseOverflow(); };
		if (((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_4)) < ((NI) 0) || ((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_4)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_4), ((NI) 0), ((NI) IL64(9223372036854775807))); }
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*ctx).buf[(i)- 0]))), ((void*) ((&data[j]))), ((NI) ((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_4))));
		if (nimSubInt(((NI) 64), i, &TM__SpWH4VocI3fFoiOGE4MzWw_5)) { raiseOverflow(); };
		if (nimSubInt(len, (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_5), &TM__SpWH4VocI3fFoiOGE4MzWw_6)) { raiseOverflow(); };
		len = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_6);
		if (nimSubInt(((NI) 64), i, &TM__SpWH4VocI3fFoiOGE4MzWw_7)) { raiseOverflow(); };
		if (nimAddInt(j, (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_7), &TM__SpWH4VocI3fFoiOGE4MzWw_8)) { raiseOverflow(); };
		j = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_8);
		transform__nXAytAbJFaZ9aeQhbOWq40w(ctx);
		i = ((NI) 0);
	}
	LA3_: ;
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_379;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_380;
			if (!(((NI) 64) <= len)) goto LA6;
			if ((NU)(j) >= (NU)(dataLen_0)){ raiseIndexError2(j,dataLen_0-1); }
			copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*ctx).buf[(((NI) 0))- 0]))), ((void*) ((&data[j]))), ((NI) 64));
			if (nimSubInt(len, ((NI) 64), &TM__SpWH4VocI3fFoiOGE4MzWw_379)) { raiseOverflow(); };
			len = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_379);
			if (nimAddInt(j, ((NI) 64), &TM__SpWH4VocI3fFoiOGE4MzWw_380)) { raiseOverflow(); };
			j = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_380);
			transform__nXAytAbJFaZ9aeQhbOWq40w(ctx);
		} LA6: ;
	}
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_381;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_382;
			NI TM__SpWH4VocI3fFoiOGE4MzWw_383;
			if (!(((NI) 0) < len)) goto LA8;
			if (nimSubInt(len, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_381)) { raiseOverflow(); };
			len = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_381);
			if ((NU)(i) > (NU)(63)){ raiseIndexError2(i, 63); }
			if ((NU)(j) >= (NU)(dataLen_0)){ raiseIndexError2(j,dataLen_0-1); }
			(*ctx).buf[(i)- 0] = ((NU8) (((NU8)(data[j]))));
			if (nimAddInt(i, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_382)) { raiseOverflow(); };
			i = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_382);
			if (nimAddInt(j, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_383)) { raiseOverflow(); };
			j = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_383);
			{
				if (!(i == ((NI) 64))) goto LA11_;
				transform__nXAytAbJFaZ9aeQhbOWq40w(ctx);
				i = ((NI) 0);
			}
			LA11_: ;
		} LA8: ;
	}
	if (nimAddInt((*ctx).count, dataLen_0, &TM__SpWH4VocI3fFoiOGE4MzWw_384)) { raiseOverflow(); };
	(*ctx).count = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_384);
}
static N_INLINE(void, swapEndian64__Y7K2twSvEFXjEQtANWmrhg_4endians)(void* outp, void* inp) {
	NU64 tmpX60gensym18891216_;
	tmpX60gensym18891216_ = (NU64)0;
	copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&tmpX60gensym18891216_))), inp, ((NI) 8));
	tmpX60gensym18891216_ = __builtin_bswap64(tmpX60gensym18891216_);
	copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(outp, ((void*) ((&tmpX60gensym18891216_))), ((NI) 8));
}
static N_INLINE(void, bigEndian64__Y7K2twSvEFXjEQtANWmrhg_3endians)(void* outp, void* inp) {
	swapEndian64__Y7K2twSvEFXjEQtANWmrhg_4endians(outp, inp);
}
N_LIB_PRIVATE N_NIMCALL(void, finalize__oGD3DkWwC5i1VP9b2FaR3OA)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
	NU64 cnt;
	NI TM__SpWH4VocI3fFoiOGE4MzWw_385;
	tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ tmp;
	chckNil((void*)Result);
	nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
	if (nimMulInt((*ctx).count, ((NI) 8), &TM__SpWH4VocI3fFoiOGE4MzWw_385)) { raiseOverflow(); };
	cnt = ((NU64) ((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_385)));
	update__ax6Yc9cnMbhcQo7mOcM7vow(ctx, ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_386)->data, (((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_386) ? ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_386)->Sup.len : 0));
	{
		while (1) {
			NI TM__SpWH4VocI3fFoiOGE4MzWw_387;
			if (((NI) 64) == 0){ raiseDivByZero(); }
			if (nimModInt((*ctx).count, ((NI) 64), &TM__SpWH4VocI3fFoiOGE4MzWw_387)) { raiseOverflow(); };
			if (!!(((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_387) == ((NI) 56)))) goto LA2;
			update__ax6Yc9cnMbhcQo7mOcM7vow(ctx, ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_388)->data, (((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_388) ? ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_388)->Sup.len : 0));
		} LA2: ;
	}
	nimZeroMem((void*)tmp, sizeof(tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ));
	bigEndian64__Y7K2twSvEFXjEQtANWmrhg_3endians(((void*) ((&tmp[(((NI) 0))- 0]))), ((void*) ((&cnt))));
	update__ax6Yc9cnMbhcQo7mOcM7vow(ctx, tmp, 8);
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__SpWH4VocI3fFoiOGE4MzWw_389;
				if (!(i_2 < ((NI) 5))) goto LA5;
				i = i_2;
				if ((NU)(i) > (NU)(4)){ raiseIndexError2(i, 4); }
				if ((NU)(i) > (NU)(4)){ raiseIndexError2(i, 4); }
				bigEndian32__Y7K2twSvEFXjEQtANWmrhgendians(((void*) ((&(*ctx).state[(i)- 0]))), ((void*) ((&(*ctx).state[(i)- 0]))));
				if (nimAddInt(i_2, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_389)) { raiseOverflow(); };
				i_2 = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_389);
			} LA5: ;
		}
	}
	copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&Result[(((NI) 0))- 0]))), ((void*) ((&(*ctx).state[(((NI) 0))- 0]))), ((NI) 20));
}
N_LIB_PRIVATE N_NIMCALL(void, secureHash__qi7bJ7Ntyvry4psMKnopTA)(NIM_CHAR* str, NI strLen_0, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
	tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow state;
	state = newSha1State__BLt9c9b0RROKqDtPYlXNikjw();
	update__ax6Yc9cnMbhcQo7mOcM7vow((&state), str, strLen_0);
	finalize__oGD3DkWwC5i1VP9b2FaR3OA((&state), Result);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___2r9adABFqPoalSCAWfm1KJQ)(tyArray__YtcvxHNKV4YiecPE9ap1mcA self) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NU8 v;
		tyArray__YtcvxHNKV4YiecPE9ap1mcA colontmp_;
		NI i;
		v = (NU8)0;
		nimZeroMem((void*)colontmp_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
		nimCopyMem((void*)colontmp_, (NIM_CONST void*)self, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
		i = ((NI) 0);
		{
			if (!(((NI) (i)) <= ((NI) 19))) goto LA4_;
			{
				while (1) {
					NimStringDesc* T8_;
					NI TM__SpWH4VocI3fFoiOGE4MzWw_390;
					v = colontmp_[(i)- 0];
					T8_ = (NimStringDesc*)0;
					T8_ = nsuToHex(((NI64) (((NI) (v)))), ((NI) 2));
					result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(result, T8_);
					{
						if (!(((NI) 19) <= ((NI) (i)))) goto LA11_;
						goto LA6;
					}
					LA11_: ;
					if (nimAddInt(i, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_390)) { raiseOverflow(); };
					if (TM__SpWH4VocI3fFoiOGE4MzWw_390 < 0 || TM__SpWH4VocI3fFoiOGE4MzWw_390 > 19){ raiseOverflow(); }
					i = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_390);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw)(NimStringDesc* filename, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = readFile__4PGnM9bWmsH0Nu7dnr3XzgA(filename);
	secureHash__qi7bJ7Ntyvry4psMKnopTA(T1_->data, (T1_ ? T1_->Sup.len : 0), Result);
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, parseSecureHash__S6VQ00WVRv4bBNU469arlSA)(NimStringDesc* hash, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
	chckNil((void*)Result);
	nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				NimStringDesc* T4_;
				NI TM__SpWH4VocI3fFoiOGE4MzWw_391;
				NI TM__SpWH4VocI3fFoiOGE4MzWw_392;
				NI TM__SpWH4VocI3fFoiOGE4MzWw_393;
				NI T5_;
				NI TM__SpWH4VocI3fFoiOGE4MzWw_394;
				if (!(i_2 < ((NI) 20))) goto LA3;
				i = i_2;
				if ((NU)(i) > (NU)(19)){ raiseIndexError2(i, 19); }
				T4_ = (NimStringDesc*)0;
				if (nimMulInt(i, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_391)) { raiseOverflow(); };
				if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_391)) >= (NU)(hash ? hash->Sup.len : 0)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_391),(hash ? hash->Sup.len : 0)-1); }
				if (nimMulInt(i, ((NI) 2), &TM__SpWH4VocI3fFoiOGE4MzWw_392)) { raiseOverflow(); };
				if (nimAddInt((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_392), ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_393)) { raiseOverflow(); };
				if ((NU)((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_393)) >= (NU)(hash ? hash->Sup.len : 0)){ raiseIndexError2((NI)(TM__SpWH4VocI3fFoiOGE4MzWw_393),(hash ? hash->Sup.len : 0)-1); }
				T4_ = rawNewString(2);
appendChar(T4_, hash->data[(NI)(TM__SpWH4VocI3fFoiOGE4MzWw_391)]);
appendChar(T4_, hash->data[(NI)(TM__SpWH4VocI3fFoiOGE4MzWw_393)]);
				T5_ = (NI)0;
				T5_ = nsuParseHexInt(T4_);
				Result[(i)- 0] = ((NU8) (T5_));
				if (nimAddInt(i_2, ((NI) 1), &TM__SpWH4VocI3fFoiOGE4MzWw_394)) { raiseOverflow(); };
				i_2 = (NI)(TM__SpWH4VocI3fFoiOGE4MzWw_394);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___gecBgtI3c7HdE9cwshfzHjQ)(tyArray__YtcvxHNKV4YiecPE9ap1mcA a, tyArray__YtcvxHNKV4YiecPE9ap1mcA b) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = eqeq___PwqVAsfJ49cJp2hIm2xHpPQ(a, b);
	return result;
}
