�
!A?hp! � �� � d dl mZmZmZ d dlmZ d dlZg d�Z G d� dej j
� � Z G d� dej j
� � Z G d � d
e� � Z
G d� de� � Zdd�ZdS )� )�DEFAULT_PROTOCOL�Pickler� Unpickler)�BytesION)�Shelf�
BsdDbShelf�DbfilenameShelf�openc �4 � e Zd Z d� ZexZxZxZxZxZZ d� Z
dS )�_ClosedDictc � � t d� � �)Nz!invalid operation on closed shelf)�
ValueError)�self�argss �3/opt/alt/python-internal/lib64/python3.11/shelve.py�closedz_ClosedDict.closedE s � ��<�=�=�=� c � � dS )Nz� �r s r �__repr__z_ClosedDict.__repr__I s � �$�$r N)�__name__�
__module__�__qualname__r �__iter__�__len__�__getitem__�__setitem__�__delitem__�keysr r r r r r B sS � � � � � �D�>� >� >�JP�P�H�P�w�P��P�{�P�[�4�%� %� %� %� %r r c �f � e Zd Z dd�Zd� Zd� Zd� Zdd�Zd � Zd
� Z d� Z
d� Zd
� Zd� Z
d� Zd� ZdS )r NF�utf-8c �^ � || _ |�t }|| _ || _ i | _ || _ d S �N)�dictr � _protocol� writeback�cache�keyencoding�r r% �protocolr' r) s r �__init__zShelf.__init__T s7 � ��� ���'�H�!���"�����
�&����r c # �z K � | j � � � D ]}|� | j � � V � �d S r$ )r% r �decoder) )r �ks r r zShelf.__iter__^ sI � � � �����!�!� -� -�A��(�(�4�+�,�,�,�,�,�,� -� -r c �* � t | j � � S r$ )�lenr% r s r r z
Shelf.__len__b s � ��4�9�~�~�r c �D � |� | j � � | j v S r$ ��encoder) r% �r �keys r �__contains__zShelf.__contains__e s � ��z�z�$�*�+�+�t�y�8�8r c �X � |� | j � � | j v r| | S |S r$ r3 )r r6 �defaults r �getz Shelf.geth s- � ��:�:�d�&�'�'�4�9�4�4���9���r c � � | j | }nt# t $ rg t | j |� | j � � � � }t
|� � � � � }| j r
|| j |<