#include "run-time.h"

/* Typedefs for referenced classes */

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D Pgf_cache_;
  D debug_name_;
  D generic_function_methods_;
  D discriminator_;
  D incremental_gf_module_;
  D incremental_gf_domain_info_;
  D incremental_gf_method_libraries_;
  D incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLfunction_classGVKi;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D mm_wrapper_implementation_class_; \
    D mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    D mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  D wrapper;
  D namespace_name_;
  D library_major_version_;
  D library_minor_version_;
  D library_build_count_;
  D used_libraries_;
  D all_used_libraries_;
  D runtime_module_;
  D library_defined_generics_;
  D library_number_static_dispatches_;
  D library_number_dynamic_dispatches_;
} _KLlibraryGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D Pgf_cache_;
  D debug_name_;
  D generic_function_methods_;
  D discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLempty_listGVKd;

typedef struct {
  D wrapper;
  D properties_;
  D engine_node_callback_;
  D engine_node_entry_point_;
} _KLabsent_engine_nodeGVKg;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(48);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(63);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(21);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(12);

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
} _KLsignatureGVKe;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    D vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(256);

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLpairGVKd;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
} _KLsimple_methodGVKe;

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_keys_;
  D signature_key_types_;
  D signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D union_type1_;
  D union_type2_;
} _KLunionGVKe;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  D wrapper;
  D symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
} _KLobject_signatureGVKe;

typedef struct {
  D wrapper;
  D object_dood_state_;
  D proxy_address_;
} _KLdood_address_proxyGVdood;

typedef struct {
  D wrapper;
  D xep_;
  D method_slot_descriptor_;
} _KLgetter_methodGVKi;

typedef struct {
  D wrapper;
  D slot_descriptor_properties_;
  D init_data_slot_;
  D slot_owner_;
  D init_keyword_;
  D slot_getter_;
  D slot_setter_;
  D slot_type_;
} _KLinstance_slot_descriptorGVKe;

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D xep_; \
    D function_signature_; \
    D mep_; \
    D environment_size_; \
    D environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);

typedef struct {
  D wrapper;
  D compilation_record_original_library_;
  D private_compilation_record_module_;
  D private_compilation_record_top_level_forms_;
  D compilation_record_definitions_installedQ_;
  D compilation_record_model_heap_;
  D private_compilation_record_heap_referenced_objects_;
  D compilation_record_needs_linkingQ_;
  D compilation_record_sequence_number_;
  D compilation_record_source_record_;
  D compilation_record_source_line_count_;
  D compilation_record_model_properties_;
  D private_compilation_record_dependency_table_;
  D private_compilation_record_dispatch_decisions_;
  D compilation_record_inline_only_table_;
  D private_compilation_record_back_end_data_;
  D compilation_record_approximate_model_heap_size_;
  D compilation_record_data_size_;
  D compilation_record_code_size_;
  D compilation_record_preceeding_line_count_;
} _KLcompilation_recordGVdfmc_common;

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D compiled_to_definitionsQ_;
  D compilation_from_definitions_startedQ_;
  D compilation_definitions_inconsistentQ_;
  D private_compilation_context_records_;
  D compilation_timings_;
} _KLcompilation_contextGVdfmc_common;

typedef struct {
  D wrapper;
  D xep_;
  D method_slot_descriptor_;
} _KLsetter_methodGVKi;

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLlistGVKd;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D subclass_class_;
} _KLsubclassGVKe;

typedef struct {
  D wrapper;
  D class_properties_;
  D iclass_class_;
  D class_mm_wrapper_;
  D repeated_slot_descriptor_;
  D instance_slot_descriptors_;
  D iclass_dispatch_key_;
  D class_constructor_;
  D direct_superclasses_;
  D class_rcpl_vector_;
  D class_rcpl_position_;
  D class_rcpl_other_positions_;
  D class_known_joint_;
  D iclass_dependent_generics_;
  D iclass_subclass_dependent_generics_;
  D direct_subclasses_;
  D direct_methods_;
  D direct_slot_descriptors_;
  D slot_descriptors_;
  D direct_inherited_slot_descriptors_;
  D direct_initialization_argument_descriptors_;
  D class_slot_descriptors_;
  D defaulted_initialization_arguments_slot_;
  D class_slot_storage_;
} _KLimplementation_classGVKe;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
  D iep_;
  D keyword_specifiers_;
} _KLkeyword_methodGVKe;

typedef struct {
  D wrapper;
  D emitted_name_;
} _KLemitted_objectGVdfmc_common;

typedef struct {
  D wrapper;
} _KLdood_mapped_objectGVdood;

typedef struct {
  D wrapper;
  D namespace_name_;
  D home_library_;
} _KLmoduleGVKe;

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
} _KLtop_level_formGVdfmc_common;


/* Typedefs for defined classes */

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
} _KLmodel_propertiesGVdfmc_common;


/* Referenced object declarations */

