/*===========================================================================*/
/*   (Unsafe/sha1.scm)                                                       */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Unsafe/sha1.scm -indent -o objs/obj_u/Unsafe/sha1.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___SHA1_TYPE_DEFINITIONS
#define BGL___SHA1_TYPE_DEFINITIONS
#endif													// BGL___SHA1_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static uint32_t BGl_fz00zz__sha1z00(int, uint32_t, uint32_t, uint32_t);
	static obj_t BGl_z62sha1sumzd2filezb0zz__sha1z00(obj_t, obj_t);
	static obj_t BGl_z62sha1sumzd2stringzb0zz__sha1z00(obj_t, obj_t);
	static obj_t BGl_sha1z00zz__sha1z00(long, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__sha1z00 = BUNSPEC;
	static obj_t BGl_z62sha1sumzd2portzb0zz__sha1z00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_sha1sumzd2filezd2zz__sha1z00(obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__sha1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__hmacz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62sha1sumzd2mmapzb0zz__sha1z00(obj_t, obj_t);
	extern obj_t BGl_openzd2mmapzd2zz__mmapz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_sha1sumzd2portzd2zz__sha1z00(obj_t);
	extern obj_t BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00(obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__sha1z00(void);
	extern obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long,
		long);
	BGL_EXPORTED_DECL obj_t BGl_sha1sumzd2mmapzd2zz__sha1z00(obj_t);
	extern obj_t BGl_ceilingz00zz__r4_numbers_6_5z00(obj_t);
	extern bool_t rgc_buffer_eof_p(obj_t);
	static obj_t BGl_genericzd2initzd2zz__sha1z00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__sha1z00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__sha1z00(void);
	static obj_t BGl_z62hmaczd2sha1sumzd2stringz62zz__sha1z00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_objectzd2initzd2zz__sha1z00(void);
	extern obj_t BGl_hmaczd2stringzd2zz__hmacz00(obj_t, obj_t, obj_t);
	extern long bgl_rgc_blit_string(obj_t, char *, long, long);
	extern obj_t BGl_2zf2zf2zz__r4_numbers_6_5z00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_sha1sumzd2stringzd2zz__sha1z00(obj_t);
	extern obj_t BGl_makezd2u32vectorzd2zz__srfi4z00(long, uint32_t);
	extern obj_t bgl_reverse_bang(obj_t);
	extern obj_t make_vector(long, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31501ze3ze5zz__sha1z00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__sha1z00(void);
	static obj_t BGl_z62zc3z04anonymousza31502ze3ze5zz__sha1z00(obj_t);
	extern obj_t blit_string(obj_t, long, obj_t, long, long);
	static obj_t BGl_u32zd2fillz12zc0zz__sha1z00(obj_t, long, uint32_t);
	BGL_EXPORTED_DECL obj_t BGl_sha1sumz00zz__sha1z00(obj_t);
	extern obj_t make_string(long, unsigned char);
	static obj_t BGl_z62sha1sumz62zz__sha1z00(obj_t, obj_t);
	extern obj_t bgl_close_input_port(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_hmaczd2sha1sumzd2stringz00zz__sha1z00(obj_t,
		obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_Kz00zz__sha1z00 = BUNSPEC;
	extern obj_t BGl_stringzd2fillz12zc0zz__r4_strings_6_7z00(obj_t,
		unsigned char);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_sha1sumzd2portzd2envz00zz__sha1z00,
		BgL_bgl_za762sha1sumza7d2por1939z00, BGl_z62sha1sumzd2portzb0zz__sha1z00,
		0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_sha1sumzd2envzd2zz__sha1z00,
		BgL_bgl_za762sha1sumza762za7za7_1940z00, BGl_z62sha1sumz62zz__sha1z00, 0L,
		BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_sha1sumzd2mmapzd2envz00zz__sha1z00,
		BgL_bgl_za762sha1sumza7d2mma1941z00, BGl_z62sha1sumzd2mmapzb0zz__sha1z00,
		0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_hmaczd2sha1sumzd2stringzd2envzd2zz__sha1z00,
		BgL_bgl_za762hmacza7d2sha1su1942z00,
		BGl_z62hmaczd2sha1sumzd2stringz62zz__sha1z00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_sha1sumzd2filezd2envz00zz__sha1z00,
		BgL_bgl_za762sha1sumza7d2fil1943z00, BGl_z62sha1sumzd2filezb0zz__sha1z00,
		0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1927z00zz__sha1z00,
		BgL_bgl_string1927za700za7za7_1944za7,
		"/tmp/bigloo/runtime/Unsafe/sha1.scm", 35);
	      BGL_DEFINE_STRING(BGl_string1928z00zz__sha1z00,
		BgL_bgl_string1928za700za7za7_1945za7, "&sha1sum-string", 15);
	      BGL_DEFINE_STRING(BGl_string1929z00zz__sha1z00,
		BgL_bgl_string1929za700za7za7_1946za7, "bstring", 7);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_sha1sumzd2stringzd2envz00zz__sha1z00,
		BgL_bgl_za762sha1sumza7d2str1947z00, BGl_z62sha1sumzd2stringzb0zz__sha1z00,
		0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1930z00zz__sha1z00,
		BgL_bgl_string1930za700za7za7_1948za7, "&sha1sum-mmap", 13);
	      BGL_DEFINE_STRING(BGl_string1931z00zz__sha1z00,
		BgL_bgl_string1931za700za7za7_1949za7, "mmap", 4);
	      BGL_DEFINE_STRING(BGl_string1932z00zz__sha1z00,
		BgL_bgl_string1932za700za7za7_1950za7, "&sha1sum-port", 13);
	      BGL_DEFINE_STRING(BGl_string1933z00zz__sha1z00,
		BgL_bgl_string1933za700za7za7_1951za7, "input-port", 10);
	      BGL_DEFINE_STRING(BGl_string1934z00zz__sha1z00,
		BgL_bgl_string1934za700za7za7_1952za7, "&sha1sum-file", 13);
	      BGL_DEFINE_STRING(BGl_string1935z00zz__sha1z00,
		BgL_bgl_string1935za700za7za7_1953za7, "sha1sum", 7);
	      BGL_DEFINE_STRING(BGl_string1936z00zz__sha1z00,
		BgL_bgl_string1936za700za7za7_1954za7, "Illegal argument", 16);
	      BGL_DEFINE_STRING(BGl_string1937z00zz__sha1z00,
		BgL_bgl_string1937za700za7za7_1955za7, "&hmac-sha1sum-string", 20);
	      BGL_DEFINE_STRING(BGl_string1938z00zz__sha1z00,
		BgL_bgl_string1938za700za7za7_1956za7, "__sha1", 6);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_STRING(BGl_string1938z00zz__sha1z00,
			BgL_bgl_string1938za700za7za7_1956za7);
		BGL_BIND_STRING(BGl_string1937z00zz__sha1z00,
			BgL_bgl_string1937za700za7za7_1955za7);
		BGL_BIND_STRING(BGl_string1936z00zz__sha1z00,
			BgL_bgl_string1936za700za7za7_1954za7);
		BGL_BIND_STRING(BGl_string1935z00zz__sha1z00,
			BgL_bgl_string1935za700za7za7_1953za7);
		BGL_BIND_STRING(BGl_string1934z00zz__sha1z00,
			BgL_bgl_string1934za700za7za7_1952za7);
		BGL_BIND_STRING(BGl_string1933z00zz__sha1z00,
			BgL_bgl_string1933za700za7za7_1951za7);
		BGL_BIND_STRING(BGl_string1932z00zz__sha1z00,
			BgL_bgl_string1932za700za7za7_1950za7);
		BGL_BIND_STRING(BGl_string1931z00zz__sha1z00,
			BgL_bgl_string1931za700za7za7_1949za7);
		BGL_BIND_STRING(BGl_string1930z00zz__sha1z00,
			BgL_bgl_string1930za700za7za7_1948za7);
		BGL_BIND_PROCEDURE(BGl_sha1sumzd2stringzd2envz00zz__sha1z00,
			BgL_bgl_za762sha1sumza7d2str1947z00);
		BGL_BIND_STRING(BGl_string1929z00zz__sha1z00,
			BgL_bgl_string1929za700za7za7_1946za7);
		BGL_BIND_STRING(BGl_string1928z00zz__sha1z00,
			BgL_bgl_string1928za700za7za7_1945za7);
		BGL_BIND_STRING(BGl_string1927z00zz__sha1z00,
			BgL_bgl_string1927za700za7za7_1944za7);
		BGL_BIND_PROCEDURE(BGl_sha1sumzd2filezd2envz00zz__sha1z00,
			BgL_bgl_za762sha1sumza7d2fil1943z00);
		BGL_BIND_PROCEDURE(BGl_hmaczd2sha1sumzd2stringzd2envzd2zz__sha1z00,
			BgL_bgl_za762hmacza7d2sha1su1942z00);
		BGL_BIND_PROCEDURE(BGl_sha1sumzd2mmapzd2envz00zz__sha1z00,
			BgL_bgl_za762sha1sumza7d2mma1941z00);
		BGL_BIND_PROCEDURE(BGl_sha1sumzd2envzd2zz__sha1z00,
			BgL_bgl_za762sha1sumza762za7za7_1940z00);
		BGL_BIND_PROCEDURE(BGl_sha1sumzd2portzd2envz00zz__sha1z00,
			BgL_bgl_za762sha1sumza7d2por1939z00);
	}

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;

		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__sha1z00));
		ADD_ROOT((void *) (&BGl_Kz00zz__sha1z00));
