/*===========================================================================*/
/*   (Llib/module.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 Llib/module.scm -indent -o objs/obj_u/Llib/module.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___MODULE_TYPE_DEFINITIONS
#define BGL___MODULE_TYPE_DEFINITIONS
#endif													// BGL___MODULE_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_symbol1751z00zz__modulez00 = BUNSPEC;
	static obj_t BGl_z62modulezd2addzd2accessz12z70zz__modulez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62bigloozd2modulezd2resolverzd2setz12za2zz__modulez00(obj_t,
		obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__modulez00 = BUNSPEC;
	static obj_t BGl_resolvezd2abasezf2bucketz20zz__modulez00(obj_t, obj_t);
	static obj_t
		BGl_z62zc3z04z52bigloozd2modulezd2res1192ze3z14zz__modulez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_za2afileszd2tableza2zd2zz__modulez00 = BUNSPEC;
	static obj_t BGl_symbol1770z00zz__modulez00 = BUNSPEC;
	static obj_t BGl_symbol1772z00zz__modulez00 = BUNSPEC;
	static obj_t BGl_symbol1774z00zz__modulez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_bigloozd2modulezd2resolverz00zz__modulez00(void);
	extern bool_t BGl_equalzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
	extern obj_t BGl_makezd2hashtablezd2zz__hashz00(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__modulez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__configurez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_z62zc3z04anonymousza31356ze3ze5zz__modulez00(obj_t, obj_t);
	extern bool_t fexists(char *);
	extern obj_t BGl_warningz00zz__errorz00(obj_t);
	extern obj_t BGl_assocz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__modulez00(void);
	static obj_t BGl_z62modulezd2abasezd2setz12z70zz__modulez00(obj_t, obj_t);
	static obj_t BGl_list1769z00zz__modulez00 = BUNSPEC;
	extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	extern obj_t BGl_filezd2namezd2canonicaliza7eza7zz__osz00(obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__modulez00(void);
	extern bool_t BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(obj_t);
	static obj_t BGl_genericzd2initzd2zz__modulez00(void);
	extern obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zz__modulez00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__modulez00(void);
	static obj_t BGl_z52bigloozd2modulezd2resolverz52zz__modulez00 = BUNSPEC;
	static obj_t BGl_objectzd2initzd2zz__modulez00(void);
	extern obj_t BGl_dirnamez00zz__osz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2abasezd2setz12z12zz__modulez00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_bigloozd2modulezd2resolverzd2setz12zc0zz__modulez00(obj_t);
	extern bool_t bgl_directoryp(char *);
	extern obj_t BGl_makezd2filezd2namez00zz__osz00(obj_t, obj_t);
	extern obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_modulezd2addzd2accesszd2innerz12zc0zz__modulez00(obj_t,
		obj_t, obj_t);
	extern obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62modulezd2abasezb0zz__modulez00(obj_t);
	static obj_t BGl_modulezd2readzd2accesszd2filezd2zz__modulez00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__modulez00(void);
	extern obj_t BGl_callzd2withzd2inputzd2filezd2zz__r4_ports_6_10_1z00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2abasezd2zz__modulez00(void);
	static obj_t BGl_z62bigloozd2modulezd2resolverz62zz__modulez00(obj_t);
	static obj_t BGl_z62modulezd2defaultzd2resolverz62zz__modulez00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2loadzd2accesszd2filezd2zz__modulez00(obj_t);
	static obj_t BGl_z62modulezd2loadzd2accesszd2filezb0zz__modulez00(obj_t,
		obj_t);
	static obj_t BGl_resolvezd2abaseza2z70zz__modulez00(obj_t);
	extern obj_t string_append(obj_t, obj_t);
	static obj_t BGl_resolvezd2abasezd2zz__modulez00(obj_t, obj_t);
	static obj_t BGl_afilezd2tablezd2zz__modulez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_modulezd2addzd2accessz12z12zz__modulez00(obj_t,
		obj_t, obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_moduleszd2mutexzd2zz__modulez00 = BUNSPEC;
	extern obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_modulezd2abasezd2envz00zz__modulez00,
		BgL_bgl_za762moduleza7d2abas1785z00, BGl_z62modulezd2abasezb0zz__modulez00,
		0L, BUNSPEC, 0);
	     
		DEFINE_STATIC_BGL_PROCEDURE
		(BGl_modulezd2defaultzd2resolverzd2envzd2zz__modulez00,
		BgL_bgl_za762moduleza7d2defa1786z00,
		BGl_z62modulezd2defaultzd2resolverz62zz__modulez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_modulezd2loadzd2accesszd2filezd2envz00zz__modulez00,
		BgL_bgl_za762moduleza7d2load1787z00,
		BGl_z62modulezd2loadzd2accesszd2filezb0zz__modulez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_bigloozd2modulezd2resolverzd2setz12zd2envz12zz__modulez00,
		BgL_bgl_za762biglooza7d2modu1788z00,
		BGl_z62bigloozd2modulezd2resolverzd2setz12za2zz__modulez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_bigloozd2modulezd2resolverzd2envzd2zz__modulez00,
		BgL_bgl_za762biglooza7d2modu1789z00,
		BGl_z62bigloozd2modulezd2resolverz62zz__modulez00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_modulezd2abasezd2setz12zd2envzc0zz__modulez00,
		BgL_bgl_za762moduleza7d2abas1790z00,
		BGl_z62modulezd2abasezd2setz12z70zz__modulez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1750z00zz__modulez00,
		BgL_bgl_string1750za700za7za7_1791za7, "modules", 7);
	      BGL_DEFINE_STRING(BGl_string1752z00zz__modulez00,
		BgL_bgl_string1752za700za7za7_1792za7, "bigloo-module-resolver-set!", 27);
	      BGL_DEFINE_STRING(BGl_string1753z00zz__modulez00,
		BgL_bgl_string1753za700za7za7_1793za7, "Illegal resolver", 16);
	      BGL_DEFINE_STRING(BGl_string1754z00zz__modulez00,
		BgL_bgl_string1754za700za7za7_1794za7,
		"/tmp/bigloo/runtime/Llib/module.scm", 35);
	      BGL_DEFINE_STRING(BGl_string1755z00zz__modulez00,
		BgL_bgl_string1755za700za7za7_1795za7, "&bigloo-module-resolver-set!", 28);
	      BGL_DEFINE_STRING(BGl_string1756z00zz__modulez00,
		BgL_bgl_string1756za700za7za7_1796za7, "procedure", 9);
	      BGL_DEFINE_STRING(BGl_string1757z00zz__modulez00,
		BgL_bgl_string1757za700za7za7_1797za7, ".", 1);
	      BGL_DEFINE_STRING(BGl_string1758z00zz__modulez00,
		BgL_bgl_string1758za700za7za7_1798za7, "&module-default-resolver", 24);
	      BGL_DEFINE_STRING(BGl_string1759z00zz__modulez00,
		BgL_bgl_string1759za700za7za7_1799za7, "symbol", 6);
	      BGL_DEFINE_STRING(BGl_string1760z00zz__modulez00,
		BgL_bgl_string1760za700za7za7_1800za7, "pair-nil", 8);
	      BGL_DEFINE_STRING(BGl_string1761z00zz__modulez00,
		BgL_bgl_string1761za700za7za7_1801za7, "~a/~a.scm", 9);
	      BGL_DEFINE_STRING(BGl_string1762z00zz__modulez00,
		BgL_bgl_string1762za700za7za7_1802za7, ".scm", 4);
	      BGL_DEFINE_STRING(BGl_string1763z00zz__modulez00,
		BgL_bgl_string1763za700za7za7_1803za7, "\"", 1);
	      BGL_DEFINE_STRING(BGl_string1764z00zz__modulez00,
		BgL_bgl_string1764za700za7za7_1804za7, "] in directory \"", 16);
	      BGL_DEFINE_STRING(BGl_string1765z00zz__modulez00,
		BgL_bgl_string1765za700za7za7_1805za7, " ", 1);
	      BGL_DEFINE_STRING(BGl_string1766z00zz__modulez00,
		BgL_bgl_string1766za700za7za7_1806za7, " [", 2);
	      BGL_DEFINE_STRING(BGl_string1767z00zz__modulez00,
		BgL_bgl_string1767za700za7za7_1807za7, "access redefinition -- ", 23);
	      BGL_DEFINE_STRING(BGl_string1768z00zz__modulez00,
		BgL_bgl_string1768za700za7za7_1808za7, "add-access!", 11);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_modulezd2addzd2accessz12zd2envzc0zz__modulez00,
		BgL_bgl_za762moduleza7d2addza71809za7,
		BGl_z62modulezd2addzd2accessz12z70zz__modulez00, 0L, BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string1771z00zz__modulez00,
		BgL_bgl_string1771za700za7za7_1810za7, "set-cdr!", 8);
	      BGL_DEFINE_STRING(BGl_string1773z00zz__modulez00,
		BgL_bgl_string1773za700za7za7_1811za7, "cell", 4);
	      BGL_DEFINE_STRING(BGl_string1775z00zz__modulez00,
		BgL_bgl_string1775za700za7za7_1812za7, "files", 5);
	      BGL_DEFINE_STRING(BGl_string1776z00zz__modulez00,
		BgL_bgl_string1776za700za7za7_1813za7, "&module-add-access!", 19);
	      BGL_DEFINE_STRING(BGl_string1777z00zz__modulez00,
		BgL_bgl_string1777za700za7za7_1814za7, "pair", 4);
	      BGL_DEFINE_STRING(BGl_string1778z00zz__modulez00,
		BgL_bgl_string1778za700za7za7_1815za7, "bstring", 7);
	      BGL_DEFINE_STRING(BGl_string1779z00zz__modulez00,
		BgL_bgl_string1779za700za7za7_1816za7, "Illegal entry -- ", 17);
	      BGL_DEFINE_STRING(BGl_string1780z00zz__modulez00,
		BgL_bgl_string1780za700za7za7_1817za7, "module-read-access-file", 23);
	      BGL_DEFINE_STRING(BGl_string1781z00zz__modulez00,
		BgL_bgl_string1781za700za7za7_1818za7, ".afile", 6);
	      BGL_DEFINE_STRING(BGl_string1782z00zz__modulez00,
		BgL_bgl_string1782za700za7za7_1819za7, "&module-load-access-file", 24);
	      BGL_DEFINE_STRING(BGl_string1783z00zz__modulez00,
		BgL_bgl_string1783za700za7za7_1820za7, "", 0);
	      BGL_DEFINE_STRING(BGl_string1784z00zz__modulez00,
		BgL_bgl_string1784za700za7za7_1821za7, "__module", 8);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_STRING(BGl_string1784z00zz__modulez00,
			BgL_bgl_string1784za700za7za7_1821za7);
		BGL_BIND_STRING(BGl_string1783z00zz__modulez00,
			BgL_bgl_string1783za700za7za7_1820za7);
		BGL_BIND_STRING(BGl_string1782z00zz__modulez00,
			BgL_bgl_string1782za700za7za7_1819za7);
		BGL_BIND_STRING(BGl_string1781z00zz__modulez00,
			BgL_bgl_string1781za700za7za7_1818za7);
		BGL_BIND_STRING(BGl_string1780z00zz__modulez00,
			BgL_bgl_string1780za700za7za7_1817za7);
		BGL_BIND_STRING(BGl_string1779z00zz__modulez00,
			BgL_bgl_string1779za700za7za7_1816za7);
		BGL_BIND_STRING(BGl_string1778z00zz__modulez00,
			BgL_bgl_string1778za700za7za7_1815za7);
		BGL_BIND_STRING(BGl_string1777z00zz__modulez00,
			BgL_bgl_string1777za700za7za7_1814za7);
		BGL_BIND_STRING(BGl_string1776z00zz__modulez00,
			BgL_bgl_string1776za700za7za7_1813za7);
		BGL_BIND_STRING(BGl_string1775z00zz__modulez00,
			BgL_bgl_string1775za700za7za7_1812za7);
		BGL_BIND_STRING(BGl_string1773z00zz__modulez00,
			BgL_bgl_string1773za700za7za7_1811za7);
		BGL_BIND_STRING(BGl_string1771z00zz__modulez00,
			BgL_bgl_string1771za700za7za7_1810za7);
		BGL_BIND_PROCEDURE(BGl_modulezd2addzd2accessz12zd2envzc0zz__modulez00,
			BgL_bgl_za762moduleza7d2addza71809za7);
		BGL_BIND_STRING(BGl_string1768z00zz__modulez00,
			BgL_bgl_string1768za700za7za7_1808za7);
		BGL_BIND_STRING(BGl_string1767z00zz__modulez00,
			BgL_bgl_string1767za700za7za7_1807za7);
		BGL_BIND_STRING(BGl_string1766z00zz__modulez00,
			BgL_bgl_string1766za700za7za7_1806za7);
		BGL_BIND_STRING(BGl_string1765z00zz__modulez00,
			BgL_bgl_string1765za700za7za7_1805za7);
		BGL_BIND_STRING(BGl_string1764z00zz__modulez00,
			BgL_bgl_string1764za700za7za7_1804za7);
		BGL_BIND_STRING(BGl_string1763z00zz__modulez00,
			BgL_bgl_string1763za700za7za7_1803za7);
		BGL_BIND_STRING(BGl_string1762z00zz__modulez00,
			BgL_bgl_string1762za700za7za7_1802za7);
		BGL_BIND_STRING(BGl_string1761z00zz__modulez00,
			BgL_bgl_string1761za700za7za7_1801za7);
		BGL_BIND_STRING(BGl_string1760z00zz__modulez00,
			BgL_bgl_string1760za700za7za7_1800za7);
		BGL_BIND_STRING(BGl_string1759z00zz__modulez00,
			BgL_bgl_string1759za700za7za7_1799za7);
		BGL_BIND_STRING(BGl_string1758z00zz__modulez00,
			BgL_bgl_string1758za700za7za7_1798za7);
		BGL_BIND_STRING(BGl_string1757z00zz__modulez00,
			BgL_bgl_string1757za700za7za7_1797za7);
		BGL_BIND_STRING(BGl_string1756z00zz__modulez00,
			BgL_bgl_string1756za700za7za7_1796za7);
		BGL_BIND_STRING(BGl_string1755z00zz__modulez00,
			BgL_bgl_string1755za700za7za7_1795za7);
		BGL_BIND_STRING(BGl_string1754z00zz__modulez00,
			BgL_bgl_string1754za700za7za7_1794za7);
		BGL_BIND_STRING(BGl_string1753z00zz__modulez00,
			BgL_bgl_string1753za700za7za7_1793za7);
		BGL_BIND_STRING(BGl_string1752z00zz__modulez00,
			BgL_bgl_string1752za700za7za7_1792za7);
		BGL_BIND_STRING(BGl_string1750z00zz__modulez00,
			BgL_bgl_string1750za700za7za7_1791za7);
		BGL_BIND_PROCEDURE(BGl_modulezd2abasezd2setz12zd2envzc0zz__modulez00,
			BgL_bgl_za762moduleza7d2abas1790z00);
		BGL_BIND_PROCEDURE(BGl_bigloozd2modulezd2resolverzd2envzd2zz__modulez00,
			BgL_bgl_za762biglooza7d2modu1789z00);
		BGL_BIND_PROCEDURE
			(BGl_bigloozd2modulezd2resolverzd2setz12zd2envz12zz__modulez00,
			BgL_bgl_za762biglooza7d2modu1788z00);
		BGL_BIND_PROCEDURE(BGl_modulezd2loadzd2accesszd2filezd2envz00zz__modulez00,
			BgL_bgl_za762moduleza7d2load1787z00);
		BGL_BIND_PROCEDURE(BGl_modulezd2defaultzd2resolverzd2envzd2zz__modulez00,
			BgL_bgl_za762moduleza7d2defa1786z00);
		BGL_BIND_PROCEDURE(BGl_modulezd2abasezd2envz00zz__modulez00,
			BgL_bgl_za762moduleza7d2abas1785z00);
	}

/* 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_symbol1751z00zz__modulez00));
		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__modulez00));
		ADD_ROOT((void *) (&BGl_za2afileszd2tableza2zd2zz__modulez00));
		ADD_ROOT((void *) (&BGl_symbol1770z00zz__modulez00));
		ADD_ROOT((void *) (&BGl_symbol1772z00zz__modulez00));
		ADD_ROOT((void *) (&BGl_symbol1774z00zz__modulez00));
		ADD_ROOT((void *) (&BGl_list1769z00zz__modulez00));
		ADD_ROOT((void *) (&BGl_z52bigloozd2modulezd2resolverz52zz__modulez00));
		ADD_ROOT((void *) (&BGl_afilezd2tablezd2zz__modulez00));
		ADD_ROOT((void *) (&BGl_moduleszd2mutexzd2zz__modulez00));
#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__modulez00(long
		BgL_checksumz00_2143, char *BgL_fromz00_2144)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__modulez00))
				{
					BGl_requirezd2initializa7ationz75zz__modulez00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__modulez00();
					BGl_cnstzd2initzd2zz__modulez00();
					BGl_importedzd2moduleszd2initz00zz__modulez00();
					return BGl_toplevelzd2initzd2zz__modulez00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			BGl_symbol1751z00zz__modulez00 =
				bstring_to_symbol(BGl_string1752z00zz__modulez00);
			BGl_symbol1770z00zz__modulez00 =
				bstring_to_symbol(BGl_string1771z00zz__modulez00);
			BGl_symbol1772z00zz__modulez00 =
				bstring_to_symbol(BGl_string1773z00zz__modulez00);
			BGl_symbol1774z00zz__modulez00 =
				bstring_to_symbol(BGl_string1775z00zz__modulez00);
			return (BGl_list1769z00zz__modulez00 =
				MAKE_YOUNG_PAIR(BGl_symbol1770z00zz__modulez00,
					MAKE_YOUNG_PAIR(BGl_symbol1772z00zz__modulez00,
						MAKE_YOUNG_PAIR(BGl_symbol1774z00zz__modulez00, BNIL))), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			BGl_moduleszd2mutexzd2zz__modulez00 =
				bgl_make_mutex(BGl_string1750z00zz__modulez00);
			BGl_afilezd2tablezd2zz__modulez00 = BNIL;
			BGl_z52bigloozd2modulezd2resolverz52zz__modulez00 =
				BGl_modulezd2defaultzd2resolverzd2envzd2zz__modulez00;
			{	/* Llib/module.scm 223 */
				obj_t BgL_list1175z00_1123;

				BgL_list1175z00_1123 = MAKE_YOUNG_PAIR(BINT(256L), BNIL);
				return (BGl_za2afileszd2tableza2zd2zz__modulez00 =
					BGl_makezd2hashtablezd2zz__hashz00(BgL_list1175z00_1123), BUNSPEC);
			}
		}

	}



