
    g                     N    d dl mZ d dlmZ ddlmZ d dlmZmZ  G d de      Z	y)	   )	Interface)File    )valmap)frame
framesplitc                   f    e Zd ZddZd Zej                  Zd Zd Zd Z	d Z
d Zed	        Zd
 Zy)EncodeNc                     |rt        |t              rt        |      }|| _        || _        || _        || _        t        j                  |        y N)	
isinstancestrr   partdencodedecodejoinr   __init__)selfr   r   r   r   s        ,lib/python3.12/site-packages/partd/encode.pyr   zEncode.__init__   sA    
5#.KE
	4     c                     | j                   S r   )__dict__r   s    r   __getstate__zEncode.__getstate__   s    }}r   c                     t        | j                  |      }t        t        |      } | j                  j                  |fi | y r   )r   r   r   r   append)r   datakwargss      r   r   zEncode.append   s7    dkk4(eT"

$)&)r   c                      | j                   j                  |fi |}|D cg c]9  }| j                  t        |      D cg c]  }| j	                  |       c}      ; c}}S c c}w c c}}w r   )r   _getr   r   r   )r   keysr   rawchunkr   s         r   r    zEncode._get   sk    djjood-f- " E 		:e;LM;L%4;;u-;LMN " 	"M "s   A* A%	A*%A*c                 <     | j                   j                  |fi |S r   )r   delete)r   r!   r   s      r   r%   zEncode.delete    s     tzz  000r   c                 n     | j                   j                  |t        | j                  |            fi |S r   )r   isetr   r   )r   keyvaluer   s       r   _isetzEncode._iset#   s,    tzzsE$++e*<$=HHHr   c                 6    | j                   j                         S r   )r   dropr   s    r   r,   zEncode.drop&   s    zz  r   c                 .    | j                   j                  S r   )r   lockr   s    r   r.   zEncode.lock)   s    zzr   c                 V    | j                           | j                  j                  |  y r   )r,   r   __exit__)r   argss     r   r0   zEncode.__exit__-   s    		

T"r   r   )__name__
__module____qualname__r   r   r   __setstate__r   r    r%   r*   r,   propertyr.   r0    r   r   r
   r
      sL    ! ))L*
"
1I!  #r   r
   N)
corer   filer   toolzr   utilsr   r   r
   r7   r   r   <module>r<      s       $(#Y (#r   