�
�Wc� c sz � d dl mZ d dlmZ ddlmZ G d� d� Z G d� d� Zdd
�Z G d� d� Z d
� Z
dS )i )�suppress)�
TextIOWrapper� )�abcc s$ � e Zd ZdZd� fd�Zd� ZdS )�SpecLoaderAdapterz>
Adapt a package spec to adapt the underlying loader.
c � � | j S �N)�loader��spec� �6/usr/lib64/python3.12/importlib/resources/_adapters.pyz<lambda>zSpecLoaderAdapter.<lambda> s
� �$�+�+� � c s0 � || _ ||� | _ d S r )r r )�selfr Zadapter� r �__init__zSpecLoaderAdapter.__init__ s � ��� ��g�d�m����r c �2 � t | j |� S r )�getattrr �r
�name� r �__getattr__zSpecLoaderAdapter.__getattr__ s � ��t�y�y�$�'�'r N)�__name__�
__module__�__qualname__�__doc__r r � r r r r sI � � � � � �� � &>�%=� $� $� $� $�(� (� (� (� (r r c s � e Zd ZdZd� Zd� ZdS )�TraversableResourcesLoaderz9
Adapt a loader to provide TraversableResources.
c � � || _ d S r r �r
r r r r z#TraversableResourcesLoader.__init__ �
� ��� � � r c sN � t | j � j � S r )�CompatibilityFilesr �_nativer r r �get_resource_readerz.TraversableResourcesLoader.get_resource_reader s � �!�$�)�)�,�4�4�6�6r N)r r r r r r! r r r r r s<