/* module-abase */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2abasezd2zz__modulez00(void)
	{
		{	/* Llib/module.scm 75 */
			return BGL_ABASE();
		}

	}



/* &module-abase */
	obj_t BGl_z62modulezd2abasezb0zz__modulez00(obj_t BgL_envz00_2075)
	{
		{	/* Llib/module.scm 75 */
			return BGl_modulezd2abasezd2zz__modulez00();
		}

	}



/* module-abase-set! */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2abasezd2setz12z12zz__modulez00(obj_t
		BgL_valz00_3)
	{
		{	/* Llib/module.scm 78 */
			return BGL_ABASE_SET(BgL_valz00_3);
		}

	}



/* &module-abase-set! */
	obj_t BGl_z62modulezd2abasezd2setz12z70zz__modulez00(obj_t BgL_envz00_2076,
		obj_t BgL_valz00_2077)
	{
		{	/* Llib/module.scm 78 */
			return BGl_modulezd2abasezd2setz12z12zz__modulez00(BgL_valz00_2077);
		}

	}



/* bigloo-module-resolver */
	BGL_EXPORTED_DEF obj_t BGl_bigloozd2modulezd2resolverz00zz__modulez00(void)
	{
		{	/* Llib/module.scm 91 */
			return BGl_z52bigloozd2modulezd2resolverz52zz__modulez00;
		}

	}



