
    W
h                         0 r / rS  rg)c                    U [         ;   a  [         R                  U 5      $ Sn[        (       d6  SSKJn  [        R                  U5        SSKJn  [        R                  U5        [        nSnU S:X  a
  SSKJn  S/nO8X;   a	  SSK	Jn  UnO*X;   a	  SSK	J
n  UnOX;   a	  SSK	Jn  UnO[        S	U -  5      eU H  n[        XW5      [         U'   M     [         R                  U 5      $ )
aq  Cache mechanism for imports.

Due to complications of circular imports mongoengine needs to do lots of
inline imports in functions.  This is inefficient as classes are
imported repeated throughout the mongoengine code.  This is
compounded by some recursive functions requiring inline imports.

:mod:`mongoengine.common` provides a single point to import all these
classes.  Circular imports aren't an issue as it dynamically imports the
class when first needed.  Subsequent calls to the
:func:`~mongoengine.common._import_class` can then directly retrieve the
class from the :data:`mongoengine.common._class_registry_cache`.
)DocumentDynamicEmbeddedDocumentEmbeddedDocumentMapReduceDocument    )__all__)DeReferenceBaseDocument)document)fields)dereferencezNo import set for: %s)_class_registry_cacheget_field_list_cachemongoengine.fieldsr   extendmongoengine.base.fieldsmongoengine.baser   mongoenginer   r   
ValueErrorgetattr)cls_namedoc_classesr   field_classesderef_classesmoduleimport_classesclss           ZC:\Users\julio\Documents\inmuebles-mzt\backend\env\Lib\site-packages\mongoengine/common.py_import_classr       s     (($((22K 8  (=  (%M$M>!7()		 2$		"0&		"5&08;<<%,V%9c"  !$$X..    N)r   r   r     r!   r   <module>r#      s     ;/r!   