D KPadd_classVKeI (D);
D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLincremental_generic_functionGVKe Kdood_lazy_gettersVdood;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_common_libraryYdylan_userVdfmc_common;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
D Kimmutable_modelVdfmc_commonMM1I (D object_);
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lbyte_stringG_typesVKi;
extern _KLsealed_generic_functionGVKe Kcurrent_library_descriptionVdfmc_common;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lsimple_object_vectorG_typesVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LpairG_typesVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lbyte_characterG_typesVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LintegerG_typesVKi;
D Kimmutable_modelVdfmc_commonMM2I (D object_);
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLsealed_generic_functionGVKe Kemitted_nameVdfmc_common;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLsealed_generic_functionGVKe Kemitted_name_setterVdfmc_common;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLdood_address_proxyGVdood;
extern _KLmm_wrapperGVKi_0 KLdood_address_proxyGVdoodW;
D Kobject_classVKdI (D);
extern _KLsealed_generic_functionGVKe Kproxy_slot_descriptorVdood;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLsealed_generic_functionGVKe Kslot_getterVKe;
D Kdepth_format_outVdoodI (D, D);
extern _KLincremental_generic_functionGVKe KAVKd;
extern _KLsimple_methodGVKe Kdood_force_slot_value_proxyVdood;
extern _KLsimple_methodGVKe Kwalker_slot_value_setterVwalker;
extern _KLincremental_generic_functionGVKe K_VKd;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
D KerrorVKdMM1I (D, D);
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLsimple_methodGVKe Kcompilation_record_interactiveQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kcompilation_record_ofVdfmc_common;
extern _KLclassGVKd KLcompilation_recordGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLcompilation_recordGVdfmc_commonW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLsimple_methodGVKe Kcompilation_record_downloadedQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kcompilation_record_libraryVdfmc_common;
extern _KLclassGVKd KLcompilation_contextGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLcompilation_contextGVdfmc_commonW;
extern _KLsealed_generic_functionGVKe Kmodel_variable_using_definitionVdfmc_common;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
D Kdebug_assertion_failureVKiI (D, D);
extern _KLsealed_generic_functionGVKe Kcompilation_record_original_libraryVdfmc_common;
D KlistVKdI (D);
extern _KLsealed_generic_functionGVKe KconcatenateVKd;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LlistG_typesVKi;
extern _KLclassGVKd KLsubclassGVKe;
extern _KLmm_wrapperGVKi_0 KLsubclassGVKeW;
D Ksubclass_instanceQVKiI (D, D);
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLkeyword_methodGVKe Kdefault_class_constructorVKi;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLemitted_objectGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLemitted_objectGVdfmc_commonW;
extern _KLclassGVKd KLdood_mapped_objectGVdood;
extern _KLmm_wrapperGVKi_0 KLdood_mapped_objectGVdoodW;
extern _KLinstance_slot_descriptorGVKe Kemitted_nameVdfmc_commonHLemitted_objectG;
D Kclass_instanceQ_rcpl_single_smallVKiI (D, D);
extern _KLmoduleGVKe Kdfmc_common_moduleYdylan_userVdfmc_common;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLsealed_generic_functionGVKe Kform_compile_stage_onlyQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_source_locationVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_parent_formVdfmc_common;
extern _KLclassGVKd KLtop_level_formGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLtop_level_formGVdfmc_commonW;
extern D Ttrace_allocationQTVdood;
extern D Tprint_depthTVdood;
extern D Tcurrent_dependentTVdfmc_common;
extern D TdebuggingQTVKi;

/* Defined object declarations */