/* &bigloo-module-resolver */
	obj_t BGl_z62bigloozd2modulezd2resolverz62zz__modulez00(obj_t BgL_envz00_2078)
	{
		{	/* Llib/module.scm 91 */
			return BGl_bigloozd2modulezd2resolverz00zz__modulez00();
		}

	}



/* bigloo-module-resolver-set! */
	BGL_EXPORTED_DEF obj_t
		BGl_bigloozd2modulezd2resolverzd2setz12zc0zz__modulez00(obj_t
		BgL_resolvez00_4)
	{
		{	/* Llib/module.scm 94 */
			{	/* Llib/module.scm 95 */
				obj_t BgL_top1824z00_2171;

				BgL_top1824z00_2171 = BGL_EXITD_TOP_AS_OBJ();
				BGL_MUTEX_LOCK(BGl_moduleszd2mutexzd2zz__modulez00);
				BGL_EXITD_PUSH_PROTECT(BgL_top1824z00_2171,
					BGl_moduleszd2mutexzd2zz__modulez00);
				BUNSPEC;
				{	/* Llib/module.scm 95 */
					obj_t BgL_tmp1823z00_2170;

					if (PROCEDURE_CORRECT_ARITYP(BgL_resolvez00_4, (int) (2L)))
						{	/* Llib/module.scm 100 */
							obj_t BgL_zc3z04z52bigloozd2modulezd2res1192ze3z76_2079;

							BgL_zc3z04z52bigloozd2modulezd2res1192ze3z76_2079 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04z52bigloozd2modulezd2res1192ze3z14zz__modulez00,
								(int) (3L), (int) (1L));
							PROCEDURE_SET(BgL_zc3z04z52bigloozd2modulezd2res1192ze3z76_2079,
								(int) (0L), BgL_resolvez00_4);
							BgL_tmp1823z00_2170 =
								(BGl_z52bigloozd2modulezd2resolverz52zz__modulez00 =
								BgL_zc3z04z52bigloozd2modulezd2res1192ze3z76_2079, BUNSPEC);
						}
					else
						{	/* Llib/module.scm 97 */
							if (PROCEDURE_CORRECT_ARITYP(BgL_resolvez00_4, (int) (3L)))
								{	/* Llib/module.scm 101 */
									BgL_tmp1823z00_2170 =
										(BGl_z52bigloozd2modulezd2resolverz52zz__modulez00 =
										BgL_resolvez00_4, BUNSPEC);
								}
							else
								{	/* Llib/module.scm 101 */
									BgL_tmp1823z00_2170 =
										BGl_errorz00zz__errorz00(BGl_symbol1751z00zz__modulez00,
										BGl_string1753z00zz__modulez00, BgL_resolvez00_4);
								}
						}
					BGL_EXITD_POP_PROTECT(BgL_top1824z00_2171);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_moduleszd2mutexzd2zz__modulez00);
					return BgL_tmp1823z00_2170;
				}
			}
		}

	}



/* &bigloo-module-resolver-set! */
	obj_t BGl_z62bigloozd2modulezd2resolverzd2setz12za2zz__modulez00(obj_t
		BgL_envz00_2080, obj_t BgL_resolvez00_2081)
	{
		{	/* Llib/module.scm 94 */
			{	/* Llib/module.scm 95 */
				obj_t BgL_auxz00_2189;

				if (PROCEDUREP(BgL_resolvez00_2081))
					{	/* Llib/module.scm 95 */
						BgL_auxz00_2189 = BgL_resolvez00_2081;
					}
				else
					{
						obj_t BgL_auxz00_2192;

						BgL_auxz00_2192 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
							BINT(3527L), BGl_string1755z00zz__modulez00,
							BGl_string1756z00zz__modulez00, BgL_resolvez00_2081);
						FAILURE(BgL_auxz00_2192, BFALSE, BFALSE);
					}
				return
					BGl_bigloozd2modulezd2resolverzd2setz12zc0zz__modulez00
					(BgL_auxz00_2189);
			}
		}

	}



/* &<@%bigloo-module-res1192> */
	obj_t BGl_z62zc3z04z52bigloozd2modulezd2res1192ze3z14zz__modulez00(obj_t
		BgL_envz00_2082, obj_t BgL_modulez00_2084, obj_t BgL_filesz00_2085,
		obj_t BgL_abasez00_2086)
	{
		{	/* Llib/module.scm 100 */
			{	/* Llib/module.scm 100 */
				obj_t BgL_resolvez00_2083;

				BgL_resolvez00_2083 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2082, (int) (0L)));
				return
					BGL_PROCEDURE_CALL2(BgL_resolvez00_2083, BgL_modulez00_2084,
					BgL_abasez00_2086);
			}
		}

	}



/* &module-default-resolver */
	obj_t BGl_z62modulezd2defaultzd2resolverz62zz__modulez00(obj_t
		BgL_envz00_2071, obj_t BgL_modz00_2072, obj_t BgL_filesz00_2073,
		obj_t BgL_abasez00_2074)
	{
		{	/* Llib/module.scm 113 */
			{	/* Llib/module.scm 114 */
				obj_t BgL_modz00_2119;
				obj_t BgL_filesz00_2120;

				if (SYMBOLP(BgL_modz00_2072))
					{	/* Llib/module.scm 114 */
						BgL_modz00_2119 = BgL_modz00_2072;
					}
				else
					{
						obj_t BgL_auxz00_2207;

						BgL_auxz00_2207 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
							BINT(4515L), BGl_string1758z00zz__modulez00,
							BGl_string1759z00zz__modulez00, BgL_modz00_2072);
						FAILURE(BgL_auxz00_2207, BFALSE, BFALSE);
					}
				{	/* Llib/module.scm 114 */
					bool_t BgL_test1829z00_2211;

					if (PAIRP(BgL_filesz00_2073))
						{	/* Llib/module.scm 114 */
							BgL_test1829z00_2211 = ((bool_t) 1);
						}
					else
						{	/* Llib/module.scm 114 */
							BgL_test1829z00_2211 = NULLP(BgL_filesz00_2073);
						}
					if (BgL_test1829z00_2211)
						{	/* Llib/module.scm 114 */
							BgL_filesz00_2120 = BgL_filesz00_2073;
						}
					else
						{
							obj_t BgL_auxz00_2215;

							BgL_auxz00_2215 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
								BINT(4515L), BGl_string1758z00zz__modulez00,
								BGl_string1760z00zz__modulez00, BgL_filesz00_2073);
							FAILURE(BgL_auxz00_2215, BFALSE, BFALSE);
						}
				}
				{	/* Llib/module.scm 114 */
					obj_t BgL_top1832z00_2220;

					BgL_top1832z00_2220 = BGL_EXITD_TOP_AS_OBJ();
					BGL_MUTEX_LOCK(BGl_moduleszd2mutexzd2zz__modulez00);
					BGL_EXITD_PUSH_PROTECT(BgL_top1832z00_2220,
						BGl_moduleszd2mutexzd2zz__modulez00);
					BUNSPEC;
					{	/* Llib/module.scm 114 */
						obj_t BgL_tmp1831z00_2219;

						if (NULLP(BgL_filesz00_2120))
							{	/* Llib/module.scm 116 */
								if (NULLP(BgL_abasez00_2074))
									{	/* Llib/module.scm 119 */
										BgL_tmp1831z00_2219 =
											BGl_resolvezd2abasezd2zz__modulez00(BgL_modz00_2119,
											BGl_string1757z00zz__modulez00);
									}
								else
									{	/* Llib/module.scm 119 */
										if (STRINGP(BgL_abasez00_2074))
											{	/* Llib/module.scm 121 */
												BgL_tmp1831z00_2219 =
													BGl_resolvezd2abasezd2zz__modulez00(BgL_modz00_2119,
													BgL_abasez00_2074);
											}
										else
											{	/* Llib/module.scm 121 */
												if (PAIRP(BgL_abasez00_2074))
													{
														obj_t BgL_abasez00_2122;

														BgL_abasez00_2122 = BgL_abasez00_2074;
													BgL_loopz00_2121:
														if (PAIRP(BgL_abasez00_2122))
															{	/* Llib/module.scm 126 */
																obj_t BgL_resolvez00_2123;

																BgL_resolvez00_2123 =
																	BGl_resolvezd2abasezd2zz__modulez00
																	(BgL_modz00_2119, CAR(BgL_abasez00_2122));
																if (PAIRP(BgL_resolvez00_2123))
																	{	/* Llib/module.scm 127 */
																		BgL_tmp1831z00_2219 = BgL_resolvez00_2123;
																	}
																else
																	{
																		obj_t BgL_abasez00_2240;

																		BgL_abasez00_2240 = CDR(BgL_abasez00_2122);
																		BgL_abasez00_2122 = BgL_abasez00_2240;
																		goto BgL_loopz00_2121;
																	}
															}
														else
															{	/* Llib/module.scm 125 */
																BgL_tmp1831z00_2219 = BNIL;
															}
													}
												else
													{	/* Llib/module.scm 123 */
														BgL_tmp1831z00_2219 =
															BGl_resolvezd2abaseza2z70zz__modulez00
															(BgL_modz00_2119);
													}
											}
									}
							}
						else
							{	/* Llib/module.scm 116 */
								BGl_modulezd2addzd2accessz12z12zz__modulez00(BgL_modz00_2119,
									BgL_filesz00_2120, BgL_abasez00_2074);
								BgL_tmp1831z00_2219 = BgL_filesz00_2120;
							}
						BGL_EXITD_POP_PROTECT(BgL_top1832z00_2220);
						BUNSPEC;
						BGL_MUTEX_UNLOCK(BGl_moduleszd2mutexzd2zz__modulez00);
						return BgL_tmp1831z00_2219;
					}
				}
			}
		}

	}