#undef ADD_ROOT
		if (roots_max > 0)
			GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__sha1z00(long
		BgL_checksumz00_2941, char *BgL_fromz00_2942)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__sha1z00))
				{
					BGl_requirezd2initializa7ationz75zz__sha1z00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__sha1z00();
					BGl_importedzd2moduleszd2initz00zz__sha1z00();
					return BGl_toplevelzd2initzd2zz__sha1z00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__sha1z00(void)
	{
		{	/* Unsafe/sha1.scm 17 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__sha1z00(void)
	{
		{	/* Unsafe/sha1.scm 17 */
			{	/* Unsafe/sha1.scm 129 */
				obj_t BgL_vz00_1305;

				{	/* Llib/srfi4.scm 451 */

					BgL_vz00_1305 =
						BGl_makezd2u32vectorzd2zz__srfi4z00(4L, (uint32_t) (0));
				}
				{	/* Unsafe/sha1.scm 130 */
					uint32_t BgL_arg1230z00_1306;

					{	/* Unsafe/sha1.scm 130 */
						uint32_t BgL_arg1231z00_1307;
						uint32_t BgL_arg1232z00_1308;

						{	/* Unsafe/sha1.scm 130 */
							uint32_t BgL_arg1234z00_1309;

							BgL_arg1234z00_1309 = (uint32_t) (23170L);
							BgL_arg1231z00_1307 = (BgL_arg1234z00_1309 << (int) (16L));
						}
						BgL_arg1232z00_1308 = (uint32_t) (31129L);
						BgL_arg1230z00_1306 = (BgL_arg1231z00_1307 | BgL_arg1232z00_1308);
					}
					BGL_U32VSET(BgL_vz00_1305, 0L, BgL_arg1230z00_1306);
					BUNSPEC;
				}
				{	/* Unsafe/sha1.scm 131 */
					uint32_t BgL_arg1235z00_1310;

					{	/* Unsafe/sha1.scm 131 */
						uint32_t BgL_arg1236z00_1311;
						uint32_t BgL_arg1239z00_1312;

						{	/* Unsafe/sha1.scm 131 */
							uint32_t BgL_arg1241z00_1313;

							BgL_arg1241z00_1313 = (uint32_t) (28377L);
							BgL_arg1236z00_1311 = (BgL_arg1241z00_1313 << (int) (16L));
						}
						BgL_arg1239z00_1312 = (uint32_t) (60321L);
						BgL_arg1235z00_1310 = (BgL_arg1236z00_1311 | BgL_arg1239z00_1312);
					}
					BGL_U32VSET(BgL_vz00_1305, 1L, BgL_arg1235z00_1310);
					BUNSPEC;
				}
				{	/* Unsafe/sha1.scm 132 */
					uint32_t BgL_arg1242z00_1314;

					{	/* Unsafe/sha1.scm 132 */
						uint32_t BgL_arg1248z00_1315;
						uint32_t BgL_arg1249z00_1316;

						{	/* Unsafe/sha1.scm 132 */
							uint32_t BgL_arg1252z00_1317;

							BgL_arg1252z00_1317 = (uint32_t) (36635L);
							BgL_arg1248z00_1315 = (BgL_arg1252z00_1317 << (int) (16L));
						}
						BgL_arg1249z00_1316 = (uint32_t) (48348L);
						BgL_arg1242z00_1314 = (BgL_arg1248z00_1315 | BgL_arg1249z00_1316);
					}
					BGL_U32VSET(BgL_vz00_1305, 2L, BgL_arg1242z00_1314);
					BUNSPEC;
				}
				{	/* Unsafe/sha1.scm 133 */
					uint32_t BgL_arg1253z00_1318;

					{	/* Unsafe/sha1.scm 133 */
						uint32_t BgL_arg1254z00_1319;
						uint32_t BgL_arg1258z00_1320;

						{	/* Unsafe/sha1.scm 133 */
							uint32_t BgL_arg1259z00_1321;

							BgL_arg1259z00_1321 = (uint32_t) (51810L);
							BgL_arg1254z00_1319 = (BgL_arg1259z00_1321 << (int) (16L));
						}
						BgL_arg1258z00_1320 = (uint32_t) (49622L);
						BgL_arg1253z00_1318 = (BgL_arg1254z00_1319 | BgL_arg1258z00_1320);
					}
					BGL_U32VSET(BgL_vz00_1305, 3L, BgL_arg1253z00_1318);
					BUNSPEC;
				}
				return (BGl_Kz00zz__sha1z00 = BgL_vz00_1305, BUNSPEC);
			}
		}

	}



/* u32-fill! */
	obj_t BGl_u32zd2fillz12zc0zz__sha1z00(obj_t BgL_strz00_5,
		long BgL_offsetz00_6, uint32_t BgL_wz00_7)
	{
		{	/* Unsafe/sha1.scm 105 */
			{	/* Unsafe/sha1.scm 106 */
				obj_t BgL_s1z00_1336;

				{	/* Unsafe/sha1.scm 106 */
					long BgL_arg1282z00_1347;

					{	/* Unsafe/sha1.scm 106 */
						uint32_t BgL_tmpz00_2976;

						BgL_tmpz00_2976 = (BgL_wz00_7 >> (int) (16L));
						BgL_arg1282z00_1347 = (long) (BgL_tmpz00_2976);
					}
					BgL_s1z00_1336 =
						BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
						(BgL_arg1282z00_1347, 16L);
				}
				{	/* Unsafe/sha1.scm 106 */
					long BgL_l1z00_1337;

					BgL_l1z00_1337 = STRING_LENGTH(BgL_s1z00_1336);
					{	/* Unsafe/sha1.scm 107 */
						obj_t BgL_s2z00_1338;

						{	/* Unsafe/sha1.scm 108 */
							long BgL_arg1280z00_1345;

							{	/* Unsafe/sha1.scm 108 */
								uint32_t BgL_tmpz00_2982;

								BgL_tmpz00_2982 = (BgL_wz00_7 & (uint32_t) (65535));
								BgL_arg1280z00_1345 = (long) (BgL_tmpz00_2982);
							}
							BgL_s2z00_1338 =
								BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
								(BgL_arg1280z00_1345, 16L);
						}
						{	/* Unsafe/sha1.scm 108 */
							long BgL_l2z00_1339;

							BgL_l2z00_1339 = STRING_LENGTH(BgL_s2z00_1338);
							{	/* Unsafe/sha1.scm 109 */

								blit_string(BgL_s1z00_1336, 0L, BgL_strz00_5,
									(BgL_offsetz00_6 + (4L - BgL_l1z00_1337)), BgL_l1z00_1337);
								return
									blit_string(BgL_s2z00_1338, 0L, BgL_strz00_5,
									(BgL_offsetz00_6 +
										(4L + (4L - BgL_l2z00_1339))), BgL_l2z00_1339);
							}
						}
					}
				}
			}
		}

	}



/* f */
	uint32_t BGl_fz00zz__sha1z00(int BgL_sz00_20, uint32_t BgL_xz00_21,
		uint32_t BgL_yz00_22, uint32_t BgL_za7za7_23)
	{
		{	/* Unsafe/sha1.scm 165 */
			{

				switch ((long) (BgL_sz00_20))
					{
					case 0L:

						return
							((BgL_xz00_21 & BgL_yz00_22) ^ (~(BgL_xz00_21) & BgL_za7za7_23));
						break;
					case 1L:
					case 3L:

						return (BgL_xz00_21 ^ (BgL_yz00_22 ^ BgL_za7za7_23));
						break;
					default:
						return
							(
							((BgL_xz00_21 & BgL_yz00_22) ^
								(BgL_xz00_21 & BgL_za7za7_23)) ^ (BgL_yz00_22 & BgL_za7za7_23));
					}
			}
		}

	}



/* sha1 */
	obj_t BGl_sha1z00zz__sha1z00(long BgL_lenz00_24, obj_t BgL_mz00_25)
	{
		{	/* Unsafe/sha1.scm 178 */
			{	/* Unsafe/sha1.scm 180 */
				obj_t BgL_wz00_1371;

				BgL_wz00_1371 =
					BGl_makezd2u32vectorzd2zz__srfi4z00(80L, (uint32_t) (0L));
				{	/* Unsafe/sha1.scm 184 */
					obj_t BgL_vecz00_1373;

					{	/* Unsafe/sha1.scm 184 */
						long BgL_arg1333z00_1376;

						BgL_arg1333z00_1376 = (VECTOR_LENGTH(BgL_mz00_25) - 1L);
						BgL_vecz00_1373 = VECTOR_REF(BgL_mz00_25, BgL_arg1333z00_1376);
					}
					{	/* Unsafe/sha1.scm 185 */
						long BgL_v15z00_1375;

						BgL_v15z00_1375 = (BgL_lenz00_24 * 8L);
						{	/* Unsafe/sha1.scm 186 */

							{	/* Unsafe/sha1.scm 187 */
								uint32_t BgL_tmpz00_3013;

								BgL_tmpz00_3013 = (uint32_t) (0L);
								BGL_U32VSET(BgL_vecz00_1373, 14L, BgL_tmpz00_3013);
							} BUNSPEC;
							{	/* Unsafe/sha1.scm 188 */
								uint32_t BgL_tmpz00_3016;

								BgL_tmpz00_3016 = (uint32_t) (BgL_v15z00_1375);
								BGL_U32VSET(BgL_vecz00_1373, 15L, BgL_tmpz00_3016);
							} BUNSPEC;
				}}}
				{	/* Unsafe/sha1.scm 191 */
					uint32_t BgL_h0z00_1377;

					{	/* Unsafe/sha1.scm 191 */
						uint32_t BgL_arg1404z00_1478;
						uint32_t BgL_arg1405z00_1479;

						{	/* Unsafe/sha1.scm 191 */
							uint32_t BgL_arg1407z00_1480;

							BgL_arg1407z00_1480 = (uint32_t) (26437L);
							BgL_arg1404z00_1478 = (BgL_arg1407z00_1480 << (int) (16L));
						}
						BgL_arg1405z00_1479 = (uint32_t) (8961L);
						BgL_h0z00_1377 = (BgL_arg1404z00_1478 | BgL_arg1405z00_1479);
					}
					{	/* Unsafe/sha1.scm 191 */
						uint32_t BgL_h1z00_1378;

						{	/* Unsafe/sha1.scm 192 */
							uint32_t BgL_arg1401z00_1475;
							uint32_t BgL_arg1402z00_1476;

							{	/* Unsafe/sha1.scm 192 */
								uint32_t BgL_arg1403z00_1477;

								BgL_arg1403z00_1477 = (uint32_t) (61389L);
								BgL_arg1401z00_1475 = (BgL_arg1403z00_1477 << (int) (16L));
							}
							BgL_arg1402z00_1476 = (uint32_t) (43913L);
							BgL_h1z00_1378 = (BgL_arg1401z00_1475 | BgL_arg1402z00_1476);
						}
						{	/* Unsafe/sha1.scm 192 */
							uint32_t BgL_h2z00_1379;

							{	/* Unsafe/sha1.scm 193 */
								uint32_t BgL_arg1398z00_1472;
								uint32_t BgL_arg1399z00_1473;

								{	/* Unsafe/sha1.scm 193 */
									uint32_t BgL_arg1400z00_1474;

									BgL_arg1400z00_1474 = (uint32_t) (39098L);
									BgL_arg1398z00_1472 = (BgL_arg1400z00_1474 << (int) (16L));
								}
								BgL_arg1399z00_1473 = (uint32_t) (56574L);
								BgL_h2z00_1379 = (BgL_arg1398z00_1472 | BgL_arg1399z00_1473);
							}
							{	/* Unsafe/sha1.scm 193 */
								uint32_t BgL_h3z00_1380;

								{	/* Unsafe/sha1.scm 194 */
									uint32_t BgL_arg1395z00_1469;
									uint32_t BgL_arg1396z00_1470;

									{	/* Unsafe/sha1.scm 194 */
										uint32_t BgL_arg1397z00_1471;

										BgL_arg1397z00_1471 = (uint32_t) (4146L);
										BgL_arg1395z00_1469 = (BgL_arg1397z00_1471 << (int) (16L));
									}
									BgL_arg1396z00_1470 = (uint32_t) (21622L);
									BgL_h3z00_1380 = (BgL_arg1395z00_1469 | BgL_arg1396z00_1470);
								}
								{	/* Unsafe/sha1.scm 194 */
									uint32_t BgL_h4z00_1381;

									{	/* Unsafe/sha1.scm 195 */
										uint32_t BgL_arg1390z00_1466;
										uint32_t BgL_arg1391z00_1467;

										{	/* Unsafe/sha1.scm 195 */
											uint32_t BgL_arg1392z00_1468;

											BgL_arg1392z00_1468 = (uint32_t) (50130L);
											BgL_arg1390z00_1466 =
												(BgL_arg1392z00_1468 << (int) (16L));
										}
										BgL_arg1391z00_1467 = (uint32_t) (57840L);
										BgL_h4z00_1381 =
											(BgL_arg1390z00_1466 | BgL_arg1391z00_1467);
									}
									{	/* Unsafe/sha1.scm 195 */

										{
											long BgL_iz00_1384;

											BgL_iz00_1384 = 0L;
										BgL_zc3z04anonymousza31334ze3z87_1385:
											if ((BgL_iz00_1384 < VECTOR_LENGTH(BgL_mz00_25)))
												{	/* Unsafe/sha1.scm 198 */
													{
														long BgL_tz00_2246;

														BgL_tz00_2246 = 0L;
													BgL_for1057z00_2245:
														if ((BgL_tz00_2246 < 16L))
															{	/* Unsafe/sha1.scm 201 */
																{	/* Unsafe/sha1.scm 202 */
																	uint32_t BgL_arg1338z00_2250;

																	{	/* Unsafe/sha1.scm 202 */
																		int BgL_iz00_2252;
																		int BgL_jz00_2253;

																		BgL_iz00_2252 = (int) (BgL_iz00_1384);
																		BgL_jz00_2253 = (int) (BgL_tz00_2246);
																		{	/* Unsafe/sha1.scm 160 */
																			long BgL_auxz00_3054;
																			obj_t BgL_tmpz00_3051;

																			BgL_auxz00_3054 = (long) (BgL_jz00_2253);
																			BgL_tmpz00_3051 =
																				VECTOR_REF(BgL_mz00_25,
																				(long) (BgL_iz00_2252));
																			BgL_arg1338z00_2250 =
																				BGL_U32VREF(BgL_tmpz00_3051,
																				BgL_auxz00_3054);
																	}}
																	BGL_U32VSET(BgL_wz00_1371, BgL_tz00_2246,
																		BgL_arg1338z00_2250);
																	BUNSPEC;
																}
																{
																	long BgL_tz00_3058;

																	BgL_tz00_3058 = (BgL_tz00_2246 + 1L);
																	BgL_tz00_2246 = BgL_tz00_3058;
																	goto BgL_for1057z00_2245;
																}
															}
														else
															{	/* Unsafe/sha1.scm 201 */
																((bool_t) 0);
															}
													}
													{
														long BgL_tz00_1397;

														BgL_tz00_1397 = 16L;
													BgL_zc3z04anonymousza31340ze3z87_1398:
														if ((BgL_tz00_1397 < 80L))
															{	/* Unsafe/sha1.scm 203 */
																{	/* Unsafe/sha1.scm 204 */
																	uint32_t BgL_w0z00_1400;

																	{	/* Unsafe/sha1.scm 204 */
																		long BgL_tmpz00_3062;

																		BgL_tmpz00_3062 = (BgL_tz00_1397 - 3L);
																		BgL_w0z00_1400 =
																			BGL_U32VREF(BgL_wz00_1371,
																			BgL_tmpz00_3062);
																	}
																	{	/* Unsafe/sha1.scm 204 */
																		uint32_t BgL_w1z00_1401;

																		{	/* Unsafe/sha1.scm 205 */
																			long BgL_tmpz00_3065;

																			BgL_tmpz00_3065 = (BgL_tz00_1397 - 8L);
																			BgL_w1z00_1401 =
																				BGL_U32VREF(BgL_wz00_1371,
																				BgL_tmpz00_3065);
																		}
																		{	/* Unsafe/sha1.scm 205 */
																			uint32_t BgL_w2z00_1402;

																			{	/* Unsafe/sha1.scm 206 */
																				long BgL_tmpz00_3068;

																				BgL_tmpz00_3068 = (BgL_tz00_1397 - 14L);
																				BgL_w2z00_1402 =
																					BGL_U32VREF(BgL_wz00_1371,
																					BgL_tmpz00_3068);
																			}
																			{	/* Unsafe/sha1.scm 206 */
																				uint32_t BgL_w3z00_1403;

																				{	/* Unsafe/sha1.scm 207 */
																					long BgL_tmpz00_3071;

																					BgL_tmpz00_3071 =
																						(BgL_tz00_1397 - 16L);
																					BgL_w3z00_1403 =
																						BGL_U32VREF(BgL_wz00_1371,
																						BgL_tmpz00_3071);
																				}
																				{	/* Unsafe/sha1.scm 207 */
																					uint32_t BgL_vz00_1404;

																					BgL_vz00_1404 =
																						(BgL_w0z00_1400 ^
																						(BgL_w1z00_1401 ^
																							(BgL_w2z00_1402 ^
																								BgL_w3z00_1403)));
																					{	/* Unsafe/sha1.scm 208 */

																						{	/* Unsafe/sha1.scm 209 */
																							uint32_t BgL_arg1342z00_1405;

																							BgL_arg1342z00_1405 =
																								(
																								(BgL_vz00_1404 <<
																									(int) (1L)) |
																								(BgL_vz00_1404 >>
																									(int) ((32L - 1L))));
																							BGL_U32VSET(BgL_wz00_1371,
																								BgL_tz00_1397,
																								BgL_arg1342z00_1405);
																							BUNSPEC;
																}}}}}}}
																{
																	long BgL_tz00_3084;

																	BgL_tz00_3084 = (BgL_tz00_1397 + 1L);
																	BgL_tz00_1397 = BgL_tz00_3084;
																	goto BgL_zc3z04anonymousza31340ze3z87_1398;
																}
															}
														else
															{	/* Unsafe/sha1.scm 203 */
																((bool_t) 0);
															}
													}
													{	/* Unsafe/sha1.scm 213 */
														uint32_t BgL_az00_1414;
														uint32_t BgL_bz00_1415;
														uint32_t BgL_cz00_1416;
														uint32_t BgL_dz00_1417;
														uint32_t BgL_ez00_1418;

														BgL_az00_1414 = BgL_h0z00_1377;
														BgL_bz00_1415 = BgL_h1z00_1378;
														BgL_cz00_1416 = BgL_h2z00_1379;
														BgL_dz00_1417 = BgL_h3z00_1380;
														BgL_ez00_1418 = BgL_h4z00_1381;
														{
															long BgL_tz00_1421;

															BgL_tz00_1421 = 0L;
														BgL_zc3z04anonymousza31353ze3z87_1422:
															if ((BgL_tz00_1421 < 80L))
																{	/* Unsafe/sha1.scm 220 */
																	{	/* Unsafe/sha1.scm 221 */
																		long BgL_sz00_1424;

																		BgL_sz00_1424 = (BgL_tz00_1421 / 20L);
																		{	/* Unsafe/sha1.scm 221 */
																			uint32_t BgL_a5z00_1425;

																			{	/* Unsafe/sha1.scm 222 */
																				uint32_t BgL_xz00_2284;

																				BgL_xz00_2284 = BgL_az00_1414;
																				BgL_a5z00_1425 =
																					(
																					(BgL_xz00_2284 <<
																						(int) (5L)) |
																					(BgL_xz00_2284 >>
																						(int) ((32L - 5L))));
																			}
																			{	/* Unsafe/sha1.scm 222 */
																				uint32_t BgL_fz00_1426;

																				BgL_fz00_1426 =
																					BGl_fz00zz__sha1z00(
																					(int) (BgL_sz00_1424), BgL_bz00_1415,
																					BgL_cz00_1416, BgL_dz00_1417);
																				{	/* Unsafe/sha1.scm 223 */
																					uint32_t BgL_kz00_1427;

																					BgL_kz00_1427 =
																						BGL_U32VREF(BGl_Kz00zz__sha1z00,
																						BgL_sz00_1424);
																					{	/* Unsafe/sha1.scm 224 */
																						uint32_t BgL_wz00_1428;

																						BgL_wz00_1428 =
																							BGL_U32VREF(BgL_wz00_1371,
																							BgL_tz00_1421);
																						{	/* Unsafe/sha1.scm 225 */
																							uint32_t BgL_yz00_1429;

																							BgL_yz00_1429 =
																								(BgL_a5z00_1425 +
																								(BgL_fz00_1426 +
																									(BgL_ez00_1418 +
																										(BgL_kz00_1427 +
																											BgL_wz00_1428))));
																							{	/* Unsafe/sha1.scm 226 */

																								BgL_ez00_1418 = BgL_dz00_1417;
																								BgL_dz00_1417 = BgL_cz00_1416;
																								{	/* Unsafe/sha1.scm 229 */
																									uint32_t BgL_xz00_2301;

																									BgL_xz00_2301 = BgL_bz00_1415;
																									BgL_cz00_1416 =
																										(
																										(BgL_xz00_2301 <<
																											(int) (30L)) |
																										(BgL_xz00_2301 >>
																											(int) ((32L - 30L))));
																								}
																								BgL_bz00_1415 = BgL_az00_1414;
																								{	/* Unsafe/sha1.scm 231 */
																									uint32_t BgL_arg1355z00_1430;

																									{	/* Unsafe/sha1.scm 231 */
																										uint32_t
																											BgL_arg1356z00_1431;
																										uint32_t
																											BgL_arg1357z00_1432;
																										{	/* Unsafe/sha1.scm 231 */
																											uint32_t
																												BgL_arg1358z00_1433;
																											BgL_arg1358z00_1433 =
																												(uint32_t) (65535L);
																											BgL_arg1356z00_1431 =
																												(BgL_arg1358z00_1433 <<
																												(int) (16L));
																										}
																										BgL_arg1357z00_1432 =
																											(uint32_t) (65535L);
																										BgL_arg1355z00_1430 =
																											(BgL_arg1356z00_1431 |
																											BgL_arg1357z00_1432);
																									}
																									BgL_az00_1414 =
																										(BgL_yz00_1429 &
																										BgL_arg1355z00_1430);
																	}}}}}}}}
																	{
																		long BgL_tz00_3115;

																		BgL_tz00_3115 = (BgL_tz00_1421 + 1L);
																		BgL_tz00_1421 = BgL_tz00_3115;
																		goto BgL_zc3z04anonymousza31353ze3z87_1422;
																	}
																}
															else
																{	/* Unsafe/sha1.scm 220 */
																	((bool_t) 0);
																}
														}
														{	/* Unsafe/sha1.scm 233 */
															uint32_t BgL_arg1363z00_1439;
															uint32_t BgL_arg1364z00_1440;

															BgL_arg1363z00_1439 =
																(BgL_h0z00_1377 + BgL_az00_1414);
															{	/* Unsafe/sha1.scm 233 */
																uint32_t BgL_arg1365z00_1441;
																uint32_t BgL_arg1366z00_1442;

																{	/* Unsafe/sha1.scm 233 */
																	uint32_t BgL_arg1367z00_1443;

																	BgL_arg1367z00_1443 = (uint32_t) (65535L);
																	BgL_arg1365z00_1441 =
																		(BgL_arg1367z00_1443 << (int) (16L));
																}
																BgL_arg1366z00_1442 = (uint32_t) (65535L);
																BgL_arg1364z00_1440 =
																	(BgL_arg1365z00_1441 | BgL_arg1366z00_1442);
															}
															BgL_h0z00_1377 =
																(BgL_arg1363z00_1439 & BgL_arg1364z00_1440);
														}
														{	/* Unsafe/sha1.scm 234 */
															uint32_t BgL_arg1368z00_1444;
															uint32_t BgL_arg1369z00_1445;

															BgL_arg1368z00_1444 =
																(BgL_h1z00_1378 + BgL_bz00_1415);
															{	/* Unsafe/sha1.scm 234 */
																uint32_t BgL_arg1370z00_1446;
																uint32_t BgL_arg1371z00_1447;

																{	/* Unsafe/sha1.scm 234 */
																	uint32_t BgL_arg1372z00_1448;

																	BgL_arg1372z00_1448 = (uint32_t) (65535L);
																	BgL_arg1370z00_1446 =
																		(BgL_arg1372z00_1448 << (int) (16L));
																}
																BgL_arg1371z00_1447 = (uint32_t) (65535L);
																BgL_arg1369z00_1445 =
																	(BgL_arg1370z00_1446 | BgL_arg1371z00_1447);
															}
															BgL_h1z00_1378 =
																(BgL_arg1368z00_1444 & BgL_arg1369z00_1445);
														}
														{	/* Unsafe/sha1.scm 235 */
															uint32_t BgL_arg1373z00_1449;
															uint32_t BgL_arg1374z00_1450;

															BgL_arg1373z00_1449 =
																(BgL_h2z00_1379 + BgL_cz00_1416);
															{	/* Unsafe/sha1.scm 235 */
																uint32_t BgL_arg1376z00_1451;
																uint32_t BgL_arg1377z00_1452;

																{	/* Unsafe/sha1.scm 235 */
																	uint32_t BgL_arg1378z00_1453;

																	BgL_arg1378z00_1453 = (uint32_t) (65535L);
																	BgL_arg1376z00_1451 =
																		(BgL_arg1378z00_1453 << (int) (16L));
																}
																BgL_arg1377z00_1452 = (uint32_t) (65535L);
																BgL_arg1374z00_1450 =
																	(BgL_arg1376z00_1451 | BgL_arg1377z00_1452);
															}
															BgL_h2z00_1379 =
																(BgL_arg1373z00_1449 & BgL_arg1374z00_1450);
														}
														{	/* Unsafe/sha1.scm 236 */
															uint32_t BgL_arg1379z00_1454;
															uint32_t BgL_arg1380z00_1455;

															BgL_arg1379z00_1454 =
																(BgL_h3z00_1380 + BgL_dz00_1417);
															{	/* Unsafe/sha1.scm 236 */
																uint32_t BgL_arg1381z00_1456;
																uint32_t BgL_arg1382z00_1457;

																{	/* Unsafe/sha1.scm 236 */
																	uint32_t BgL_arg1383z00_1458;

																	BgL_arg1383z00_1458 = (uint32_t) (65535L);
																	BgL_arg1381z00_1456 =
																		(BgL_arg1383z00_1458 << (int) (16L));
																}
																BgL_arg1382z00_1457 = (uint32_t) (65535L);
																BgL_arg1380z00_1455 =
																	(BgL_arg1381z00_1456 | BgL_arg1382z00_1457);
															}
															BgL_h3z00_1380 =
																(BgL_arg1379z00_1454 & BgL_arg1380z00_1455);
														}
														{	/* Unsafe/sha1.scm 237 */
															uint32_t BgL_arg1384z00_1459;
															uint32_t BgL_arg1385z00_1460;

															BgL_arg1384z00_1459 =
																(BgL_h4z00_1381 + BgL_ez00_1418);
															{	/* Unsafe/sha1.scm 237 */
																uint32_t BgL_arg1386z00_1461;
																uint32_t BgL_arg1387z00_1462;

																{	/* Unsafe/sha1.scm 237 */
																	uint32_t BgL_arg1388z00_1463;

																	BgL_arg1388z00_1463 = (uint32_t) (65535L);
																	BgL_arg1386z00_1461 =
																		(BgL_arg1388z00_1463 << (int) (16L));
																}
																BgL_arg1387z00_1462 = (uint32_t) (65535L);
																BgL_arg1385z00_1460 =
																	(BgL_arg1386z00_1461 | BgL_arg1387z00_1462);
															}
															BgL_h4z00_1381 =
																(BgL_arg1384z00_1459 & BgL_arg1385z00_1460);
													}}
													{
														long BgL_iz00_3152;

														BgL_iz00_3152 = (BgL_iz00_1384 + 1L);
														BgL_iz00_1384 = BgL_iz00_3152;
														goto BgL_zc3z04anonymousza31334ze3z87_1385;
													}
												}
											else
												{	/* Unsafe/sha1.scm 198 */
													((bool_t) 0);
												}
										}
										{	/* Unsafe/sha1.scm 239 */
											uint32_t BgL_w0z00_2352;
											uint32_t BgL_w1z00_2353;
											uint32_t BgL_w2z00_2354;
											uint32_t BgL_w3z00_2355;
											uint32_t BgL_w4z00_2356;

											BgL_w0z00_2352 = BgL_h0z00_1377;
											BgL_w1z00_2353 = BgL_h1z00_1378;
											BgL_w2z00_2354 = BgL_h2z00_1379;
											BgL_w3z00_2355 = BgL_h3z00_1380;
											BgL_w4z00_2356 = BgL_h4z00_1381;
											{	/* Unsafe/sha1.scm 117 */
												obj_t BgL_rz00_2357;

												BgL_rz00_2357 = make_string(40L, ((unsigned char) '0'));
												BGl_u32zd2fillz12zc0zz__sha1z00(BgL_rz00_2357, 0L,
													BgL_w0z00_2352);
												BGl_u32zd2fillz12zc0zz__sha1z00(BgL_rz00_2357, 8L,
													BgL_w1z00_2353);
												BGl_u32zd2fillz12zc0zz__sha1z00(BgL_rz00_2357, 16L,
													BgL_w2z00_2354);
												BGl_u32zd2fillz12zc0zz__sha1z00(BgL_rz00_2357, 24L,
													BgL_w3z00_2355);
												BGl_u32zd2fillz12zc0zz__sha1z00(BgL_rz00_2357, 32L,
													BgL_w4z00_2356);
												return BgL_rz00_2357;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* sha1sum-string */
	BGL_EXPORTED_DEF obj_t BGl_sha1sumzd2stringzd2zz__sha1z00(obj_t BgL_strz00_28)
	{
		{	/* Unsafe/sha1.scm 253 */
			{	/* Unsafe/sha1.scm 256 */
				long BgL_lenz00_1484;

				BgL_lenz00_1484 = STRING_LENGTH(BgL_strz00_28);
				{	/* Unsafe/sha1.scm 256 */
					long BgL_lz00_1485;

					{	/* Unsafe/sha1.scm 257 */
						long BgL_tmpz00_3161;

						{	/* Unsafe/sha1.scm 257 */
							obj_t BgL_tmpz00_3162;

							{	/* Unsafe/sha1.scm 245 */
								obj_t BgL_rz00_2364;

								BgL_rz00_2364 =
									BGl_2zf2zf2zz__r4_numbers_6_5z00(BINT(
										(BgL_lenz00_1484 + 1L)), BINT(4L));
								if (INTEGERP(BgL_rz00_2364))
									{	/* Unsafe/sha1.scm 246 */
										BgL_tmpz00_3162 = BgL_rz00_2364;
									}
								else
									{	/* Unsafe/sha1.scm 248 */
										long BgL_tmpz00_3169;

										{	/* Unsafe/sha1.scm 248 */
											double BgL_tmpz00_3170;

											{	/* Unsafe/sha1.scm 248 */
												obj_t BgL_tmpz00_3171;

												BgL_tmpz00_3171 =
													BGl_ceilingz00zz__r4_numbers_6_5z00(BgL_rz00_2364);
												BgL_tmpz00_3170 = REAL_TO_DOUBLE(BgL_tmpz00_3171);
											}
											BgL_tmpz00_3169 = (long) (BgL_tmpz00_3170);
										}
										BgL_tmpz00_3162 = BINT(BgL_tmpz00_3169);
							}}
							BgL_tmpz00_3161 = (long) CINT(BgL_tmpz00_3162);
						}
						BgL_lz00_1485 = (BgL_tmpz00_3161 + 2L);
					}
					{	/* Unsafe/sha1.scm 257 */
						long BgL_nz00_1486;

						{	/* Unsafe/sha1.scm 245 */
							obj_t BgL_rz00_2370;

							BgL_rz00_2370 =
								BGl_2zf2zf2zz__r4_numbers_6_5z00(BINT(BgL_lz00_1485),
								BINT(16L));
							if (INTEGERP(BgL_rz00_2370))
								{	/* Unsafe/sha1.scm 246 */
									BgL_nz00_1486 = (long) CINT(BgL_rz00_2370);
								}
							else
								{	/* Unsafe/sha1.scm 248 */
									double BgL_tmpz00_3184;

									{	/* Unsafe/sha1.scm 248 */
										obj_t BgL_tmpz00_3185;

										BgL_tmpz00_3185 =
											BGl_ceilingz00zz__r4_numbers_6_5z00(BgL_rz00_2370);
										BgL_tmpz00_3184 = REAL_TO_DOUBLE(BgL_tmpz00_3185);
									}
									BgL_nz00_1486 = (long) (BgL_tmpz00_3184);
						}}
						{	/* Unsafe/sha1.scm 258 */
							obj_t BgL_mz00_1487;

							BgL_mz00_1487 = make_vector(BgL_nz00_1486, BUNSPEC);
							{	/* Unsafe/sha1.scm 259 */

								{
									long BgL_iz00_1490;

									BgL_iz00_1490 = 0L;
								BgL_zc3z04anonymousza31410ze3z87_1491:
									if ((BgL_iz00_1490 < BgL_nz00_1486))
										{	/* Unsafe/sha1.scm 261 */
											{	/* Unsafe/sha1.scm 262 */
												obj_t BgL_vecz00_1493;

												{	/* Llib/srfi4.scm 451 */

													BgL_vecz00_1493 =
														BGl_makezd2u32vectorzd2zz__srfi4z00(16L,
														(uint32_t) (0));
												}
												{
													long BgL_jz00_1496;

													BgL_jz00_1496 = 0L;
												BgL_zc3z04anonymousza31412ze3z87_1497:
													if ((BgL_jz00_1496 < 16L))
														{	/* Unsafe/sha1.scm 263 */
															{	/* Unsafe/sha1.scm 264 */
																int BgL_nz00_1499;

																BgL_nz00_1499 =
																	(int) (
																	((BgL_iz00_1490 * 64L) +
																		(BgL_jz00_1496 * 4L)));
																{	/* Unsafe/sha1.scm 264 */
																	uint32_t BgL_v0z00_1500;

																	{	/* Unsafe/sha1.scm 140 */
																		long BgL_lenz00_2386;

																		BgL_lenz00_2386 =
																			STRING_LENGTH(BgL_strz00_28);
																		if (
																			((long) (BgL_nz00_1499) <
																				BgL_lenz00_2386))
																			{	/* Unsafe/sha1.scm 142 */
																				long BgL_tmpz00_3203;

																				BgL_tmpz00_3203 =
																					(STRING_REF(BgL_strz00_28,
																						(long) (BgL_nz00_1499)));
																				BgL_v0z00_1500 =
																					(uint32_t) (BgL_tmpz00_3203);
																			}
																		else
																			{	/* Unsafe/sha1.scm 142 */
																				if (
																					((long) (BgL_nz00_1499) ==
																						BgL_lenz00_2386))
																					{	/* Unsafe/sha1.scm 143 */
																						BgL_v0z00_1500 = (uint32_t) (128);
																					}
																				else
																					{	/* Unsafe/sha1.scm 143 */
																						BgL_v0z00_1500 = (uint32_t) (0);
																					}
																			}
																	}
																	{	/* Unsafe/sha1.scm 265 */
																		uint32_t BgL_v1z00_1501;

																		{	/* Unsafe/sha1.scm 266 */
																			long BgL_arg1426z00_1516;

																			BgL_arg1426z00_1516 =
																				((long) (BgL_nz00_1499) + 1L);
																			{	/* Unsafe/sha1.scm 266 */
																				int BgL_iz00_2402;

																				BgL_iz00_2402 =
																					(int) (BgL_arg1426z00_1516);
																				{	/* Unsafe/sha1.scm 140 */
																					long BgL_lenz00_2403;

																					BgL_lenz00_2403 =
																						STRING_LENGTH(BgL_strz00_28);
																					if (
																						((long) (BgL_iz00_2402) <
																							BgL_lenz00_2403))
																						{	/* Unsafe/sha1.scm 142 */
																							long BgL_tmpz00_3218;

																							BgL_tmpz00_3218 =
																								(STRING_REF(BgL_strz00_28,
																									(long) (BgL_iz00_2402)));
																							BgL_v1z00_1501 =
																								(uint32_t) (BgL_tmpz00_3218);
																						}
																					else
																						{	/* Unsafe/sha1.scm 142 */
																							if (
																								((long) (BgL_iz00_2402) ==
																									BgL_lenz00_2403))
																								{	/* Unsafe/sha1.scm 143 */
																									BgL_v1z00_1501 =
																										(uint32_t) (128);
																								}
																							else
																								{	/* Unsafe/sha1.scm 143 */
																									BgL_v1z00_1501 =
																										(uint32_t) (0);
																								}
																						}
																				}
																			}
																		}
																		{	/* Unsafe/sha1.scm 266 */
																			uint32_t BgL_v2z00_1502;

																			{	/* Unsafe/sha1.scm 267 */
																				long BgL_arg1425z00_1515;

																				BgL_arg1425z00_1515 =
																					((long) (BgL_nz00_1499) + 2L);
																				{	/* Unsafe/sha1.scm 267 */
																					int BgL_iz00_2419;

																					BgL_iz00_2419 =
																						(int) (BgL_arg1425z00_1515);
																					{	/* Unsafe/sha1.scm 140 */
																						long BgL_lenz00_2420;

																						BgL_lenz00_2420 =
																							STRING_LENGTH(BgL_strz00_28);
																						if (
																							((long) (BgL_iz00_2419) <
																								BgL_lenz00_2420))
																							{	/* Unsafe/sha1.scm 142 */
																								long BgL_tmpz00_3233;

																								BgL_tmpz00_3233 =
																									(STRING_REF(BgL_strz00_28,
																										(long) (BgL_iz00_2419)));
																								BgL_v2z00_1502 =
																									(uint32_t) (BgL_tmpz00_3233);
																							}
																						else
																							{	/* Unsafe/sha1.scm 142 */
																								if (
																									((long) (BgL_iz00_2419) ==
																										BgL_lenz00_2420))
																									{	/* Unsafe/sha1.scm 143 */
																										BgL_v2z00_1502 =
																											(uint32_t) (128);
																									}
																								else
																									{	/* Unsafe/sha1.scm 143 */
																										BgL_v2z00_1502 =
																											(uint32_t) (0);
																									}
																							}
																					}
																				}
																			}
																			{	/* Unsafe/sha1.scm 267 */
																				uint32_t BgL_v3z00_1503;

																				{	/* Unsafe/sha1.scm 268 */
																					long BgL_arg1424z00_1514;

																					BgL_arg1424z00_1514 =
																						((long) (BgL_nz00_1499) + 3L);
																					{	/* Unsafe/sha1.scm 268 */
																						int BgL_iz00_2436;

																						BgL_iz00_2436 =
																							(int) (BgL_arg1424z00_1514);
																						{	/* Unsafe/sha1.scm 140 */
																							long BgL_lenz00_2437;

																							BgL_lenz00_2437 =
																								STRING_LENGTH(BgL_strz00_28);
																							if (
																								((long) (BgL_iz00_2436) <
																									BgL_lenz00_2437))
																								{	/* Unsafe/sha1.scm 142 */
																									long BgL_tmpz00_3248;

																									BgL_tmpz00_3248 =
																										(STRING_REF(BgL_strz00_28,
																											(long) (BgL_iz00_2436)));
																									BgL_v3z00_1503 =
																										(uint32_t)
																										(BgL_tmpz00_3248);
																								}
																							else
																								{	/* Unsafe/sha1.scm 142 */
																									if (
																										((long) (BgL_iz00_2436) ==
																											BgL_lenz00_2437))
																										{	/* Unsafe/sha1.scm 143 */
																											BgL_v3z00_1503 =
																												(uint32_t) (128);
																										}
																									else
																										{	/* Unsafe/sha1.scm 143 */
																											BgL_v3z00_1503 =
																												(uint32_t) (0);
																										}
																								}
																						}
																					}
																				}
																				{	/* Unsafe/sha1.scm 268 */
																					uint32_t BgL_vz00_1504;

																					{	/* Unsafe/sha1.scm 269 */
																						uint32_t BgL_arg1414z00_1505;
																						uint32_t BgL_arg1415z00_1506;

																						{	/* Unsafe/sha1.scm 269 */
																							uint32_t BgL_arg1416z00_1507;

																							{	/* Unsafe/sha1.scm 269 */
																								long BgL_arg1417z00_1508;

																								{	/* Unsafe/sha1.scm 269 */
																									uint32_t BgL_tmpz00_3256;

																									BgL_tmpz00_3256 =
																										(
																										(BgL_v0z00_1500 <<
																											(int) (8L)) |
																										BgL_v1z00_1501);
																									BgL_arg1417z00_1508 =
																										(long) (BgL_tmpz00_3256);
																								}
																								BgL_arg1416z00_1507 =
																									(uint32_t)
																									(BgL_arg1417z00_1508);
																							}
																							BgL_arg1414z00_1505 =
																								(BgL_arg1416z00_1507 <<
																								(int) (16L));
																						}
																						{	/* Unsafe/sha1.scm 269 */
																							long BgL_arg1421z00_1511;

																							{	/* Unsafe/sha1.scm 269 */
																								uint32_t BgL_tmpz00_3264;

																								BgL_tmpz00_3264 =
																									(
																									(BgL_v2z00_1502 <<
																										(int) (8L)) |
																									BgL_v3z00_1503);
																								BgL_arg1421z00_1511 =
																									(long) (BgL_tmpz00_3264);
																							}
																							BgL_arg1415z00_1506 =
																								(uint32_t)
																								(BgL_arg1421z00_1511);
																						}
																						BgL_vz00_1504 =
																							(BgL_arg1414z00_1505 |
																							BgL_arg1415z00_1506);
																					}
																					{	/* Unsafe/sha1.scm 269 */

																						BGL_U32VSET(BgL_vecz00_1493,
																							BgL_jz00_1496, BgL_vz00_1504);
																						BUNSPEC;
															}}}}}}}
															VECTOR_SET(BgL_mz00_1487, BgL_iz00_1490,
																BgL_vecz00_1493);
															{
																long BgL_jz00_3273;

																BgL_jz00_3273 = (BgL_jz00_1496 + 1L);
																BgL_jz00_1496 = BgL_jz00_3273;
																goto BgL_zc3z04anonymousza31412ze3z87_1497;
															}
														}
													else
														{	/* Unsafe/sha1.scm 263 */
															((bool_t) 0);
														}
												}
											}
											{
												long BgL_iz00_3275;

												BgL_iz00_3275 = (BgL_iz00_1490 + 1L);
												BgL_iz00_1490 = BgL_iz00_3275;
												goto BgL_zc3z04anonymousza31410ze3z87_1491;
											}
										}
									else
										{	/* Unsafe/sha1.scm 261 */
											((bool_t) 0);
										}
								}
								return BGl_sha1z00zz__sha1z00(BgL_lenz00_1484, BgL_mz00_1487);
							}
						}
					}
				}
			}
		}

	}



/* &sha1sum-string */
	obj_t BGl_z62sha1sumzd2stringzb0zz__sha1z00(obj_t BgL_envz00_2908,
		obj_t BgL_strz00_2909)
	{
		{	/* Unsafe/sha1.scm 253 */
			{	/* Unsafe/sha1.scm 256 */
				obj_t BgL_auxz00_3278;

				if (STRINGP(BgL_strz00_2909))
					{	/* Unsafe/sha1.scm 256 */
						BgL_auxz00_3278 = BgL_strz00_2909;
					}
				else
					{
						obj_t BgL_auxz00_3281;

						BgL_auxz00_3281 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1927z00zz__sha1z00,
							BINT(10118L), BGl_string1928z00zz__sha1z00,
							BGl_string1929z00zz__sha1z00, BgL_strz00_2909);
						FAILURE(BgL_auxz00_3281, BFALSE, BFALSE);
					}
				return BGl_sha1sumzd2stringzd2zz__sha1z00(BgL_auxz00_3278);
			}
		}

	}



/* sha1sum-mmap */
	BGL_EXPORTED_DEF obj_t BGl_sha1sumzd2mmapzd2zz__sha1z00(obj_t BgL_strz00_29)
	{
		{	/* Unsafe/sha1.scm 278 */
			{	/* Unsafe/sha1.scm 281 */
				long BgL_lenz00_1528;

				{	/* Unsafe/sha1.scm 281 */
					long BgL_tmpz00_3286;

					BgL_tmpz00_3286 = BGL_MMAP_LENGTH(BgL_strz00_29);
					BgL_lenz00_1528 = (long) (BgL_tmpz00_3286);
				}
				{	/* Unsafe/sha1.scm 281 */
					long BgL_lz00_1529;

					{	/* Unsafe/sha1.scm 282 */
						long BgL_tmpz00_3289;

						{	/* Unsafe/sha1.scm 282 */
							obj_t BgL_tmpz00_3290;

							{	/* Unsafe/sha1.scm 245 */
								obj_t BgL_rz00_2470;

								BgL_rz00_2470 =
									BGl_2zf2zf2zz__r4_numbers_6_5z00(BINT(
										(BgL_lenz00_1528 + 1L)), BINT(4L));
								if (INTEGERP(BgL_rz00_2470))
									{	/* Unsafe/sha1.scm 246 */
										BgL_tmpz00_3290 = BgL_rz00_2470;
									}
								else
									{	/* Unsafe/sha1.scm 248 */
										long BgL_tmpz00_3297;

										{	/* Unsafe/sha1.scm 248 */
											double BgL_tmpz00_3298;

											{	/* Unsafe/sha1.scm 248 */
												obj_t BgL_tmpz00_3299;

												BgL_tmpz00_3299 =
													BGl_ceilingz00zz__r4_numbers_6_5z00(BgL_rz00_2470);
												BgL_tmpz00_3298 = REAL_TO_DOUBLE(BgL_tmpz00_3299);
											}
											BgL_tmpz00_3297 = (long) (BgL_tmpz00_3298);
										}
										BgL_tmpz00_3290 = BINT(BgL_tmpz00_3297);
							}}
							BgL_tmpz00_3289 = (long) CINT(BgL_tmpz00_3290);
						}
						BgL_lz00_1529 = (BgL_tmpz00_3289 + 2L);
					}
					{	/* Unsafe/sha1.scm 282 */
						long BgL_nz00_1530;

						{	/* Unsafe/sha1.scm 245 */
							obj_t BgL_rz00_2476;

							BgL_rz00_2476 =
								BGl_2zf2zf2zz__r4_numbers_6_5z00(BINT(BgL_lz00_1529),
								BINT(16L));
							if (INTEGERP(BgL_rz00_2476))
								{	/* Unsafe/sha1.scm 246 */
									BgL_nz00_1530 = (long) CINT(BgL_rz00_2476);
								}
							else
								{	/* Unsafe/sha1.scm 248 */
									double BgL_tmpz00_3312;

									{	/* Unsafe/sha1.scm 248 */
										obj_t BgL_tmpz00_3313;

										BgL_tmpz00_3313 =
											BGl_ceilingz00zz__r4_numbers_6_5z00(BgL_rz00_2476);
										BgL_tmpz00_3312 = REAL_TO_DOUBLE(BgL_tmpz00_3313);
									}
									BgL_nz00_1530 = (long) (BgL_tmpz00_3312);
						}}
						{	/* Unsafe/sha1.scm 283 */
							obj_t BgL_mz00_1531;

							BgL_mz00_1531 = make_vector(BgL_nz00_1530, BUNSPEC);
							{	/* Unsafe/sha1.scm 284 */

								{
									long BgL_iz00_1534;

									BgL_iz00_1534 = 0L;
								BgL_zc3z04anonymousza31434ze3z87_1535:
									if ((BgL_iz00_1534 < BgL_nz00_1530))
										{	/* Unsafe/sha1.scm 286 */
											{	/* Unsafe/sha1.scm 287 */
												obj_t BgL_vecz00_1537;

												{	/* Llib/srfi4.scm 451 */

													BgL_vecz00_1537 =
														BGl_makezd2u32vectorzd2zz__srfi4z00(16L,
														(uint32_t) (0));
												}
												{
													long BgL_jz00_1540;

													BgL_jz00_1540 = 0L;
												BgL_zc3z04anonymousza31436ze3z87_1541:
													if ((BgL_jz00_1540 < 16L))
														{	/* Unsafe/sha1.scm 288 */
															{	/* Unsafe/sha1.scm 289 */
																long BgL_nz00_1543;

																{	/* Unsafe/sha1.scm 289 */
																	long BgL_tmpz00_3323;

																	BgL_tmpz00_3323 =
																		(
																		(BgL_iz00_1534 * 64L) +
																		(BgL_jz00_1540 * 4L));
																	BgL_nz00_1543 = (long) (BgL_tmpz00_3323);
																}
																{	/* Unsafe/sha1.scm 289 */
																	uint32_t BgL_v0z00_1544;

																	{	/* Unsafe/sha1.scm 150 */
																		long BgL_lenz00_2492;

																		BgL_lenz00_2492 =
																			BGL_MMAP_LENGTH(BgL_strz00_29);
																		{	/* Unsafe/sha1.scm 152 */
																			bool_t BgL_test1979z00_3329;

																			{	/* Unsafe/sha1.scm 152 */
																				long BgL_n1z00_2498;
																				long BgL_n2z00_2499;

																				BgL_n1z00_2498 = (long) (BgL_nz00_1543);
																				BgL_n2z00_2499 =
																					(long) (BgL_lenz00_2492);
																				BgL_test1979z00_3329 =
																					(BgL_n1z00_2498 < BgL_n2z00_2499);
																			}
																			if (BgL_test1979z00_3329)
																				{	/* Unsafe/sha1.scm 152 */
																					long BgL_arg1291z00_2494;

																					{	/* Unsafe/sha1.scm 152 */
																						unsigned char BgL_arg1292z00_2495;

																						{	/* Unsafe/sha1.scm 152 */
																							unsigned char BgL_res1909z00_2508;

																							{	/* Unsafe/sha1.scm 152 */
																								unsigned char BgL_cz00_2502;

																								BgL_cz00_2502 =
																									BGL_MMAP_REF(BgL_strz00_29,
																									BgL_nz00_1543);
																								{	/* Unsafe/sha1.scm 152 */
																									long BgL_arg1534z00_2503;

																									BgL_arg1534z00_2503 =
																										(BgL_nz00_1543 +
																										((long) 1));
																									BGL_MMAP_RP_SET(BgL_strz00_29,
																										BgL_arg1534z00_2503);
																									BUNSPEC;
																									BgL_arg1534z00_2503;
																								}
																								BgL_res1909z00_2508 =
																									BgL_cz00_2502;
																							}
																							BgL_arg1292z00_2495 =
																								BgL_res1909z00_2508;
																						}
																						BgL_arg1291z00_2494 =
																							(BgL_arg1292z00_2495);
																					}
																					BgL_v0z00_1544 =
																						(uint32_t) (BgL_arg1291z00_2494);
																				}
																			else
																				{	/* Unsafe/sha1.scm 153 */
																					bool_t BgL_test1980z00_3338;

																					{	/* Unsafe/sha1.scm 153 */
																						long BgL_n1z00_2511;
																						long BgL_n2z00_2512;

																						BgL_n1z00_2511 =
																							(long) (BgL_nz00_1543);
																						BgL_n2z00_2512 =
																							(long) (BgL_lenz00_2492);
																						BgL_test1980z00_3338 =
																							(BgL_n1z00_2511 ==
																							BgL_n2z00_2512);
																					}
																					if (BgL_test1980z00_3338)
																						{	/* Unsafe/sha1.scm 153 */
																							BgL_v0z00_1544 = (uint32_t) (128);
																						}
																					else
																						{	/* Unsafe/sha1.scm 153 */
																							BgL_v0z00_1544 = (uint32_t) (0);
																						}
																				}
																		}
																	}
																	{	/* Unsafe/sha1.scm 290 */
																		uint32_t BgL_v1z00_1545;

																		{	/* Unsafe/sha1.scm 291 */
																			long BgL_arg1452z00_1560;

																			{	/* Unsafe/sha1.scm 291 */
																				long BgL_za71za7_2513;

																				BgL_za71za7_2513 =
																					(long) (BgL_nz00_1543);
																				BgL_arg1452z00_1560 =
																					(BgL_za71za7_2513 + 1L);
																			}
																			{	/* Unsafe/sha1.scm 291 */
																				long BgL_iz00_2515;

																				BgL_iz00_2515 =
																					(long) (BgL_arg1452z00_1560);
																				{	/* Unsafe/sha1.scm 150 */
																					long BgL_lenz00_2516;

																					BgL_lenz00_2516 =
																						BGL_MMAP_LENGTH(BgL_strz00_29);
																					{	/* Unsafe/sha1.scm 152 */
																						bool_t BgL_test1981z00_3346;

																						{	/* Unsafe/sha1.scm 152 */
																							long BgL_n1z00_2522;
																							long BgL_n2z00_2523;

																							BgL_n1z00_2522 =
																								(long) (BgL_iz00_2515);
																							BgL_n2z00_2523 =
																								(long) (BgL_lenz00_2516);
																							BgL_test1981z00_3346 =
																								(BgL_n1z00_2522 <
																								BgL_n2z00_2523);
																						}
																						if (BgL_test1981z00_3346)
																							{	/* Unsafe/sha1.scm 152 */
																								long BgL_arg1291z00_2518;

																								{	/* Unsafe/sha1.scm 152 */
																									unsigned char
																										BgL_arg1292z00_2519;
																									{	/* Unsafe/sha1.scm 152 */
																										unsigned char
																											BgL_res1910z00_2532;
																										{	/* Unsafe/sha1.scm 152 */
																											unsigned char
																												BgL_cz00_2526;
																											BgL_cz00_2526 =
																												BGL_MMAP_REF
																												(BgL_strz00_29,
																												BgL_iz00_2515);
																											{	/* Unsafe/sha1.scm 152 */
																												long
																													BgL_arg1534z00_2527;
																												BgL_arg1534z00_2527 =
																													(BgL_iz00_2515 +
																													((long) 1));
																												BGL_MMAP_RP_SET
																													(BgL_strz00_29,
																													BgL_arg1534z00_2527);
																												BUNSPEC;
																												BgL_arg1534z00_2527;
																											}
																											BgL_res1910z00_2532 =
																												BgL_cz00_2526;
																										}
																										BgL_arg1292z00_2519 =
																											BgL_res1910z00_2532;
																									}
																									BgL_arg1291z00_2518 =
																										(BgL_arg1292z00_2519);
																								}
																								BgL_v1z00_1545 =
																									(uint32_t)
																									(BgL_arg1291z00_2518);
																							}
																						else
																							{	/* Unsafe/sha1.scm 153 */
																								bool_t BgL_test1982z00_3355;

																								{	/* Unsafe/sha1.scm 153 */
																									long BgL_n1z00_2535;
																									long BgL_n2z00_2536;

																									BgL_n1z00_2535 =
																										(long) (BgL_iz00_2515);
																									BgL_n2z00_2536 =
																										(long) (BgL_lenz00_2516);
																									BgL_test1982z00_3355 =
																										(BgL_n1z00_2535 ==
																										BgL_n2z00_2536);
																								}
																								if (BgL_test1982z00_3355)
																									{	/* Unsafe/sha1.scm 153 */
																										BgL_v1z00_1545 =
																											(uint32_t) (128);
																									}
																								else
																									{	/* Unsafe/sha1.scm 153 */
																										BgL_v1z00_1545 =
																											(uint32_t) (0);
																									}
																							}
																					}
																				}
																			}
																		}
																		{	/* Unsafe/sha1.scm 291 */
																			uint32_t BgL_v2z00_1546;

																			{	/* Unsafe/sha1.scm 292 */
																				long BgL_arg1451z00_1559;

																				{	/* Unsafe/sha1.scm 292 */
																					long BgL_za71za7_2537;

																					BgL_za71za7_2537 =
																						(long) (BgL_nz00_1543);
																					BgL_arg1451z00_1559 =
																						(BgL_za71za7_2537 + 2L);
																				}
																				{	/* Unsafe/sha1.scm 292 */
																					long BgL_iz00_2539;

																					BgL_iz00_2539 =
																						(long) (BgL_arg1451z00_1559);
																					{	/* Unsafe/sha1.scm 150 */
																						long BgL_lenz00_2540;

																						BgL_lenz00_2540 =
																							BGL_MMAP_LENGTH(BgL_strz00_29);
																						{	/* Unsafe/sha1.scm 152 */
																							bool_t BgL_test1983z00_3363;

																							{	/* Unsafe/sha1.scm 152 */
																								long BgL_n1z00_2546;
																								long BgL_n2z00_2547;

																								BgL_n1z00_2546 =
																									(long) (BgL_iz00_2539);
																								BgL_n2z00_2547 =
																									(long) (BgL_lenz00_2540);
																								BgL_test1983z00_3363 =
																									(BgL_n1z00_2546 <
																									BgL_n2z00_2547);
																							}
																							if (BgL_test1983z00_3363)
																								{	/* Unsafe/sha1.scm 152 */
																									long BgL_arg1291z00_2542;

																									{	/* Unsafe/sha1.scm 152 */
																										unsigned char
																											BgL_arg1292z00_2543;
																										{	/* Unsafe/sha1.scm 152 */
																											unsigned char
																												BgL_res1911z00_2556;
																											{	/* Unsafe/sha1.scm 152 */
																												unsigned char
																													BgL_cz00_2550;
																												BgL_cz00_2550 =
																													BGL_MMAP_REF
																													(BgL_strz00_29,
																													BgL_iz00_2539);
																												{	/* Unsafe/sha1.scm 152 */
																													long
																														BgL_arg1534z00_2551;
																													BgL_arg1534z00_2551 =
																														(BgL_iz00_2539 +
																														((long) 1));
																													BGL_MMAP_RP_SET
																														(BgL_strz00_29,
																														BgL_arg1534z00_2551);
																													BUNSPEC;
																													BgL_arg1534z00_2551;
																												}
																												BgL_res1911z00_2556 =
																													BgL_cz00_2550;
																											}
																											BgL_arg1292z00_2543 =
																												BgL_res1911z00_2556;
																										}
																										BgL_arg1291z00_2542 =
																											(BgL_arg1292z00_2543);
																									}
																									BgL_v2z00_1546 =
																										(uint32_t)
																										(BgL_arg1291z00_2542);
																								}
																							else
																								{	/* Unsafe/sha1.scm 153 */
																									bool_t BgL_test1984z00_3372;

																									{	/* Unsafe/sha1.scm 153 */
																										long BgL_n1z00_2559;
																										long BgL_n2z00_2560;

																										BgL_n1z00_2559 =
																											(long) (BgL_iz00_2539);
																										BgL_n2z00_2560 =
																											(long) (BgL_lenz00_2540);
																										BgL_test1984z00_3372 =
																											(BgL_n1z00_2559 ==
																											BgL_n2z00_2560);
																									}
																									if (BgL_test1984z00_3372)
																										{	/* Unsafe/sha1.scm 153 */
																											BgL_v2z00_1546 =
																												(uint32_t) (128);
																										}
																									else
																										{	/* Unsafe/sha1.scm 153 */
																											BgL_v2z00_1546 =
																												(uint32_t) (0);
																										}
																								}
																						}
																					}
																				}
																			}
																			{	/* Unsafe/sha1.scm 292 */
																				uint32_t BgL_v3z00_1547;

																				{	/* Unsafe/sha1.scm 293 */
																					long BgL_arg1450z00_1558;

																					{	/* Unsafe/sha1.scm 293 */
																						long BgL_za71za7_2561;

																						BgL_za71za7_2561 =
																							(long) (BgL_nz00_1543);
																						BgL_arg1450z00_1558 =
																							(BgL_za71za7_2561 + 3L);
																					}
																					{	/* Unsafe/sha1.scm 293 */
																						long BgL_iz00_2563;

																						BgL_iz00_2563 =
																							(long) (BgL_arg1450z00_1558);
																						{	/* Unsafe/sha1.scm 150 */
																							long BgL_lenz00_2564;

																							BgL_lenz00_2564 =
																								BGL_MMAP_LENGTH(BgL_strz00_29);
																							{	/* Unsafe/sha1.scm 152 */
																								bool_t BgL_test1985z00_3380;

																								{	/* Unsafe/sha1.scm 152 */
																									long BgL_n1z00_2570;
																									long BgL_n2z00_2571;

																									BgL_n1z00_2570 =
																										(long) (BgL_iz00_2563);
																									BgL_n2z00_2571 =
																										(long) (BgL_lenz00_2564);
																									BgL_test1985z00_3380 =
																										(BgL_n1z00_2570 <
																										BgL_n2z00_2571);
																								}
																								if (BgL_test1985z00_3380)
																									{	/* Unsafe/sha1.scm 152 */
																										long BgL_arg1291z00_2566;

																										{	/* Unsafe/sha1.scm 152 */
																											unsigned char
																												BgL_arg1292z00_2567;
																											{	/* Unsafe/sha1.scm 152 */
																												unsigned char
																													BgL_res1912z00_2580;
																												{	/* Unsafe/sha1.scm 152 */
																													unsigned char
																														BgL_cz00_2574;
																													BgL_cz00_2574 =
																														BGL_MMAP_REF
																														(BgL_strz00_29,
																														BgL_iz00_2563);
																													{	/* Unsafe/sha1.scm 152 */
																														long
																															BgL_arg1534z00_2575;
																														BgL_arg1534z00_2575
																															=
																															(BgL_iz00_2563 +
																															((long) 1));
																														BGL_MMAP_RP_SET
																															(BgL_strz00_29,
																															BgL_arg1534z00_2575);
																														BUNSPEC;
																														BgL_arg1534z00_2575;
																													}
																													BgL_res1912z00_2580 =
																														BgL_cz00_2574;
																												}
																												BgL_arg1292z00_2567 =
																													BgL_res1912z00_2580;
																											}
																											BgL_arg1291z00_2566 =
																												(BgL_arg1292z00_2567);
																										}
																										BgL_v3z00_1547 =
																											(uint32_t)
																											(BgL_arg1291z00_2566);
																									}
																								else
																									{	/* Unsafe/sha1.scm 153 */
																										bool_t BgL_test1986z00_3389;

																										{	/* Unsafe/sha1.scm 153 */
																											long BgL_n1z00_2583;
																											long BgL_n2z00_2584;

																											BgL_n1z00_2583 =
																												(long) (BgL_iz00_2563);
																											BgL_n2z00_2584 =
																												(long)
																												(BgL_lenz00_2564);
																											BgL_test1986z00_3389 =
																												(BgL_n1z00_2583 ==
																												BgL_n2z00_2584);
																										}
																										if (BgL_test1986z00_3389)
																											{	/* Unsafe/sha1.scm 153 */
																												BgL_v3z00_1547 =
																													(uint32_t) (128);
																											}
																										else
																											{	/* Unsafe/sha1.scm 153 */
																												BgL_v3z00_1547 =
																													(uint32_t) (0);
																											}
																									}
																							}
																						}
																					}
																				}
																				{	/* Unsafe/sha1.scm 293 */
																					uint32_t BgL_vz00_1548;

																					{	/* Unsafe/sha1.scm 294 */
																						uint32_t BgL_arg1438z00_1549;
																						uint32_t BgL_arg1439z00_1550;

																						{	/* Unsafe/sha1.scm 294 */
																							uint32_t BgL_arg1442z00_1551;

																							{	/* Unsafe/sha1.scm 294 */
																								long BgL_arg1443z00_1552;

																								{	/* Unsafe/sha1.scm 294 */
																									uint32_t BgL_tmpz00_3393;

																									BgL_tmpz00_3393 =
																										(
																										(BgL_v0z00_1544 <<
																											(int) (8L)) |
																										BgL_v1z00_1545);
																									BgL_arg1443z00_1552 =
																										(long) (BgL_tmpz00_3393);
																								}
																								BgL_arg1442z00_1551 =
																									(uint32_t)
																									(BgL_arg1443z00_1552);
																							}
																							BgL_arg1438z00_1549 =
																								(BgL_arg1442z00_1551 <<
																								(int) (16L));
																						}
																						{	/* Unsafe/sha1.scm 294 */
																							long BgL_arg1446z00_1555;

																							{	/* Unsafe/sha1.scm 294 */
																								uint32_t BgL_tmpz00_3401;

																								BgL_tmpz00_3401 =
																									(
																									(BgL_v2z00_1546 <<
																										(int) (8L)) |
																									BgL_v3z00_1547);
																								BgL_arg1446z00_1555 =
																									(long) (BgL_tmpz00_3401);
																							}
																							BgL_arg1439z00_1550 =
																								(uint32_t)
																								(BgL_arg1446z00_1555);
																						}
																						BgL_vz00_1548 =
																							(BgL_arg1438z00_1549 |
																							BgL_arg1439z00_1550);
																					}
																					{	/* Unsafe/sha1.scm 294 */

																						BGL_U32VSET(BgL_vecz00_1537,
																							BgL_jz00_1540, BgL_vz00_1548);
																						BUNSPEC;
															}}}}}}}
															VECTOR_SET(BgL_mz00_1531, BgL_iz00_1534,
																BgL_vecz00_1537);
															{
																long BgL_jz00_3410;

																BgL_jz00_3410 = (BgL_jz00_1540 + 1L);
																BgL_jz00_1540 = BgL_jz00_3410;
																goto BgL_zc3z04anonymousza31436ze3z87_1541;
															}
														}
													else
														{	/* Unsafe/sha1.scm 288 */
															((bool_t) 0);
														}
												}
											}
											{
												long BgL_iz00_3412;

												BgL_iz00_3412 = (BgL_iz00_1534 + 1L);
												BgL_iz00_1534 = BgL_iz00_3412;
												goto BgL_zc3z04anonymousza31434ze3z87_1535;
											}
										}
									else
										{	/* Unsafe/sha1.scm 286 */
											((bool_t) 0);
										}
								}
								return BGl_sha1z00zz__sha1z00(BgL_lenz00_1528, BgL_mz00_1531);
							}
						}
					}
				}
			}
		}

	}



/* &sha1sum-mmap */
	obj_t BGl_z62sha1sumzd2mmapzb0zz__sha1z00(obj_t BgL_envz00_2910,
		obj_t BgL_strz00_2911)
	{
		{	/* Unsafe/sha1.scm 278 */
			{	/* Unsafe/sha1.scm 281 */
				obj_t BgL_auxz00_3415;

				if (BGL_MMAPP(BgL_strz00_2911))
					{	/* Unsafe/sha1.scm 281 */
						BgL_auxz00_3415 = BgL_strz00_2911;
					}
				else
					{
						obj_t BgL_auxz00_3418;

						BgL_auxz00_3418 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1927z00zz__sha1z00,
							BINT(11050L), BGl_string1930z00zz__sha1z00,
							BGl_string1931z00zz__sha1z00, BgL_strz00_2911);
						FAILURE(BgL_auxz00_3418, BFALSE, BFALSE);
					}
				return BGl_sha1sumzd2mmapzd2zz__sha1z00(BgL_auxz00_3415);
			}
		}

	}



/* sha1sum-port */
	BGL_EXPORTED_DEF obj_t BGl_sha1sumzd2portzd2zz__sha1z00(obj_t BgL_ipz00_30)
	{
		{	/* Unsafe/sha1.scm 303 */
			{	/* Unsafe/sha1.scm 306 */
				obj_t BgL_bufz00_1572;

				{	/* Ieee/string.scm 172 */

					BgL_bufz00_1572 = make_string(64L, ((unsigned char) ' '));
				}
				{
					long BgL_lenz00_1575;
					obj_t BgL_lz00_1576;
					long BgL_nlz00_1577;

					BgL_lenz00_1575 = 0L;
					BgL_lz00_1576 = BNIL;
					BgL_nlz00_1577 = 0L;
				BgL_zc3z04anonymousza31461ze3z87_1578:
					BGl_stringzd2fillz12zc0zz__r4_strings_6_7z00(BgL_bufz00_1572,
						((unsigned char) '\000'));
					{	/* Unsafe/sha1.scm 312 */
						obj_t BgL_cz00_1579;

						{	/* Unsafe/sha1.scm 312 */
							long BgL_nz00_2604;

							BgL_nz00_2604 =
								bgl_rgc_blit_string(BgL_ipz00_30,
								BSTRING_TO_STRING(BgL_bufz00_1572), 0L, 64L);
							{	/* Unsafe/sha1.scm 312 */
								bool_t BgL_test1988z00_3427;

								if ((BgL_nz00_2604 == 0L))
									{	/* Unsafe/sha1.scm 312 */
										BgL_test1988z00_3427 = rgc_buffer_eof_p(BgL_ipz00_30);
									}
								else
									{	/* Unsafe/sha1.scm 312 */
										BgL_test1988z00_3427 = ((bool_t) 0);
									}
								if (BgL_test1988z00_3427)
									{	/* Unsafe/sha1.scm 312 */
										BgL_cz00_1579 = BEOF;
									}
								else
									{	/* Unsafe/sha1.scm 312 */
										BgL_cz00_1579 = BINT(BgL_nz00_2604);
									}
							}
						}
						{	/* Unsafe/sha1.scm 312 */
							obj_t BgL_lz00_1580;

							if (EOF_OBJECTP(BgL_cz00_1579))
								{	/* Unsafe/sha1.scm 313 */
									BgL_lz00_1580 = BINT(0L);
								}
							else
								{	/* Unsafe/sha1.scm 313 */
									BgL_lz00_1580 = BgL_cz00_1579;
								}
							{	/* Unsafe/sha1.scm 313 */
								long BgL_nlenz00_1581;

								BgL_nlenz00_1581 =
									((long) CINT(BgL_lz00_1580) + BgL_lenz00_1575);
								{	/* Unsafe/sha1.scm 314 */
									obj_t BgL_vecz00_1582;

									BgL_vecz00_1582 =
										BGl_makezd2u32vectorzd2zz__srfi4z00(16L, (uint32_t) (0L));
									{	/* Unsafe/sha1.scm 315 */

										if (((long) CINT(BgL_lz00_1580) < 64L))
											{	/* Unsafe/sha1.scm 316 */
												long BgL_tmpz00_3442;

												BgL_tmpz00_3442 = (long) CINT(BgL_lz00_1580);
												STRING_SET(BgL_bufz00_1572, BgL_tmpz00_3442,
													((unsigned char) 128));
											}
										else
											{	/* Unsafe/sha1.scm 316 */
												BFALSE;
											}
										{
											long BgL_jz00_1586;

											BgL_jz00_1586 = 0L;
										BgL_zc3z04anonymousza31463ze3z87_1587:
											if ((BgL_jz00_1586 < 16L))
												{	/* Unsafe/sha1.scm 317 */
													{	/* Unsafe/sha1.scm 318 */
														int BgL_nz00_1589;

														BgL_nz00_1589 = (int) ((BgL_jz00_1586 * 4L));
														{	/* Unsafe/sha1.scm 318 */
															uint32_t BgL_v0z00_1590;

															{	/* Unsafe/sha1.scm 319 */
																long BgL_tmpz00_3449;

																BgL_tmpz00_3449 =
																	(STRING_REF(BgL_bufz00_1572,
																		(long) (BgL_nz00_1589)));
																BgL_v0z00_1590 = (uint32_t) (BgL_tmpz00_3449);
															}
															{	/* Unsafe/sha1.scm 319 */
																uint32_t BgL_v1z00_1591;

																{	/* Unsafe/sha1.scm 320 */
																	long BgL_tmpz00_3454;

																	BgL_tmpz00_3454 =
																		(STRING_REF(BgL_bufz00_1572,
																			((long) (BgL_nz00_1589) + 1L)));
																	BgL_v1z00_1591 = (uint32_t) (BgL_tmpz00_3454);
																}
																{	/* Unsafe/sha1.scm 320 */
																	uint32_t BgL_v2z00_1592;

																	{	/* Unsafe/sha1.scm 321 */
																		long BgL_tmpz00_3460;

																		BgL_tmpz00_3460 =
																			(STRING_REF(BgL_bufz00_1572,
																				((long) (BgL_nz00_1589) + 2L)));
																		BgL_v2z00_1592 =
																			(uint32_t) (BgL_tmpz00_3460);
																	}
																	{	/* Unsafe/sha1.scm 321 */
																		uint32_t BgL_v3z00_1593;

																		{	/* Unsafe/sha1.scm 322 */
																			long BgL_tmpz00_3466;

																			BgL_tmpz00_3466 =
																				(STRING_REF(BgL_bufz00_1572,
																					((long) (BgL_nz00_1589) + 3L)));
																			BgL_v3z00_1593 =
																				(uint32_t) (BgL_tmpz00_3466);
																		}
																		{	/* Unsafe/sha1.scm 322 */
																			uint32_t BgL_vz00_1594;

																			{	/* Unsafe/sha1.scm 323 */
																				uint32_t BgL_arg1465z00_1595;
																				uint32_t BgL_arg1466z00_1596;

																				{	/* Unsafe/sha1.scm 323 */
																					uint32_t BgL_arg1467z00_1597;

																					{	/* Unsafe/sha1.scm 323 */
																						long BgL_arg1468z00_1598;

																						{	/* Unsafe/sha1.scm 323 */
																							uint32_t BgL_tmpz00_3472;

																							BgL_tmpz00_3472 =
																								(
																								(BgL_v0z00_1590 <<
																									(int) (8L)) | BgL_v1z00_1591);
																							BgL_arg1468z00_1598 =
																								(long) (BgL_tmpz00_3472);
																						}
																						BgL_arg1467z00_1597 =
																							(uint32_t) (BgL_arg1468z00_1598);
																					}
																					BgL_arg1465z00_1595 =
																						(BgL_arg1467z00_1597 <<
																						(int) (16L));
																				}
																				{	/* Unsafe/sha1.scm 323 */
																					long BgL_arg1471z00_1601;

																					{	/* Unsafe/sha1.scm 323 */
																						uint32_t BgL_tmpz00_3480;

																						BgL_tmpz00_3480 =
																							(
																							(BgL_v2z00_1592 <<
																								(int) (8L)) | BgL_v3z00_1593);
																						BgL_arg1471z00_1601 =
																							(long) (BgL_tmpz00_3480);
																					}
																					BgL_arg1466z00_1596 =
																						(uint32_t) (BgL_arg1471z00_1601);
																				}
																				BgL_vz00_1594 =
																					(BgL_arg1465z00_1595 |
																					BgL_arg1466z00_1596);
																			}
																			{	/* Unsafe/sha1.scm 323 */

																				BGL_U32VSET(BgL_vecz00_1582,
																					BgL_jz00_1586, BgL_vz00_1594);
																				BUNSPEC;
													}}}}}}}
													{
														long BgL_jz00_3488;

														BgL_jz00_3488 = (BgL_jz00_1586 + 1L);
														BgL_jz00_1586 = BgL_jz00_3488;
														goto BgL_zc3z04anonymousza31463ze3z87_1587;
													}
												}
											else
												{	/* Unsafe/sha1.scm 317 */
													((bool_t) 0);
												}
										}
										if (((long) CINT(BgL_lz00_1580) < 64L))
											{	/* Unsafe/sha1.scm 327 */
												long BgL_flz00_1614;

												{	/* Unsafe/sha1.scm 327 */
													long BgL_tmpz00_3493;

													{	/* Unsafe/sha1.scm 327 */
														obj_t BgL_tmpz00_3494;

														{	/* Unsafe/sha1.scm 245 */
															obj_t BgL_rz00_2648;

															BgL_rz00_2648 =
																BGl_2zf2zf2zz__r4_numbers_6_5z00(BINT(
																	(BgL_nlenz00_1581 + 1L)), BINT(4L));
															if (INTEGERP(BgL_rz00_2648))
																{	/* Unsafe/sha1.scm 246 */
																	BgL_tmpz00_3494 = BgL_rz00_2648;
																}
															else
																{	/* Unsafe/sha1.scm 248 */
																	long BgL_tmpz00_3501;

																	{	/* Unsafe/sha1.scm 248 */
																		double BgL_tmpz00_3502;

																		{	/* Unsafe/sha1.scm 248 */
																			obj_t BgL_tmpz00_3503;

																			BgL_tmpz00_3503 =
																				BGl_ceilingz00zz__r4_numbers_6_5z00
																				(BgL_rz00_2648);
																			BgL_tmpz00_3502 =
																				REAL_TO_DOUBLE(BgL_tmpz00_3503);
																		}
																		BgL_tmpz00_3501 = (long) (BgL_tmpz00_3502);
																	}
																	BgL_tmpz00_3494 = BINT(BgL_tmpz00_3501);
														}}
														BgL_tmpz00_3493 = (long) CINT(BgL_tmpz00_3494);
													}
													BgL_flz00_1614 = (BgL_tmpz00_3493 + 2L);
												}
												{	/* Unsafe/sha1.scm 327 */
													long BgL_nz00_1615;

													{	/* Unsafe/sha1.scm 245 */
														obj_t BgL_rz00_2654;

														BgL_rz00_2654 =
															BGl_2zf2zf2zz__r4_numbers_6_5z00(BINT
															(BgL_flz00_1614), BINT(16L));
														if (INTEGERP(BgL_rz00_2654))
															{	/* Unsafe/sha1.scm 246 */
																BgL_nz00_1615 = (long) CINT(BgL_rz00_2654);
															}
														else
															{	/* Unsafe/sha1.scm 248 */
																double BgL_tmpz00_3516;

																{	/* Unsafe/sha1.scm 248 */
																	obj_t BgL_tmpz00_3517;

																	BgL_tmpz00_3517 =
																		BGl_ceilingz00zz__r4_numbers_6_5z00
																		(BgL_rz00_2654);
																	BgL_tmpz00_3516 =
																		REAL_TO_DOUBLE(BgL_tmpz00_3517);
																}
																BgL_nz00_1615 = (long) (BgL_tmpz00_3516);
													}}
													{	/* Unsafe/sha1.scm 328 */
														obj_t BgL_mz00_1616;

														{	/* Unsafe/sha1.scm 331 */
															obj_t BgL_arg1486z00_1617;

															{	/* Unsafe/sha1.scm 331 */
																obj_t BgL_arg1487z00_1618;

																if ((BgL_nz00_1615 > (1L + BgL_nlz00_1577)))
																	{	/* Unsafe/sha1.scm 332 */
																		obj_t BgL_arg1490z00_1621;
																		obj_t BgL_arg1491z00_1622;

																		BgL_arg1490z00_1621 =
																			BGl_makezd2u32vectorzd2zz__srfi4z00(16L,
																			(uint32_t) (0));
																		BgL_arg1491z00_1622 =
																			MAKE_YOUNG_PAIR(BgL_vecz00_1582,
																			BgL_lz00_1576);
																		BgL_arg1487z00_1618 =
																			MAKE_YOUNG_PAIR(BgL_arg1490z00_1621,
																			BgL_arg1491z00_1622);
																	}
																else
																	{	/* Unsafe/sha1.scm 331 */
																		BgL_arg1487z00_1618 =
																			MAKE_YOUNG_PAIR(BgL_vecz00_1582,
																			BgL_lz00_1576);
																	}
																BgL_arg1486z00_1617 =
																	bgl_reverse_bang(BgL_arg1487z00_1618);
															}
															BgL_mz00_1616 =
																BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00
																(BgL_arg1486z00_1617);
														}
														{	/* Unsafe/sha1.scm 329 */

															return
																BGl_sha1z00zz__sha1z00(BgL_nlenz00_1581,
																BgL_mz00_1616);
														}
													}
												}
											}
										else
											{	/* Unsafe/sha1.scm 335 */
												obj_t BgL_arg1497z00_1626;
												long BgL_arg1498z00_1627;

												BgL_arg1497z00_1626 =
													MAKE_YOUNG_PAIR(BgL_vecz00_1582, BgL_lz00_1576);
												BgL_arg1498z00_1627 = (BgL_nlz00_1577 + 1L);
												{
													long BgL_nlz00_3535;
													obj_t BgL_lz00_3534;
													long BgL_lenz00_3533;

													BgL_lenz00_3533 = BgL_nlenz00_1581;
													BgL_lz00_3534 = BgL_arg1497z00_1626;
													BgL_nlz00_3535 = BgL_arg1498z00_1627;
													BgL_nlz00_1577 = BgL_nlz00_3535;
													BgL_lz00_1576 = BgL_lz00_3534;
													BgL_lenz00_1575 = BgL_lenz00_3533;
													goto BgL_zc3z04anonymousza31461ze3z87_1578;
												}
											}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &sha1sum-port */
	obj_t BGl_z62sha1sumzd2portzb0zz__sha1z00(obj_t BgL_envz00_2912,
		obj_t BgL_ipz00_2913)
	{
		{	/* Unsafe/sha1.scm 303 */
			{	/* Unsafe/sha1.scm 306 */
				obj_t BgL_auxz00_3536;

				if (INPUT_PORTP(BgL_ipz00_2913))
					{	/* Unsafe/sha1.scm 306 */
						BgL_auxz00_3536 = BgL_ipz00_2913;
					}
				else
					{
						obj_t BgL_auxz00_3539;

						BgL_auxz00_3539 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1927z00zz__sha1z00,
							BINT(11985L), BGl_string1932z00zz__sha1z00,
							BGl_string1933z00zz__sha1z00, BgL_ipz00_2913);
						FAILURE(BgL_auxz00_3539, BFALSE, BFALSE);
					}
				return BGl_sha1sumzd2portzd2zz__sha1z00(BgL_auxz00_3536);
			}
		}

	}



/* sha1sum-file */
	BGL_EXPORTED_DEF obj_t BGl_sha1sumzd2filezd2zz__sha1z00(obj_t BgL_fnamez00_31)
	{
		{	/* Unsafe/sha1.scm 340 */
			{	/* Unsafe/sha1.scm 341 */
				obj_t BgL_mmz00_1632;

				BgL_mmz00_1632 =
					BGl_openzd2mmapzd2zz__mmapz00(BgL_fnamez00_31, BTRUE, BFALSE);
				if (BGL_MMAPP(BgL_mmz00_1632))
					{	/* Unsafe/sha1.scm 343 */
						obj_t BgL_exitd1074z00_1634;

						BgL_exitd1074z00_1634 = BGL_EXITD_TOP_AS_OBJ();
						{	/* Unsafe/sha1.scm 345 */
							obj_t BgL_zc3z04anonymousza31501ze3z87_2914;

							BgL_zc3z04anonymousza31501ze3z87_2914 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31501ze3ze5zz__sha1z00, (int) (0L),
								(int) (1L));
							PROCEDURE_SET(BgL_zc3z04anonymousza31501ze3z87_2914, (int) (0L),
								BgL_mmz00_1632);
							{	/* Unsafe/sha1.scm 343 */
								obj_t BgL_arg1899z00_2664;

								{	/* Unsafe/sha1.scm 343 */
									obj_t BgL_arg1901z00_2665;

									BgL_arg1901z00_2665 =
										BGL_EXITD_PROTECT(BgL_exitd1074z00_1634);
									BgL_arg1899z00_2664 =
										MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31501ze3z87_2914,
										BgL_arg1901z00_2665);
								}
								BGL_EXITD_PROTECT_SET(BgL_exitd1074z00_1634,
									BgL_arg1899z00_2664);
								BUNSPEC;
							}
							{	/* Unsafe/sha1.scm 344 */
								obj_t BgL_tmp1076z00_1636;

								BgL_tmp1076z00_1636 =
									BGl_sha1sumzd2mmapzd2zz__sha1z00(BgL_mmz00_1632);
								{	/* Unsafe/sha1.scm 343 */
									bool_t BgL_test1999z00_3557;

									{	/* Unsafe/sha1.scm 343 */
										obj_t BgL_arg1898z00_2667;

										BgL_arg1898z00_2667 =
											BGL_EXITD_PROTECT(BgL_exitd1074z00_1634);
										BgL_test1999z00_3557 = PAIRP(BgL_arg1898z00_2667);
									}
									if (BgL_test1999z00_3557)
										{	/* Unsafe/sha1.scm 343 */
											obj_t BgL_arg1896z00_2668;

											{	/* Unsafe/sha1.scm 343 */
												obj_t BgL_arg1897z00_2669;

												BgL_arg1897z00_2669 =
													BGL_EXITD_PROTECT(BgL_exitd1074z00_1634);
												BgL_arg1896z00_2668 =
													CDR(((obj_t) BgL_arg1897z00_2669));
											}
											BGL_EXITD_PROTECT_SET(BgL_exitd1074z00_1634,
												BgL_arg1896z00_2668);
											BUNSPEC;
										}
									else
										{	/* Unsafe/sha1.scm 343 */
											BFALSE;
										}
								}
								bgl_close_mmap(BgL_mmz00_1632);
								return BgL_tmp1076z00_1636;
							}
						}
					}
				else
					{	/* Unsafe/sha1.scm 346 */
						obj_t BgL_pz00_1639;

						{	/* Ieee/port.scm 466 */

							BgL_pz00_1639 =
								BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00
								(BgL_fnamez00_31, BTRUE, BINT(5000000L));
						}
						{	/* Unsafe/sha1.scm 347 */
							obj_t BgL_exitd1078z00_1640;

							BgL_exitd1078z00_1640 = BGL_EXITD_TOP_AS_OBJ();
							{	/* Unsafe/sha1.scm 349 */
								obj_t BgL_zc3z04anonymousza31502ze3z87_2915;

								BgL_zc3z04anonymousza31502ze3z87_2915 =
									MAKE_FX_PROCEDURE
									(BGl_z62zc3z04anonymousza31502ze3ze5zz__sha1z00, (int) (0L),
									(int) (1L));
								PROCEDURE_SET(BgL_zc3z04anonymousza31502ze3z87_2915, (int) (0L),
									BgL_pz00_1639);
								{	/* Unsafe/sha1.scm 347 */
									obj_t BgL_arg1899z00_2673;

									{	/* Unsafe/sha1.scm 347 */
										obj_t BgL_arg1901z00_2674;

										BgL_arg1901z00_2674 =
											BGL_EXITD_PROTECT(BgL_exitd1078z00_1640);
										BgL_arg1899z00_2673 =
											MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31502ze3z87_2915,
											BgL_arg1901z00_2674);
									}
									BGL_EXITD_PROTECT_SET(BgL_exitd1078z00_1640,
										BgL_arg1899z00_2673);
									BUNSPEC;
								}
								{	/* Unsafe/sha1.scm 348 */
									obj_t BgL_tmp1080z00_1642;

									BgL_tmp1080z00_1642 =
										BGl_sha1sumzd2portzd2zz__sha1z00(BgL_pz00_1639);
									{	/* Unsafe/sha1.scm 347 */
										bool_t BgL_test2000z00_3577;

										{	/* Unsafe/sha1.scm 347 */
											obj_t BgL_arg1898z00_2676;

											BgL_arg1898z00_2676 =
												BGL_EXITD_PROTECT(BgL_exitd1078z00_1640);
											BgL_test2000z00_3577 = PAIRP(BgL_arg1898z00_2676);
										}
										if (BgL_test2000z00_3577)
											{	/* Unsafe/sha1.scm 347 */
												obj_t BgL_arg1896z00_2677;

												{	/* Unsafe/sha1.scm 347 */
													obj_t BgL_arg1897z00_2678;

													BgL_arg1897z00_2678 =
														BGL_EXITD_PROTECT(BgL_exitd1078z00_1640);
													BgL_arg1896z00_2677 =
														CDR(((obj_t) BgL_arg1897z00_2678));
												}
												BGL_EXITD_PROTECT_SET(BgL_exitd1078z00_1640,
													BgL_arg1896z00_2677);
												BUNSPEC;
											}
										else
											{	/* Unsafe/sha1.scm 347 */
												BFALSE;
											}
									}
									bgl_close_input_port(((obj_t) BgL_pz00_1639));
									return BgL_tmp1080z00_1642;
								}
							}
						}
					}
			}
		}

	}



/* &sha1sum-file */
	obj_t BGl_z62sha1sumzd2filezb0zz__sha1z00(obj_t BgL_envz00_2916,
		obj_t BgL_fnamez00_2917)
	{
		{	/* Unsafe/sha1.scm 340 */
			{	/* Unsafe/sha1.scm 341 */
				obj_t BgL_auxz00_3586;

				if (STRINGP(BgL_fnamez00_2917))
					{	/* Unsafe/sha1.scm 341 */
						BgL_auxz00_3586 = BgL_fnamez00_2917;
					}
				else
					{
						obj_t BgL_auxz00_3589;

						BgL_auxz00_3589 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1927z00zz__sha1z00,
							BINT(13262L), BGl_string1934z00zz__sha1z00,
							BGl_string1929z00zz__sha1z00, BgL_fnamez00_2917);
						FAILURE(BgL_auxz00_3589, BFALSE, BFALSE);
					}
				return BGl_sha1sumzd2filezd2zz__sha1z00(BgL_auxz00_3586);
			}
		}

	}



/* &<@anonymous:1501> */
	obj_t BGl_z62zc3z04anonymousza31501ze3ze5zz__sha1z00(obj_t BgL_envz00_2918)
	{
		{	/* Unsafe/sha1.scm 343 */
			{	/* Unsafe/sha1.scm 345 */
				obj_t BgL_mmz00_2919;

				BgL_mmz00_2919 = ((obj_t) PROCEDURE_REF(BgL_envz00_2918, (int) (0L)));
				return bgl_close_mmap(BgL_mmz00_2919);
			}
		}

	}



/* &<@anonymous:1502> */
	obj_t BGl_z62zc3z04anonymousza31502ze3ze5zz__sha1z00(obj_t BgL_envz00_2920)
	{
		{	/* Unsafe/sha1.scm 347 */
			{	/* Unsafe/sha1.scm 349 */
				obj_t BgL_pz00_2921;

				BgL_pz00_2921 = PROCEDURE_REF(BgL_envz00_2920, (int) (0L));
				return bgl_close_input_port(((obj_t) BgL_pz00_2921));
			}
		}

	}



/* sha1sum */
	BGL_EXPORTED_DEF obj_t BGl_sha1sumz00zz__sha1z00(obj_t BgL_objz00_32)
	{
		{	/* Unsafe/sha1.scm 354 */
			if (BGL_MMAPP(BgL_objz00_32))
				{	/* Unsafe/sha1.scm 356 */
					return BGl_sha1sumzd2mmapzd2zz__sha1z00(BgL_objz00_32);
				}
			else
				{	/* Unsafe/sha1.scm 356 */
					if (STRINGP(BgL_objz00_32))
						{	/* Unsafe/sha1.scm 358 */
							return BGl_sha1sumzd2stringzd2zz__sha1z00(BgL_objz00_32);
						}
					else
						{	/* Unsafe/sha1.scm 358 */
							if (INPUT_PORTP(BgL_objz00_32))
								{	/* Unsafe/sha1.scm 360 */
									return BGl_sha1sumzd2portzd2zz__sha1z00(BgL_objz00_32);
								}
							else
								{	/* Unsafe/sha1.scm 360 */
									return
										BGl_errorz00zz__errorz00(BGl_string1935z00zz__sha1z00,
										BGl_string1936z00zz__sha1z00, BgL_objz00_32);
								}
						}
				}
		}

	}



/* &sha1sum */
	obj_t BGl_z62sha1sumz62zz__sha1z00(obj_t BgL_envz00_2922,
		obj_t BgL_objz00_2923)
	{
		{	/* Unsafe/sha1.scm 354 */
			return BGl_sha1sumz00zz__sha1z00(BgL_objz00_2923);
		}

	}



/* hmac-sha1sum-string */
	BGL_EXPORTED_DEF obj_t BGl_hmaczd2sha1sumzd2stringz00zz__sha1z00(obj_t
		BgL_keyz00_33, obj_t BgL_messagez00_34)
	{
		{	/* Unsafe/sha1.scm 368 */
			return
				BGl_hmaczd2stringzd2zz__hmacz00(BgL_keyz00_33, BgL_messagez00_34,
				BGl_sha1sumzd2stringzd2envz00zz__sha1z00);
		}

	}



/* &hmac-sha1sum-string */
	obj_t BGl_z62hmaczd2sha1sumzd2stringz62zz__sha1z00(obj_t BgL_envz00_2924,
		obj_t BgL_keyz00_2925, obj_t BgL_messagez00_2926)
	{
		{	/* Unsafe/sha1.scm 368 */
			{	/* Unsafe/sha1.scm 369 */
				obj_t BgL_auxz00_3621;
				obj_t BgL_auxz00_3614;

				if (STRINGP(BgL_messagez00_2926))
					{	/* Unsafe/sha1.scm 369 */
						BgL_auxz00_3621 = BgL_messagez00_2926;
					}
				else
					{
						obj_t BgL_auxz00_3624;

						BgL_auxz00_3624 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1927z00zz__sha1z00,
							BINT(14229L), BGl_string1937z00zz__sha1z00,
							BGl_string1929z00zz__sha1z00, BgL_messagez00_2926);
						FAILURE(BgL_auxz00_3624, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_keyz00_2925))
					{	/* Unsafe/sha1.scm 369 */
						BgL_auxz00_3614 = BgL_keyz00_2925;
					}
				else
					{
						obj_t BgL_auxz00_3617;

						BgL_auxz00_3617 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1927z00zz__sha1z00,
							BINT(14229L), BGl_string1937z00zz__sha1z00,
							BGl_string1929z00zz__sha1z00, BgL_keyz00_2925);
						FAILURE(BgL_auxz00_3617, BFALSE, BFALSE);
					}
				return
					BGl_hmaczd2sha1sumzd2stringz00zz__sha1z00(BgL_auxz00_3614,
					BgL_auxz00_3621);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__sha1z00(void)
	{
		{	/* Unsafe/sha1.scm 17 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__sha1z00(void)
	{
		{	/* Unsafe/sha1.scm 17 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__sha1z00(void)
	{
		{	/* Unsafe/sha1.scm 17 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__sha1z00(void)
	{
		{	/* Unsafe/sha1.scm 17 */
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1938z00zz__sha1z00));
			return
				BGl_modulezd2initializa7ationz75zz__hmacz00(285132844L,
				BSTRING_TO_STRING(BGl_string1938z00zz__sha1z00));
		}

	}

#ifdef __cplusplus
}
#endif