extern _KLclassGVKd KLmodel_propertiesGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLmodel_propertiesGVdfmc_commonW;
extern _KLsimple_methodGVKe Kdood_lazy_gettersVdoodMdfmc_commonM0;
D Kdood_lazy_gettersVdoodMdfmc_commonM0I (D);
extern _KLsimple_methodGVKe Kemitted_name_setterVdfmc_commonMM1;
D Kemitted_name_setterVdfmc_commonMM1I (D, D);
extern _KLsimple_methodGVKe Kemitted_nameVdfmc_commonMM1;
D Kemitted_nameVdfmc_commonMM1I (D);
extern _KLsealed_generic_functionGVKe Kstandard_model_objectVdfmc_common;
extern _KLsealed_generic_functionGVKe Kfind_model_properties_inVdfmc_common;
extern _KLsealed_generic_functionGVKe Kmapped_modelVdfmc_common;
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM0;
D Kmapped_modelVdfmc_commonMM0I (D);
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM1;
D Kmapped_modelVdfmc_commonMM1I (D);
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM2;
D Kmapped_modelVdfmc_commonMM2I (D);
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM3;
D Kmapped_modelVdfmc_commonMM3I (D);
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM4;
D Kmapped_modelVdfmc_commonMM4I (D);
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM5;
D Kmapped_modelVdfmc_commonMM5I (D);
extern _KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM6;
D Kmapped_modelVdfmc_commonMM6I (D);
static _KLpairGVKd K27;
static _KLpairGVKd K28;
static _KLpairGVKd K29;
static _KLpairGVKd K30;
static _KLpairGVKd K31;
static _KLpairGVKd K32;
static _KLpairGVKd K33;
static _KLsignatureGVKe K34;
static _KLbyte_stringGVKd_12 K35;
static _KLsignatureGVKe K36;
static _KLsignatureGVKe K37;
static _KLsignatureGVKe K38;
static _KLsignatureGVKe K39;
static _KLsignatureGVKe K40;
static _KLsignatureGVKe K41;
static _KLsimple_object_vectorGVKd_1 K42;
static _KLkeyword_signatureAvaluesGVKi K43;
static _KLbyte_stringGVKd_24 K44;
static _KLsimple_object_vectorGVKd_1 K45;
static _KLsimple_object_vectorGVKd_1 K46;
static _KLunionGVKe K47;
static _KLsingletonGVKd K48;
static _KLsymbolGVKd KJcreateQ_;
static _KLbyte_stringGVKd_7 K50;
extern _KLsimple_methodGVKe Kstandard_model_objectVdfmc_commonMM0;
D Kstandard_model_objectVdfmc_commonMM0I (D);
static _KLpairGVKd K53;
static _KLbyte_stringGVKd_21 K54;
extern _KLsealed_generic_functionGVKe Kmodel_creatorVdfmc_common;
extern _KLsimple_methodGVKe Kmodel_creatorVdfmc_commonMM0;
D Kmodel_creatorVdfmc_commonMM0I (D);
extern _KLsimple_methodGVKe Kmodel_creatorVdfmc_commonMM1;
D Kmodel_creatorVdfmc_commonMM1I (D);
static _KLpairGVKd K60;
static _KLpairGVKd K61;
static _KLbyte_stringGVKd_13 K62;
extern _KLsealed_generic_functionGVKe Kprivate_model_creatorVdfmc_common;
static _KLbyte_stringGVKd_14 K64;
extern _KLgetter_methodGVKi Kprivate_model_creatorVdfmc_commonMM0;
static _KLpairGVKd K66;
static _KLbyte_stringGVKd_21 K67;
extern _KLinstance_slot_descriptorGVKe Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG;
static _KLsimple_closure_methodGVKi_0 K71;
static D K71I ();
static _KLbyte_stringGVKd_63 K72;
static _KLsignatureGVKe K73;
extern _KLsimple_methodGVKe Kmodel_interactiveQVdfmc_common;
D Kmodel_interactiveQVdfmc_commonI (D);
D Kmodel_compilation_recordVdfmc_commonI (D);
static _KLunionGVKe K77;
static _KLsignatureAvaluesGVKi K78;
extern _KLsimple_methodGVKe Kmodel_downloadedQVdfmc_common;
D Kmodel_downloadedQVdfmc_commonI (D);
extern _KLsimple_methodGVKe Kmodel_libraryVdfmc_common;
D Kmodel_libraryVdfmc_commonI (D);
extern _KLsealed_generic_functionGVKe Kmodel_creator_libraryVdfmc_common;
extern _KLsimple_methodGVKe Kmodel_creator_libraryVdfmc_commonMM0;
D Kmodel_creator_libraryVdfmc_commonMM0I (D);
extern _KLsimple_methodGVKe Kmodel_creator_libraryVdfmc_commonMM1;
D Kmodel_creator_libraryVdfmc_commonMM1I (D);
static _KLpairGVKd K88;
static _KLpairGVKd K89;
static _KLbyte_stringGVKd_21 K90;
static _KLsignatureGVKe K91;
static _KLsimple_object_vectorGVKd_1 K92;
extern _KLsimple_methodGVKe Kmodel_variable_nameVdfmc_common;
D Kmodel_variable_nameVdfmc_commonI (D);
extern _KLsealed_generic_functionGVKe Kmodel_definitionVdfmc_common;
extern _KLsimple_methodGVKe Kmodel_definitionVdfmc_commonMM0;
D Kmodel_definitionVdfmc_commonMM0I (D);
extern _KLsimple_methodGVKe Kmodel_definitionVdfmc_commonMM1;
D Kmodel_definitionVdfmc_commonMM1I (D);
static _KLpairGVKd K100;
static _KLpairGVKd K101;
static _KLbyte_stringGVKd_16 K102;
extern _KLsealed_generic_functionGVKe Kprivate_model_definitionVdfmc_common;
extern _KLgetter_methodGVKi Kprivate_model_definitionVdfmc_commonMM0;
static _KLpairGVKd K105;
static _KLbyte_stringGVKd_24 K106;
extern _KLinstance_slot_descriptorGVKe Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG;
static _KLsymbolGVKd KJdefinition_;
extern _KLsealed_generic_functionGVKe Kprivate_model_definition_setterVdfmc_common;
extern _KLsetter_methodGVKi Kprivate_model_definition_setterVdfmc_commonMM0;
static _KLpairGVKd K111;
static _KLbyte_stringGVKd_31 K112;
static _KLbyte_stringGVKd_10 K113;
extern _KLsimple_methodGVKe Kmodel_original_libraryVdfmc_common;
D Kmodel_original_libraryVdfmc_commonI (D);
static _KLbyte_stringGVKd_48 K116;
extern _KLsimple_methodGVKe Kmodel_compilation_recordVdfmc_common;
static _KLsignatureAvaluesGVKi K118;
static _KLsimple_object_vectorGVKd_1 K119;
static _KLbyte_stringGVKd_15 K120;
static _KLsignatureAvaluesGVKi K121;
static _KLsimple_object_vectorGVKd_1 K122;
static _KLsubclassGVKe K123;
static _KLimplementation_classGVKe K124;
static _KLsimple_object_vectorGVKd_3 K125;
static _KLsimple_object_vectorGVKd_2 K126;
static _KLsimple_object_vectorGVKd_6 K127;
static _KLsimple_object_vectorGVKd_2 K128;
static _KLbyte_stringGVKd_18 K129;
extern _KLsimple_methodGVKe Kmodel_compile_stage_onlyQVdfmc_common;
D Kmodel_compile_stage_onlyQVdfmc_commonI (D);
extern _KLsimple_methodGVKe Kmodel_source_locationVdfmc_common;
D Kmodel_source_locationVdfmc_commonI (D);
extern _KLsimple_methodGVKe Kmodel_has_definitionQVdfmc_common;
D Kmodel_has_definitionQVdfmc_commonI (D);
extern _KLsealed_generic_functionGVKe Kmodel_definition_setterVdfmc_common;
extern _KLsimple_methodGVKe Kmodel_definition_setterVdfmc_commonMM0;
D Kmodel_definition_setterVdfmc_commonMM0I (D, D);
extern _KLsimple_methodGVKe Kmodel_definition_setterVdfmc_commonMM1;
D Kmodel_definition_setterVdfmc_commonMM1I (D, D);
static _KLpairGVKd K141;
static _KLpairGVKd K142;
static _KLbyte_stringGVKd_23 K143;
static _KLsignatureGVKe K144;
static _KLsimple_object_vectorGVKd_2 K145;
extern _KLsealed_generic_functionGVKe Kmaybe_model_libraryVdfmc_common;
extern _KLsimple_methodGVKe Kmaybe_model_libraryVdfmc_commonMM0;
D Kmaybe_model_libraryVdfmc_commonMM0I (D);
extern _KLsimple_methodGVKe Kmaybe_model_libraryVdfmc_commonMM1;
D Kmaybe_model_libraryVdfmc_commonMM1I (D);
static _KLpairGVKd K151;
static _KLpairGVKd K152;
static _KLbyte_stringGVKd_19 K153;

/* Indirection variables */

static D IKJcreateQ_ = &KJcreateQ_;
static D IKJdefinition_ = &KJdefinition_;

/* Variables */