/* resolve-abase* */
	obj_t BGl_resolvezd2abaseza2z70zz__modulez00(obj_t BgL_modz00_8)
	{
		{	/* Llib/module.scm 137 */
			{
				obj_t BgL_afilez00_1157;

				BgL_afilez00_1157 = BGl_afilezd2tablezd2zz__modulez00;
			BgL_zc3z04anonymousza31204ze3z87_1158:
				if (NULLP(BgL_afilez00_1157))
					{	/* Llib/module.scm 139 */
						return BNIL;
					}
				else
					{	/* Llib/module.scm 141 */
						obj_t BgL_fz00_1160;

						{	/* Llib/module.scm 141 */
							obj_t BgL_arg1208z00_1163;

							BgL_arg1208z00_1163 = CAR(((obj_t) BgL_afilez00_1157));
							BgL_fz00_1160 =
								BGl_resolvezd2abasezf2bucketz20zz__modulez00(BgL_modz00_8,
								BgL_arg1208z00_1163);
						}
						if (PAIRP(BgL_fz00_1160))
							{	/* Llib/module.scm 142 */
								return BgL_fz00_1160;
							}
						else
							{	/* Llib/module.scm 144 */
								obj_t BgL_arg1207z00_1162;

								BgL_arg1207z00_1162 = CDR(((obj_t) BgL_afilez00_1157));
								{
									obj_t BgL_afilez00_2255;

									BgL_afilez00_2255 = BgL_arg1207z00_1162;
									BgL_afilez00_1157 = BgL_afilez00_2255;
									goto BgL_zc3z04anonymousza31204ze3z87_1158;
								}
							}
					}
			}
		}

	}



/* resolve-abase */
	obj_t BGl_resolvezd2abasezd2zz__modulez00(obj_t BgL_modz00_9,
		obj_t BgL_abasez00_10)
	{
		{	/* Llib/module.scm 149 */
			{	/* Llib/module.scm 150 */
				obj_t BgL_basez00_1165;

				BgL_basez00_1165 =
					BGl_assocz00zz__r4_pairs_and_lists_6_3z00(BgL_abasez00_10,
					BGl_afilezd2tablezd2zz__modulez00);
				if (PAIRP(BgL_basez00_1165))
					{	/* Llib/module.scm 151 */
						BGL_TAIL return
							BGl_resolvezd2abasezf2bucketz20zz__modulez00(BgL_modz00_9,
							BgL_basez00_1165);
					}
				else
					{	/* Llib/module.scm 153 */
						obj_t BgL_fnamez00_1167;

						{	/* Llib/module.scm 153 */
							obj_t BgL_list1212z00_1171;

							{	/* Llib/module.scm 153 */
								obj_t BgL_arg1213z00_1172;

								BgL_arg1213z00_1172 = MAKE_YOUNG_PAIR(BgL_modz00_9, BNIL);
								BgL_list1212z00_1171 =
									MAKE_YOUNG_PAIR(BgL_abasez00_10, BgL_arg1213z00_1172);
							}
							BgL_fnamez00_1167 =
								BGl_formatz00zz__r4_output_6_10_3z00
								(BGl_string1761z00zz__modulez00, BgL_list1212z00_1171);
						}
						if (fexists(BSTRING_TO_STRING(BgL_fnamez00_1167)))
							{	/* Llib/module.scm 155 */
								obj_t BgL_filesz00_1169;

								{	/* Llib/module.scm 155 */
									obj_t BgL_list1211z00_1170;

									BgL_list1211z00_1170 =
										MAKE_YOUNG_PAIR(BgL_fnamez00_1167, BNIL);
									BgL_filesz00_1169 = BgL_list1211z00_1170;
								}
								BGl_modulezd2addzd2accessz12z12zz__modulez00(BgL_modz00_9,
									BgL_filesz00_1169, BgL_abasez00_10);
								return BgL_filesz00_1169;
							}
						else
							{	/* Llib/module.scm 154 */
								return BNIL;
							}
					}
			}
		}

	}



/* resolve-abase/bucket */
	obj_t BGl_resolvezd2abasezf2bucketz20zz__modulez00(obj_t BgL_modz00_11,
		obj_t BgL_basez00_12)
	{
		{	/* Llib/module.scm 163 */
			{	/* Llib/module.scm 164 */
				obj_t BgL_cellz00_1173;

				BgL_cellz00_1173 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_modz00_11,
					CDR(((obj_t) BgL_basez00_12)));
				if (PAIRP(BgL_cellz00_1173))
					{	/* Llib/module.scm 166 */
						obj_t BgL_hook1075z00_1175;

						BgL_hook1075z00_1175 = MAKE_YOUNG_PAIR(BFALSE, BNIL);
						{	/* Llib/module.scm 166 */
							obj_t BgL_g1077z00_1176;

							BgL_g1077z00_1176 = CDR(BgL_cellz00_1173);
							{
								obj_t BgL_l1072z00_1178;
								obj_t BgL_h1073z00_1179;

								BgL_l1072z00_1178 = BgL_g1077z00_1176;
								BgL_h1073z00_1179 = BgL_hook1075z00_1175;
							BgL_zc3z04anonymousza31215ze3z87_1180:
								if (NULLP(BgL_l1072z00_1178))
									{	/* Llib/module.scm 166 */
										return CDR(BgL_hook1075z00_1175);
									}
								else
									{	/* Llib/module.scm 166 */
										bool_t BgL_test1845z00_2278;

										{	/* Llib/module.scm 166 */
											obj_t BgL_tmpz00_2279;

											BgL_tmpz00_2279 = CAR(((obj_t) BgL_l1072z00_1178));
											BgL_test1845z00_2278 = STRINGP(BgL_tmpz00_2279);
										}
										if (BgL_test1845z00_2278)
											{	/* Llib/module.scm 166 */
												obj_t BgL_nh1074z00_1184;

												{	/* Llib/module.scm 166 */
													obj_t BgL_arg1224z00_1186;

													BgL_arg1224z00_1186 =
														CAR(((obj_t) BgL_l1072z00_1178));
													BgL_nh1074z00_1184 =
														MAKE_YOUNG_PAIR(BgL_arg1224z00_1186, BNIL);
												}
												SET_CDR(BgL_h1073z00_1179, BgL_nh1074z00_1184);
												{	/* Llib/module.scm 166 */
													obj_t BgL_arg1219z00_1185;

													BgL_arg1219z00_1185 =
														CDR(((obj_t) BgL_l1072z00_1178));
													{
														obj_t BgL_h1073z00_2290;
														obj_t BgL_l1072z00_2289;

														BgL_l1072z00_2289 = BgL_arg1219z00_1185;
														BgL_h1073z00_2290 = BgL_nh1074z00_1184;
														BgL_h1073z00_1179 = BgL_h1073z00_2290;
														BgL_l1072z00_1178 = BgL_l1072z00_2289;
														goto BgL_zc3z04anonymousza31215ze3z87_1180;
													}
												}
											}
										else
											{	/* Llib/module.scm 166 */
												obj_t BgL_arg1225z00_1187;

												BgL_arg1225z00_1187 = CDR(((obj_t) BgL_l1072z00_1178));
												{
													obj_t BgL_l1072z00_2293;

													BgL_l1072z00_2293 = BgL_arg1225z00_1187;
													BgL_l1072z00_1178 = BgL_l1072z00_2293;
													goto BgL_zc3z04anonymousza31215ze3z87_1180;
												}
											}
									}
							}
						}
					}
				else
					{	/* Llib/module.scm 167 */
						obj_t BgL_fz00_1190;

						{	/* Llib/module.scm 167 */
							obj_t BgL_arg1230z00_1193;

							{	/* Llib/module.scm 167 */
								obj_t BgL_arg1425z00_1766;

								BgL_arg1425z00_1766 = SYMBOL_TO_STRING(BgL_modz00_11);
								BgL_arg1230z00_1193 =
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
									(BgL_arg1425z00_1766);
							}
							BgL_fz00_1190 =
								string_append(BgL_arg1230z00_1193,
								BGl_string1762z00zz__modulez00);
						}
						if (fexists(BSTRING_TO_STRING(BgL_fz00_1190)))
							{	/* Llib/module.scm 169 */
								obj_t BgL_list1228z00_1192;

								BgL_list1228z00_1192 = MAKE_YOUNG_PAIR(BgL_fz00_1190, BNIL);
								return BgL_list1228z00_1192;
							}
						else
							{	/* Llib/module.scm 168 */
								return BNIL;
							}
					}
			}
		}

	}



