o
    @c                     @   s6   d dl Z G dd de jZG dd de ddZdS )    Nc                       s(   e Zd ZdZ fddZdd Z  ZS )FreezableDefaultDicta!  
    Often it is desirable to prevent the mutation of
    a default dict after its initial construction, such
    as to prevent mutation during iteration.

    >>> dd = FreezableDefaultDict(list)
    >>> dd[0].append('1')
    >>> dd.freeze()
    >>> dd[1]
    []
    >>> len(dd)
    1
    c                    s   t | dt j|S )N_frozen)getattrsuper__missing__)selfkey	__class__ ]C:\Users\Chris\AppData\Local\Programs\Python\Python310\lib\importlib\metadata\_collections.pyr      s   z FreezableDefaultDict.__missing__c                    s    fdd _ d S )Nc                    s      S )N)default_factory)r   r   r   r   <lambda>   s    z-FreezableDefaultDict.freeze.<locals>.<lambda>)r   r   r   r   r   freeze   s   zFreezableDefaultDict.freeze)__name__
__module____qualname____doc__r   r   __classcell__r   r   r	   r   r      s    r   c                   @   s   e Zd Zedd ZdS )Pairc                 C   s   | t tj|dd S )N=   )mapstrstripsplit)clstextr   r   r   parse   s   z
Pair.parseN)r   r   r   classmethodr   r   r   r   r   r      s    r   z
name value)collectionsdefaultdictr   
namedtupler   r   r   r   r   <module>   s    