D maybe_model_libraryVdfmc_common = &Kmaybe_model_libraryVdfmc_common;
D private_model_definitionVdfmc_common = &Kprivate_model_definitionVdfmc_common;
D private_model_creatorVdfmc_common = &Kprivate_model_creatorVdfmc_common;
D model_definitionVdfmc_common = &Kmodel_definitionVdfmc_common;
D model_definition_setterVdfmc_common = &Kmodel_definition_setterVdfmc_common;
D model_has_definitionQVdfmc_common = &Kmodel_has_definitionQVdfmc_common;
D model_source_locationVdfmc_common = &Kmodel_source_locationVdfmc_common;
D model_compile_stage_onlyQVdfmc_common = &Kmodel_compile_stage_onlyQVdfmc_common;
D Lmodel_propertiesGVdfmc_common = &KLmodel_propertiesGVdfmc_common;
D model_compilation_recordVdfmc_common = &Kmodel_compilation_recordVdfmc_common;
D model_original_libraryVdfmc_common = &Kmodel_original_libraryVdfmc_common;
D model_variable_nameVdfmc_common = &Kmodel_variable_nameVdfmc_common;
D model_libraryVdfmc_common = &Kmodel_libraryVdfmc_common;
D model_downloadedQVdfmc_common = &Kmodel_downloadedQVdfmc_common;
D model_interactiveQVdfmc_common = &Kmodel_interactiveQVdfmc_common;
D standard_model_objectVdfmc_common = &Kstandard_model_objectVdfmc_common;
D find_model_properties_inVdfmc_common = &Kfind_model_properties_inVdfmc_common;
D mapped_modelVdfmc_common = &Kmapped_modelVdfmc_common;
D model_creatorVdfmc_common = &Kmodel_creatorVdfmc_common;

/* Objects */

_KLclassGVKd KLmodel_propertiesGVdfmc_common = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K129,
  &K124,
  (D) 1,
  &Kdfmc_common_moduleYdylan_userVdfmc_common
};

_KLmm_wrapperGVKi_0 KLmodel_propertiesGVdfmc_commonW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K124,
  (D) 1,
  13,
  33554439,
  (D) 1
};

_KLsimple_methodGVKe Kdood_lazy_gettersVdoodMdfmc_commonM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K121,
  &Kdood_lazy_gettersVdoodMdfmc_commonM0I
};

_KLsimple_methodGVKe Kemitted_name_setterVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kemitted_name_setterVdfmc_commonMM1I
};

_KLsimple_methodGVKe Kemitted_nameVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kemitted_nameVdfmc_commonMM1I
};

_KLsealed_generic_functionGVKe Kstandard_model_objectVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K34,
  (D) 1,
  &K54,
  &K53,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kfind_model_properties_inVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_3,
  &K43,
  (D) 1,
  &K44,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmapped_modelVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K34,
  (D) 1,
  &K35,
  &K27,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K41,
  &Kmapped_modelVdfmc_commonMM0I
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmapped_modelVdfmc_commonMM1I
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K40,
  &Kmapped_modelVdfmc_commonMM2I
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K39,
  &Kmapped_modelVdfmc_commonMM3I
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K38,
  &Kmapped_modelVdfmc_commonMM4I
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K37,
  &Kmapped_modelVdfmc_commonMM5I
};

_KLsimple_methodGVKe Kmapped_modelVdfmc_commonMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K36,
  &Kmapped_modelVdfmc_commonMM6I
};

static _KLpairGVKd K27 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM0,
  &K28
};

static _KLpairGVKd K28 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM1,
  &K29
};

static _KLpairGVKd K29 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM2,
  &K30
};

static _KLpairGVKd K30 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM3,
  &K31
};

static _KLpairGVKd K31 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM4,
  &K32
};

static _KLpairGVKd K32 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM5,
  &K33
};

static _KLpairGVKd K33 = {
  &KLpairGVKdW /* wrapper */,
  &Kmapped_modelVdfmc_commonMM6,
  &KPempty_listVKi
};

static _KLsignatureGVKe K34 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_LobjectG_typesVKi
};

static _KLbyte_stringGVKd_12 K35 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "mapped-model"
};

static _KLsignatureGVKe K36 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_Lbyte_stringG_typesVKi
};

static _KLsignatureGVKe K37 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_Lsimple_object_vectorG_typesVKi
};

static _KLsignatureGVKe K38 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_LpairG_typesVKi
};

static _KLsignatureGVKe K39 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_Lbyte_characterG_typesVKi
};

static _KLsignatureGVKe K40 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_LintegerG_typesVKi
};

static _KLsignatureGVKe K41 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &K42
};

static _KLsimple_object_vectorGVKd_1 K42 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLmodel_propertiesGVdfmc_common
};

static _KLkeyword_signatureAvaluesGVKi K43 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 33817613,
  &KDsignature_LobjectG_typesVKi,
  &K45,
  &KDsignature_LobjectG_typesVKi,
  &K46
};

static _KLbyte_stringGVKd_24 K44 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "find-model-properties-in"
};

static _KLsimple_object_vectorGVKd_1 K45 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KJcreateQ_
};

static _KLsimple_object_vectorGVKd_1 K46 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K47
};

static _KLunionGVKe K47 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K48,
  &KLmodel_propertiesGVdfmc_common
};

static _KLsingletonGVKd K48 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

static _KLsymbolGVKd KJcreateQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K50
};

static _KLbyte_stringGVKd_7 K50 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "create?"
};

_KLsimple_methodGVKe Kstandard_model_objectVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kstandard_model_objectVdfmc_commonMM0I
};

static _KLpairGVKd K53 = {
  &KLpairGVKdW /* wrapper */,
  &Kstandard_model_objectVdfmc_commonMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K54 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "standard-model-object"
};

_KLsealed_generic_functionGVKe Kmodel_creatorVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K62,
  &K60,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmodel_creatorVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K41,
  &Kmodel_creatorVdfmc_commonMM0I
};

_KLsimple_methodGVKe Kmodel_creatorVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kmodel_creatorVdfmc_commonMM1I
};

static _KLpairGVKd K60 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_creatorVdfmc_commonMM0,
  &K61
};

static _KLpairGVKd K61 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_creatorVdfmc_commonMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_13 K62 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "model-creator"
};

_KLsealed_generic_functionGVKe Kprivate_model_creatorVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K67,
  &K66,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLbyte_stringGVKd_14 K64 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "FORCING %= %=\n"
};

_KLgetter_methodGVKi Kprivate_model_creatorVdfmc_commonMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG
};

static _KLpairGVKd K66 = {
  &KLpairGVKdW /* wrapper */,
  &Kprivate_model_creatorVdfmc_commonMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K67 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "private-model-creator"
};

_KLinstance_slot_descriptorGVKe Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 149,
  &K71,
  &KLmodel_propertiesGVdfmc_common,
  &KPfalseVKi,
  &Kprivate_model_creatorVdfmc_common,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLsimple_closure_methodGVKi_0 K71 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K73,
  &K71I,
  (D) 1
};