/* module-add-access-inner! */
	obj_t BGl_modulezd2addzd2accesszd2innerz12zc0zz__modulez00(obj_t
		BgL_modulez00_13, obj_t BgL_filesz00_14, obj_t BgL_abasez00_15)
	{
		{	/* Llib/module.scm 175 */
			{	/* Llib/module.scm 176 */
				obj_t BgL_basez00_1195;

				BgL_basez00_1195 =
					BGl_assocz00zz__r4_pairs_and_lists_6_3z00(BgL_abasez00_15,
					BGl_afilezd2tablezd2zz__modulez00);
				if (CBOOL(BgL_basez00_1195))
					{	/* Llib/module.scm 180 */
						obj_t BgL_cellz00_1196;

						BgL_cellz00_1196 =
							BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_modulez00_13,
							CDR(((obj_t) BgL_basez00_1195)));
						if (CBOOL(BgL_cellz00_1196))
							{	/* Llib/module.scm 181 */
								if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00(CDR(
											((obj_t) BgL_cellz00_1196)), BgL_filesz00_14))
									{	/* Llib/module.scm 183 */
										return BFALSE;
									}
								else
									{	/* Llib/module.scm 183 */
										{	/* Llib/module.scm 186 */
											obj_t BgL_arg1234z00_1199;

											BgL_arg1234z00_1199 = CDR(((obj_t) BgL_cellz00_1196));
											{	/* Llib/module.scm 184 */
												obj_t BgL_list1235z00_1200;

												{	/* Llib/module.scm 184 */
													obj_t BgL_arg1236z00_1201;

													{	/* Llib/module.scm 184 */
														obj_t BgL_arg1239z00_1202;

														{	/* Llib/module.scm 184 */
															obj_t BgL_arg1241z00_1203;

															{	/* Llib/module.scm 184 */
																obj_t BgL_arg1242z00_1204;

																{	/* Llib/module.scm 184 */
																	obj_t BgL_arg1248z00_1205;

																	{	/* Llib/module.scm 184 */
																		obj_t BgL_arg1249z00_1206;

																		{	/* Llib/module.scm 184 */
																			obj_t BgL_arg1252z00_1207;

																			{	/* Llib/module.scm 184 */
																				obj_t BgL_arg1253z00_1208;

																				{	/* Llib/module.scm 184 */
																					obj_t BgL_arg1254z00_1209;

																					BgL_arg1254z00_1209 =
																						MAKE_YOUNG_PAIR
																						(BGl_string1763z00zz__modulez00,
																						BNIL);
																					BgL_arg1253z00_1208 =
																						MAKE_YOUNG_PAIR(BgL_abasez00_15,
																						BgL_arg1254z00_1209);
																				}
																				BgL_arg1252z00_1207 =
																					MAKE_YOUNG_PAIR
																					(BGl_string1764z00zz__modulez00,
																					BgL_arg1253z00_1208);
																			}
																			BgL_arg1249z00_1206 =
																				MAKE_YOUNG_PAIR(BgL_filesz00_14,
																				BgL_arg1252z00_1207);
																		}
																		BgL_arg1248z00_1205 =
																			MAKE_YOUNG_PAIR
																			(BGl_string1765z00zz__modulez00,
																			BgL_arg1249z00_1206);
																	}
																	BgL_arg1242z00_1204 =
																		MAKE_YOUNG_PAIR(BgL_arg1234z00_1199,
																		BgL_arg1248z00_1205);
																}
																BgL_arg1241z00_1203 =
																	MAKE_YOUNG_PAIR
																	(BGl_string1766z00zz__modulez00,
																	BgL_arg1242z00_1204);
															}
															BgL_arg1239z00_1202 =
																MAKE_YOUNG_PAIR(BgL_modulez00_13,
																BgL_arg1241z00_1203);
														}
														BgL_arg1236z00_1201 =
															MAKE_YOUNG_PAIR(BGl_string1767z00zz__modulez00,
															BgL_arg1239z00_1202);
													}
													BgL_list1235z00_1200 =
														MAKE_YOUNG_PAIR(BGl_string1768z00zz__modulez00,
														BgL_arg1236z00_1201);
												}
												BGl_warningz00zz__errorz00(BgL_list1235z00_1200);
											}
										}
										return BGl_list1769z00zz__modulez00;
									}
							}
						else
							{	/* Llib/module.scm 182 */
								obj_t BgL_arg1259z00_1211;

								{	/* Llib/module.scm 182 */
									obj_t BgL_arg1261z00_1212;
									obj_t BgL_arg1262z00_1213;

									BgL_arg1261z00_1212 =
										MAKE_YOUNG_PAIR(BgL_modulez00_13, BgL_filesz00_14);
									BgL_arg1262z00_1213 = CDR(((obj_t) BgL_basez00_1195));
									BgL_arg1259z00_1211 =
										MAKE_YOUNG_PAIR(BgL_arg1261z00_1212, BgL_arg1262z00_1213);
								}
								{	/* Llib/module.scm 182 */
									obj_t BgL_tmpz00_2330;

									BgL_tmpz00_2330 = ((obj_t) BgL_basez00_1195);
									return SET_CDR(BgL_tmpz00_2330, BgL_arg1259z00_1211);
								}
							}
					}
				else
					{	/* Llib/module.scm 179 */
						obj_t BgL_arg1265z00_1215;

						{	/* Llib/module.scm 179 */
							obj_t BgL_arg1266z00_1216;

							{	/* Llib/module.scm 179 */
								obj_t BgL_arg1267z00_1217;

								BgL_arg1267z00_1217 =
									MAKE_YOUNG_PAIR(BgL_modulez00_13, BgL_filesz00_14);
								{	/* Llib/module.scm 179 */
									obj_t BgL_list1268z00_1218;

									BgL_list1268z00_1218 =
										MAKE_YOUNG_PAIR(BgL_arg1267z00_1217, BNIL);
									BgL_arg1266z00_1216 = BgL_list1268z00_1218;
								}
							}
							BgL_arg1265z00_1215 =
								MAKE_YOUNG_PAIR(BgL_abasez00_15, BgL_arg1266z00_1216);
						}
						return (BGl_afilezd2tablezd2zz__modulez00 =
							MAKE_YOUNG_PAIR(BgL_arg1265z00_1215,
								BGl_afilezd2tablezd2zz__modulez00), BUNSPEC);
					}
			}
		}

	}



