§
    ¼º¬dp  ã                  óV   — d dl mZ d dlZd dlZd dlmZ d dlmZ  G d„ de¦  «        Z	dS )é    )ÚannotationsN)ÚAbstractWritableDataStore)ÚVariablec                  ó@   — e Zd ZdZd
d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	dd	„Z
dS )ÚInMemoryDataStorezÍ
    Stores dimensions, variables and attributes in ordered dictionaries, making
    this store fast compared to stores which save to disk.

    This store exists purely for internal testing purposes.
    Nc                ó2   — |€i n|| _         |€i n|| _        d S ©N)Ú
_variablesÚ_attributes)ÚselfÚ	variablesÚ
attributess      ú6lib/python3.11/site-packages/xarray/backends/memory.pyÚ__init__zInMemoryDataStore.__init__   s)   € Ø )Ð 1˜"˜"°yˆŒØ!+Ð!3˜2˜2¸ˆÔÐÐó    c                ó   — | j         S r	   )r   ©r   s    r   Ú	get_attrszInMemoryDataStore.get_attrs   s   € ØÔÐr   c                ó   — | j         S r	   )r
   r   s    r   Úget_variableszInMemoryDataStore.get_variables   s
   € ØŒÐr   c                óŠ   — i }| j                              ¦   «         D ]&}|j                             ¦   «         D ]
\  }}|||<   ŒŒ'|S r	   )r
   ÚvaluesÚdimsÚitems)r   r   ÚvÚdÚss        r   Úget_dimensionsz InMemoryDataStore.get_dimensions   sV   € ØˆØ”×'Ò'Ñ)Ô)ð 	ð 	ˆAØœŸš™œð ð ‘1ØQ‘ðàˆr   c                ó‚   — t          |j        t          j        |¦  «        |j        ¦  «        }|| j        |<   ||j        fS r	   )r   r   ÚnpÚ
empty_likeÚattrsr
   Údata)r   Úkr   ÚargsÚkwargsÚnew_vars         r   Úprepare_variablez"InMemoryDataStore.prepare_variable$   s9   € Ý˜1œ6¥2¤=°Ñ#3Ô#3°Q´WÑ=Ô=ˆØ$ˆŒ˜ÑØ˜œˆÐr   c                ó>   — t          j        |¦  «        | j        |<   d S r	   )ÚcopyÚdeepcopyr   )r   r$   r   s      r   Úset_attributezInMemoryDataStore.set_attribute)   s   € å"œm¨AÑ.Ô.ˆÔ˜ÑÐÐr   c                ó   — d S r	   © )r   ÚdimÚlengthÚunlimited_dimss       r   Úset_dimensionzInMemoryDataStore.set_dimension-   s   € àˆr   )NNr	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r(   r,   r2   r.   r   r   r   r      s•   € € € € € ðð ðDð Dð Dð Dð ð  ð  ðð ð ðð ð ðð ð ð
/ð /ð /ðð ð ð ð ð r   r   )
Ú
__future__r   r*   Únumpyr    Úxarray.backends.commonr   Úxarray.core.variabler   r   r.   r   r   ú<module>r;      s…   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€à Ð Ð Ð à <Ð <Ð <Ð <Ð <Ð <Ø )Ð )Ð )Ð )Ð )Ð )ð$ð $ð $ð $ð $Ð1ñ $ô $ð $ð $ð $r   