static _KLbyte_stringGVKd_63 K72 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 253,
  "Attempt to create a model outside of proper compilation-context"
};

static _KLsignatureGVKe K73 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944065,
  &KPempty_vectorVKi
};

_KLsimple_methodGVKe Kmodel_interactiveQVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K78,
  &Kmodel_interactiveQVdfmc_commonI
};

static _KLunionGVKe K77 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K48,
  &KLcompilation_recordGVdfmc_common
};

static _KLsignatureAvaluesGVKi K78 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &KDsignature_LobjectG_typesVKi,
  &KDsignature_LbooleanG_typesVKi
};

_KLsimple_methodGVKe Kmodel_downloadedQVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K78,
  &Kmodel_downloadedQVdfmc_commonI
};

_KLsimple_methodGVKe Kmodel_libraryVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmodel_libraryVdfmc_commonI
};

_KLsealed_generic_functionGVKe Kmodel_creator_libraryVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K90,
  &K88,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmodel_creator_libraryVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K91,
  &Kmodel_creator_libraryVdfmc_commonMM0I
};

_KLsimple_methodGVKe Kmodel_creator_libraryVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kmodel_creator_libraryVdfmc_commonMM1I
};

static _KLpairGVKd K88 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_creator_libraryVdfmc_commonMM0,
  &K89
};

static _KLpairGVKd K89 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_creator_libraryVdfmc_commonMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K90 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "model-creator-library"
};

static _KLsignatureGVKe K91 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K92
};

static _KLsimple_object_vectorGVKd_1 K92 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLcompilation_contextGVdfmc_common
};

_KLsimple_methodGVKe Kmodel_variable_nameVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kmodel_variable_nameVdfmc_commonI
};

_KLsealed_generic_functionGVKe Kmodel_definitionVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K34,
  (D) 1,
  &K102,
  &K100,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmodel_definitionVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K41,
  &Kmodel_definitionVdfmc_commonMM0I
};

_KLsimple_methodGVKe Kmodel_definitionVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmodel_definitionVdfmc_commonMM1I
};

static _KLpairGVKd K100 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_definitionVdfmc_commonMM0,
  &K101
};

static _KLpairGVKd K101 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_definitionVdfmc_commonMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_16 K102 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "model-definition"
};

_KLsealed_generic_functionGVKe Kprivate_model_definitionVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K106,
  &K105,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kprivate_model_definitionVdfmc_commonMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG
};

static _KLpairGVKd K105 = {
  &KLpairGVKdW /* wrapper */,
  &Kprivate_model_definitionVdfmc_commonMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K106 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "private-model-definition"
};

_KLinstance_slot_descriptorGVKe Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLmodel_propertiesGVdfmc_common,
  &KJdefinition_,
  &Kprivate_model_definitionVdfmc_common,
  &Kprivate_model_definition_setterVdfmc_common,
  &KLobjectGVKd
};

static _KLsymbolGVKd KJdefinition_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K113
};

_KLsealed_generic_functionGVKe Kprivate_model_definition_setterVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 1,
  &K112,
  &K111,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Kprivate_model_definition_setterVdfmc_commonMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG
};

static _KLpairGVKd K111 = {
  &KLpairGVKdW /* wrapper */,
  &Kprivate_model_definition_setterVdfmc_commonMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_31 K112 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "private-model-definition-setter"
};

static _KLbyte_stringGVKd_10 K113 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "definition"
};

_KLsimple_methodGVKe Kmodel_original_libraryVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmodel_original_libraryVdfmc_commonI
};

static _KLbyte_stringGVKd_48 K116 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 193,
  "%s created outside of proper compilation context"
};

_KLsimple_methodGVKe Kmodel_compilation_recordVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K118,
  &Kmodel_compilation_recordVdfmc_commonI
};

static _KLsignatureAvaluesGVKi K118 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &KDsignature_LobjectG_typesVKi,
  &K119
};

static _KLsimple_object_vectorGVKd_1 K119 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K77
};

static _KLbyte_stringGVKd_15 K120 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "No next method."
};

static _KLsignatureAvaluesGVKi K121 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 37749765,
  &K122,
  &KDsignature_LlistG_typesVKi
};

static _KLsimple_object_vectorGVKd_1 K122 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K123
};

static _KLsubclassGVKe K123 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLmodel_propertiesGVdfmc_common
};

static _KLimplementation_classGVKe K124 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 308543501,
  &KLmodel_propertiesGVdfmc_common,
  &KLmodel_propertiesGVdfmc_commonW,
  &KPfalseVKi,
  &K125,
  (D) -3,
  &Kdefault_class_constructorVKi,
  &K126,
  &K127,
  (D) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K128,
  &K125,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K125 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &Kemitted_nameVdfmc_commonHLemitted_objectG,
  &Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG,
  &Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG
};

static _KLsimple_object_vectorGVKd_2 K126 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLdood_mapped_objectGVdood,
  &KLemitted_objectGVdfmc_common
};

static _KLsimple_object_vectorGVKd_6 K127 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLemitted_objectGVdfmc_common,
  &KLdood_mapped_objectGVdood,
  &KLmodel_propertiesGVdfmc_common,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_2 K128 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG,
  &Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG
};

static _KLbyte_stringGVKd_18 K129 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "<model-properties>"
};

_KLsimple_methodGVKe Kmodel_compile_stage_onlyQVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmodel_compile_stage_onlyQVdfmc_commonI
};

_KLsimple_methodGVKe Kmodel_source_locationVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmodel_source_locationVdfmc_commonI
};

_KLsimple_methodGVKe Kmodel_has_definitionQVdfmc_common = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K78,
  &Kmodel_has_definitionQVdfmc_commonI
};

_KLsealed_generic_functionGVKe Kmodel_definition_setterVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 1,
  &K143,
  &K141,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmodel_definition_setterVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K144,
  &Kmodel_definition_setterVdfmc_commonMM0I
};

_KLsimple_methodGVKe Kmodel_definition_setterVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kmodel_definition_setterVdfmc_commonMM1I
};

static _KLpairGVKd K141 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_definition_setterVdfmc_commonMM0,
  &K142
};

static _KLpairGVKd K142 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_definition_setterVdfmc_commonMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_23 K143 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "model-definition-setter"
};