/* module-add-access! */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2addzd2accessz12z12zz__modulez00(obj_t
		BgL_modulez00_16, obj_t BgL_filesz00_17, obj_t BgL_abasez00_18)
	{
		{	/* Llib/module.scm 194 */
			{
				obj_t BgL_fz00_1234;
				obj_t BgL_basez00_1235;

				{	/* Llib/module.scm 202 */
					obj_t BgL_top1851z00_2338;

					BgL_top1851z00_2338 = BGL_EXITD_TOP_AS_OBJ();
					BGL_MUTEX_LOCK(BGl_moduleszd2mutexzd2zz__modulez00);
					BGL_EXITD_PUSH_PROTECT(BgL_top1851z00_2338,
						BGl_moduleszd2mutexzd2zz__modulez00);
					BUNSPEC;
					{	/* Llib/module.scm 202 */
						obj_t BgL_tmp1850z00_2337;

						{	/* Llib/module.scm 204 */
							obj_t BgL_arg1269z00_1220;

							{	/* Llib/module.scm 204 */
								obj_t BgL_head1080z00_1223;

								BgL_head1080z00_1223 = MAKE_YOUNG_PAIR(BNIL, BNIL);
								{
									obj_t BgL_l1078z00_1814;
									obj_t BgL_tail1081z00_1815;

									BgL_l1078z00_1814 = BgL_filesz00_17;
									BgL_tail1081z00_1815 = BgL_head1080z00_1223;
								BgL_zc3z04anonymousza31271ze3z87_1813:
									if (NULLP(BgL_l1078z00_1814))
										{	/* Llib/module.scm 204 */
											BgL_arg1269z00_1220 = CDR(BgL_head1080z00_1223);
										}
									else
										{	/* Llib/module.scm 204 */
											obj_t BgL_newtail1082z00_1822;

											{	/* Llib/module.scm 204 */
												obj_t BgL_arg1276z00_1823;

												{	/* Llib/module.scm 204 */
													obj_t BgL_fz00_1824;

													BgL_fz00_1824 = CAR(((obj_t) BgL_l1078z00_1814));
													BgL_fz00_1234 = BgL_fz00_1824;
													BgL_basez00_1235 = BgL_abasez00_18;
													{	/* Llib/module.scm 197 */
														bool_t BgL_test1853z00_2348;

														if ((STRING_LENGTH(((obj_t) BgL_fz00_1234)) > 0L))
															{	/* Llib/module.scm 197 */
																BgL_test1853z00_2348 =
																	(STRING_REF(
																		((obj_t) BgL_fz00_1234), 0L) ==
																	(unsigned char) (FILE_SEPARATOR));
															}
														else
															{	/* Llib/module.scm 197 */
																BgL_test1853z00_2348 = ((bool_t) 0);
															}
														if (BgL_test1853z00_2348)
															{	/* Llib/module.scm 197 */
																BgL_arg1276z00_1823 = BgL_fz00_1234;
															}
														else
															{	/* Llib/module.scm 197 */
																BgL_arg1276z00_1823 =
																	BGl_filezd2namezd2canonicaliza7eza7zz__osz00
																	(BGl_makezd2filezd2namez00zz__osz00
																	(BgL_basez00_1235, BgL_fz00_1234));
															}
													}
												}
												BgL_newtail1082z00_1822 =
													MAKE_YOUNG_PAIR(BgL_arg1276z00_1823, BNIL);
											}
											SET_CDR(BgL_tail1081z00_1815, BgL_newtail1082z00_1822);
											{	/* Llib/module.scm 204 */
												obj_t BgL_arg1274z00_1825;

												BgL_arg1274z00_1825 = CDR(((obj_t) BgL_l1078z00_1814));
												{
													obj_t BgL_tail1081z00_2364;
													obj_t BgL_l1078z00_2363;

													BgL_l1078z00_2363 = BgL_arg1274z00_1825;
													BgL_tail1081z00_2364 = BgL_newtail1082z00_1822;
													BgL_tail1081z00_1815 = BgL_tail1081z00_2364;
													BgL_l1078z00_1814 = BgL_l1078z00_2363;
													goto BgL_zc3z04anonymousza31271ze3z87_1813;
												}
											}
										}
								}
							}
							BgL_tmp1850z00_2337 =
								BGl_modulezd2addzd2accesszd2innerz12zc0zz__modulez00
								(BgL_modulez00_16, BgL_arg1269z00_1220, BgL_abasez00_18);
						}
						BGL_EXITD_POP_PROTECT(BgL_top1851z00_2338);
						BUNSPEC;
						BGL_MUTEX_UNLOCK(BGl_moduleszd2mutexzd2zz__modulez00);
						return BgL_tmp1850z00_2337;
					}
				}
			}
		}

	}



/* &module-add-access! */
	obj_t BGl_z62modulezd2addzd2accessz12z70zz__modulez00(obj_t BgL_envz00_2087,
		obj_t BgL_modulez00_2088, obj_t BgL_filesz00_2089, obj_t BgL_abasez00_2090)
	{
		{	/* Llib/module.scm 194 */
			{	/* Llib/module.scm 197 */
				obj_t BgL_auxz00_2382;
				obj_t BgL_auxz00_2375;
				obj_t BgL_auxz00_2368;

				if (STRINGP(BgL_abasez00_2090))
					{	/* Llib/module.scm 197 */
						BgL_auxz00_2382 = BgL_abasez00_2090;
					}
				else
					{
						obj_t BgL_auxz00_2385;

						BgL_auxz00_2385 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
							BINT(7489L), BGl_string1776z00zz__modulez00,
							BGl_string1778z00zz__modulez00, BgL_abasez00_2090);
						FAILURE(BgL_auxz00_2385, BFALSE, BFALSE);
					}
				if (PAIRP(BgL_filesz00_2089))
					{	/* Llib/module.scm 197 */
						BgL_auxz00_2375 = BgL_filesz00_2089;
					}
				else
					{
						obj_t BgL_auxz00_2378;

						BgL_auxz00_2378 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
							BINT(7489L), BGl_string1776z00zz__modulez00,
							BGl_string1777z00zz__modulez00, BgL_filesz00_2089);
						FAILURE(BgL_auxz00_2378, BFALSE, BFALSE);
					}
				if (SYMBOLP(BgL_modulez00_2088))
					{	/* Llib/module.scm 197 */
						BgL_auxz00_2368 = BgL_modulez00_2088;
					}
				else
					{
						obj_t BgL_auxz00_2371;

						BgL_auxz00_2371 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
							BINT(7489L), BGl_string1776z00zz__modulez00,
							BGl_string1759z00zz__modulez00, BgL_modulez00_2088);
						FAILURE(BgL_auxz00_2371, BFALSE, BFALSE);
					}
				return
					BGl_modulezd2addzd2accessz12z12zz__modulez00(BgL_auxz00_2368,
					BgL_auxz00_2375, BgL_auxz00_2382);
			}
		}

	}



/* module-read-access-file */
	obj_t BGl_modulezd2readzd2accesszd2filezd2zz__modulez00(obj_t BgL_portz00_19)
	{
		{	/* Llib/module.scm 210 */
			{	/* Llib/module.scm 211 */
				obj_t BgL_hook1087z00_1247;

				BgL_hook1087z00_1247 = MAKE_YOUNG_PAIR(BFALSE, BNIL);
				{	/* Llib/module.scm 217 */
					obj_t BgL_g1089z00_1248;

					{	/* Llib/module.scm 217 */

						{	/* Llib/module.scm 217 */

							BgL_g1089z00_1248 =
								BGl_readz00zz__readerz00(((obj_t) BgL_portz00_19), BFALSE);
						}
					}
					{
						obj_t BgL_l1084z00_1250;
						obj_t BgL_h1085z00_1251;

						BgL_l1084z00_1250 = BgL_g1089z00_1248;
						BgL_h1085z00_1251 = BgL_hook1087z00_1247;
					BgL_zc3z04anonymousza31288ze3z87_1252:
						if (NULLP(BgL_l1084z00_1250))
							{	/* Llib/module.scm 217 */
								return CDR(BgL_hook1087z00_1247);
							}
						else
							{	/* Llib/module.scm 217 */
								bool_t BgL_test1859z00_2396;

								{	/* Llib/module.scm 212 */
									obj_t BgL_xz00_1273;

									BgL_xz00_1273 = CAR(((obj_t) BgL_l1084z00_1250));
									{	/* Llib/module.scm 212 */
										bool_t BgL_test1860z00_2399;

										if (PAIRP(BgL_xz00_1273))
											{	/* Llib/module.scm 212 */
												bool_t BgL_test1862z00_2402;

												{	/* Llib/module.scm 212 */
													obj_t BgL_tmpz00_2403;

													BgL_tmpz00_2403 = CAR(BgL_xz00_1273);
													BgL_test1862z00_2402 = SYMBOLP(BgL_tmpz00_2403);
												}
												if (BgL_test1862z00_2402)
													{	/* Llib/module.scm 212 */
														BgL_test1860z00_2399 =
															BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(CDR
															(BgL_xz00_1273));
													}
												else
													{	/* Llib/module.scm 212 */
														BgL_test1860z00_2399 = ((bool_t) 0);
													}
											}
										else
											{	/* Llib/module.scm 212 */
												BgL_test1860z00_2399 = ((bool_t) 0);
											}
										if (BgL_test1860z00_2399)
											{	/* Llib/module.scm 212 */
												BgL_test1859z00_2396 = ((bool_t) 1);
											}
										else
											{	/* Llib/module.scm 212 */
												{	/* Llib/module.scm 215 */
													obj_t BgL_list1334z00_1275;

													{	/* Llib/module.scm 215 */
														obj_t BgL_arg1335z00_1276;

														{	/* Llib/module.scm 215 */
															obj_t BgL_arg1336z00_1277;

															BgL_arg1336z00_1277 =
																MAKE_YOUNG_PAIR(BgL_xz00_1273, BNIL);
															BgL_arg1335z00_1276 =
																MAKE_YOUNG_PAIR(BGl_string1779z00zz__modulez00,
																BgL_arg1336z00_1277);
														}
														BgL_list1334z00_1275 =
															MAKE_YOUNG_PAIR(BGl_string1780z00zz__modulez00,
															BgL_arg1335z00_1276);
													}
													BGl_warningz00zz__errorz00(BgL_list1334z00_1275);
												}
												BgL_test1859z00_2396 = ((bool_t) 0);
											}
									}
								}
								if (BgL_test1859z00_2396)
									{	/* Llib/module.scm 217 */
										obj_t BgL_nh1086z00_1269;

										{	/* Llib/module.scm 217 */
											obj_t BgL_arg1332z00_1271;

											BgL_arg1332z00_1271 = CAR(((obj_t) BgL_l1084z00_1250));
											BgL_nh1086z00_1269 =
												MAKE_YOUNG_PAIR(BgL_arg1332z00_1271, BNIL);
										}
										SET_CDR(BgL_h1085z00_1251, BgL_nh1086z00_1269);
										{	/* Llib/module.scm 217 */
											obj_t BgL_arg1331z00_1270;

											BgL_arg1331z00_1270 = CDR(((obj_t) BgL_l1084z00_1250));
											{
												obj_t BgL_h1085z00_2419;
												obj_t BgL_l1084z00_2418;

												BgL_l1084z00_2418 = BgL_arg1331z00_1270;
												BgL_h1085z00_2419 = BgL_nh1086z00_1269;
												BgL_h1085z00_1251 = BgL_h1085z00_2419;
												BgL_l1084z00_1250 = BgL_l1084z00_2418;
												goto BgL_zc3z04anonymousza31288ze3z87_1252;
											}
										}
									}
								else
									{	/* Llib/module.scm 217 */
										obj_t BgL_arg1333z00_1272;

										BgL_arg1333z00_1272 = CDR(((obj_t) BgL_l1084z00_1250));
										{
											obj_t BgL_l1084z00_2422;

											BgL_l1084z00_2422 = BgL_arg1333z00_1272;
											BgL_l1084z00_1250 = BgL_l1084z00_2422;
											goto BgL_zc3z04anonymousza31288ze3z87_1252;
										}
									}
							}
					}
				}
			}
		}

	}



