
    &g                    B    S r SSKJr  SSKJrJr  SS jrS	S jrS
S jrg)zrSetstate and getstate functions for objects with __slots__, allowing
compatibility with default pickling protocol
    )annotations)AnyMappingc                N    UR                  5        H  u  p#[        XU5        M     g N)itemssetattr)selfstateslotvalues       RC:\Suresh\moveshuttle\MDcreated\moveengine\venv\Lib\site-packages\bson/_helpers.py_setstate_slotsr      s    {{}E" %    c                L    U R                  S5      (       a	  SU-   nX-   $ SnX-   $ )N___ )
startswith)nameprefixs     r   _mangle_namer      s3    tv = =r   c                    U R                   R                  n0 nU R                   H-  n[        X15      n[	        X5      (       d  M   [        X5      X$'   M/     U$ r   )	__class____name__	__slots__r   hasattrgetattr)r
   r   retr   mangled_names        r   _getstate_slotsr!   $   sM    ^^$$F
C#D14&& ' ;C  Jr   N)r
   r   r   r   returnNone)r   strr   r$   r"   r$   )r
   r   r"   zMapping[Any, Any])	__doc__
__future__r   typingr   r   r   r   r!    r   r   <module>r)      s!    # #
r   