static _KLsignatureGVKe K144 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944073,
  &K145
};

static _KLsimple_object_vectorGVKd_2 K145 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLobjectGVKd,
  &KLmodel_propertiesGVdfmc_common
};

_KLsealed_generic_functionGVKe Kmaybe_model_libraryVdfmc_common = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K153,
  &K151,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmaybe_model_libraryVdfmc_commonMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K41,
  &Kmaybe_model_libraryVdfmc_commonMM0I
};

_KLsimple_methodGVKe Kmaybe_model_libraryVdfmc_commonMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &Kmaybe_model_libraryVdfmc_commonMM1I
};

static _KLpairGVKd K151 = {
  &KLpairGVKdW /* wrapper */,
  &Kmaybe_model_libraryVdfmc_commonMM0,
  &K152
};

static _KLpairGVKd K152 = {
  &KLpairGVKdW /* wrapper */,
  &Kmaybe_model_libraryVdfmc_commonMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_19 K153 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "maybe-model-library"
};

/* Code */

D Kdood_lazy_gettersVdoodMdfmc_commonM0I (D classU_) {
  D T2;
  D T3_0;
  D T4_0;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_2 T14 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T5 = primitive_next_methods_parameter();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T7 = primitive_idQ(T5,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T10 = KerrorVKdMM1I(&K120, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T11 = T10;
    T13 = T11;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T8 = SLOT_VALUE_INITD(T5, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T9 = SLOT_VALUE_INITD(T5, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    MEP_CALL_PROLOG(T8, T9, 1);
    T6 = MEP_CALL1(T8, classU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T12 = T6;
    T13 = T12;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T14.vector_element_[0] = &Kprivate_model_definitionVdfmc_common;
  T14.vector_element_[1] = &Kprivate_model_creatorVdfmc_common;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T2 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T3_0 = CALL2(&KconcatenateVKd, T13, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T4_0 = T3_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T3_0);
    primitive_type_check(T4_0, &KLlistGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kemitted_name_setterVdfmc_commonMM1I (D name_, D object_) {
  D T3;
  D modelF4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:166
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:167
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF4 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:167
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T5 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:167
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  T6 = CONGRUENT_CALL4(T5, modelF4, &KPtrueVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:167
  T7 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:167
  CONGRUENT_CALL_PROLOG(&Kemitted_name_setterVdfmc_common, 2);
  CONGRUENT_CALL2(name_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:167
  T3 = name_;
  MV_SET_ELT(0, name_);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:166
  return(T3);
}

D Kemitted_nameVdfmc_commonMM1I (D object_) {
  D T2;
  D modelF3;
  D T4;
  D T5;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:162
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:163
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF3 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:163
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:163
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  T5 = CONGRUENT_CALL4(T4, modelF3, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:163
  T6 = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:163
  CONGRUENT_CALL_PROLOG(&Kemitted_nameVdfmc_common, 1);
  T2 = CONGRUENT_CALL1(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:162
  return(T2);
}

D Kmapped_modelVdfmc_commonMM0I (D object_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:126
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:129
  T2_0 = Kimmutable_modelVdfmc_commonMM2I(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:126
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmapped_modelVdfmc_commonMM1I (D object_) {
  D T2_0;
  D modelF3;
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:132
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:133
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF3 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:133
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:133
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  CONGRUENT_CALL4(T4, modelF3, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:134
  T2_0 = object_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:132
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmapped_modelVdfmc_commonMM2I (D object_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:137
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:138
  T2_0 = object_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:137
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmapped_modelVdfmc_commonMM3I (D object_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:141
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:142
  T2_0 = object_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:141
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmapped_modelVdfmc_commonMM4I (D object_) {
  D T2_0;
  D modelF3;
  D T4;
  D T5;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:145
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:146
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF3 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:146
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:146
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  CONGRUENT_CALL4(T4, modelF3, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:147
  T5 = SLOT_VALUE_INITD(object_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:147
  CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
  CONGRUENT_CALL1(T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:148
  T6 = SLOT_VALUE_INITD(object_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:148
  CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
  CONGRUENT_CALL1(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:149
  T2_0 = object_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:145
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmapped_modelVdfmc_commonMM5I (D object_) {
  D T2_0;
  D modelF3;
  D T4;
  DWORD T5T, T5;
  D T6;
  DWORD T7;
  D T8;
  D T9;
  DWORD T10;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:152
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:153
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF3 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:153
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:153
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  CONGRUENT_CALL4(T4, modelF3, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
  T6 = SLOT_VALUE_INITD(object_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
  T7 = primitive_cast_integer_as_raw(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
  T5T = 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
    T5 = T5T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
    T8 = primitive_machine_word_equalQ(T5,T7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
    if (T8 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
      T9 = REPEATED_D_SLOT_VALUE_TAGGED(object_, 1, T5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
      CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
      CONGRUENT_CALL1(T9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
      T10 = primitive_machine_word_add_signal_overflow(T5,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
      T5T = T10;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:154
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:155
  T2_0 = object_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:152
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmapped_modelVdfmc_commonMM6I (D object_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:159
  T2_0 = Kimmutable_modelVdfmc_commonMM1I(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:158
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kstandard_model_objectVdfmc_commonMM0I (D object_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:99
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:100
  T2_0 = object_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:99
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmodel_creatorVdfmc_commonMM0I (D x_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T13;
  D T14;
  D value_;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20_0;
  D T21_0;
  D T22_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  CONGRUENT_CALL_PROLOG(&Kprivate_model_creatorVdfmc_common, 1);
  T2 = CONGRUENT_CALL1(x_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T3 = primitive_instanceQ(T2,&KLdood_address_proxyGVdood);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T4 = Ttrace_allocationQTVdood;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    if (T4 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T5 = Kobject_classVKdI(x_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T6 = SLOT_VALUE(T5, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T7 = SLOT_VALUE_INITD(T6, 17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T8 = Kobject_classVKdI(x_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T9 = CALL1(&Kproxy_slot_descriptorVdood, T2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T10 = CONGRUENT_CALL3(T7, T9, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T11 = CALL1(&Kslot_getterVKe, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T12.vector_element_[0] = T8;
      T12.vector_element_[1] = T11;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      Kdepth_format_outVdoodI(&K64, &T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T13 = primitive_read_thread_variable(Tprint_depthTVdood);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T14 = CONGRUENT_CALL2(T13, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      primitive_write_thread_variable(Tprint_depthTVdood, T14);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    value_ = CALL1(&Kdood_force_slot_value_proxyVdood, T2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T16 = CALL1(&Kproxy_slot_descriptorVdood, T2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    CALL3(&Kwalker_slot_value_setterVwalker, value_, x_, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T17 = Ttrace_allocationQTVdood;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    if (T17 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T18 = primitive_read_thread_variable(Tprint_depthTVdood);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      CONGRUENT_CALL_PROLOG(&K_VKd, 2);
      T19 = CONGRUENT_CALL2(T18, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      primitive_write_thread_variable(Tprint_depthTVdood, T19);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T20_0 = value_;
    T22_0 = T20_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T21_0 = T2;
    T22_0 = T21_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  MV_SET_COUNT(1);
  return(T22_0);
}

D Kmodel_creatorVdfmc_commonMM1I (D object_) {
  D T2;
  D modelF3;
  D T4;
  D T5;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:180
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:181
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF3 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:181
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:181
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  T5 = CONGRUENT_CALL4(T4, modelF3, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:181
  T6 = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:181
  CONGRUENT_CALL_PROLOG(&Kmodel_creatorVdfmc_common, 1);
  T2 = CONGRUENT_CALL1(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:180
  return(T2);
}

static D K71I () {
  D Utmp_;
  D T2;
  D T3_0;
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:45
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:45
  Utmp_ = primitive_read_thread_variable(Tcurrent_dependentTVdfmc_common);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:45
  if (Utmp_ != &KPfalseVKi) {
    T2 = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:46
    T4 = KerrorVKdMM1I(&K72, &KPempty_vectorVKi);
    T2 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:45
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:45
  T3_0 = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:45
  MV_SET_COUNT(1);
  return(T3_0);
}

D Kmodel_interactiveQVdfmc_commonI (D m_) {
  D T1;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:90
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:91
  T1 = Kmodel_compilation_recordVdfmc_commonI(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:91
  T2_0 = CALL1(&Kcompilation_record_interactiveQVdfmc_common, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:90
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmodel_compilation_recordVdfmc_commonI (D m_) {
  D T1;
  D T2_0;
  D T3_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:49
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:51
  CONGRUENT_CALL_PROLOG(&Kmodel_creatorVdfmc_common, 1);
  T1 = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:51
  CONGRUENT_CALL_PROLOG(&Kcompilation_record_ofVdfmc_common, 1);
  T2_0 = CONGRUENT_CALL1(T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:49
  T3_0 = T2_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T2_0);
    primitive_type_check(T3_0, &K77);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:49
  MV_SET_COUNT(1);
  return(T3_0);
}

D Kmodel_downloadedQVdfmc_commonI (D m_) {
  D T1;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:87
  T1 = Kmodel_compilation_recordVdfmc_commonI(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:87
  T2_0 = CALL1(&Kcompilation_record_downloadedQVdfmc_common, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:86
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmodel_libraryVdfmc_commonI (D m_) {
  D T1;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:73
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:74
  CONGRUENT_CALL_PROLOG(&Kmodel_creatorVdfmc_common, 1);
  T1 = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:74
  CONGRUENT_CALL_PROLOG(&Kmodel_creator_libraryVdfmc_common, 1);
  T2_0 = CONGRUENT_CALL1(T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:73
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmodel_creator_libraryVdfmc_commonMM0I (D c_) {
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:60
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:61
  T2 = c_;
  MV_SET_ELT(0, c_);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:60
  return(T2);
}

D Kmodel_creator_libraryVdfmc_commonMM1I (D c_) {
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:64
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:65
  CONGRUENT_CALL_PROLOG(&Kcompilation_record_ofVdfmc_common, 1);
  T2 = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:65
  T3 = CALL1(&Kcompilation_record_libraryVdfmc_common, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:64
  return(T3);
}

D Kmodel_variable_nameVdfmc_commonI (D m_) {
  D form_;
  D T3;
  D T4;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:68
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:69
  CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
  form_ = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:70
  if (form_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:70
    T3 = CALL2(&Kmodel_variable_using_definitionVdfmc_common, form_, m_);
    T5 = T3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:70
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:70
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:68
  return(T5);
}

D Kmodel_definitionVdfmc_commonMM0I (D x_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T13;
  D T14;
  D value_;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20_0;
  D T21_0;
  D T22_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  CONGRUENT_CALL_PROLOG(&Kprivate_model_definitionVdfmc_common, 1);
  T2 = CONGRUENT_CALL1(x_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T3 = primitive_instanceQ(T2,&KLdood_address_proxyGVdood);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T4 = Ttrace_allocationQTVdood;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    if (T4 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T5 = Kobject_classVKdI(x_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T6 = SLOT_VALUE(T5, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T7 = SLOT_VALUE_INITD(T6, 17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T8 = Kobject_classVKdI(x_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T9 = CALL1(&Kproxy_slot_descriptorVdood, T2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T10 = CONGRUENT_CALL3(T7, T9, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T11 = CALL1(&Kslot_getterVKe, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T12.vector_element_[0] = T8;
      T12.vector_element_[1] = T11;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      Kdepth_format_outVdoodI(&K64, &T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T13 = primitive_read_thread_variable(Tprint_depthTVdood);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T14 = CONGRUENT_CALL2(T13, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      primitive_write_thread_variable(Tprint_depthTVdood, T14);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    value_ = CALL1(&Kdood_force_slot_value_proxyVdood, T2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T16 = CALL1(&Kproxy_slot_descriptorVdood, T2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    CALL3(&Kwalker_slot_value_setterVwalker, value_, x_, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T17 = Ttrace_allocationQTVdood;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    if (T17 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      T18 = primitive_read_thread_variable(Tprint_depthTVdood);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      CONGRUENT_CALL_PROLOG(&K_VKd, 2);
      T19 = CONGRUENT_CALL2(T18, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
      primitive_write_thread_variable(Tprint_depthTVdood, T19);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T20_0 = value_;
    T22_0 = T20_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
    T21_0 = T2;
    T22_0 = T21_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  MV_SET_COUNT(1);
  return(T22_0);
}

D Kmodel_definitionVdfmc_commonMM1I (D object_) {
  D T2_0;
  D modelF3;
  D T4;
  D T5;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:170
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:171
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF3 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:171
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:171
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  T5 = CONGRUENT_CALL4(T4, modelF3, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:171
  T6 = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:171
  CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
  T2_0 = CONGRUENT_CALL1(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:170
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmodel_original_libraryVdfmc_commonI (D m_) {
  D cr_;
  D T3;
  D T4_0;
  D T5;
  D T6;
  _KLsimple_object_vectorGVKd_1 T7 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:54
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:55
  cr_ = Kmodel_compilation_recordVdfmc_commonI(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
  T5 = TdebuggingQTVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
    T6 = primitive_not(cr_);
    T3 = T6;
  } else {
    T3 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
    T7.vector_element_[0] = m_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
    Kdebug_assertion_failureVKiI(&K116, &T7);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:56
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:57
  T4_0 = CALL1(&Kcompilation_record_original_libraryVdfmc_common, cr_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:54
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kmodel_compile_stage_onlyQVdfmc_commonI (D object_) {
  D def_;
  D T3_0;
  D T4_0;
  D T5_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:36
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:37
  CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
  def_ = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:38
  if (def_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:38
    T3_0 = CALL1(&Kform_compile_stage_onlyQVdfmc_common, def_);
    T5_0 = T3_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:38
    T4_0 = &KPfalseVKi;
    T5_0 = T4_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:38
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:36
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kmodel_source_locationVdfmc_commonI (D object_) {
  D def_;
  D Utmp_;
  D T4_0;
  D parent_;
  D T6_0;
  D T7_0;
  D T8_0;
  D T9_0;
  D T10_0;
  D T11_0;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:24
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:25
  CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
  def_ = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:26
  if (def_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:27
    CONGRUENT_CALL_PROLOG(&Kform_source_locationVdfmc_common, 1);
    Utmp_ = CONGRUENT_CALL1(def_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:27
    if (Utmp_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:27
      T4_0 = Utmp_;
      T9_0 = T4_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:29
      parent_ = CALL1(&Kform_parent_formVdfmc_common, def_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:30
      if (parent_ != &KPfalseVKi) {
        T12 = parent_;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:30
        CONGRUENT_CALL_PROLOG(&Kform_source_locationVdfmc_common, 1);
        T6_0 = CONGRUENT_CALL1(T12);
        T8_0 = T6_0;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:30
        T7_0 = &KPfalseVKi;
        T8_0 = T7_0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:30
      T9_0 = T8_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:27
    T11_0 = T9_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:26
    T10_0 = &KPfalseVKi;
    T11_0 = T10_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:26
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:24
  MV_SET_COUNT(1);
  return(T11_0);
}

D Kmodel_has_definitionQVdfmc_commonI (D object_) {
  D T1;
  D T2_0;
  D T3_0;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:18
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:19
  CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
  T1 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:19
  if (T1 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:19
    T2_0 = &KPtrueVKi;
    T4_0 = T2_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:19
    T3_0 = &KPfalseVKi;
    T4_0 = T3_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:19
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:18
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kmodel_definition_setterVdfmc_commonMM0I (D v_, D x_) {
  D T3_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:43
  CONGRUENT_CALL_PROLOG(&Kprivate_model_definition_setterVdfmc_common, 2);
  CONGRUENT_CALL2(v_, x_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:43
  T3_0 = v_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  MV_SET_COUNT(1);
  return(T3_0);
}

D Kmodel_definition_setterVdfmc_commonMM1I (D defn_, D object_) {
  D T3;
  D modelF4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:174
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:175
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF4 = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:175
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T5 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:175
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  T6 = CONGRUENT_CALL4(T5, modelF4, &KPtrueVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:175
  T7 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:175
  CONGRUENT_CALL_PROLOG(&Kmodel_definition_setterVdfmc_common, 2);
  CONGRUENT_CALL2(defn_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:175
  T3 = defn_;
  MV_SET_ELT(0, defn_);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:174
  return(T3);
}

D Kmaybe_model_libraryVdfmc_commonMM0I (D m_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:77
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:78
  T2_0 = Kmodel_libraryVdfmc_commonI(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:77
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kmaybe_model_libraryVdfmc_commonMM1I (D m_) {
  D T2_0;
  D T3_0;
  D T4_0;
  D modelF5;
  D T6;
  D T7;
  _KLsimple_object_vectorGVKd_2 T8 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:81
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  CONGRUENT_CALL_PROLOG(&Kstandard_model_objectVdfmc_common, 1);
  modelF5 = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T6 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  T8.vector_element_[0] = IKJcreateQ_;
  T8.vector_element_[1] = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  CONGRUENT_CALL_PROLOG(&Kfind_model_properties_inVdfmc_common, 4);
  T7 = CONGRUENT_CALL4(T6, modelF5, &KPfalseVKi, &T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  T9 = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  if (T9 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:83
    T2_0 = Kmodel_libraryVdfmc_commonI(m_);
    T4_0 = T2_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
    T3_0 = &KPfalseVKi;
    T4_0 = T3_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:82
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:81
  MV_SET_COUNT(1);
  return(T4_0);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_common__X_model_properties_for_system () {
  extern D KPresolve_symbolVKiI(D);
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcreateQ_);
    if (T0 != &KJcreateQ_) {
      IKJcreateQ_ = T0;
      primitive_repeated_slot_value_setter(T0, &K45, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdefinition_);
    if (T0 != &KJdefinition_) {
      primitive_slot_value_setter(T0, &Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG, 3);
    }
  }
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T0 = KPadd_classVKeI(&KLmodel_propertiesGVdfmc_common);
  goto I0;
}
I0:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_common__X_model_properties_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/common/model-properties.dylan:41
  T0 = KPadd_a_methodVKnI(&Kdood_lazy_gettersVdood, &Kdood_lazy_gettersVdoodMdfmc_commonM0, &Kdfmc_common_libraryYdylan_userVdfmc_common, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I5;
}
I5:

  return;
}


/* eof */