/* module-load-access-file */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2loadzd2accesszd2filezd2zz__modulez00(obj_t
		BgL_pathz00_20)
	{
		{	/* Llib/module.scm 228 */
			{
				obj_t BgL_filez00_1312;
				obj_t BgL_dirz00_1313;
				obj_t BgL_abasez00_1314;

				{	/* Llib/module.scm 251 */
					obj_t BgL_pathz00_1287;

					BgL_pathz00_1287 =
						BGl_filezd2namezd2canonicaliza7eza7zz__osz00(BgL_pathz00_20);
					{	/* Llib/module.scm 252 */
						obj_t BgL_top1864z00_2425;

						BgL_top1864z00_2425 = BGL_EXITD_TOP_AS_OBJ();
						BGL_MUTEX_LOCK(BGl_moduleszd2mutexzd2zz__modulez00);
						BGL_EXITD_PUSH_PROTECT(BgL_top1864z00_2425,
							BGl_moduleszd2mutexzd2zz__modulez00);
						BUNSPEC;
						{	/* Llib/module.scm 252 */
							obj_t BgL_tmp1863z00_2424;

							{	/* Llib/module.scm 253 */
								obj_t BgL__ortest_1039z00_1288;

								BgL__ortest_1039z00_1288 =
									BGl_hashtablezd2getzd2zz__hashz00
									(BGl_za2afileszd2tableza2zd2zz__modulez00, BgL_pathz00_1287);
								if (CBOOL(BgL__ortest_1039z00_1288))
									{	/* Llib/module.scm 253 */
										BgL_tmp1863z00_2424 = BgL__ortest_1039z00_1288;
									}
								else
									{	/* Llib/module.scm 253 */
										if (bgl_directoryp(BSTRING_TO_STRING(BgL_pathz00_1287)))
											{
												obj_t BgL_dz00_1291;

												BgL_dz00_1291 = BgL_pathz00_1287;
											BgL_zc3z04anonymousza31340ze3z87_1292:
												{	/* Llib/module.scm 257 */
													obj_t BgL_filez00_1293;

													BgL_filez00_1293 =
														BGl_makezd2filezd2namez00zz__osz00(BgL_dz00_1291,
														BGl_string1781z00zz__modulez00);
													if (fexists(BSTRING_TO_STRING(BgL_filez00_1293)))
														{	/* Llib/module.scm 258 */
															BgL_filez00_1312 = BgL_filez00_1293;
															BgL_dirz00_1313 = BgL_dz00_1291;
															BgL_abasez00_1314 = BgL_pathz00_1287;
														BgL_zc3z04anonymousza31354ze3z87_1315:
															{	/* Llib/module.scm 239 */
																obj_t BgL_zc3z04anonymousza31356ze3z87_2091;

																BgL_zc3z04anonymousza31356ze3z87_2091 =
																	MAKE_FX_PROCEDURE
																	(BGl_z62zc3z04anonymousza31356ze3ze5zz__modulez00,
																	(int) (1L), (int) (4L));
																PROCEDURE_SET
																	(BgL_zc3z04anonymousza31356ze3z87_2091,
																	(int) (0L), BgL_pathz00_20);
																PROCEDURE_SET
																	(BgL_zc3z04anonymousza31356ze3z87_2091,
																	(int) (1L), BgL_filez00_1312);
																PROCEDURE_SET
																	(BgL_zc3z04anonymousza31356ze3z87_2091,
																	(int) (2L), BgL_dirz00_1313);
																PROCEDURE_SET
																	(BgL_zc3z04anonymousza31356ze3z87_2091,
																	(int) (3L), BgL_abasez00_1314);
																BGl_callzd2withzd2inputzd2filezd2zz__r4_ports_6_10_1z00
																	(BgL_filez00_1312,
																	BgL_zc3z04anonymousza31356ze3z87_2091);
															}
															BgL_tmp1863z00_2424 = BgL_filez00_1312;
														}
													else
														{	/* Llib/module.scm 260 */
															obj_t BgL_parentz00_1295;

															BgL_parentz00_1295 =
																BGl_dirnamez00zz__osz00(BgL_dz00_1291);
															{	/* Llib/module.scm 261 */
																bool_t BgL_test1868z00_2452;

																{	/* Llib/module.scm 261 */
																	long BgL_l1z00_1875;

																	BgL_l1z00_1875 =
																		STRING_LENGTH(BgL_parentz00_1295);
																	if (
																		(BgL_l1z00_1875 ==
																			STRING_LENGTH(BgL_dz00_1291)))
																		{	/* Llib/module.scm 261 */
																			int BgL_arg1419z00_1878;

																			{	/* Llib/module.scm 261 */
																				char *BgL_auxz00_2459;
																				char *BgL_tmpz00_2457;

																				BgL_auxz00_2459 =
																					BSTRING_TO_STRING(BgL_dz00_1291);
																				BgL_tmpz00_2457 =
																					BSTRING_TO_STRING(BgL_parentz00_1295);
																				BgL_arg1419z00_1878 =
																					memcmp(BgL_tmpz00_2457,
																					BgL_auxz00_2459, BgL_l1z00_1875);
																			}
																			BgL_test1868z00_2452 =
																				((long) (BgL_arg1419z00_1878) == 0L);
																		}
																	else
																		{	/* Llib/module.scm 261 */
																			BgL_test1868z00_2452 = ((bool_t) 0);
																		}
																}
																if (BgL_test1868z00_2452)
																	{	/* Llib/module.scm 261 */
																		BgL_tmp1863z00_2424 = BFALSE;
																	}
																else
																	{
																		obj_t BgL_dz00_2464;

																		BgL_dz00_2464 = BgL_parentz00_1295;
																		BgL_dz00_1291 = BgL_dz00_2464;
																		goto BgL_zc3z04anonymousza31340ze3z87_1292;
																	}
															}
														}
												}
											}
										else
											{	/* Llib/module.scm 255 */
												if (fexists(BSTRING_TO_STRING(BgL_pathz00_1287)))
													{	/* Llib/module.scm 264 */
														obj_t BgL_dirz00_1299;

														BgL_dirz00_1299 =
															BGl_dirnamez00zz__osz00(BgL_pathz00_1287);
														{
															obj_t BgL_abasez00_2471;
															obj_t BgL_dirz00_2470;
															obj_t BgL_filez00_2469;

															BgL_filez00_2469 = BgL_pathz00_1287;
															BgL_dirz00_2470 = BgL_dirz00_1299;
															BgL_abasez00_2471 = BgL_dirz00_1299;
															BgL_abasez00_1314 = BgL_abasez00_2471;
															BgL_dirz00_1313 = BgL_dirz00_2470;
															BgL_filez00_1312 = BgL_filez00_2469;
															goto BgL_zc3z04anonymousza31354ze3z87_1315;
														}
													}
												else
													{	/* Llib/module.scm 263 */
														BgL_tmp1863z00_2424 = BFALSE;
													}
											}
									}
							}
							BGL_EXITD_POP_PROTECT(BgL_top1864z00_2425);
							BUNSPEC;
							BGL_MUTEX_UNLOCK(BGl_moduleszd2mutexzd2zz__modulez00);
							return BgL_tmp1863z00_2424;
						}
					}
				}
			}
		}

	}



/* &module-load-access-file */
	obj_t BGl_z62modulezd2loadzd2accesszd2filezb0zz__modulez00(obj_t
		BgL_envz00_2092, obj_t BgL_pathz00_2093)
	{
		{	/* Llib/module.scm 228 */
			{	/* Llib/module.scm 232 */
				obj_t BgL_auxz00_2474;

				if (STRINGP(BgL_pathz00_2093))
					{	/* Llib/module.scm 232 */
						BgL_auxz00_2474 = BgL_pathz00_2093;
					}
				else
					{
						obj_t BgL_auxz00_2477;

						BgL_auxz00_2477 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1754z00zz__modulez00,
							BINT(8817L), BGl_string1782z00zz__modulez00,
							BGl_string1778z00zz__modulez00, BgL_pathz00_2093);
						FAILURE(BgL_auxz00_2477, BFALSE, BFALSE);
					}
				return
					BGl_modulezd2loadzd2accesszd2filezd2zz__modulez00(BgL_auxz00_2474);
			}
		}

	}



