// Lean compiler output // Module: LeanChecker // Imports: public import Init public import Lean.CoreM public import Lean.Replay public import Lake.Load.Manifest #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" #pragma clang diagnostic ignored "-Wunused-label" #elif defined(__GNUC__) && !defined(__CLANG__) #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wunused-label" #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif #ifdef __cplusplus extern "C" { #endif size_t lean_usize_add(size_t, size_t); uint8_t lean_usize_dec_lt(size_t, size_t); lean_object* lean_array_uget_borrowed(lean_object*, size_t); lean_object* l_Lean_searchModuleNameOfFileName(lean_object*, lean_object*); uint8_t l_List_elem___at___00__private_Lean_Class_0__Lean_initFn_00___x40_Lean_Class_1274053790____hygCtx___hyg_2__spec__1(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_instDecidableEqString___boxed(lean_object*, lean_object*); lean_object* l_instBEqOfDecidableEq___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*); uint8_t l_List_elem___redArg(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*); lean_object* lean_task_get_own(lean_object*); lean_object* l_Lean_Name_toStringWithToken___at___00Lean_Name_toString_spec__0(lean_object*, uint8_t); lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_IO_eprintln___at___00__private_Init_System_IO_0__IO_eprintlnAux_spec__0(lean_object*); lean_object* l_IO_println___at___00__private_Lean_Language_Basic_0__Lean_Language_reportMessages_spec__3(lean_object*); uint8_t l_Lean_instOrdOLeanLevel_ord(uint8_t, uint8_t); lean_object* l_Lake_Manifest_load_x3f(lean_object*); lean_object* l_Lean_Name_capitalize(lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_SMap_insert___at___00Lean_initFn_00___x40_Lean_ReducibilityAttrs_3557922905____hygCtx___hyg_2__spec__1_spec__2___redArg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SearchPath_findAllWithExt(lean_object*, lean_object*); size_t lean_array_size(lean_object*); lean_object* l_Lean_findOLean(lean_object*); uint8_t l_System_FilePath_pathExists(lean_object*); extern lean_object* l_Lean_instInhabitedImportState_default; lean_object* lean_st_mk_ref(lean_object*); lean_object* l_Lean_importModulesCore(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*); lean_object* lean_st_ref_get(lean_object*); extern lean_object* l_Lean_Options_empty; lean_object* l_Lean_finalizeImport(lean_object*, lean_object*, lean_object*, uint32_t, uint8_t, uint8_t, uint8_t, uint8_t); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Array_toSubarray___redArg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_replay(lean_object*, lean_object*); lean_object* lean_environment_free_regions(lean_object*); lean_object* lean_read_module_data_parts(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_array_fget_borrowed(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Lean_OLeanLevel_adjustFileName(lean_object*, uint8_t); lean_object* lean_io_as_task(lean_object*, lean_object*); lean_object* lean_mk_empty_environment(uint32_t); lean_object* l_Lean_Environment_constants(lean_object*); lean_object* l_Lean_withImportModules___redArg(lean_object*, lean_object*, lean_object*, uint32_t); lean_object* l_Lean_findSysroot(lean_object*); lean_object* l_Lean_initSearchPath(lean_object*, lean_object*); lean_object* l_List_reverse___redArg(lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); uint8_t lean_string_memcmp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_searchPathRef; lean_object* l_List_lengthTR___redArg(lean_object*); lean_object* l_List_toString___at___00Lean_Environment_AddConstAsyncResult_commitConst_spec__1(lean_object*); lean_object* l_String_toName(lean_object*); uint8_t l_Lean_Name_isAnonymous(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00replayFromImports_spec__0(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00replayFromImports_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_once_cell_t l_replayFromImports___closed__0_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_replayFromImports___closed__0; static lean_once_cell_t l_replayFromImports___closed__1_once = LEAN_ONCE_CELL_INITIALIZER; static uint8_t l_replayFromImports___closed__1; static const lean_string_object l_replayFromImports___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 27, .m_capacity = 27, .m_length = 26, .m_data = "failed to read module data"}; static const lean_object* l_replayFromImports___closed__2 = (const lean_object*)&l_replayFromImports___closed__2_value; static const lean_ctor_object l_replayFromImports___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 18}, .m_objs = {((lean_object*)&l_replayFromImports___closed__2_value)}}; static const lean_object* l_replayFromImports___closed__3 = (const lean_object*)&l_replayFromImports___closed__3_value; static const lean_string_object l_replayFromImports___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = "object file '"}; static const lean_object* l_replayFromImports___closed__4 = (const lean_object*)&l_replayFromImports___closed__4_value; static const lean_string_object l_replayFromImports___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 13, .m_capacity = 13, .m_length = 12, .m_data = "' of module "}; static const lean_object* l_replayFromImports___closed__5 = (const lean_object*)&l_replayFromImports___closed__5_value; static const lean_string_object l_replayFromImports___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 16, .m_capacity = 16, .m_length = 15, .m_data = " does not exist"}; static const lean_object* l_replayFromImports___closed__6 = (const lean_object*)&l_replayFromImports___closed__6_value; LEAN_EXPORT lean_object* l_replayFromImports(lean_object*); LEAN_EXPORT lean_object* l_replayFromImports___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_replayFromFresh___lam__0(lean_object*); LEAN_EXPORT lean_object* l_replayFromFresh___lam__0___boxed(lean_object*, lean_object*); static const lean_closure_object l_replayFromFresh___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_replayFromFresh___lam__0___boxed, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} }; static const lean_object* l_replayFromFresh___closed__0 = (const lean_object*)&l_replayFromFresh___closed__0_value; LEAN_EXPORT lean_object* l_replayFromFresh(lean_object*); LEAN_EXPORT lean_object* l_replayFromFresh___boxed(lean_object*, lean_object*); static const lean_string_object l_getCurrentModule___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 19, .m_capacity = 19, .m_length = 18, .m_data = "lake-manifest.json"}; static const lean_object* l_getCurrentModule___closed__0 = (const lean_object*)&l_getCurrentModule___closed__0_value; LEAN_EXPORT lean_object* l_getCurrentModule(); LEAN_EXPORT lean_object* l_getCurrentModule___boxed(lean_object*); static const lean_string_object l_List_partition_loop___at___00main_spec__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "-"}; static const lean_object* l_List_partition_loop___at___00main_spec__0___closed__0 = (const lean_object*)&l_List_partition_loop___at___00main_spec__0___closed__0_value; static lean_once_cell_t l_List_partition_loop___at___00main_spec__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_List_partition_loop___at___00main_spec__0___closed__1; LEAN_EXPORT lean_object* l_List_partition_loop___at___00main_spec__0(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg___lam__0(lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg___lam__0___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*); static const lean_string_object l_List_mapM_loop___at___00main_spec__6___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 27, .m_capacity = 27, .m_length = 26, .m_data = "Could not resolve module: "}; static const lean_object* l_List_mapM_loop___at___00main_spec__6___closed__0 = (const lean_object*)&l_List_mapM_loop___at___00main_spec__6___closed__0_value; LEAN_EXPORT lean_object* l_List_mapM_loop___at___00main_spec__6(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM_loop___at___00main_spec__6___boxed(lean_object*, lean_object*, lean_object*); static const lean_string_object l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 11, .m_capacity = 11, .m_length = 10, .m_data = "replaying "}; static const lean_object* l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__0 = (const lean_object*)&l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__0_value; static const lean_string_object l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = " with --fresh"}; static const lean_object* l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__1 = (const lean_object*)&l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__1_value; LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5___redArg(uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0; static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "--fresh"}; static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__1_value; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static const lean_string_object l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "olean"}; static const lean_object* l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__0 = (const lean_object*)&l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__0_value; static const lean_string_object l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 32, .m_capacity = 32, .m_length = 31, .m_data = "Could not find any oleans for: "}; static const lean_object* l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__1 = (const lean_object*)&l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__1_value; LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 32, .m_capacity = 32, .m_length = 31, .m_data = "leanchecker found a problem in "}; static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4___closed__0_value; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4(uint8_t, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static const lean_string_object l_main___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "lean"}; static const lean_object* l_main___closed__0 = (const lean_object*)&l_main___closed__0_value; static const lean_ctor_object l_main___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}}; static const lean_object* l_main___closed__1 = (const lean_object*)&l_main___closed__1_value; static const lean_array_object l_main___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}}; static const lean_object* l_main___closed__2 = (const lean_object*)&l_main___closed__2_value; static const lean_string_object l_main___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 61, .m_capacity = 61, .m_length = 60, .m_data = "--fresh flag is only valid when specifying a single module:\n"}; static const lean_object* l_main___closed__3 = (const lean_object*)&l_main___closed__3_value; static const lean_string_object l_main___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "-v"}; static const lean_object* l_main___closed__4 = (const lean_object*)&l_main___closed__4_value; static const lean_string_object l_main___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "--verbose"}; static const lean_object* l_main___closed__5 = (const lean_object*)&l_main___closed__5_value; LEAN_EXPORT lean_object* l_main___boxed__const__1; LEAN_EXPORT lean_object* _lean_main(lean_object*); LEAN_EXPORT lean_object* l_main___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00replayFromImports_spec__0(lean_object* v_as_1_, size_t v_sz_2_, size_t v_i_3_, lean_object* v_b_4_){ _start: { uint8_t v___x_6_; v___x_6_ = lean_usize_dec_lt(v_i_3_, v_sz_2_); if (v___x_6_ == 0) { lean_object* v___x_7_; v___x_7_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_7_, 0, v_b_4_); return v___x_7_; } else { lean_object* v_snd_8_; lean_object* v_fst_9_; lean_object* v___x_11_; uint8_t v_isShared_12_; uint8_t v_isSharedCheck_42_; v_snd_8_ = lean_ctor_get(v_b_4_, 1); v_fst_9_ = lean_ctor_get(v_b_4_, 0); v_isSharedCheck_42_ = !lean_is_exclusive(v_b_4_); if (v_isSharedCheck_42_ == 0) { v___x_11_ = v_b_4_; v_isShared_12_ = v_isSharedCheck_42_; goto v_resetjp_10_; } else { lean_inc(v_snd_8_); lean_inc(v_fst_9_); lean_dec(v_b_4_); v___x_11_ = lean_box(0); v_isShared_12_ = v_isSharedCheck_42_; goto v_resetjp_10_; } v_resetjp_10_: { lean_object* v_array_13_; lean_object* v_start_14_; lean_object* v_stop_15_; uint8_t v___x_16_; v_array_13_ = lean_ctor_get(v_snd_8_, 0); v_start_14_ = lean_ctor_get(v_snd_8_, 1); v_stop_15_ = lean_ctor_get(v_snd_8_, 2); v___x_16_ = lean_nat_dec_lt(v_start_14_, v_stop_15_); if (v___x_16_ == 0) { lean_object* v___x_18_; if (v_isShared_12_ == 0) { v___x_18_ = v___x_11_; goto v_reusejp_17_; } else { lean_object* v_reuseFailAlloc_20_; v_reuseFailAlloc_20_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_20_, 0, v_fst_9_); lean_ctor_set(v_reuseFailAlloc_20_, 1, v_snd_8_); v___x_18_ = v_reuseFailAlloc_20_; goto v_reusejp_17_; } v_reusejp_17_: { lean_object* v___x_19_; v___x_19_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_19_, 0, v___x_18_); return v___x_19_; } } else { lean_object* v___x_22_; uint8_t v_isShared_23_; uint8_t v_isSharedCheck_38_; lean_inc(v_stop_15_); lean_inc(v_start_14_); lean_inc_ref(v_array_13_); v_isSharedCheck_38_ = !lean_is_exclusive(v_snd_8_); if (v_isSharedCheck_38_ == 0) { lean_object* v_unused_39_; lean_object* v_unused_40_; lean_object* v_unused_41_; v_unused_39_ = lean_ctor_get(v_snd_8_, 2); lean_dec(v_unused_39_); v_unused_40_ = lean_ctor_get(v_snd_8_, 1); lean_dec(v_unused_40_); v_unused_41_ = lean_ctor_get(v_snd_8_, 0); lean_dec(v_unused_41_); v___x_22_ = v_snd_8_; v_isShared_23_ = v_isSharedCheck_38_; goto v_resetjp_21_; } else { lean_dec(v_snd_8_); v___x_22_ = lean_box(0); v_isShared_23_ = v_isSharedCheck_38_; goto v_resetjp_21_; } v_resetjp_21_: { lean_object* v_a_24_; lean_object* v___x_25_; lean_object* v___x_26_; lean_object* v___x_27_; lean_object* v___x_29_; v_a_24_ = lean_array_uget_borrowed(v_as_1_, v_i_3_); v___x_25_ = lean_array_fget(v_array_13_, v_start_14_); v___x_26_ = lean_unsigned_to_nat(1u); v___x_27_ = lean_nat_add(v_start_14_, v___x_26_); lean_dec(v_start_14_); if (v_isShared_23_ == 0) { lean_ctor_set(v___x_22_, 1, v___x_27_); v___x_29_ = v___x_22_; goto v_reusejp_28_; } else { lean_object* v_reuseFailAlloc_37_; v_reuseFailAlloc_37_ = lean_alloc_ctor(0, 3, 0); lean_ctor_set(v_reuseFailAlloc_37_, 0, v_array_13_); lean_ctor_set(v_reuseFailAlloc_37_, 1, v___x_27_); lean_ctor_set(v_reuseFailAlloc_37_, 2, v_stop_15_); v___x_29_ = v_reuseFailAlloc_37_; goto v_reusejp_28_; } v_reusejp_28_: { lean_object* v___x_30_; lean_object* v___x_32_; lean_inc(v_a_24_); v___x_30_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_SMap_insert___at___00Lean_initFn_00___x40_Lean_ReducibilityAttrs_3557922905____hygCtx___hyg_2__spec__1_spec__2___redArg(v_fst_9_, v_a_24_, v___x_25_); if (v_isShared_12_ == 0) { lean_ctor_set(v___x_11_, 1, v___x_29_); lean_ctor_set(v___x_11_, 0, v___x_30_); v___x_32_ = v___x_11_; goto v_reusejp_31_; } else { lean_object* v_reuseFailAlloc_36_; v_reuseFailAlloc_36_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_36_, 0, v___x_30_); lean_ctor_set(v_reuseFailAlloc_36_, 1, v___x_29_); v___x_32_ = v_reuseFailAlloc_36_; goto v_reusejp_31_; } v_reusejp_31_: { size_t v___x_33_; size_t v___x_34_; v___x_33_ = ((size_t)1ULL); v___x_34_ = lean_usize_add(v_i_3_, v___x_33_); v_i_3_ = v___x_34_; v_b_4_ = v___x_32_; goto _start; } } } } } } } } LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00replayFromImports_spec__0___boxed(lean_object* v_as_43_, lean_object* v_sz_44_, lean_object* v_i_45_, lean_object* v_b_46_, lean_object* v___y_47_){ _start: { size_t v_sz_boxed_48_; size_t v_i_boxed_49_; lean_object* v_res_50_; v_sz_boxed_48_ = lean_unbox_usize(v_sz_44_); lean_dec(v_sz_44_); v_i_boxed_49_ = lean_unbox_usize(v_i_45_); lean_dec(v_i_45_); v_res_50_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00replayFromImports_spec__0(v_as_43_, v_sz_boxed_48_, v_i_boxed_49_, v_b_46_); lean_dec_ref(v_as_43_); return v_res_50_; } } static lean_object* _init_l_replayFromImports___closed__0(void){ _start: { lean_object* v___x_51_; lean_object* v___x_52_; lean_object* v___x_53_; v___x_51_ = lean_box(0); v___x_52_ = lean_unsigned_to_nat(16u); v___x_53_ = lean_mk_array(v___x_52_, v___x_51_); return v___x_53_; } } static uint8_t _init_l_replayFromImports___closed__1(void){ _start: { uint8_t v___x_54_; uint8_t v___x_55_; v___x_54_ = 2; v___x_55_ = l_Lean_instOrdOLeanLevel_ord(v___x_54_, v___x_54_); return v___x_55_; } } LEAN_EXPORT lean_object* l_replayFromImports(lean_object* v_module_62_){ _start: { lean_object* v___x_64_; lean_inc(v_module_62_); v___x_64_ = l_Lean_findOLean(v_module_62_); if (lean_obj_tag(v___x_64_) == 0) { lean_object* v_a_65_; lean_object* v___x_67_; uint8_t v_isShared_68_; uint8_t v_isSharedCheck_190_; v_a_65_ = lean_ctor_get(v___x_64_, 0); v_isSharedCheck_190_ = !lean_is_exclusive(v___x_64_); if (v_isSharedCheck_190_ == 0) { v___x_67_ = v___x_64_; v_isShared_68_ = v_isSharedCheck_190_; goto v_resetjp_66_; } else { lean_inc(v_a_65_); lean_dec(v___x_64_); v___x_67_ = lean_box(0); v_isShared_68_ = v_isSharedCheck_190_; goto v_resetjp_66_; } v_resetjp_66_: { uint8_t v___x_69_; lean_object* v___y_71_; lean_object* v___y_72_; uint8_t v___y_73_; uint8_t v___y_74_; lean_object* v___y_75_; lean_object* v___y_76_; lean_object* v___y_77_; uint8_t v___y_78_; lean_object* v_fnames_139_; v___x_69_ = l_System_FilePath_pathExists(v_a_65_); if (v___x_69_ == 0) { lean_object* v___x_166_; lean_object* v___x_167_; lean_object* v___x_168_; lean_object* v___x_169_; uint8_t v___x_170_; lean_object* v___x_171_; lean_object* v___x_172_; lean_object* v___x_173_; lean_object* v___x_174_; lean_object* v___x_175_; lean_object* v___x_177_; v___x_166_ = ((lean_object*)(l_replayFromImports___closed__4)); v___x_167_ = lean_string_append(v___x_166_, v_a_65_); lean_dec(v_a_65_); v___x_168_ = ((lean_object*)(l_replayFromImports___closed__5)); v___x_169_ = lean_string_append(v___x_167_, v___x_168_); v___x_170_ = 1; v___x_171_ = l_Lean_Name_toStringWithToken___at___00Lean_Name_toString_spec__0(v_module_62_, v___x_170_); v___x_172_ = lean_string_append(v___x_169_, v___x_171_); lean_dec_ref(v___x_171_); v___x_173_ = ((lean_object*)(l_replayFromImports___closed__6)); v___x_174_ = lean_string_append(v___x_172_, v___x_173_); v___x_175_ = lean_alloc_ctor(18, 1, 0); lean_ctor_set(v___x_175_, 0, v___x_174_); if (v_isShared_68_ == 0) { lean_ctor_set_tag(v___x_67_, 1); lean_ctor_set(v___x_67_, 0, v___x_175_); v___x_177_ = v___x_67_; goto v_reusejp_176_; } else { lean_object* v_reuseFailAlloc_178_; v_reuseFailAlloc_178_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_178_, 0, v___x_175_); v___x_177_ = v_reuseFailAlloc_178_; goto v_reusejp_176_; } v_reusejp_176_: { return v___x_177_; } } else { lean_object* v___x_179_; lean_object* v___x_180_; lean_object* v___x_181_; uint8_t v___x_182_; lean_object* v___x_183_; uint8_t v___x_184_; lean_del_object(v___x_67_); lean_dec(v_module_62_); v___x_179_ = lean_unsigned_to_nat(1u); v___x_180_ = lean_mk_empty_array_with_capacity(v___x_179_); lean_inc_n(v_a_65_, 2); v___x_181_ = lean_array_push(v___x_180_, v_a_65_); v___x_182_ = 1; v___x_183_ = l_Lean_OLeanLevel_adjustFileName(v_a_65_, v___x_182_); v___x_184_ = l_System_FilePath_pathExists(v___x_183_); if (v___x_184_ == 0) { lean_dec_ref(v___x_183_); lean_dec(v_a_65_); v_fnames_139_ = v___x_181_; goto v___jp_138_; } else { uint8_t v___x_185_; lean_object* v___x_186_; uint8_t v___x_187_; lean_object* v___x_188_; v___x_185_ = 2; v___x_186_ = l_Lean_OLeanLevel_adjustFileName(v_a_65_, v___x_185_); v___x_187_ = l_System_FilePath_pathExists(v___x_186_); v___x_188_ = lean_array_push(v___x_181_, v___x_183_); if (v___x_187_ == 0) { lean_dec_ref(v___x_186_); v_fnames_139_ = v___x_188_; goto v___jp_138_; } else { lean_object* v___x_189_; v___x_189_ = lean_array_push(v___x_188_, v___x_186_); v_fnames_139_ = v___x_189_; goto v___jp_138_; } } } v___jp_70_: { lean_object* v___x_79_; lean_object* v___x_80_; lean_object* v_imports_81_; lean_object* v___x_82_; v___x_79_ = l_Lean_instInhabitedImportState_default; v___x_80_ = lean_st_mk_ref(v___x_79_); v_imports_81_ = lean_ctor_get(v___y_76_, 0); lean_inc_ref(v_imports_81_); lean_dec_ref(v___y_76_); lean_inc(v___y_75_); v___x_82_ = l_Lean_importModulesCore(v_imports_81_, v___y_74_, v___y_75_, v___y_78_, v___x_80_); if (lean_obj_tag(v___x_82_) == 0) { lean_object* v___x_83_; lean_object* v___x_84_; uint32_t v___x_85_; lean_object* v___x_86_; lean_dec_ref(v___x_82_); v___x_83_ = lean_st_ref_get(v___x_80_); lean_dec(v___x_80_); v___x_84_ = l_Lean_Options_empty; v___x_85_ = 0; v___x_86_ = l_Lean_finalizeImport(v___x_83_, v_imports_81_, v___x_84_, v___x_85_, v___y_73_, v___y_73_, v___y_74_, v___x_69_); lean_dec(v___x_83_); if (lean_obj_tag(v___x_86_) == 0) { lean_object* v_a_87_; lean_object* v___x_88_; lean_object* v___x_89_; lean_object* v___x_90_; lean_object* v_fst_91_; lean_object* v___x_93_; uint8_t v_isShared_94_; uint8_t v_isSharedCheck_128_; v_a_87_ = lean_ctor_get(v___x_86_, 0); lean_inc(v_a_87_); lean_dec_ref(v___x_86_); v___x_88_ = lean_unsigned_to_nat(1u); v___x_89_ = lean_nat_sub(v___y_72_, v___x_88_); lean_dec(v___y_72_); v___x_90_ = lean_array_fget(v___y_71_, v___x_89_); lean_dec(v___x_89_); lean_dec_ref(v___y_71_); v_fst_91_ = lean_ctor_get(v___x_90_, 0); v_isSharedCheck_128_ = !lean_is_exclusive(v___x_90_); if (v_isSharedCheck_128_ == 0) { lean_object* v_unused_129_; v_unused_129_ = lean_ctor_get(v___x_90_, 1); lean_dec(v_unused_129_); v___x_93_ = v___x_90_; v_isShared_94_ = v_isSharedCheck_128_; goto v_resetjp_92_; } else { lean_inc(v_fst_91_); lean_dec(v___x_90_); v___x_93_ = lean_box(0); v_isShared_94_ = v_isSharedCheck_128_; goto v_resetjp_92_; } v_resetjp_92_: { lean_object* v_constNames_95_; lean_object* v_constants_96_; lean_object* v___x_97_; lean_object* v___x_98_; lean_object* v___x_99_; lean_object* v___x_100_; lean_object* v___x_102_; v_constNames_95_ = lean_ctor_get(v_fst_91_, 1); lean_inc_ref(v_constNames_95_); v_constants_96_ = lean_ctor_get(v_fst_91_, 2); lean_inc_ref(v_constants_96_); lean_dec(v_fst_91_); v___x_97_ = lean_obj_once(&l_replayFromImports___closed__0, &l_replayFromImports___closed__0_once, _init_l_replayFromImports___closed__0); lean_inc(v___y_77_); v___x_98_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v___x_98_, 0, v___y_77_); lean_ctor_set(v___x_98_, 1, v___x_97_); v___x_99_ = lean_array_get_size(v_constants_96_); v___x_100_ = l_Array_toSubarray___redArg(v_constants_96_, v___y_77_, v___x_99_); if (v_isShared_94_ == 0) { lean_ctor_set(v___x_93_, 1, v___x_100_); lean_ctor_set(v___x_93_, 0, v___x_98_); v___x_102_ = v___x_93_; goto v_reusejp_101_; } else { lean_object* v_reuseFailAlloc_127_; v_reuseFailAlloc_127_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_127_, 0, v___x_98_); lean_ctor_set(v_reuseFailAlloc_127_, 1, v___x_100_); v___x_102_ = v_reuseFailAlloc_127_; goto v_reusejp_101_; } v_reusejp_101_: { size_t v_sz_103_; size_t v___x_104_; lean_object* v___x_105_; v_sz_103_ = lean_array_size(v_constNames_95_); v___x_104_ = ((size_t)0ULL); v___x_105_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00replayFromImports_spec__0(v_constNames_95_, v_sz_103_, v___x_104_, v___x_102_); lean_dec_ref(v_constNames_95_); if (lean_obj_tag(v___x_105_) == 0) { lean_object* v_a_106_; lean_object* v_fst_107_; lean_object* v___x_108_; v_a_106_ = lean_ctor_get(v___x_105_, 0); lean_inc(v_a_106_); lean_dec_ref(v___x_105_); v_fst_107_ = lean_ctor_get(v_a_106_, 0); lean_inc(v_fst_107_); lean_dec(v_a_106_); v___x_108_ = l_Lean_Environment_replay(v_fst_107_, v_a_87_); lean_dec(v_fst_107_); if (lean_obj_tag(v___x_108_) == 0) { lean_object* v_a_109_; lean_object* v___x_110_; v_a_109_ = lean_ctor_get(v___x_108_, 0); lean_inc(v_a_109_); lean_dec_ref(v___x_108_); v___x_110_ = lean_environment_free_regions(v_a_109_); return v___x_110_; } else { lean_object* v_a_111_; lean_object* v___x_113_; uint8_t v_isShared_114_; uint8_t v_isSharedCheck_118_; v_a_111_ = lean_ctor_get(v___x_108_, 0); v_isSharedCheck_118_ = !lean_is_exclusive(v___x_108_); if (v_isSharedCheck_118_ == 0) { v___x_113_ = v___x_108_; v_isShared_114_ = v_isSharedCheck_118_; goto v_resetjp_112_; } else { lean_inc(v_a_111_); lean_dec(v___x_108_); v___x_113_ = lean_box(0); v_isShared_114_ = v_isSharedCheck_118_; goto v_resetjp_112_; } v_resetjp_112_: { lean_object* v___x_116_; if (v_isShared_114_ == 0) { v___x_116_ = v___x_113_; goto v_reusejp_115_; } else { lean_object* v_reuseFailAlloc_117_; v_reuseFailAlloc_117_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_117_, 0, v_a_111_); v___x_116_ = v_reuseFailAlloc_117_; goto v_reusejp_115_; } v_reusejp_115_: { return v___x_116_; } } } } else { lean_object* v_a_119_; lean_object* v___x_121_; uint8_t v_isShared_122_; uint8_t v_isSharedCheck_126_; lean_dec(v_a_87_); v_a_119_ = lean_ctor_get(v___x_105_, 0); v_isSharedCheck_126_ = !lean_is_exclusive(v___x_105_); if (v_isSharedCheck_126_ == 0) { v___x_121_ = v___x_105_; v_isShared_122_ = v_isSharedCheck_126_; goto v_resetjp_120_; } else { lean_inc(v_a_119_); lean_dec(v___x_105_); v___x_121_ = lean_box(0); v_isShared_122_ = v_isSharedCheck_126_; goto v_resetjp_120_; } v_resetjp_120_: { lean_object* v___x_124_; if (v_isShared_122_ == 0) { v___x_124_ = v___x_121_; goto v_reusejp_123_; } else { lean_object* v_reuseFailAlloc_125_; v_reuseFailAlloc_125_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_125_, 0, v_a_119_); v___x_124_ = v_reuseFailAlloc_125_; goto v_reusejp_123_; } v_reusejp_123_: { return v___x_124_; } } } } } } else { lean_object* v_a_130_; lean_object* v___x_132_; uint8_t v_isShared_133_; uint8_t v_isSharedCheck_137_; lean_dec(v___y_77_); lean_dec(v___y_72_); lean_dec_ref(v___y_71_); v_a_130_ = lean_ctor_get(v___x_86_, 0); v_isSharedCheck_137_ = !lean_is_exclusive(v___x_86_); if (v_isSharedCheck_137_ == 0) { v___x_132_ = v___x_86_; v_isShared_133_ = v_isSharedCheck_137_; goto v_resetjp_131_; } else { lean_inc(v_a_130_); lean_dec(v___x_86_); v___x_132_ = lean_box(0); v_isShared_133_ = v_isSharedCheck_137_; goto v_resetjp_131_; } v_resetjp_131_: { lean_object* v___x_135_; if (v_isShared_133_ == 0) { v___x_135_ = v___x_132_; goto v_reusejp_134_; } else { lean_object* v_reuseFailAlloc_136_; v_reuseFailAlloc_136_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_136_, 0, v_a_130_); v___x_135_ = v_reuseFailAlloc_136_; goto v_reusejp_134_; } v_reusejp_134_: { return v___x_135_; } } } } else { lean_dec_ref(v_imports_81_); lean_dec(v___x_80_); lean_dec(v___y_77_); lean_dec(v___y_72_); lean_dec_ref(v___y_71_); return v___x_82_; } } v___jp_138_: { lean_object* v___x_140_; v___x_140_ = lean_read_module_data_parts(v_fnames_139_); lean_dec_ref(v_fnames_139_); if (lean_obj_tag(v___x_140_) == 0) { lean_object* v_a_141_; lean_object* v___x_143_; uint8_t v_isShared_144_; uint8_t v_isSharedCheck_157_; v_a_141_ = lean_ctor_get(v___x_140_, 0); v_isSharedCheck_157_ = !lean_is_exclusive(v___x_140_); if (v_isSharedCheck_157_ == 0) { v___x_143_ = v___x_140_; v_isShared_144_ = v_isSharedCheck_157_; goto v_resetjp_142_; } else { lean_inc(v_a_141_); lean_dec(v___x_140_); v___x_143_ = lean_box(0); v_isShared_144_ = v_isSharedCheck_157_; goto v_resetjp_142_; } v_resetjp_142_: { lean_object* v___x_145_; lean_object* v___x_146_; uint8_t v___x_147_; v___x_145_ = lean_array_get_size(v_a_141_); v___x_146_ = lean_unsigned_to_nat(0u); v___x_147_ = lean_nat_dec_eq(v___x_145_, v___x_146_); if (v___x_147_ == 0) { lean_object* v___x_148_; lean_object* v_fst_149_; uint8_t v___x_150_; lean_object* v___x_151_; uint8_t v___x_152_; lean_del_object(v___x_143_); v___x_148_ = lean_array_fget_borrowed(v_a_141_, v___x_146_); v_fst_149_ = lean_ctor_get(v___x_148_, 0); lean_inc(v_fst_149_); v___x_150_ = 2; v___x_151_ = lean_box(1); v___x_152_ = lean_uint8_once(&l_replayFromImports___closed__1, &l_replayFromImports___closed__1_once, _init_l_replayFromImports___closed__1); if (v___x_152_ == 0) { v___y_71_ = v_a_141_; v___y_72_ = v___x_145_; v___y_73_ = v___x_147_; v___y_74_ = v___x_150_; v___y_75_ = v___x_151_; v___y_76_ = v_fst_149_; v___y_77_ = v___x_146_; v___y_78_ = v___x_69_; goto v___jp_70_; } else { v___y_71_ = v_a_141_; v___y_72_ = v___x_145_; v___y_73_ = v___x_147_; v___y_74_ = v___x_150_; v___y_75_ = v___x_151_; v___y_76_ = v_fst_149_; v___y_77_ = v___x_146_; v___y_78_ = v___x_147_; goto v___jp_70_; } } else { lean_object* v___x_153_; lean_object* v___x_155_; lean_dec(v_a_141_); v___x_153_ = ((lean_object*)(l_replayFromImports___closed__3)); if (v_isShared_144_ == 0) { lean_ctor_set_tag(v___x_143_, 1); lean_ctor_set(v___x_143_, 0, v___x_153_); v___x_155_ = v___x_143_; goto v_reusejp_154_; } else { lean_object* v_reuseFailAlloc_156_; v_reuseFailAlloc_156_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_156_, 0, v___x_153_); v___x_155_ = v_reuseFailAlloc_156_; goto v_reusejp_154_; } v_reusejp_154_: { return v___x_155_; } } } } else { lean_object* v_a_158_; lean_object* v___x_160_; uint8_t v_isShared_161_; uint8_t v_isSharedCheck_165_; v_a_158_ = lean_ctor_get(v___x_140_, 0); v_isSharedCheck_165_ = !lean_is_exclusive(v___x_140_); if (v_isSharedCheck_165_ == 0) { v___x_160_ = v___x_140_; v_isShared_161_ = v_isSharedCheck_165_; goto v_resetjp_159_; } else { lean_inc(v_a_158_); lean_dec(v___x_140_); v___x_160_ = lean_box(0); v_isShared_161_ = v_isSharedCheck_165_; goto v_resetjp_159_; } v_resetjp_159_: { lean_object* v___x_163_; if (v_isShared_161_ == 0) { v___x_163_ = v___x_160_; goto v_reusejp_162_; } else { lean_object* v_reuseFailAlloc_164_; v_reuseFailAlloc_164_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_164_, 0, v_a_158_); v___x_163_ = v_reuseFailAlloc_164_; goto v_reusejp_162_; } v_reusejp_162_: { return v___x_163_; } } } } } } else { lean_object* v_a_191_; lean_object* v___x_193_; uint8_t v_isShared_194_; uint8_t v_isSharedCheck_198_; lean_dec(v_module_62_); v_a_191_ = lean_ctor_get(v___x_64_, 0); v_isSharedCheck_198_ = !lean_is_exclusive(v___x_64_); if (v_isSharedCheck_198_ == 0) { v___x_193_ = v___x_64_; v_isShared_194_ = v_isSharedCheck_198_; goto v_resetjp_192_; } else { lean_inc(v_a_191_); lean_dec(v___x_64_); v___x_193_ = lean_box(0); v_isShared_194_ = v_isSharedCheck_198_; goto v_resetjp_192_; } v_resetjp_192_: { lean_object* v___x_196_; if (v_isShared_194_ == 0) { v___x_196_ = v___x_193_; goto v_reusejp_195_; } else { lean_object* v_reuseFailAlloc_197_; v_reuseFailAlloc_197_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_197_, 0, v_a_191_); v___x_196_ = v_reuseFailAlloc_197_; goto v_reusejp_195_; } v_reusejp_195_: { return v___x_196_; } } } } } LEAN_EXPORT lean_object* l_replayFromImports___boxed(lean_object* v_module_199_, lean_object* v_a_200_){ _start: { lean_object* v_res_201_; v_res_201_ = l_replayFromImports(v_module_199_); return v_res_201_; } } LEAN_EXPORT lean_object* l_replayFromFresh___lam__0(lean_object* v_env_202_){ _start: { uint32_t v___x_204_; lean_object* v___x_205_; v___x_204_ = 0; v___x_205_ = lean_mk_empty_environment(v___x_204_); if (lean_obj_tag(v___x_205_) == 0) { lean_object* v_a_206_; lean_object* v___x_207_; lean_object* v_map_u2081_208_; lean_object* v___x_209_; v_a_206_ = lean_ctor_get(v___x_205_, 0); lean_inc(v_a_206_); lean_dec_ref(v___x_205_); v___x_207_ = l_Lean_Environment_constants(v_env_202_); v_map_u2081_208_ = lean_ctor_get(v___x_207_, 0); lean_inc_ref(v_map_u2081_208_); lean_dec_ref(v___x_207_); v___x_209_ = l_Lean_Environment_replay(v_map_u2081_208_, v_a_206_); lean_dec_ref(v_map_u2081_208_); if (lean_obj_tag(v___x_209_) == 0) { lean_object* v___x_211_; uint8_t v_isShared_212_; uint8_t v_isSharedCheck_217_; v_isSharedCheck_217_ = !lean_is_exclusive(v___x_209_); if (v_isSharedCheck_217_ == 0) { lean_object* v_unused_218_; v_unused_218_ = lean_ctor_get(v___x_209_, 0); lean_dec(v_unused_218_); v___x_211_ = v___x_209_; v_isShared_212_ = v_isSharedCheck_217_; goto v_resetjp_210_; } else { lean_dec(v___x_209_); v___x_211_ = lean_box(0); v_isShared_212_ = v_isSharedCheck_217_; goto v_resetjp_210_; } v_resetjp_210_: { lean_object* v___x_213_; lean_object* v___x_215_; v___x_213_ = lean_box(0); if (v_isShared_212_ == 0) { lean_ctor_set(v___x_211_, 0, v___x_213_); v___x_215_ = v___x_211_; goto v_reusejp_214_; } else { lean_object* v_reuseFailAlloc_216_; v_reuseFailAlloc_216_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v_reuseFailAlloc_216_, 0, v___x_213_); v___x_215_ = v_reuseFailAlloc_216_; goto v_reusejp_214_; } v_reusejp_214_: { return v___x_215_; } } } else { lean_object* v_a_219_; lean_object* v___x_221_; uint8_t v_isShared_222_; uint8_t v_isSharedCheck_226_; v_a_219_ = lean_ctor_get(v___x_209_, 0); v_isSharedCheck_226_ = !lean_is_exclusive(v___x_209_); if (v_isSharedCheck_226_ == 0) { v___x_221_ = v___x_209_; v_isShared_222_ = v_isSharedCheck_226_; goto v_resetjp_220_; } else { lean_inc(v_a_219_); lean_dec(v___x_209_); v___x_221_ = lean_box(0); v_isShared_222_ = v_isSharedCheck_226_; goto v_resetjp_220_; } v_resetjp_220_: { lean_object* v___x_224_; if (v_isShared_222_ == 0) { v___x_224_ = v___x_221_; goto v_reusejp_223_; } else { lean_object* v_reuseFailAlloc_225_; v_reuseFailAlloc_225_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_225_, 0, v_a_219_); v___x_224_ = v_reuseFailAlloc_225_; goto v_reusejp_223_; } v_reusejp_223_: { return v___x_224_; } } } } else { lean_object* v_a_227_; lean_object* v___x_229_; uint8_t v_isShared_230_; uint8_t v_isSharedCheck_234_; lean_dec_ref(v_env_202_); v_a_227_ = lean_ctor_get(v___x_205_, 0); v_isSharedCheck_234_ = !lean_is_exclusive(v___x_205_); if (v_isSharedCheck_234_ == 0) { v___x_229_ = v___x_205_; v_isShared_230_ = v_isSharedCheck_234_; goto v_resetjp_228_; } else { lean_inc(v_a_227_); lean_dec(v___x_205_); v___x_229_ = lean_box(0); v_isShared_230_ = v_isSharedCheck_234_; goto v_resetjp_228_; } v_resetjp_228_: { lean_object* v___x_232_; if (v_isShared_230_ == 0) { v___x_232_ = v___x_229_; goto v_reusejp_231_; } else { lean_object* v_reuseFailAlloc_233_; v_reuseFailAlloc_233_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_233_, 0, v_a_227_); v___x_232_ = v_reuseFailAlloc_233_; goto v_reusejp_231_; } v_reusejp_231_: { return v___x_232_; } } } } } LEAN_EXPORT lean_object* l_replayFromFresh___lam__0___boxed(lean_object* v_env_235_, lean_object* v___y_236_){ _start: { lean_object* v_res_237_; v_res_237_ = l_replayFromFresh___lam__0(v_env_235_); return v_res_237_; } } LEAN_EXPORT lean_object* l_replayFromFresh(lean_object* v_module_239_){ _start: { lean_object* v___f_241_; uint8_t v___x_242_; uint8_t v___x_243_; lean_object* v___x_244_; lean_object* v___x_245_; lean_object* v___x_246_; lean_object* v___x_247_; lean_object* v___x_248_; uint32_t v___x_249_; lean_object* v___x_250_; v___f_241_ = ((lean_object*)(l_replayFromFresh___closed__0)); v___x_242_ = 0; v___x_243_ = 1; v___x_244_ = lean_alloc_ctor(0, 1, 3); lean_ctor_set(v___x_244_, 0, v_module_239_); lean_ctor_set_uint8(v___x_244_, sizeof(void*)*1, v___x_242_); lean_ctor_set_uint8(v___x_244_, sizeof(void*)*1 + 1, v___x_243_); lean_ctor_set_uint8(v___x_244_, sizeof(void*)*1 + 2, v___x_242_); v___x_245_ = lean_unsigned_to_nat(1u); v___x_246_ = lean_mk_empty_array_with_capacity(v___x_245_); v___x_247_ = lean_array_push(v___x_246_, v___x_244_); v___x_248_ = l_Lean_Options_empty; v___x_249_ = 0; v___x_250_ = l_Lean_withImportModules___redArg(v___x_247_, v___x_248_, v___f_241_, v___x_249_); return v___x_250_; } } LEAN_EXPORT lean_object* l_replayFromFresh___boxed(lean_object* v_module_251_, lean_object* v_a_252_){ _start: { lean_object* v_res_253_; v_res_253_ = l_replayFromFresh(v_module_251_); return v_res_253_; } } LEAN_EXPORT lean_object* l_getCurrentModule(){ _start: { lean_object* v___x_256_; lean_object* v___x_257_; v___x_256_ = ((lean_object*)(l_getCurrentModule___closed__0)); v___x_257_ = l_Lake_Manifest_load_x3f(v___x_256_); if (lean_obj_tag(v___x_257_) == 0) { lean_object* v_a_258_; lean_object* v___x_260_; uint8_t v_isShared_261_; uint8_t v_isSharedCheck_272_; v_a_258_ = lean_ctor_get(v___x_257_, 0); v_isSharedCheck_272_ = !lean_is_exclusive(v___x_257_); if (v_isSharedCheck_272_ == 0) { v___x_260_ = v___x_257_; v_isShared_261_ = v_isSharedCheck_272_; goto v_resetjp_259_; } else { lean_inc(v_a_258_); lean_dec(v___x_257_); v___x_260_ = lean_box(0); v_isShared_261_ = v_isSharedCheck_272_; goto v_resetjp_259_; } v_resetjp_259_: { if (lean_obj_tag(v_a_258_) == 0) { lean_object* v___x_262_; lean_object* v___x_264_; v___x_262_ = lean_box(0); if (v_isShared_261_ == 0) { lean_ctor_set(v___x_260_, 0, v___x_262_); v___x_264_ = v___x_260_; goto v_reusejp_263_; } else { lean_object* v_reuseFailAlloc_265_; v_reuseFailAlloc_265_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v_reuseFailAlloc_265_, 0, v___x_262_); v___x_264_ = v_reuseFailAlloc_265_; goto v_reusejp_263_; } v_reusejp_263_: { return v___x_264_; } } else { lean_object* v_val_266_; lean_object* v_name_267_; lean_object* v___x_268_; lean_object* v___x_270_; v_val_266_ = lean_ctor_get(v_a_258_, 0); lean_inc(v_val_266_); lean_dec_ref(v_a_258_); v_name_267_ = lean_ctor_get(v_val_266_, 0); lean_inc(v_name_267_); lean_dec(v_val_266_); v___x_268_ = l_Lean_Name_capitalize(v_name_267_); if (v_isShared_261_ == 0) { lean_ctor_set(v___x_260_, 0, v___x_268_); v___x_270_ = v___x_260_; goto v_reusejp_269_; } else { lean_object* v_reuseFailAlloc_271_; v_reuseFailAlloc_271_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v_reuseFailAlloc_271_, 0, v___x_268_); v___x_270_ = v_reuseFailAlloc_271_; goto v_reusejp_269_; } v_reusejp_269_: { return v___x_270_; } } } } else { lean_object* v_a_273_; lean_object* v___x_275_; uint8_t v_isShared_276_; uint8_t v_isSharedCheck_280_; v_a_273_ = lean_ctor_get(v___x_257_, 0); v_isSharedCheck_280_ = !lean_is_exclusive(v___x_257_); if (v_isSharedCheck_280_ == 0) { v___x_275_ = v___x_257_; v_isShared_276_ = v_isSharedCheck_280_; goto v_resetjp_274_; } else { lean_inc(v_a_273_); lean_dec(v___x_257_); v___x_275_ = lean_box(0); v_isShared_276_ = v_isSharedCheck_280_; goto v_resetjp_274_; } v_resetjp_274_: { lean_object* v___x_278_; if (v_isShared_276_ == 0) { v___x_278_ = v___x_275_; goto v_reusejp_277_; } else { lean_object* v_reuseFailAlloc_279_; v_reuseFailAlloc_279_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_279_, 0, v_a_273_); v___x_278_ = v_reuseFailAlloc_279_; goto v_reusejp_277_; } v_reusejp_277_: { return v___x_278_; } } } } } LEAN_EXPORT lean_object* l_getCurrentModule___boxed(lean_object* v_a_281_){ _start: { lean_object* v_res_282_; v_res_282_ = l_getCurrentModule(); return v_res_282_; } } static lean_object* _init_l_List_partition_loop___at___00main_spec__0___closed__1(void){ _start: { lean_object* v___x_284_; lean_object* v___x_285_; v___x_284_ = ((lean_object*)(l_List_partition_loop___at___00main_spec__0___closed__0)); v___x_285_ = lean_string_utf8_byte_size(v___x_284_); return v___x_285_; } } LEAN_EXPORT lean_object* l_List_partition_loop___at___00main_spec__0(lean_object* v_a_286_, lean_object* v_a_287_){ _start: { if (lean_obj_tag(v_a_286_) == 0) { lean_object* v_fst_288_; lean_object* v_snd_289_; lean_object* v___x_291_; uint8_t v_isShared_292_; uint8_t v_isSharedCheck_298_; v_fst_288_ = lean_ctor_get(v_a_287_, 0); v_snd_289_ = lean_ctor_get(v_a_287_, 1); v_isSharedCheck_298_ = !lean_is_exclusive(v_a_287_); if (v_isSharedCheck_298_ == 0) { v___x_291_ = v_a_287_; v_isShared_292_ = v_isSharedCheck_298_; goto v_resetjp_290_; } else { lean_inc(v_snd_289_); lean_inc(v_fst_288_); lean_dec(v_a_287_); v___x_291_ = lean_box(0); v_isShared_292_ = v_isSharedCheck_298_; goto v_resetjp_290_; } v_resetjp_290_: { lean_object* v___x_293_; lean_object* v___x_294_; lean_object* v___x_296_; v___x_293_ = l_List_reverse___redArg(v_fst_288_); v___x_294_ = l_List_reverse___redArg(v_snd_289_); if (v_isShared_292_ == 0) { lean_ctor_set(v___x_291_, 1, v___x_294_); lean_ctor_set(v___x_291_, 0, v___x_293_); v___x_296_ = v___x_291_; goto v_reusejp_295_; } else { lean_object* v_reuseFailAlloc_297_; v_reuseFailAlloc_297_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_297_, 0, v___x_293_); lean_ctor_set(v_reuseFailAlloc_297_, 1, v___x_294_); v___x_296_ = v_reuseFailAlloc_297_; goto v_reusejp_295_; } v_reusejp_295_: { return v___x_296_; } } } else { lean_object* v_head_299_; lean_object* v_tail_300_; lean_object* v___x_302_; uint8_t v_isShared_303_; uint8_t v_isSharedCheck_327_; v_head_299_ = lean_ctor_get(v_a_286_, 0); v_tail_300_ = lean_ctor_get(v_a_286_, 1); v_isSharedCheck_327_ = !lean_is_exclusive(v_a_286_); if (v_isSharedCheck_327_ == 0) { v___x_302_ = v_a_286_; v_isShared_303_ = v_isSharedCheck_327_; goto v_resetjp_301_; } else { lean_inc(v_tail_300_); lean_inc(v_head_299_); lean_dec(v_a_286_); v___x_302_ = lean_box(0); v_isShared_303_ = v_isSharedCheck_327_; goto v_resetjp_301_; } v_resetjp_301_: { lean_object* v_fst_304_; lean_object* v_snd_305_; lean_object* v___x_307_; uint8_t v_isShared_308_; uint8_t v_isSharedCheck_326_; v_fst_304_ = lean_ctor_get(v_a_287_, 0); v_snd_305_ = lean_ctor_get(v_a_287_, 1); v_isSharedCheck_326_ = !lean_is_exclusive(v_a_287_); if (v_isSharedCheck_326_ == 0) { v___x_307_ = v_a_287_; v_isShared_308_ = v_isSharedCheck_326_; goto v_resetjp_306_; } else { lean_inc(v_snd_305_); lean_inc(v_fst_304_); lean_dec(v_a_287_); v___x_307_ = lean_box(0); v_isShared_308_ = v_isSharedCheck_326_; goto v_resetjp_306_; } v_resetjp_306_: { lean_object* v___x_317_; lean_object* v___x_318_; lean_object* v___x_319_; uint8_t v___x_320_; v___x_317_ = ((lean_object*)(l_List_partition_loop___at___00main_spec__0___closed__0)); v___x_318_ = lean_string_utf8_byte_size(v_head_299_); v___x_319_ = lean_obj_once(&l_List_partition_loop___at___00main_spec__0___closed__1, &l_List_partition_loop___at___00main_spec__0___closed__1_once, _init_l_List_partition_loop___at___00main_spec__0___closed__1); v___x_320_ = lean_nat_dec_le(v___x_319_, v___x_318_); if (v___x_320_ == 0) { goto v___jp_309_; } else { lean_object* v___x_321_; uint8_t v___x_322_; v___x_321_ = lean_unsigned_to_nat(0u); v___x_322_ = lean_string_memcmp(v_head_299_, v___x_317_, v___x_321_, v___x_321_, v___x_319_); if (v___x_322_ == 0) { goto v___jp_309_; } else { lean_object* v___x_323_; lean_object* v___x_324_; lean_del_object(v___x_307_); lean_del_object(v___x_302_); v___x_323_ = lean_alloc_ctor(1, 2, 0); lean_ctor_set(v___x_323_, 0, v_head_299_); lean_ctor_set(v___x_323_, 1, v_fst_304_); v___x_324_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v___x_324_, 0, v___x_323_); lean_ctor_set(v___x_324_, 1, v_snd_305_); v_a_286_ = v_tail_300_; v_a_287_ = v___x_324_; goto _start; } } v___jp_309_: { lean_object* v___x_311_; if (v_isShared_303_ == 0) { lean_ctor_set(v___x_302_, 1, v_snd_305_); v___x_311_ = v___x_302_; goto v_reusejp_310_; } else { lean_object* v_reuseFailAlloc_316_; v_reuseFailAlloc_316_ = lean_alloc_ctor(1, 2, 0); lean_ctor_set(v_reuseFailAlloc_316_, 0, v_head_299_); lean_ctor_set(v_reuseFailAlloc_316_, 1, v_snd_305_); v___x_311_ = v_reuseFailAlloc_316_; goto v_reusejp_310_; } v_reusejp_310_: { lean_object* v___x_313_; if (v_isShared_308_ == 0) { lean_ctor_set(v___x_307_, 1, v___x_311_); v___x_313_ = v___x_307_; goto v_reusejp_312_; } else { lean_object* v_reuseFailAlloc_315_; v_reuseFailAlloc_315_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_315_, 0, v_fst_304_); lean_ctor_set(v_reuseFailAlloc_315_, 1, v___x_311_); v___x_313_ = v_reuseFailAlloc_315_; goto v_reusejp_312_; } v_reusejp_312_: { v_a_286_ = v_tail_300_; v_a_287_ = v___x_313_; goto _start; } } } } } } } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg___lam__0(lean_object* v_head_328_){ _start: { lean_object* v___x_330_; v___x_330_ = l_replayFromImports(v_head_328_); if (lean_obj_tag(v___x_330_) == 0) { lean_object* v_a_331_; lean_object* v___x_333_; uint8_t v_isShared_334_; uint8_t v_isSharedCheck_338_; v_a_331_ = lean_ctor_get(v___x_330_, 0); v_isSharedCheck_338_ = !lean_is_exclusive(v___x_330_); if (v_isSharedCheck_338_ == 0) { v___x_333_ = v___x_330_; v_isShared_334_ = v_isSharedCheck_338_; goto v_resetjp_332_; } else { lean_inc(v_a_331_); lean_dec(v___x_330_); v___x_333_ = lean_box(0); v_isShared_334_ = v_isSharedCheck_338_; goto v_resetjp_332_; } v_resetjp_332_: { lean_object* v___x_336_; if (v_isShared_334_ == 0) { lean_ctor_set_tag(v___x_333_, 1); v___x_336_ = v___x_333_; goto v_reusejp_335_; } else { lean_object* v_reuseFailAlloc_337_; v_reuseFailAlloc_337_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_337_, 0, v_a_331_); v___x_336_ = v_reuseFailAlloc_337_; goto v_reusejp_335_; } v_reusejp_335_: { return v___x_336_; } } } else { lean_object* v_a_339_; lean_object* v___x_341_; uint8_t v_isShared_342_; uint8_t v_isSharedCheck_346_; v_a_339_ = lean_ctor_get(v___x_330_, 0); v_isSharedCheck_346_ = !lean_is_exclusive(v___x_330_); if (v_isSharedCheck_346_ == 0) { v___x_341_ = v___x_330_; v_isShared_342_ = v_isSharedCheck_346_; goto v_resetjp_340_; } else { lean_inc(v_a_339_); lean_dec(v___x_330_); v___x_341_ = lean_box(0); v_isShared_342_ = v_isSharedCheck_346_; goto v_resetjp_340_; } v_resetjp_340_: { lean_object* v___x_344_; if (v_isShared_342_ == 0) { lean_ctor_set_tag(v___x_341_, 0); v___x_344_ = v___x_341_; goto v_reusejp_343_; } else { lean_object* v_reuseFailAlloc_345_; v_reuseFailAlloc_345_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v_reuseFailAlloc_345_, 0, v_a_339_); v___x_344_ = v_reuseFailAlloc_345_; goto v_reusejp_343_; } v_reusejp_343_: { return v___x_344_; } } } } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg___lam__0___boxed(lean_object* v_head_347_, lean_object* v___y_348_){ _start: { lean_object* v_res_349_; v_res_349_ = l_List_forIn_x27_loop___at___00main_spec__3___redArg___lam__0(v_head_347_); return v_res_349_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg(lean_object* v_as_x27_350_, lean_object* v_b_351_){ _start: { if (lean_obj_tag(v_as_x27_350_) == 0) { lean_object* v___x_353_; v___x_353_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_353_, 0, v_b_351_); return v___x_353_; } else { lean_object* v_head_354_; lean_object* v_tail_355_; lean_object* v___x_357_; uint8_t v_isShared_358_; uint8_t v_isSharedCheck_367_; v_head_354_ = lean_ctor_get(v_as_x27_350_, 0); v_tail_355_ = lean_ctor_get(v_as_x27_350_, 1); v_isSharedCheck_367_ = !lean_is_exclusive(v_as_x27_350_); if (v_isSharedCheck_367_ == 0) { v___x_357_ = v_as_x27_350_; v_isShared_358_ = v_isSharedCheck_367_; goto v_resetjp_356_; } else { lean_inc(v_tail_355_); lean_inc(v_head_354_); lean_dec(v_as_x27_350_); v___x_357_ = lean_box(0); v_isShared_358_ = v_isSharedCheck_367_; goto v_resetjp_356_; } v_resetjp_356_: { lean_object* v___f_359_; lean_object* v___x_360_; lean_object* v___x_361_; lean_object* v___x_363_; lean_inc(v_head_354_); v___f_359_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00main_spec__3___redArg___lam__0___boxed), 2, 1); lean_closure_set(v___f_359_, 0, v_head_354_); v___x_360_ = lean_unsigned_to_nat(0u); v___x_361_ = lean_io_as_task(v___f_359_, v___x_360_); if (v_isShared_358_ == 0) { lean_ctor_set_tag(v___x_357_, 0); lean_ctor_set(v___x_357_, 1, v___x_361_); v___x_363_ = v___x_357_; goto v_reusejp_362_; } else { lean_object* v_reuseFailAlloc_366_; v_reuseFailAlloc_366_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_366_, 0, v_head_354_); lean_ctor_set(v_reuseFailAlloc_366_, 1, v___x_361_); v___x_363_ = v_reuseFailAlloc_366_; goto v_reusejp_362_; } v_reusejp_362_: { lean_object* v___x_364_; v___x_364_ = lean_array_push(v_b_351_, v___x_363_); v_as_x27_350_ = v_tail_355_; v_b_351_ = v___x_364_; goto _start; } } } } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___redArg___boxed(lean_object* v_as_x27_368_, lean_object* v_b_369_, lean_object* v___y_370_){ _start: { lean_object* v_res_371_; v_res_371_ = l_List_forIn_x27_loop___at___00main_spec__3___redArg(v_as_x27_368_, v_b_369_); return v_res_371_; } } LEAN_EXPORT lean_object* l_List_mapM_loop___at___00main_spec__6(lean_object* v_x_373_, lean_object* v_x_374_){ _start: { if (lean_obj_tag(v_x_373_) == 0) { lean_object* v___x_376_; lean_object* v___x_377_; v___x_376_ = l_List_reverse___redArg(v_x_374_); v___x_377_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_377_, 0, v___x_376_); return v___x_377_; } else { lean_object* v_head_378_; lean_object* v_tail_379_; lean_object* v___x_381_; uint8_t v_isShared_382_; uint8_t v_isSharedCheck_393_; v_head_378_ = lean_ctor_get(v_x_373_, 0); v_tail_379_ = lean_ctor_get(v_x_373_, 1); v_isSharedCheck_393_ = !lean_is_exclusive(v_x_373_); if (v_isSharedCheck_393_ == 0) { v___x_381_ = v_x_373_; v_isShared_382_ = v_isSharedCheck_393_; goto v_resetjp_380_; } else { lean_inc(v_tail_379_); lean_inc(v_head_378_); lean_dec(v_x_373_); v___x_381_ = lean_box(0); v_isShared_382_ = v_isSharedCheck_393_; goto v_resetjp_380_; } v_resetjp_380_: { lean_object* v___x_383_; uint8_t v___x_384_; lean_inc(v_head_378_); v___x_383_ = l_String_toName(v_head_378_); v___x_384_ = l_Lean_Name_isAnonymous(v___x_383_); if (v___x_384_ == 0) { lean_object* v___x_386_; lean_dec(v_head_378_); if (v_isShared_382_ == 0) { lean_ctor_set(v___x_381_, 1, v_x_374_); lean_ctor_set(v___x_381_, 0, v___x_383_); v___x_386_ = v___x_381_; goto v_reusejp_385_; } else { lean_object* v_reuseFailAlloc_388_; v_reuseFailAlloc_388_ = lean_alloc_ctor(1, 2, 0); lean_ctor_set(v_reuseFailAlloc_388_, 0, v___x_383_); lean_ctor_set(v_reuseFailAlloc_388_, 1, v_x_374_); v___x_386_ = v_reuseFailAlloc_388_; goto v_reusejp_385_; } v_reusejp_385_: { v_x_373_ = v_tail_379_; v_x_374_ = v___x_386_; goto _start; } } else { lean_object* v___x_389_; lean_object* v___x_390_; lean_object* v___x_391_; lean_object* v___x_392_; lean_dec(v___x_383_); lean_del_object(v___x_381_); lean_dec(v_tail_379_); lean_dec(v_x_374_); v___x_389_ = ((lean_object*)(l_List_mapM_loop___at___00main_spec__6___closed__0)); v___x_390_ = lean_string_append(v___x_389_, v_head_378_); lean_dec(v_head_378_); v___x_391_ = lean_alloc_ctor(18, 1, 0); lean_ctor_set(v___x_391_, 0, v___x_390_); v___x_392_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v___x_392_, 0, v___x_391_); return v___x_392_; } } } } } LEAN_EXPORT lean_object* l_List_mapM_loop___at___00main_spec__6___boxed(lean_object* v_x_394_, lean_object* v_x_395_, lean_object* v___y_396_){ _start: { lean_object* v_res_397_; v_res_397_ = l_List_mapM_loop___at___00main_spec__6(v_x_394_, v_x_395_); return v_res_397_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5___redArg(uint8_t v___y_400_, lean_object* v_as_x27_401_, lean_object* v_b_402_){ _start: { if (lean_obj_tag(v_as_x27_401_) == 0) { lean_object* v___x_404_; v___x_404_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_404_, 0, v_b_402_); return v___x_404_; } else { lean_object* v_head_405_; lean_object* v_tail_406_; lean_object* v___x_407_; v_head_405_ = lean_ctor_get(v_as_x27_401_, 0); lean_inc(v_head_405_); v_tail_406_ = lean_ctor_get(v_as_x27_401_, 1); lean_inc(v_tail_406_); lean_dec_ref(v_as_x27_401_); v___x_407_ = lean_box(0); if (v___y_400_ == 0) { goto v___jp_408_; } else { lean_object* v___x_411_; lean_object* v___x_412_; lean_object* v___x_413_; lean_object* v___x_414_; lean_object* v___x_415_; lean_object* v___x_416_; v___x_411_ = ((lean_object*)(l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__0)); lean_inc(v_head_405_); v___x_412_ = l_Lean_Name_toStringWithToken___at___00Lean_Name_toString_spec__0(v_head_405_, v___y_400_); v___x_413_ = lean_string_append(v___x_411_, v___x_412_); lean_dec_ref(v___x_412_); v___x_414_ = ((lean_object*)(l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__1)); v___x_415_ = lean_string_append(v___x_413_, v___x_414_); v___x_416_ = l_IO_println___at___00__private_Lean_Language_Basic_0__Lean_Language_reportMessages_spec__3(v___x_415_); if (lean_obj_tag(v___x_416_) == 0) { lean_dec_ref(v___x_416_); goto v___jp_408_; } else { lean_dec(v_tail_406_); lean_dec(v_head_405_); return v___x_416_; } } v___jp_408_: { lean_object* v___x_409_; v___x_409_ = l_replayFromFresh(v_head_405_); if (lean_obj_tag(v___x_409_) == 0) { lean_dec_ref(v___x_409_); v_as_x27_401_ = v_tail_406_; v_b_402_ = v___x_407_; goto _start; } else { lean_dec(v_tail_406_); return v___x_409_; } } } } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5___redArg___boxed(lean_object* v___y_417_, lean_object* v_as_x27_418_, lean_object* v_b_419_, lean_object* v___y_420_){ _start: { uint8_t v___y_5439__boxed_421_; lean_object* v_res_422_; v___y_5439__boxed_421_ = lean_unbox(v___y_417_); v_res_422_ = l_List_forIn_x27_loop___at___00main_spec__5___redArg(v___y_5439__boxed_421_, v_as_x27_418_, v_b_419_); return v_res_422_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0(void){ _start: { lean_object* v___x_423_; lean_object* v___f_424_; v___x_423_ = lean_alloc_closure((void*)(l_instDecidableEqString___boxed), 2, 0); v___f_424_ = lean_alloc_closure((void*)(l_instBEqOfDecidableEq___redArg___lam__0___boxed), 3, 1); lean_closure_set(v___f_424_, 0, v___x_423_); return v___f_424_; } } LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1(lean_object* v_val_426_, lean_object* v_a_427_, lean_object* v_fst_428_, lean_object* v_as_429_, size_t v_sz_430_, size_t v_i_431_, lean_object* v_b_432_){ _start: { lean_object* v_a_435_; uint8_t v___x_439_; v___x_439_ = lean_usize_dec_lt(v_i_431_, v_sz_430_); if (v___x_439_ == 0) { lean_object* v___x_440_; lean_dec(v_fst_428_); lean_dec(v_val_426_); v___x_440_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_440_, 0, v_b_432_); return v___x_440_; } else { lean_object* v_a_441_; lean_object* v___x_442_; v_a_441_ = lean_array_uget_borrowed(v_as_429_, v_i_431_); lean_inc(v_val_426_); lean_inc(v_a_441_); v___x_442_ = l_Lean_searchModuleNameOfFileName(v_a_441_, v_val_426_); if (lean_obj_tag(v___x_442_) == 0) { lean_object* v_a_443_; lean_object* v___y_445_; v_a_443_ = lean_ctor_get(v___x_442_, 0); lean_inc(v_a_443_); lean_dec_ref(v___x_442_); if (lean_obj_tag(v_a_443_) == 1) { lean_object* v_fst_448_; lean_object* v_snd_449_; lean_object* v___x_451_; uint8_t v_isShared_452_; uint8_t v_isSharedCheck_466_; v_fst_448_ = lean_ctor_get(v_b_432_, 0); v_snd_449_ = lean_ctor_get(v_b_432_, 1); v_isSharedCheck_466_ = !lean_is_exclusive(v_b_432_); if (v_isSharedCheck_466_ == 0) { v___x_451_ = v_b_432_; v_isShared_452_ = v_isSharedCheck_466_; goto v_resetjp_450_; } else { lean_inc(v_snd_449_); lean_inc(v_fst_448_); lean_dec(v_b_432_); v___x_451_ = lean_box(0); v_isShared_452_ = v_isSharedCheck_466_; goto v_resetjp_450_; } v_resetjp_450_: { lean_object* v_val_453_; lean_object* v___f_462_; lean_object* v___x_463_; uint8_t v___x_464_; v_val_453_ = lean_ctor_get(v_a_443_, 0); lean_inc(v_val_453_); lean_dec_ref(v_a_443_); v___f_462_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0); v___x_463_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__1)); lean_inc(v_fst_428_); v___x_464_ = l_List_elem___redArg(v___f_462_, v___x_463_, v_fst_428_); if (v___x_464_ == 0) { uint8_t v___x_465_; v___x_465_ = l_Lean_Name_isPrefixOf(v_a_427_, v_val_453_); if (v___x_465_ == 0) { goto v___jp_457_; } else { lean_del_object(v___x_451_); lean_dec(v_snd_449_); goto v___jp_454_; } } else { goto v___jp_457_; } v___jp_454_: { uint8_t v___x_455_; v___x_455_ = l_List_elem___at___00__private_Lean_Class_0__Lean_initFn_00___x40_Lean_Class_1274053790____hygCtx___hyg_2__spec__1(v_val_453_, v_fst_448_); if (v___x_455_ == 0) { lean_object* v___x_456_; v___x_456_ = lean_alloc_ctor(1, 2, 0); lean_ctor_set(v___x_456_, 0, v_val_453_); lean_ctor_set(v___x_456_, 1, v_fst_448_); v___y_445_ = v___x_456_; goto v___jp_444_; } else { lean_dec(v_val_453_); v___y_445_ = v_fst_448_; goto v___jp_444_; } } v___jp_457_: { uint8_t v___x_458_; v___x_458_ = lean_name_eq(v_a_427_, v_val_453_); if (v___x_458_ == 0) { lean_object* v___x_460_; lean_dec(v_val_453_); if (v_isShared_452_ == 0) { v___x_460_ = v___x_451_; goto v_reusejp_459_; } else { lean_object* v_reuseFailAlloc_461_; v_reuseFailAlloc_461_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_461_, 0, v_fst_448_); lean_ctor_set(v_reuseFailAlloc_461_, 1, v_snd_449_); v___x_460_ = v_reuseFailAlloc_461_; goto v_reusejp_459_; } v_reusejp_459_: { v_a_435_ = v___x_460_; goto v___jp_434_; } } else { lean_del_object(v___x_451_); lean_dec(v_snd_449_); goto v___jp_454_; } } } } else { lean_object* v_fst_467_; lean_object* v_snd_468_; lean_object* v___x_470_; uint8_t v_isShared_471_; uint8_t v_isSharedCheck_475_; lean_dec(v_a_443_); v_fst_467_ = lean_ctor_get(v_b_432_, 0); v_snd_468_ = lean_ctor_get(v_b_432_, 1); v_isSharedCheck_475_ = !lean_is_exclusive(v_b_432_); if (v_isSharedCheck_475_ == 0) { v___x_470_ = v_b_432_; v_isShared_471_ = v_isSharedCheck_475_; goto v_resetjp_469_; } else { lean_inc(v_snd_468_); lean_inc(v_fst_467_); lean_dec(v_b_432_); v___x_470_ = lean_box(0); v_isShared_471_ = v_isSharedCheck_475_; goto v_resetjp_469_; } v_resetjp_469_: { lean_object* v___x_473_; if (v_isShared_471_ == 0) { v___x_473_ = v___x_470_; goto v_reusejp_472_; } else { lean_object* v_reuseFailAlloc_474_; v_reuseFailAlloc_474_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_474_, 0, v_fst_467_); lean_ctor_set(v_reuseFailAlloc_474_, 1, v_snd_468_); v___x_473_ = v_reuseFailAlloc_474_; goto v_reusejp_472_; } v_reusejp_472_: { v_a_435_ = v___x_473_; goto v___jp_434_; } } } v___jp_444_: { lean_object* v___x_446_; lean_object* v___x_447_; v___x_446_ = lean_box(v___x_439_); v___x_447_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v___x_447_, 0, v___y_445_); lean_ctor_set(v___x_447_, 1, v___x_446_); v_a_435_ = v___x_447_; goto v___jp_434_; } } else { lean_object* v_a_476_; lean_object* v___x_478_; uint8_t v_isShared_479_; uint8_t v_isSharedCheck_483_; lean_dec_ref(v_b_432_); lean_dec(v_fst_428_); lean_dec(v_val_426_); v_a_476_ = lean_ctor_get(v___x_442_, 0); v_isSharedCheck_483_ = !lean_is_exclusive(v___x_442_); if (v_isSharedCheck_483_ == 0) { v___x_478_ = v___x_442_; v_isShared_479_ = v_isSharedCheck_483_; goto v_resetjp_477_; } else { lean_inc(v_a_476_); lean_dec(v___x_442_); v___x_478_ = lean_box(0); v_isShared_479_ = v_isSharedCheck_483_; goto v_resetjp_477_; } v_resetjp_477_: { lean_object* v___x_481_; if (v_isShared_479_ == 0) { v___x_481_ = v___x_478_; goto v_reusejp_480_; } else { lean_object* v_reuseFailAlloc_482_; v_reuseFailAlloc_482_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_482_, 0, v_a_476_); v___x_481_ = v_reuseFailAlloc_482_; goto v_reusejp_480_; } v_reusejp_480_: { return v___x_481_; } } } } v___jp_434_: { size_t v___x_436_; size_t v___x_437_; v___x_436_ = ((size_t)1ULL); v___x_437_ = lean_usize_add(v_i_431_, v___x_436_); v_i_431_ = v___x_437_; v_b_432_ = v_a_435_; goto _start; } } } LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___boxed(lean_object* v_val_484_, lean_object* v_a_485_, lean_object* v_fst_486_, lean_object* v_as_487_, lean_object* v_sz_488_, lean_object* v_i_489_, lean_object* v_b_490_, lean_object* v___y_491_){ _start: { size_t v_sz_boxed_492_; size_t v_i_boxed_493_; lean_object* v_res_494_; v_sz_boxed_492_ = lean_unbox_usize(v_sz_488_); lean_dec(v_sz_488_); v_i_boxed_493_ = lean_unbox_usize(v_i_489_); lean_dec(v_i_489_); v_res_494_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1(v_val_484_, v_a_485_, v_fst_486_, v_as_487_, v_sz_boxed_492_, v_i_boxed_493_, v_b_490_); lean_dec_ref(v_as_487_); lean_dec(v_a_485_); return v_res_494_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2___redArg(lean_object* v_val_497_, lean_object* v_fst_498_, lean_object* v_as_x27_499_, lean_object* v_b_500_){ _start: { if (lean_obj_tag(v_as_x27_499_) == 0) { lean_object* v___x_502_; lean_dec(v_fst_498_); lean_dec(v_val_497_); v___x_502_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_502_, 0, v_b_500_); return v___x_502_; } else { lean_object* v_head_503_; lean_object* v_tail_504_; lean_object* v___x_506_; uint8_t v_isShared_507_; uint8_t v_isSharedCheck_552_; v_head_503_ = lean_ctor_get(v_as_x27_499_, 0); v_tail_504_ = lean_ctor_get(v_as_x27_499_, 1); v_isSharedCheck_552_ = !lean_is_exclusive(v_as_x27_499_); if (v_isSharedCheck_552_ == 0) { v___x_506_ = v_as_x27_499_; v_isShared_507_ = v_isSharedCheck_552_; goto v_resetjp_505_; } else { lean_inc(v_tail_504_); lean_inc(v_head_503_); lean_dec(v_as_x27_499_); v___x_506_ = lean_box(0); v_isShared_507_ = v_isSharedCheck_552_; goto v_resetjp_505_; } v_resetjp_505_: { lean_object* v___x_508_; lean_object* v___x_509_; v___x_508_ = ((lean_object*)(l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__0)); lean_inc(v_val_497_); v___x_509_ = l_Lean_SearchPath_findAllWithExt(v_val_497_, v___x_508_); if (lean_obj_tag(v___x_509_) == 0) { lean_object* v_a_510_; uint8_t v___x_511_; lean_object* v___x_512_; lean_object* v___x_514_; v_a_510_ = lean_ctor_get(v___x_509_, 0); lean_inc(v_a_510_); lean_dec_ref(v___x_509_); v___x_511_ = 0; v___x_512_ = lean_box(v___x_511_); if (v_isShared_507_ == 0) { lean_ctor_set_tag(v___x_506_, 0); lean_ctor_set(v___x_506_, 1, v___x_512_); lean_ctor_set(v___x_506_, 0, v_b_500_); v___x_514_ = v___x_506_; goto v_reusejp_513_; } else { lean_object* v_reuseFailAlloc_543_; v_reuseFailAlloc_543_ = lean_alloc_ctor(0, 2, 0); lean_ctor_set(v_reuseFailAlloc_543_, 0, v_b_500_); lean_ctor_set(v_reuseFailAlloc_543_, 1, v___x_512_); v___x_514_ = v_reuseFailAlloc_543_; goto v_reusejp_513_; } v_reusejp_513_: { size_t v_sz_515_; size_t v___x_516_; lean_object* v___x_517_; v_sz_515_ = lean_array_size(v_a_510_); v___x_516_ = ((size_t)0ULL); lean_inc(v_fst_498_); lean_inc(v_val_497_); v___x_517_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1(v_val_497_, v_head_503_, v_fst_498_, v_a_510_, v_sz_515_, v___x_516_, v___x_514_); lean_dec(v_a_510_); if (lean_obj_tag(v___x_517_) == 0) { lean_object* v_a_518_; lean_object* v___x_520_; uint8_t v_isShared_521_; uint8_t v_isSharedCheck_534_; v_a_518_ = lean_ctor_get(v___x_517_, 0); v_isSharedCheck_534_ = !lean_is_exclusive(v___x_517_); if (v_isSharedCheck_534_ == 0) { v___x_520_ = v___x_517_; v_isShared_521_ = v_isSharedCheck_534_; goto v_resetjp_519_; } else { lean_inc(v_a_518_); lean_dec(v___x_517_); v___x_520_ = lean_box(0); v_isShared_521_ = v_isSharedCheck_534_; goto v_resetjp_519_; } v_resetjp_519_: { lean_object* v_snd_522_; uint8_t v___x_523_; v_snd_522_ = lean_ctor_get(v_a_518_, 1); v___x_523_ = lean_unbox(v_snd_522_); if (v___x_523_ == 0) { uint8_t v___x_524_; lean_object* v___x_525_; lean_object* v___x_526_; lean_object* v___x_527_; lean_object* v___x_528_; lean_object* v___x_530_; lean_dec(v_a_518_); lean_dec(v_tail_504_); lean_dec(v_fst_498_); lean_dec(v_val_497_); v___x_524_ = 1; v___x_525_ = ((lean_object*)(l_List_forIn_x27_loop___at___00main_spec__2___redArg___closed__1)); v___x_526_ = l_Lean_Name_toStringWithToken___at___00Lean_Name_toString_spec__0(v_head_503_, v___x_524_); v___x_527_ = lean_string_append(v___x_525_, v___x_526_); lean_dec_ref(v___x_526_); v___x_528_ = lean_alloc_ctor(18, 1, 0); lean_ctor_set(v___x_528_, 0, v___x_527_); if (v_isShared_521_ == 0) { lean_ctor_set_tag(v___x_520_, 1); lean_ctor_set(v___x_520_, 0, v___x_528_); v___x_530_ = v___x_520_; goto v_reusejp_529_; } else { lean_object* v_reuseFailAlloc_531_; v_reuseFailAlloc_531_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_531_, 0, v___x_528_); v___x_530_ = v_reuseFailAlloc_531_; goto v_reusejp_529_; } v_reusejp_529_: { return v___x_530_; } } else { lean_object* v_fst_532_; lean_del_object(v___x_520_); lean_dec(v_head_503_); v_fst_532_ = lean_ctor_get(v_a_518_, 0); lean_inc(v_fst_532_); lean_dec(v_a_518_); v_as_x27_499_ = v_tail_504_; v_b_500_ = v_fst_532_; goto _start; } } } else { lean_object* v_a_535_; lean_object* v___x_537_; uint8_t v_isShared_538_; uint8_t v_isSharedCheck_542_; lean_dec(v_tail_504_); lean_dec(v_head_503_); lean_dec(v_fst_498_); lean_dec(v_val_497_); v_a_535_ = lean_ctor_get(v___x_517_, 0); v_isSharedCheck_542_ = !lean_is_exclusive(v___x_517_); if (v_isSharedCheck_542_ == 0) { v___x_537_ = v___x_517_; v_isShared_538_ = v_isSharedCheck_542_; goto v_resetjp_536_; } else { lean_inc(v_a_535_); lean_dec(v___x_517_); v___x_537_ = lean_box(0); v_isShared_538_ = v_isSharedCheck_542_; goto v_resetjp_536_; } v_resetjp_536_: { lean_object* v___x_540_; if (v_isShared_538_ == 0) { v___x_540_ = v___x_537_; goto v_reusejp_539_; } else { lean_object* v_reuseFailAlloc_541_; v_reuseFailAlloc_541_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_541_, 0, v_a_535_); v___x_540_ = v_reuseFailAlloc_541_; goto v_reusejp_539_; } v_reusejp_539_: { return v___x_540_; } } } } } else { lean_object* v_a_544_; lean_object* v___x_546_; uint8_t v_isShared_547_; uint8_t v_isSharedCheck_551_; lean_del_object(v___x_506_); lean_dec(v_tail_504_); lean_dec(v_head_503_); lean_dec(v_b_500_); lean_dec(v_fst_498_); lean_dec(v_val_497_); v_a_544_ = lean_ctor_get(v___x_509_, 0); v_isSharedCheck_551_ = !lean_is_exclusive(v___x_509_); if (v_isSharedCheck_551_ == 0) { v___x_546_ = v___x_509_; v_isShared_547_ = v_isSharedCheck_551_; goto v_resetjp_545_; } else { lean_inc(v_a_544_); lean_dec(v___x_509_); v___x_546_ = lean_box(0); v_isShared_547_ = v_isSharedCheck_551_; goto v_resetjp_545_; } v_resetjp_545_: { lean_object* v___x_549_; if (v_isShared_547_ == 0) { v___x_549_ = v___x_546_; goto v_reusejp_548_; } else { lean_object* v_reuseFailAlloc_550_; v_reuseFailAlloc_550_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_550_, 0, v_a_544_); v___x_549_ = v_reuseFailAlloc_550_; goto v_reusejp_548_; } v_reusejp_548_: { return v___x_549_; } } } } } } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2___redArg___boxed(lean_object* v_val_553_, lean_object* v_fst_554_, lean_object* v_as_x27_555_, lean_object* v_b_556_, lean_object* v___y_557_){ _start: { lean_object* v_res_558_; v_res_558_ = l_List_forIn_x27_loop___at___00main_spec__2___redArg(v_val_553_, v_fst_554_, v_as_x27_555_, v_b_556_); return v_res_558_; } } LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4(uint8_t v___y_560_, lean_object* v_as_561_, size_t v_sz_562_, size_t v_i_563_, lean_object* v_b_564_){ _start: { uint8_t v___x_566_; v___x_566_ = lean_usize_dec_lt(v_i_563_, v_sz_562_); if (v___x_566_ == 0) { lean_object* v___x_567_; v___x_567_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_567_, 0, v_b_564_); return v___x_567_; } else { lean_object* v_a_568_; lean_object* v_fst_569_; lean_object* v_snd_570_; lean_object* v___x_571_; v_a_568_ = lean_array_uget_borrowed(v_as_561_, v_i_563_); v_fst_569_ = lean_ctor_get(v_a_568_, 0); v_snd_570_ = lean_ctor_get(v_a_568_, 1); v___x_571_ = lean_box(0); if (v___y_560_ == 0) { goto v___jp_572_; } else { lean_object* v___x_590_; lean_object* v___x_591_; lean_object* v___x_592_; lean_object* v___x_593_; v___x_590_ = ((lean_object*)(l_List_forIn_x27_loop___at___00main_spec__5___redArg___closed__0)); lean_inc(v_fst_569_); v___x_591_ = l_Lean_Name_toStringWithToken___at___00Lean_Name_toString_spec__0(v_fst_569_, v___y_560_); v___x_592_ = lean_string_append(v___x_590_, v___x_591_); lean_dec_ref(v___x_591_); v___x_593_ = l_IO_println___at___00__private_Lean_Language_Basic_0__Lean_Language_reportMessages_spec__3(v___x_592_); if (lean_obj_tag(v___x_593_) == 0) { lean_dec_ref(v___x_593_); goto v___jp_572_; } else { return v___x_593_; } } v___jp_572_: { lean_object* v___x_573_; lean_inc(v_snd_570_); v___x_573_ = lean_task_get_own(v_snd_570_); if (lean_obj_tag(v___x_573_) == 0) { lean_object* v_a_574_; lean_object* v___x_575_; lean_object* v___x_576_; lean_object* v___x_577_; lean_object* v___x_578_; v_a_574_ = lean_ctor_get(v___x_573_, 0); lean_inc(v_a_574_); lean_dec_ref(v___x_573_); v___x_575_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4___closed__0)); lean_inc(v_fst_569_); v___x_576_ = l_Lean_Name_toStringWithToken___at___00Lean_Name_toString_spec__0(v_fst_569_, v___x_566_); v___x_577_ = lean_string_append(v___x_575_, v___x_576_); lean_dec_ref(v___x_576_); v___x_578_ = l_IO_eprintln___at___00__private_Init_System_IO_0__IO_eprintlnAux_spec__0(v___x_577_); if (lean_obj_tag(v___x_578_) == 0) { lean_object* v___x_580_; uint8_t v_isShared_581_; uint8_t v_isSharedCheck_585_; v_isSharedCheck_585_ = !lean_is_exclusive(v___x_578_); if (v_isSharedCheck_585_ == 0) { lean_object* v_unused_586_; v_unused_586_ = lean_ctor_get(v___x_578_, 0); lean_dec(v_unused_586_); v___x_580_ = v___x_578_; v_isShared_581_ = v_isSharedCheck_585_; goto v_resetjp_579_; } else { lean_dec(v___x_578_); v___x_580_ = lean_box(0); v_isShared_581_ = v_isSharedCheck_585_; goto v_resetjp_579_; } v_resetjp_579_: { lean_object* v___x_583_; if (v_isShared_581_ == 0) { lean_ctor_set_tag(v___x_580_, 1); lean_ctor_set(v___x_580_, 0, v_a_574_); v___x_583_ = v___x_580_; goto v_reusejp_582_; } else { lean_object* v_reuseFailAlloc_584_; v_reuseFailAlloc_584_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_584_, 0, v_a_574_); v___x_583_ = v_reuseFailAlloc_584_; goto v_reusejp_582_; } v_reusejp_582_: { return v___x_583_; } } } else { lean_dec(v_a_574_); return v___x_578_; } } else { size_t v___x_587_; size_t v___x_588_; lean_dec(v___x_573_); v___x_587_ = ((size_t)1ULL); v___x_588_ = lean_usize_add(v_i_563_, v___x_587_); v_i_563_ = v___x_588_; v_b_564_ = v___x_571_; goto _start; } } } } } LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4___boxed(lean_object* v___y_594_, lean_object* v_as_595_, lean_object* v_sz_596_, lean_object* v_i_597_, lean_object* v_b_598_, lean_object* v___y_599_){ _start: { uint8_t v___y_5699__boxed_600_; size_t v_sz_boxed_601_; size_t v_i_boxed_602_; lean_object* v_res_603_; v___y_5699__boxed_600_ = lean_unbox(v___y_594_); v_sz_boxed_601_ = lean_unbox_usize(v_sz_596_); lean_dec(v_sz_596_); v_i_boxed_602_ = lean_unbox_usize(v_i_597_); lean_dec(v_i_597_); v_res_603_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4(v___y_5699__boxed_600_, v_as_595_, v_sz_boxed_601_, v_i_boxed_602_, v_b_598_); lean_dec_ref(v_as_595_); return v_res_603_; } } static lean_object* _init_l_main___boxed__const__1(void){ _start: { uint32_t v___x_612_; lean_object* v___x_613_; v___x_612_ = 0; v___x_613_ = lean_box_uint32(v___x_612_); return v___x_613_; } } LEAN_EXPORT lean_object* _lean_main(lean_object* v_args_614_){ _start: { lean_object* v___x_619_; lean_object* v___x_620_; v___x_619_ = ((lean_object*)(l_main___closed__0)); v___x_620_ = l_Lean_findSysroot(v___x_619_); if (lean_obj_tag(v___x_620_) == 0) { lean_object* v_a_621_; lean_object* v___x_622_; lean_object* v___x_623_; v_a_621_ = lean_ctor_get(v___x_620_, 0); lean_inc(v_a_621_); lean_dec_ref(v___x_620_); v___x_622_ = lean_box(0); v___x_623_ = l_Lean_initSearchPath(v_a_621_, v___x_622_); if (lean_obj_tag(v___x_623_) == 0) { lean_object* v___x_624_; lean_object* v___x_625_; lean_object* v_fst_626_; lean_object* v_snd_627_; lean_object* v___x_629_; uint8_t v_isShared_630_; uint8_t v_isSharedCheck_725_; lean_dec_ref(v___x_623_); v___x_624_ = ((lean_object*)(l_main___closed__1)); v___x_625_ = l_List_partition_loop___at___00main_spec__0(v_args_614_, v___x_624_); v_fst_626_ = lean_ctor_get(v___x_625_, 0); v_snd_627_ = lean_ctor_get(v___x_625_, 1); v_isSharedCheck_725_ = !lean_is_exclusive(v___x_625_); if (v_isSharedCheck_725_ == 0) { v___x_629_ = v___x_625_; v_isShared_630_ = v_isSharedCheck_725_; goto v_resetjp_628_; } else { lean_inc(v_snd_627_); lean_inc(v_fst_626_); lean_dec(v___x_625_); v___x_629_ = lean_box(0); v_isShared_630_ = v_isSharedCheck_725_; goto v_resetjp_628_; } v_resetjp_628_: { lean_object* v___f_631_; uint8_t v___y_633_; lean_object* v_targets_634_; uint8_t v___y_697_; lean_object* v___x_721_; uint8_t v___x_722_; v___f_631_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__0); v___x_721_ = ((lean_object*)(l_main___closed__4)); lean_inc(v_fst_626_); v___x_722_ = l_List_elem___redArg(v___f_631_, v___x_721_, v_fst_626_); if (v___x_722_ == 0) { lean_object* v___x_723_; uint8_t v___x_724_; v___x_723_ = ((lean_object*)(l_main___closed__5)); lean_inc(v_fst_626_); v___x_724_ = l_List_elem___redArg(v___f_631_, v___x_723_, v_fst_626_); v___y_697_ = v___x_724_; goto v___jp_696_; } else { v___y_697_ = v___x_722_; goto v___jp_696_; } v___jp_632_: { lean_object* v___x_635_; lean_object* v___x_636_; lean_object* v___x_637_; v___x_635_ = l_Lean_searchPathRef; v___x_636_ = lean_st_ref_get(v___x_635_); lean_inc(v_fst_626_); v___x_637_ = l_List_forIn_x27_loop___at___00main_spec__2___redArg(v___x_636_, v_fst_626_, v_targets_634_, v___x_622_); if (lean_obj_tag(v___x_637_) == 0) { lean_object* v_a_638_; lean_object* v___x_640_; uint8_t v_isShared_641_; uint8_t v_isSharedCheck_687_; v_a_638_ = lean_ctor_get(v___x_637_, 0); v_isSharedCheck_687_ = !lean_is_exclusive(v___x_637_); if (v_isSharedCheck_687_ == 0) { v___x_640_ = v___x_637_; v_isShared_641_ = v_isSharedCheck_687_; goto v_resetjp_639_; } else { lean_inc(v_a_638_); lean_dec(v___x_637_); v___x_640_ = lean_box(0); v_isShared_641_ = v_isSharedCheck_687_; goto v_resetjp_639_; } v_resetjp_639_: { lean_object* v___x_642_; uint8_t v___x_643_; v___x_642_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__1___closed__1)); v___x_643_ = l_List_elem___redArg(v___f_631_, v___x_642_, v_fst_626_); if (v___x_643_ == 0) { lean_object* v___x_644_; lean_object* v___x_645_; lean_del_object(v___x_640_); v___x_644_ = ((lean_object*)(l_main___closed__2)); v___x_645_ = l_List_forIn_x27_loop___at___00main_spec__3___redArg(v_a_638_, v___x_644_); if (lean_obj_tag(v___x_645_) == 0) { lean_object* v_a_646_; lean_object* v___x_647_; size_t v_sz_648_; size_t v___x_649_; lean_object* v___x_650_; v_a_646_ = lean_ctor_get(v___x_645_, 0); lean_inc(v_a_646_); lean_dec_ref(v___x_645_); v___x_647_ = lean_box(0); v_sz_648_ = lean_array_size(v_a_646_); v___x_649_ = ((size_t)0ULL); v___x_650_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00main_spec__4(v___y_633_, v_a_646_, v_sz_648_, v___x_649_, v___x_647_); lean_dec(v_a_646_); if (lean_obj_tag(v___x_650_) == 0) { lean_dec_ref(v___x_650_); goto v___jp_616_; } else { lean_object* v_a_651_; lean_object* v___x_653_; uint8_t v_isShared_654_; uint8_t v_isSharedCheck_658_; v_a_651_ = lean_ctor_get(v___x_650_, 0); v_isSharedCheck_658_ = !lean_is_exclusive(v___x_650_); if (v_isSharedCheck_658_ == 0) { v___x_653_ = v___x_650_; v_isShared_654_ = v_isSharedCheck_658_; goto v_resetjp_652_; } else { lean_inc(v_a_651_); lean_dec(v___x_650_); v___x_653_ = lean_box(0); v_isShared_654_ = v_isSharedCheck_658_; goto v_resetjp_652_; } v_resetjp_652_: { lean_object* v___x_656_; if (v_isShared_654_ == 0) { v___x_656_ = v___x_653_; goto v_reusejp_655_; } else { lean_object* v_reuseFailAlloc_657_; v_reuseFailAlloc_657_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_657_, 0, v_a_651_); v___x_656_ = v_reuseFailAlloc_657_; goto v_reusejp_655_; } v_reusejp_655_: { return v___x_656_; } } } } else { lean_object* v_a_659_; lean_object* v___x_661_; uint8_t v_isShared_662_; uint8_t v_isSharedCheck_666_; v_a_659_ = lean_ctor_get(v___x_645_, 0); v_isSharedCheck_666_ = !lean_is_exclusive(v___x_645_); if (v_isSharedCheck_666_ == 0) { v___x_661_ = v___x_645_; v_isShared_662_ = v_isSharedCheck_666_; goto v_resetjp_660_; } else { lean_inc(v_a_659_); lean_dec(v___x_645_); v___x_661_ = lean_box(0); v_isShared_662_ = v_isSharedCheck_666_; goto v_resetjp_660_; } v_resetjp_660_: { lean_object* v___x_664_; if (v_isShared_662_ == 0) { v___x_664_ = v___x_661_; goto v_reusejp_663_; } else { lean_object* v_reuseFailAlloc_665_; v_reuseFailAlloc_665_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_665_, 0, v_a_659_); v___x_664_ = v_reuseFailAlloc_665_; goto v_reusejp_663_; } v_reusejp_663_: { return v___x_664_; } } } } else { lean_object* v___x_667_; lean_object* v___x_668_; uint8_t v___x_669_; v___x_667_ = l_List_lengthTR___redArg(v_a_638_); v___x_668_ = lean_unsigned_to_nat(1u); v___x_669_ = lean_nat_dec_eq(v___x_667_, v___x_668_); lean_dec(v___x_667_); if (v___x_669_ == 0) { lean_object* v___x_670_; lean_object* v___x_671_; lean_object* v___x_672_; lean_object* v___x_673_; lean_object* v___x_675_; v___x_670_ = ((lean_object*)(l_main___closed__3)); v___x_671_ = l_List_toString___at___00Lean_Environment_AddConstAsyncResult_commitConst_spec__1(v_a_638_); v___x_672_ = lean_string_append(v___x_670_, v___x_671_); lean_dec_ref(v___x_671_); v___x_673_ = lean_alloc_ctor(18, 1, 0); lean_ctor_set(v___x_673_, 0, v___x_672_); if (v_isShared_641_ == 0) { lean_ctor_set_tag(v___x_640_, 1); lean_ctor_set(v___x_640_, 0, v___x_673_); v___x_675_ = v___x_640_; goto v_reusejp_674_; } else { lean_object* v_reuseFailAlloc_676_; v_reuseFailAlloc_676_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_676_, 0, v___x_673_); v___x_675_ = v_reuseFailAlloc_676_; goto v_reusejp_674_; } v_reusejp_674_: { return v___x_675_; } } else { lean_object* v___x_677_; lean_object* v___x_678_; lean_del_object(v___x_640_); v___x_677_ = lean_box(0); v___x_678_ = l_List_forIn_x27_loop___at___00main_spec__5___redArg(v___y_633_, v_a_638_, v___x_677_); if (lean_obj_tag(v___x_678_) == 0) { lean_dec_ref(v___x_678_); goto v___jp_616_; } else { lean_object* v_a_679_; lean_object* v___x_681_; uint8_t v_isShared_682_; uint8_t v_isSharedCheck_686_; v_a_679_ = lean_ctor_get(v___x_678_, 0); v_isSharedCheck_686_ = !lean_is_exclusive(v___x_678_); if (v_isSharedCheck_686_ == 0) { v___x_681_ = v___x_678_; v_isShared_682_ = v_isSharedCheck_686_; goto v_resetjp_680_; } else { lean_inc(v_a_679_); lean_dec(v___x_678_); v___x_681_ = lean_box(0); v_isShared_682_ = v_isSharedCheck_686_; goto v_resetjp_680_; } v_resetjp_680_: { lean_object* v___x_684_; if (v_isShared_682_ == 0) { v___x_684_ = v___x_681_; goto v_reusejp_683_; } else { lean_object* v_reuseFailAlloc_685_; v_reuseFailAlloc_685_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_685_, 0, v_a_679_); v___x_684_ = v_reuseFailAlloc_685_; goto v_reusejp_683_; } v_reusejp_683_: { return v___x_684_; } } } } } } } else { lean_object* v_a_688_; lean_object* v___x_690_; uint8_t v_isShared_691_; uint8_t v_isSharedCheck_695_; lean_dec(v_fst_626_); v_a_688_ = lean_ctor_get(v___x_637_, 0); v_isSharedCheck_695_ = !lean_is_exclusive(v___x_637_); if (v_isSharedCheck_695_ == 0) { v___x_690_ = v___x_637_; v_isShared_691_ = v_isSharedCheck_695_; goto v_resetjp_689_; } else { lean_inc(v_a_688_); lean_dec(v___x_637_); v___x_690_ = lean_box(0); v_isShared_691_ = v_isSharedCheck_695_; goto v_resetjp_689_; } v_resetjp_689_: { lean_object* v___x_693_; if (v_isShared_691_ == 0) { v___x_693_ = v___x_690_; goto v_reusejp_692_; } else { lean_object* v_reuseFailAlloc_694_; v_reuseFailAlloc_694_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_694_, 0, v_a_688_); v___x_693_ = v_reuseFailAlloc_694_; goto v_reusejp_692_; } v_reusejp_692_: { return v___x_693_; } } } } v___jp_696_: { if (lean_obj_tag(v_snd_627_) == 0) { lean_object* v___x_698_; v___x_698_ = l_getCurrentModule(); if (lean_obj_tag(v___x_698_) == 0) { lean_object* v_a_699_; lean_object* v___x_701_; v_a_699_ = lean_ctor_get(v___x_698_, 0); lean_inc(v_a_699_); lean_dec_ref(v___x_698_); if (v_isShared_630_ == 0) { lean_ctor_set_tag(v___x_629_, 1); lean_ctor_set(v___x_629_, 1, v___x_622_); lean_ctor_set(v___x_629_, 0, v_a_699_); v___x_701_ = v___x_629_; goto v_reusejp_700_; } else { lean_object* v_reuseFailAlloc_702_; v_reuseFailAlloc_702_ = lean_alloc_ctor(1, 2, 0); lean_ctor_set(v_reuseFailAlloc_702_, 0, v_a_699_); lean_ctor_set(v_reuseFailAlloc_702_, 1, v___x_622_); v___x_701_ = v_reuseFailAlloc_702_; goto v_reusejp_700_; } v_reusejp_700_: { v___y_633_ = v___y_697_; v_targets_634_ = v___x_701_; goto v___jp_632_; } } else { lean_object* v_a_703_; lean_object* v___x_705_; uint8_t v_isShared_706_; uint8_t v_isSharedCheck_710_; lean_del_object(v___x_629_); lean_dec(v_fst_626_); v_a_703_ = lean_ctor_get(v___x_698_, 0); v_isSharedCheck_710_ = !lean_is_exclusive(v___x_698_); if (v_isSharedCheck_710_ == 0) { v___x_705_ = v___x_698_; v_isShared_706_ = v_isSharedCheck_710_; goto v_resetjp_704_; } else { lean_inc(v_a_703_); lean_dec(v___x_698_); v___x_705_ = lean_box(0); v_isShared_706_ = v_isSharedCheck_710_; goto v_resetjp_704_; } v_resetjp_704_: { lean_object* v___x_708_; if (v_isShared_706_ == 0) { v___x_708_ = v___x_705_; goto v_reusejp_707_; } else { lean_object* v_reuseFailAlloc_709_; v_reuseFailAlloc_709_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_709_, 0, v_a_703_); v___x_708_ = v_reuseFailAlloc_709_; goto v_reusejp_707_; } v_reusejp_707_: { return v___x_708_; } } } } else { lean_object* v___x_711_; lean_del_object(v___x_629_); v___x_711_ = l_List_mapM_loop___at___00main_spec__6(v_snd_627_, v___x_622_); if (lean_obj_tag(v___x_711_) == 0) { lean_object* v_a_712_; v_a_712_ = lean_ctor_get(v___x_711_, 0); lean_inc(v_a_712_); lean_dec_ref(v___x_711_); v___y_633_ = v___y_697_; v_targets_634_ = v_a_712_; goto v___jp_632_; } else { lean_object* v_a_713_; lean_object* v___x_715_; uint8_t v_isShared_716_; uint8_t v_isSharedCheck_720_; lean_dec(v_fst_626_); v_a_713_ = lean_ctor_get(v___x_711_, 0); v_isSharedCheck_720_ = !lean_is_exclusive(v___x_711_); if (v_isSharedCheck_720_ == 0) { v___x_715_ = v___x_711_; v_isShared_716_ = v_isSharedCheck_720_; goto v_resetjp_714_; } else { lean_inc(v_a_713_); lean_dec(v___x_711_); v___x_715_ = lean_box(0); v_isShared_716_ = v_isSharedCheck_720_; goto v_resetjp_714_; } v_resetjp_714_: { lean_object* v___x_718_; if (v_isShared_716_ == 0) { v___x_718_ = v___x_715_; goto v_reusejp_717_; } else { lean_object* v_reuseFailAlloc_719_; v_reuseFailAlloc_719_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_719_, 0, v_a_713_); v___x_718_ = v_reuseFailAlloc_719_; goto v_reusejp_717_; } v_reusejp_717_: { return v___x_718_; } } } } } } } else { lean_object* v_a_726_; lean_object* v___x_728_; uint8_t v_isShared_729_; uint8_t v_isSharedCheck_733_; lean_dec(v_args_614_); v_a_726_ = lean_ctor_get(v___x_623_, 0); v_isSharedCheck_733_ = !lean_is_exclusive(v___x_623_); if (v_isSharedCheck_733_ == 0) { v___x_728_ = v___x_623_; v_isShared_729_ = v_isSharedCheck_733_; goto v_resetjp_727_; } else { lean_inc(v_a_726_); lean_dec(v___x_623_); v___x_728_ = lean_box(0); v_isShared_729_ = v_isSharedCheck_733_; goto v_resetjp_727_; } v_resetjp_727_: { lean_object* v___x_731_; if (v_isShared_729_ == 0) { v___x_731_ = v___x_728_; goto v_reusejp_730_; } else { lean_object* v_reuseFailAlloc_732_; v_reuseFailAlloc_732_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_732_, 0, v_a_726_); v___x_731_ = v_reuseFailAlloc_732_; goto v_reusejp_730_; } v_reusejp_730_: { return v___x_731_; } } } } else { lean_object* v_a_734_; lean_object* v___x_736_; uint8_t v_isShared_737_; uint8_t v_isSharedCheck_741_; lean_dec(v_args_614_); v_a_734_ = lean_ctor_get(v___x_620_, 0); v_isSharedCheck_741_ = !lean_is_exclusive(v___x_620_); if (v_isSharedCheck_741_ == 0) { v___x_736_ = v___x_620_; v_isShared_737_ = v_isSharedCheck_741_; goto v_resetjp_735_; } else { lean_inc(v_a_734_); lean_dec(v___x_620_); v___x_736_ = lean_box(0); v_isShared_737_ = v_isSharedCheck_741_; goto v_resetjp_735_; } v_resetjp_735_: { lean_object* v___x_739_; if (v_isShared_737_ == 0) { v___x_739_ = v___x_736_; goto v_reusejp_738_; } else { lean_object* v_reuseFailAlloc_740_; v_reuseFailAlloc_740_ = lean_alloc_ctor(1, 1, 0); lean_ctor_set(v_reuseFailAlloc_740_, 0, v_a_734_); v___x_739_ = v_reuseFailAlloc_740_; goto v_reusejp_738_; } v_reusejp_738_: { return v___x_739_; } } } v___jp_616_: { lean_object* v___x_617_; lean_object* v___x_618_; v___x_617_ = l_main___boxed__const__1; v___x_618_ = lean_alloc_ctor(0, 1, 0); lean_ctor_set(v___x_618_, 0, v___x_617_); return v___x_618_; } } } LEAN_EXPORT lean_object* l_main___boxed(lean_object* v_args_742_, lean_object* v_a_743_){ _start: { lean_object* v_res_744_; v_res_744_ = _lean_main(v_args_742_); return v_res_744_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2(lean_object* v_val_745_, lean_object* v_fst_746_, lean_object* v_as_747_, lean_object* v_as_x27_748_, lean_object* v_b_749_, lean_object* v_a_750_){ _start: { lean_object* v___x_752_; v___x_752_ = l_List_forIn_x27_loop___at___00main_spec__2___redArg(v_val_745_, v_fst_746_, v_as_x27_748_, v_b_749_); return v___x_752_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__2___boxed(lean_object* v_val_753_, lean_object* v_fst_754_, lean_object* v_as_755_, lean_object* v_as_x27_756_, lean_object* v_b_757_, lean_object* v_a_758_, lean_object* v___y_759_){ _start: { lean_object* v_res_760_; v_res_760_ = l_List_forIn_x27_loop___at___00main_spec__2(v_val_753_, v_fst_754_, v_as_755_, v_as_x27_756_, v_b_757_, v_a_758_); lean_dec(v_as_755_); return v_res_760_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3(lean_object* v_as_761_, lean_object* v_as_x27_762_, lean_object* v_b_763_, lean_object* v_a_764_){ _start: { lean_object* v___x_766_; v___x_766_ = l_List_forIn_x27_loop___at___00main_spec__3___redArg(v_as_x27_762_, v_b_763_); return v___x_766_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__3___boxed(lean_object* v_as_767_, lean_object* v_as_x27_768_, lean_object* v_b_769_, lean_object* v_a_770_, lean_object* v___y_771_){ _start: { lean_object* v_res_772_; v_res_772_ = l_List_forIn_x27_loop___at___00main_spec__3(v_as_767_, v_as_x27_768_, v_b_769_, v_a_770_); lean_dec(v_as_767_); return v_res_772_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5(uint8_t v___y_773_, lean_object* v_as_774_, lean_object* v_as_x27_775_, lean_object* v_b_776_, lean_object* v_a_777_){ _start: { lean_object* v___x_779_; v___x_779_ = l_List_forIn_x27_loop___at___00main_spec__5___redArg(v___y_773_, v_as_x27_775_, v_b_776_); return v___x_779_; } } LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00main_spec__5___boxed(lean_object* v___y_780_, lean_object* v_as_781_, lean_object* v_as_x27_782_, lean_object* v_b_783_, lean_object* v_a_784_, lean_object* v___y_785_){ _start: { uint8_t v___y_6074__boxed_786_; lean_object* v_res_787_; v___y_6074__boxed_786_ = lean_unbox(v___y_780_); v_res_787_ = l_List_forIn_x27_loop___at___00main_spec__5(v___y_6074__boxed_786_, v_as_781_, v_as_x27_782_, v_b_783_, v_a_784_); lean_dec(v_as_781_); return v_res_787_; } } lean_object* initialize_Init(uint8_t builtin); lean_object* initialize_Lean_CoreM(uint8_t builtin); lean_object* initialize_Lean_Replay(uint8_t builtin); lean_object* initialize_Lake_Load_Manifest(uint8_t builtin); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_LeanChecker(uint8_t builtin) { lean_object * res; if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); _G_initialized = true; res = initialize_Init(builtin); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_CoreM(builtin); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Replay(builtin); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lake_Load_Manifest(builtin); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_main___boxed__const__1 = _init_l_main___boxed__const__1(); lean_mark_persistent(l_main___boxed__const__1); return lean_io_result_mk_ok(lean_box(0)); } char ** lean_setup_args(int argc, char ** argv); void lean_initialize(); #if defined(WIN32) || defined(_WIN32) #include #endif lean_object* run_main(int argc, char ** argv) { lean_object* in = lean_box(0); int i = argc; while (i > 1) { lean_object* n; i--; n = lean_alloc_ctor(1,2,0); lean_ctor_set(n, 0, lean_mk_string(argv[i])); lean_ctor_set(n, 1, in); in = n; } return _lean_main(in); } int main(int argc, char ** argv) { #if defined(WIN32) || defined(_WIN32) SetErrorMode(SEM_FAILCRITICALERRORS); SetConsoleOutputCP(CP_UTF8); #endif lean_object* res; argv = lean_setup_args(argc, argv); lean_initialize(); res = initialize_LeanChecker(1 /* builtin */); lean_io_mark_end_initialization(); if (lean_io_result_is_ok(res)) { lean_dec_ref(res); lean_init_task_manager(); res = lean_run_main(&run_main, argc, argv); } lean_finalize_task_manager(); if (lean_io_result_is_ok(res)) { int ret = lean_unbox_uint32(lean_io_result_get_value(res)); lean_dec_ref(res); return ret; } else { lean_io_result_show_error(res); lean_dec_ref(res); return 1; } } #ifdef __cplusplus } #endif