/
lib
/
python3.9
/
site-packages
/
elftools
/
construct
/
lib
/
__pycache__
/
up file
home
a �#�_l � @ sj d Z ddlmZ ddlmZ ddd�ZG dd � d e�ZG d d� de�ZG dd � d e�Z G dd� de �ZdS )z Various containers. � ��pformat� )�MutableMapping�__recursion_lock__c s � �fdd�}|S )Nc s � ��fdd�}� j |_ |S )Nc sT t | �d�r�S t| �d� z$� | g|�R i |��W t| �d� S t| �d� 0 d S )NFT)�getattr�setattr)�self�args�kw)�func� lock_name�retval� �D/usr/lib/python3.9/site-packages/elftools/construct/lib/container.py�wrapper s �z2recursion_lock.<locals>.decorator.<locals>.wrapper)�__name__)r r �r r )r r � decorator s z!recursion_lock.<locals>.decoratorr )r r r r r r �recursion_lock s r c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z e Zdd� Zdd� Z dd� Zdd� ZeZdd� Zdd� Zdd� ZdS )� Containerzg A generic container of attributes. Containers are the common way to express parsed data. c K s || _ d S �N��__dict__)r r r r r �__init__ s zContainer.__init__c C s | j | S r r �r �namer r r �__getitem__"