/* &<@anonymous:1356> */
	obj_t BGl_z62zc3z04anonymousza31356ze3ze5zz__modulez00(obj_t BgL_envz00_2094,
		obj_t BgL_portz00_2099)
	{
		{	/* Llib/module.scm 238 */
			{	/* Llib/module.scm 239 */
				obj_t BgL_pathz00_2095;
				obj_t BgL_filez00_2096;
				obj_t BgL_dirz00_2097;
				obj_t BgL_abasez00_2098;

				BgL_pathz00_2095 = ((obj_t) PROCEDURE_REF(BgL_envz00_2094, (int) (0L)));
				BgL_filez00_2096 = ((obj_t) PROCEDURE_REF(BgL_envz00_2094, (int) (1L)));
				BgL_dirz00_2097 = ((obj_t) PROCEDURE_REF(BgL_envz00_2094, (int) (2L)));
				BgL_abasez00_2098 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2094, (int) (3L)));
				{	/* Llib/module.scm 239 */
					bool_t BgL_tmpz00_2494;

					{
						obj_t BgL_fz00_2125;
						obj_t BgL_abasez00_2126;

						BGl_hashtablezd2putz12zc0zz__hashz00
							(BGl_za2afileszd2tableza2zd2zz__modulez00, BgL_pathz00_2095,
							BgL_filez00_2096);
						{	/* Llib/module.scm 240 */
							obj_t BgL_g1095z00_2129;

							BgL_g1095z00_2129 =
								BGl_modulezd2readzd2accesszd2filezd2zz__modulez00
								(BgL_portz00_2099);
							{
								obj_t BgL_l1093z00_2131;

								BgL_l1093z00_2131 = BgL_g1095z00_2129;
							BgL_zc3z04anonymousza31357ze3z87_2130:
								if (PAIRP(BgL_l1093z00_2131))
									{	/* Llib/module.scm 248 */
										{	/* Llib/module.scm 241 */
											obj_t BgL_accessz00_2132;

											BgL_accessz00_2132 = CAR(BgL_l1093z00_2131);
											{	/* Llib/module.scm 241 */
												obj_t BgL_infoz00_2133;

												{	/* Llib/module.scm 241 */
													bool_t BgL_test1873z00_2500;

													{	/* Llib/module.scm 241 */
														long BgL_l1z00_2134;

														BgL_l1z00_2134 = STRING_LENGTH(BgL_dirz00_2097);
														if ((BgL_l1z00_2134 == 1L))
															{	/* Llib/module.scm 241 */
																int BgL_arg1419z00_2135;

																{	/* Llib/module.scm 241 */
																	char *BgL_auxz00_2506;
																	char *BgL_tmpz00_2504;

																	BgL_auxz00_2506 =
																		BSTRING_TO_STRING
																		(BGl_string1757z00zz__modulez00);
																	BgL_tmpz00_2504 =
																		BSTRING_TO_STRING(BgL_dirz00_2097);
																	BgL_arg1419z00_2135 =
																		memcmp(BgL_tmpz00_2504, BgL_auxz00_2506,
																		BgL_l1z00_2134);
																}
																BgL_test1873z00_2500 =
																	((long) (BgL_arg1419z00_2135) == 0L);
															}
														else
															{	/* Llib/module.scm 241 */
																BgL_test1873z00_2500 = ((bool_t) 0);
															}
													}
													if (BgL_test1873z00_2500)
														{	/* Llib/module.scm 241 */
															BgL_infoz00_2133 =
																CDR(((obj_t) BgL_accessz00_2132));
														}
													else
														{	/* Llib/module.scm 243 */
															obj_t BgL_l01092z00_2136;

															BgL_l01092z00_2136 =
																CDR(((obj_t) BgL_accessz00_2132));
															{
																obj_t BgL_l1091z00_2138;

																BgL_l1091z00_2138 = BgL_l01092z00_2136;
															BgL_zc3z04anonymousza31361ze3z87_2137:
																if (NULLP(BgL_l1091z00_2138))
																	{	/* Llib/module.scm 245 */
																		BgL_infoz00_2133 = BgL_l01092z00_2136;
																	}
																else
																	{	/* Llib/module.scm 245 */
																		{	/* Llib/module.scm 244 */
																			obj_t BgL_arg1363z00_2139;

																			{	/* Llib/module.scm 244 */
																				obj_t BgL_fz00_2140;

																				BgL_fz00_2140 =
																					CAR(((obj_t) BgL_l1091z00_2138));
																				BgL_fz00_2125 = BgL_fz00_2140;
																				BgL_abasez00_2126 = BgL_dirz00_2097;
																				if (STRINGP(BgL_fz00_2125))
																					{	/* Llib/module.scm 233 */
																						bool_t BgL_test1877z00_2521;

																						{	/* Llib/module.scm 233 */
																							bool_t BgL_test1878z00_2522;

																							{	/* Llib/module.scm 233 */
																								long BgL_l1z00_2127;

																								BgL_l1z00_2127 =
																									STRING_LENGTH(BgL_fz00_2125);
																								if ((BgL_l1z00_2127 == 0L))
																									{	/* Llib/module.scm 233 */
																										int BgL_arg1419z00_2128;

																										{	/* Llib/module.scm 233 */
																											char *BgL_auxz00_2528;
																											char *BgL_tmpz00_2526;

																											BgL_auxz00_2528 =
																												BSTRING_TO_STRING
																												(BGl_string1783z00zz__modulez00);
																											BgL_tmpz00_2526 =
																												BSTRING_TO_STRING
																												(BgL_fz00_2125);
																											BgL_arg1419z00_2128 =
																												memcmp(BgL_tmpz00_2526,
																												BgL_auxz00_2528,
																												BgL_l1z00_2127);
																										}
																										BgL_test1878z00_2522 =
																											(
																											(long)
																											(BgL_arg1419z00_2128) ==
																											0L);
																									}
																								else
																									{	/* Llib/module.scm 233 */
																										BgL_test1878z00_2522 =
																											((bool_t) 0);
																									}
																							}
																							if (BgL_test1878z00_2522)
																								{	/* Llib/module.scm 233 */
																									BgL_test1877z00_2521 =
																										((bool_t) 1);
																								}
																							else
																								{	/* Llib/module.scm 233 */
																									BgL_test1877z00_2521 =
																										(STRING_REF(BgL_fz00_2125,
																											0L) ==
																										(unsigned
																											char) (FILE_SEPARATOR));
																						}}
																						if (BgL_test1877z00_2521)
																							{	/* Llib/module.scm 233 */
																								BgL_arg1363z00_2139 =
																									BgL_fz00_2125;
																							}
																						else
																							{	/* Llib/module.scm 233 */
																								BgL_arg1363z00_2139 =
																									BGl_filezd2namezd2canonicaliza7eza7zz__osz00
																									(BGl_makezd2filezd2namez00zz__osz00
																									(BgL_abasez00_2126,
																										BgL_fz00_2125));
																							}
																					}
																				else
																					{	/* Llib/module.scm 232 */
																						BgL_arg1363z00_2139 = BgL_fz00_2125;
																					}
																			}
																			{	/* Llib/module.scm 245 */
																				obj_t BgL_tmpz00_2538;

																				BgL_tmpz00_2538 =
																					((obj_t) BgL_l1091z00_2138);
																				SET_CAR(BgL_tmpz00_2538,
																					BgL_arg1363z00_2139);
																			}
																		}
																		{	/* Llib/module.scm 245 */
																			obj_t BgL_arg1364z00_2141;

																			BgL_arg1364z00_2141 =
																				CDR(((obj_t) BgL_l1091z00_2138));
																			{
																				obj_t BgL_l1091z00_2543;

																				BgL_l1091z00_2543 = BgL_arg1364z00_2141;
																				BgL_l1091z00_2138 = BgL_l1091z00_2543;
																				goto
																					BgL_zc3z04anonymousza31361ze3z87_2137;
																			}
																		}
																	}
															}
														}
												}
												{	/* Llib/module.scm 247 */
													obj_t BgL_arg1359z00_2142;

													BgL_arg1359z00_2142 =
														CAR(((obj_t) BgL_accessz00_2132));
													BGl_modulezd2addzd2accesszd2innerz12zc0zz__modulez00
														(BgL_arg1359z00_2142, BgL_infoz00_2133,
														BgL_abasez00_2098);
												}
											}
										}
										{
											obj_t BgL_l1093z00_2547;

											BgL_l1093z00_2547 = CDR(BgL_l1093z00_2131);
											BgL_l1093z00_2131 = BgL_l1093z00_2547;
											goto BgL_zc3z04anonymousza31357ze3z87_2130;
										}
									}
								else
									{	/* Llib/module.scm 248 */
										BgL_tmpz00_2494 = ((bool_t) 1);
									}
							}
						}
					}
					return BBOOL(BgL_tmpz00_2494);
				}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__modulez00(void)
	{
		{	/* Llib/module.scm 17 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			BGl_modulezd2initializa7ationz75zz__configurez00(35034923L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			BGl_modulezd2initializa7ationz75zz__readerz00(220648206L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
			return
				BGl_modulezd2initializa7ationz75zz__hashz00(254893342L,
				BSTRING_TO_STRING(BGl_string1784z00zz__modulez00));
		}

	}

#ifdef __cplusplus
}
#endif
