� !A?h�y���ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZmZddlmZmZddlmZmZddlmZmZddlmZmZddlmZdd lm Z dd l!m"Z"dd l m#Z#dd l$m%Z%m&Z&m'Z'm(Z(gd �Z)Gd�de*��Z+Gd�d��Z,Gd�d��Z-Gd�de-��Z.Gd�de/��Z0Gd�de0��Z1Gd�d��Z2Gd�de2e3��Z4Gd�dej5��Z6Gd �d!��Z7Gd"�d#��Z8Gd$�d%e"��Z9Gd&�d'��Z:Gd(�d)��Z;Gd*�d+��Z<Gd,�d-e9��Z=Gd.�d/e8��Z>d0�Z?d1�Z@d2ejfd3�ZAd4�ZBe jCeejDd5���6��ZE d2e(e1e4ffd7�ZFd8�ZGd9�ZHd2e&eIe%eIffd:�ZJd;�ZKd<�ZLdS)=�N�)� _adapters�_meta)�FreezableDefaultDict�Pair)� method_cache� pass_none)�always_iterable�unique_everseen)�PackageMetadata� SimplePath)�suppress)� import_module)�MetaPathFinder)�starmap)�List�Mapping�Optional�Union) � Distribution�DistributionFinderr �PackageNotFoundError� distribution� distributions� entry_points�files�metadata�packages_distributions�requires�versionc�,�eZdZ d�Zed���ZdS)rc��d|j��S)Nz"No package metadata was found for ��name��selfs �H/opt/alt/python-internal/lib64/python3.11/importlib/metadata/__init__.py�__str__zPackageNotFoundError.__str__1s��?�D�I�?�?�?�c��|j\}|S�N)�args�r&r$s r'r$zPackageNotFoundError.name4s���)���� r)N)�__name__� __module__� __qualname__r(�propertyr$�r)r'rr.sD������$�@�@�@�����X���r)rc��eZdZ ejd�����Zed���Ze dd���Z e d���Z dS)� Sectionedzm [sec1] # comments ignored a = 1 b = 2 [sec2] a = 2 c�N�d�|�||j���D��S)Nc3�~K�|]8}|j� |�tj|j�����V��9dS)N)�value)r$�_replacer�parser7)�.0�sections r'� z*Sectioned.section_pairs..esS���� � ���|�'� � � �4�:�g�m�#<�#<� � =� =�'�'�'�'� � r))�filter_)�read�valid)�cls�texts r'� section_pairszSectioned.section_pairscs5�� � ��8�8�D�#�)�8�<�<� � � � r)Nc#�4K�t|ttj|�������}d}|D]V}|�d��o|�d��}|r|�d��}�Dt||��V��WdS)N�[�]z[])�filter�map�str�strip� splitlines� startswith�endswithr)rAr=�linesr$r7� section_matchs r'r>zSectioned.readks������w��C�I�t���/@�/@� A� A�B�B����� $� $�E�!�,�,�S�1�1�I�e�n�n�S�6I�6I�M�� ��{�{�4�(�(����t�U�#�#� #� #� #� #�  $� $r)c�2�|o|�d�� S)N�#)rK)�lines r'r?zSectioned.validvs���0�D�O�O�C�0�0�0�0r)r+) r.r/r0�textwrap�dedent�lstrip�_sample� classmethodrB� staticmethodr>r?r2r)r'r4r4:s��������8�h�o� � � � �f�h�h� �� � ��[� ��$�$�$��\�$��1�1��\�1�1�1r)r4c�H�eZdZ ejejded���Zd�Z dS)�DeprecatedTuplezAEntryPoint tuple interface is deprecated. Access members by name.��� stacklevelc�^�|���|���|Sr+)�_warn�_key)r&�items r'� __getitem__zDeprecatedTuple.__getitem__�s"�� � � � � � ��y�y�{�{�4� � r)N) r.r/r0� functools�partial�warnings�warn�DeprecationWarningr^rar2r)r'rYrY{sQ������ � �I� �� �K���  � � �E�!�!�!�!�!r)rYc���eZdZU ejd��Z eed<eed<eed<dZe ded<d�Z d �Z e d ���Z e d ���Ze d ���Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)� EntryPointzH(?P[\w.]+)\s*(:\s*(?P[\w.]+)\s*)?((?P\[.*\])\s*)?$r$r7�groupNr�distc�P�t|���|||���dS)N�r$r7ri��vars�update)r&r$r7ris r'�__init__zEntryPoint.__init__�s)�� �T� � ���t�5���>�>�>�>�>r)c�,� |j�|j��}t|�d����}t d|�d��pd�d����}tjt||��S)N�module�attr��.) �pattern�matchr7rrirF�splitrb�reduce�getattr)r&rwrr�attrss r'�loadzEntryPoint.load�s|�� �� �"�"�4�:�.�.���u�{�{�8�4�4�5�5���t�e�k�k�&�1�1�7�R�>�>�s�C�C�D�D�������7�7�7r)c�j�|j�|j��}|�d��S)Nrr�rvrwr7ri�r&rws r'rrzEntryPoint.module�s+��� �"�"�4�:�.�.���{�{�8�$�$�$r)c�j�|j�|j��}|�d��S)Nrsr~rs r'rszEntryPoint.attr�s+��� �"�"�4�:�.�.���{�{�6�"�"�"r)c��|j�|j��}tjd|�d��pd��S)Nz\w+�extrasrt)rvrwr7�re�findallrirs r'r�zEntryPoint.extras�s<��� �"�"�4�:�.�.���z�&�%�+�+�h�"7�"7�"=�2�>�>�>r)c�L�t|���|���|S)N�rjrm)r&rjs r'�_forzEntryPoint._for�s$�� �T� � ���t��$�$�$�� r)c�h� d}tj|t��t|j|f��S)NzJConstruction of dict of EntryPoints is deprecated in favor of EntryPoints.)rdrerf�iterr$)r&�msgs r'�__iter__zEntryPoint.__iter__�s;�� � $� � � �c�-�.�.�.��T�Y��%�&�&�&r)c ��� �fd�|D��}tttj|���|����S)Nc3�8�K�|]}t�|��V��dSr+�rz)r:�paramr&s �r'r<z%EntryPoint.matches..s-�����:�:�%���u�%�%�:�:�:�:�:�:r))�allrG�operator�eq�values)r&�paramsr{s` r'�matcheszEntryPoint.matches�sG��� �&;�:�:�:�6�:�:�:���3�x�{�F�M�M�O�O�U�;�;�<�<�� "�)�)�)�?�?�?�8�8�8��%�%��X�%��#�#��X�#��?�?��X�?���� '� '� '�=�=�=�.1�1�1�*�*�*�+�+�+�B�B�B� � � � !�!�!�!�!r)rhc����eZdZ dZejejded���Z de f�fd� Z e ��� ee d�������d�Zd �Z�xZS) �DeprecatedListr2zAEntryPoints list interface is deprecated. Cast to list if needed.rZr[� method_namec������fd�}�|fS)Nc�p��|���tt�����|i|��Sr+)r^rz�super)r&r,�kwargs� __class__r�s ��r'�wrappedz7DeprecatedList._wrap_deprecated_method..wrappedCs3��� �J�J�L�L�L�0�7�5�7�7�K�0�0�$�A�&�A�A� Ar)r2)r�r�r�s` �r'�_wrap_deprecated_methodz&DeprecatedList._wrap_deprecated_methodBs5���� B� B� B� B� B� B��G�#�#r)zM__setitem__ __delitem__ append reverse extend pop remove __iadd__ insert sortc��t|t��s#|���t|��}|�t|��|z��Sr+)� isinstance�tupler^r�r�s r'�__add__zDeprecatedList.__add__QsI���%��'�'� !� �J�J�L�L�L��%�L�L�E��~�~�e�D�k�k�E�1�2�2�2r)c��t|t��s#|���t|��}t|���|��Sr+)r�r�r^r�r�s r'r�zDeprecatedList.__eq__WsF���%��'�'� !� �J�J�L�L�L��%�L�L�E��T�{�{�!�!�%�(�(�(r))r.r/r0� __slots__rbrcrdrerfr^rHr��localsrorGrxr�r�� __classcell__�r�s@r'r�r�s���������>�I� �I� �� �K���  � � �E�$�S�$�$�$�$�$�$� �F�H�H�O�O� �� #� #�#(�5�7�7� � ����3�3�3� )�)�)�)�)�)�)r)r�c���eZdZ dZ�fd�Zd�Zed���Zed���Ze d���Z e d���Z �xZ S)� EntryPointsr2c�F�� t|t��r=tjdtd���t ���|��S tt|� |�������S#t$rt|���wxYw)NzGAccessing entry points by index is deprecated. Cast to tuple if needed.rZr[r#) r��intrdrerfr�ra�nextr��select� StopIteration�KeyError�r&r$r�s �r'razEntryPoints.__getitem__fs���� � �d�C� � � -� �M�+�"��  � � � � �7�7�&�&�t�,�,� ,� !���T�[�[�d�[�3�3�4�4�5�5� 5��� !� !� !��4�.�.� � !���s �/B�B c �<�� t�fd�|D����S)Nc3�6�K�|]}|jdi����|V��dS�Nr2)r�)r:�epr�s �r'r<z%EntryPoints.select..|s:�����E�E�"� �� �0D�0D�V�0D�0D�E�2�E�E�E�E�E�Er)�r��r&r�s `r'r�zEntryPoints.selectws-��� ��E�E�E�E��E�E�E�E�E�Er)c�� d�|D��S)Nc��h|] }|j�� Sr2r#�r:r�s r'� z$EntryPoints.names..�s��'�'�'�B���'�'�'r)r2r%s r'�nameszEntryPoints.names~s�� �(�'�$�'�'�'�'r)c�� d�|D��S)Nc��h|] }|j�� Sr2)rir�s r'r�z%EntryPoints.groups..�s��(�(�(�R���(�(�(r)r2r%s r'�groupszEntryPoints.groups�s�� �)�(�4�(�(�(�(r)c�X��|�fd�|�|��D����S)Nc3�B�K�|]}|����V��dSr+)r�)r:r�rjs �r'r<z-EntryPoints._from_text_for..�s-�����@�@�R�2�7�7�4�=�=�@�@�@�@�@�@r))� _from_text)r@rArjs `r'�_from_text_forzEntryPoints._from_text_for�s4����s�@�@�@�@�3�>�>�$�+?�+?�@�@�@�@�@�@r)c�N�d�t�|pd��D��S)Nc3�lK�|]/}t|jj|jj|j���V��0dS)rlN)rhr7r$)r:r`s r'r<z)EntryPoints._from_text..�sP���� � �� �D�J�O�4�:�3C�4�9� U� U� U� � � � � � r)rt)r4rB)rAs r'r�zEntryPoints._from_text�s5�� � �!�/�/�� ��;�;� � � � r))r.r/r0r�rar�r1r�r�rVr�rWr�r�r�s@r'r�r�_s����������I�!�!�!�!�!�"F�F�F��(�(��X�(� �)�)��X�)��A�A��[�A�� � ��\� � � � � r)r�c���eZdZ ejejded���Z�fd�Z d �fd� Z �fd�Z �fd�Z �fd �Z �fd �Z�xZS) � Deprecatedz:SelectableGroups dict interface is deprecated. Use select.rZr[c�n��|���t���|��Sr+)r^r�rar�s �r'razDeprecated.__getitem__�s(��� � � � � � ��w�w�"�"�4�(�(�(r)Nc�p��|���t���||��Sr+)r^r��get)r&r$�defaultr�s �r'r�zDeprecated.get�s(��� � � � � � ��w�w�{�{�4��)�)�)r)c�l��|���t�����Sr+)r^r�r��r&r�s �r'r�zDeprecated.__iter__�s&��� � � � � � ��w�w���!�!�!r)c�X��|���t��j|�Sr+)r^r�� __contains__)r&r,r�s �r'r�zDeprecated.__contains__�s$��� � � � � � �#�u�w�w�#�T�*�*r)c�l��|���t�����Sr+)r^r��keysr�s �r'r�zDeprecated.keys�s"��� � � � � � ��w�w�|�|�~�~�r)c�l��|���t�����Sr+)r^r�r�r�s �r'r�zDeprecated.values�s$��� � � � � � ��w�w�~�~���r)r+)r.r/r0rbrcrdrerfr^rar�r�r�r�r�r�r�s@r'r�r��s���������, �I� �� �D���  � � �E�)�)�)�)�)�*�*�*�*�*�*�"�"�"�"�"�+�+�+�+�+������ � � � � � � � � r)r�c�x��eZdZ ed���Ze�fd���Zed���Zed���Zd�Z �xZ S)�SelectableGroupsc��tjd��}t||���}tj||��}|d�|D����S)Nri��keyc3�>K�|]\}}|t|��fV��dSr+r�)r:ri�epss r'r<z(SelectableGroups.load..�s3����G�G����E�;�s�+�+�,�G�G�G�G�G�Gr))r�� attrgetter�sorted� itertools�groupby)r@r��by_group�ordered�groupeds r'r|zSelectableGroups.load�sU���&�w�/�/����(�+�+�+���#�G�X�6�6���s�G�G�w�G�G�G�G�G�Gr)c��� tt|�����}ttj�|����Sr+)r�r�r�r�r��chain� from_iterable)r&r�r�s �r'�_allzSelectableGroups._all�sC��� ��z�4�(�(�/�/�1�1���9�?�8�8��@�@�A�A�Ar)c��|jjSr+)r�r�r%s r'r�zSelectableGroups.groups�s ���y��r)c�� |jjSr+)r�r�r%s r'r�zSelectableGroups.names�s�� � �y��r)c �.�|s|S|jjdi|��Sr�)r�r�r�s r'r�zSelectableGroups.select�s*��� ��K��t�y��)�)�&�)�)�)r)) r.r/r0rVr|r1r�r�r�r�r�r�s@r'r�r��s��������� �H�H��[�H� �B�B�B�B��X�B�� � ��X� �����X��*�*�*�*�*�*�*r)r�c�$�eZdZ dd�Zd�Zd�ZdS)� PackagePath�utf-8c��|����|���5}|���cddd��S#1swxYwYdS)N��encoding��locate�openr>)r&r�streams r'� read_textzPackagePath.read_text�s��� �[�[�]�]� � �� � 2� 2� !�f��;�;�=�=� !� !� !� !� !� !� !� !� !� !� !� !���� !� !� !� !� !� !s�A � A�Ac��|����d��5}|���cddd��S#1swxYwYdS)N�rbr)r&rs r'� read_binaryzPackagePath.read_binarys��� �[�[�]�]� � �� %� %� !���;�;�=�=� !� !� !� !� !� !� !� !� !� !� !� !���� !� !� !� !� !� !s�A � A �A c�8� |j�|��Sr+)rj� locate_filer%s r'rzPackagePath.locates��5��y�$�$�T�*�*�*r)N)r�)r.r/r0rrrr2r)r'r�r��sI������,�!�!�!�!�!�!�!�+�+�+�+�+r)r�c��eZdZd�Zd�ZdS)�FileHashc�L�|�d��\|_}|_dS)N�=)� partition�moder7)r&�spec�_s r'rpzFileHash.__init__ s"��#'�>�>�#�#6�#6� �� �1�d�j�j�jr)c�(�d|j�d|j�d�S)Nz)rr7r%s r'r�zFileHash.__repr__s��B�$�)�B�B�T�Z�B�B�B�Br)N)r.r/r0rpr�r2r)r'r r  s7������7�7�7�C�C�C�C�Cr)r c��eZdZ ejd���Zejd���Zedefd���Z ed���Z e d���Z e d���Z edejfd ���Zed ���Zed ���Zed ���Zed ���Zed���Zd�Zd�Zed���Zd�Zd�Zed���Ze d���ZdS)rc��dSr+r2�r&�filenames r'rzDistribution.read_texts �� � r)c��dSr+r2�r&�paths r'r zDistribution.locate_files �� � r)r$c�� |std��� t|�|�����S#t$rt |���wxYw)Nz A distribution name is required.r#)� ValueErrorr��discoverr�r)r@r$s r'� from_namezDistribution.from_name%sk�� �� A��?�@�@� @� -��� � �$� �/�/�0�0� 0��� -� -� -�&�t�,�,� ,� -���s �"7�Ac ���� |�dd����r|rtd����ptjdi|���tj��fd�|���D����S)N�contextz cannot accept context and kwargsc3�.�K�|]}|���V��dSr+r2)r:�resolverr!s �r'r<z(Distribution.discover..Es>�����- �- �"*�H�H�W� � �- �- �- �- �- �- r)r2)�poprr�Contextr�r�r��_discover_resolvers)r@r�r!s @r'rzDistribution.discover7s���� ��*�*�Y��-�-�� � A�v� A��?�@�@� @��A�/�7�A�A�&�A�A����,�,�- �- �- �- �.1�.E�.E�.G�.G�- �- �- � � � r)c�F� ttj|����Sr+)�PathDistribution�pathlib�Path)rs r'�atzDistribution.atIs!�� �  �� �T� 2� 2�3�3�3r)c�P� d�tjD��}td|��S)Nc3�8K�|]}t|dd��V��dS)�find_distributionsNr�)r:�finders r'r<z3Distribution._discover_resolvers..Us@���� � �.make_file�sH��� ��&�&�F�,0�:�(�4�.�.�.�d�F�K�+3�=�#�h�-�-�-��F�K��F�K��Mr)c�b��tt�tj|������Sr+)�listr�csv�reader)rMrJs �r'� make_filesz&Distribution.files..make_files�s%����� �3�:�e�+<�+<�=�=�>�>� >r))NN)r �_read_files_distinfo�_read_files_egginfo)r&rOrJs` @r'rzDistribution.files~s{���� � � � � � � � � ?� ?� ?� ?� �� ?��z�$�3�3�5�5�S��9Q�9Q�9S�9S�T�T�Tr)c�Z� |�d��}|o|���S)N�RECORD)rrJr9s r'rPz!Distribution._read_files_distinfo�s/�� ��~�~�h�'�'���)����)�)�)r)c�� |�d��}|o&tdj|�����S)Nz SOURCES.txtz"{}")rrG�formatrJr9s r'rQz Distribution._read_files_egginfo�s;�� ��~�~�m�,�,���=��F�M�4�?�?�+<�+<�=�=�=r)c�v� |���p|���}|ot|��Sr+)�_read_dist_info_reqs�_read_egg_info_reqsrL)r&�reqss r'rzDistribution.requires�s8��D��(�(�*�*�H�d�.F�.F�.H�.H���"��T� � �"r)c�6�|j�d��S)Nz Requires-Dist)r�get_allr%s r'rWz!Distribution._read_dist_info_reqs�s���}�$�$�_�5�5�5r)c�f�|�d��}t|j��|��S)Nz requires.txt)rr �_deps_from_requires_text)r&�sources r'rXz Distribution._read_egg_info_reqs�s.������/�/��7�y��6�7�7��?�?�?r)c�\�|�t�|����Sr+)�%_convert_egg_info_reqs_to_simple_reqsr4r>)r@r^s r'r]z%Distribution._deps_from_requires_text�s"���8�8�����9O�9O�P�P�Pr)c#��K� d���fd�}d�}|D]/}||j��}|j|z||j��zV��0dS)Nc��|od|�d�S)Nz extra == "�"r2r#s r'�make_conditionzJDistribution._convert_egg_info_reqs_to_simple_reqs..make_condition�s���0�0��0�0�0� 0r)c ����|pd}|�d��\}}}|r|rd|�d�}ttd|�|��g����}|rdd�|��zndS)Nrt�:�(r�z; z and )rrLrF�join)r;�extra�sep�markers� conditionsrds �r'� quoted_markerzIDistribution._convert_egg_info_reqs_to_simple_reqs..quoted_marker�s�����m��G�")�"3�"3�C�"8�"8� �E�3��� )�� )�(�g�.�.�.���f�T�G�^�^�E�5J�5J�+K�L�L�M�M�J�6@�H�4�'�,�,�z�2�2�2�2�b� Hr)c�� dd|vzS)N� �@r2)�reqs r'� url_req_spacezIDistribution._convert_egg_info_reqs_to_simple_reqs..url_req_space�s�� � �#��*�%� %r))r7r$)�sectionsrmrrr;�spacerds @r'r`z2Distribution._convert_egg_info_reqs_to_simple_reqs�s������ � 1� 1� 1� I� I� I� I� I� &� &� &� � F� F�G�!�M�'�-�0�0�E��-�%�'�-�-�� �*E�*E�E� E� E� E� E� F� Fr)N)r.r/r0�abc�abstractmethodrr rVrHrrrWr+r&r1rr rr$rAr rrrPrQrrWrXr]r`r2r)r'rrs������(��� � ��� � �� � ��� � �-�S�-�-�-��[�-�"� � ��[� �"�4�4��\�4��&�&��\�&��B�%�/�B�B�B��X�B� �%�%��X�%��-�-��X�-��(�(��X�(��T�T��X�T��U�U��X�U�0*�*�*�>�>�>��#�#��X�#� 6�6�6�@�@�@��Q�Q��[�Q�� F� F��\� F� F� Fr)rc�^�eZdZ Gd�d��Zeje��fd���ZdS)rc�2�eZdZ dZ d�Zed���ZdS)�DistributionFinder.ContextNc �J�t|���|��dSr+rm)r&r�s r'rpz#DistributionFinder.Context.__init__�s"�� ��J�J� � �f� %� %� %� %� %r)c�^� t|���dtj��S)Nr)rnr�r0rr%s r'rzDistributionFinder.Context.path�s%�� ���:�:�>�>�&�#�(�3�3� 3r))r.r/r0r$rpr1rr2r)r'r%ry�sO������ ��� �  &� &� &� � 4� 4� �� 4� 4� 4r)r%c��dSr+r2)r&r!s r'r.z%DistributionFinder.find_distributionss �� � r)N)r.r/r0r%rurvr.r2r)r'rr�so�������4�4�4�4�4�4�4�4�@ ��)0���� � � ��� � � r)rc���eZdZ ej���fd���Zd�Zd�Zd�Zd�Z d�Z e d���Z e d���Z�xZS) �FastPathc�F��t���|��Sr+)r��__new__)r@�rootr�s �r'r�zFastPath.__new__s����w�w���s�#�#�#r)c��||_dSr+)r�)r&r�s r'rpzFastPath.__init__s ���� � � r)c�6�tj|j|��Sr+)r)r*r�)r&�childs r'�joinpathzFastPath.joinpaths���|�D�I�u�-�-�-r)c��tt��5tj|jpd��cddd��S#1swxYwYtt��5|���cddd��S#1swxYwYgS)Nru)r� Exception�os�listdirr�� zip_childrenr%s r'�childrenzFastPath.childrens��� �i� � � 0� 0��:�d�i�.�3�/�/� 0� 0� 0� 0� 0� 0� 0� 0� 0� 0� 0� 0���� 0� 0� 0� 0� �i� � � '� '��$�$�&�&� '� '� '� '� '� '� '� '� '� '� '� '���� '� '� '� '�� s!�=�A�A�A=�=B�Bc���tj|j��}|j���}|j|_t �d�|D����S)Nc3�bK�|]*}|�tjd��dV��+dS)rrN)rx� posixpathrj)r:r�s r'r<z(FastPath.zip_children..*s7����Q�Q�%�U�[�[����:�:�1�=�Q�Q�Q�Q�Q�Qr))�zipfiler*r��namelistr��dict�fromkeys)r&�zip_pathr�s r'r�zFastPath.zip_children%sQ���<�� �*�*��� �&�&�(�(�� �)�� ��}�}�Q�Q�5�Q�Q�Q�Q�Q�Qr)c�\�|�|j���|��Sr+)�lookup�mtime�searchr-s r'r�zFastPath.search,s$���{�{�4�:�&�&�-�-�d�3�3�3r)c���tt��5tj|j��jcddd��S#1swxYwY|j���dSr+)r�OSErrorr��statr��st_mtimer�� cache_clearr%s r'r�zFastPath.mtime/s��� �g� � � /� /��7�4�9�%�%�.� /� /� /� /� /� /� /� /� /� /� /� /���� /� /� /� /� � ���!�!�!�!�!s�A�A�Ac� �t|��Sr+)�Lookup)r&r�s r'r�zFastPath.lookup5s���d�|�|�r))r.r/r0rb� lru_cacher�rpr�r�r�r�r1r�rr�r�r�s@r'r~r~ s����������Y����$�$�$�$���$����.�.�.����R�R�R�4�4�4��"�"��X�"� ����\�����r)r~c� �eZdZdefd�Zd�ZdS)r�rc���tj�|j�����}|�d��}t t��|_t t��|_ |� ��D�]7}|���}|�d��r�|� d��d� d��d}t�|��}|j|�|�|������|r�|dkr�|� d��d� d��d}t�|��}|j |�|�|������9|j���|j ���dS)Nz.egg�z .dist-infoz .egg-inforur�-zegg-info)r�r�basenamer��lowerrLrrL�infos�eggsr�� rpartitionrr?r@�appendr��legacy_normalize�freeze) r&r�base� base_is_eggr��lowr$� normalized�legacy_normalizeds r'rpzLookup.__init__;s����w���� �*�*�0�0�2�2���m�m�F�+�+� �)�$�/�/�� �(��.�.�� ��]�]�_�_� J� J�E��+�+�-�-�C��|�|�7�8�8� J��~�~�c�*�*�1�-�7�7��<�<�Q�?��%�/�/��5�5� �� �:�&�-�-�d�m�m�E�.B�.B�C�C�C�C�� J�� �!2�!2����s�+�+�A�.�8�8��=�=�a�@��$,�$=�$=�d�$C�$C�!�� �+�,�3�3�D�M�M�%�4H�4H�I�I�I�� � ������ � �������r)c�T�|r|j|jn5tj�|j�����}|r|j|jn5tj�|j�����}tj||��Sr+)r�r�r�r�r�r�r�r�)r&�preparedr�r�s r'r�z Lookup.searchPs���� D�D�J�x�*� +� +���.�.�t�z�/@�/@�/B�/B�C�C� �� C�D�I�h�0� 1� 1���.�.�t�y�/?�/?�/A�/A�B�B� � ��u�d�+�+�+r)N)r.r/r0r~rpr�r2r)r'r�r�:s>�������X�����* ,� ,� ,� ,� ,r)r�c�P�eZdZ dZdZd�Zed���Zed���Zd�Z dS)r?Nc��||_|�dS|�|��|_|�|��|_dSr+)r$r@r�r�r�r-s r'rpzPrepared.__init__fsB���� � �<� �F��.�.��.�.���!%�!6�!6�t�!<�!<����r)c�|� tjdd|������dd��S)Nz[-_.]+r�r)r��subr��replacer#s r'r@zPrepared.normalizems9�� ��v�i��d�+�+�1�1�3�3�;�;�C��E�E�Er)c�T� |����dd��S)Nr�r)r�r�r#s r'r�zPrepared.legacy_normalizets'�� ��z�z�|�|�#�#�C��-�-�-r)c�*�t|j��Sr+)�boolr$r%s r'�__bool__zPrepared.__bool__|s���D�I���r)) r.r/r0r�r�rprWr@r�r�r2r)r'r?r?^s}��������J���=�=�=��F�F��\�F� �.�.��\�.�����r)r?c�x�eZdZee���fd���Zed���Zed���ZdS)�MetadataPathFinderc�n� |�|j|j��}tt|��Sr+)� _search_pathsr$rrGr()r@r!�founds r'r.z%MetadataPathFinder.find_distributions�s3�� ��!�!�'�,�� �=�=���#�U�+�+�+r)c��� t|���tj��fd�t t |��D����S)Nc3�B�K�|]}|����V��dSr+)r�)r:rr�s �r'r<z3MetadataPathFinder._search_paths..�s@�����- �- �&*�D�K�K�� !� !�- �- �- �- �- �- r))r?r�r�r�rGr~)r@r$�pathsr�s @r'r�z MetadataPathFinder._search_paths�s[���?��D�>�>����,�,�- �- �- �- �.1�(�E�.B�.B�- �- �- � � � r)c�B�tj���dSr+)r~r�r�)r@s r'�invalidate_cachesz$MetadataPathFinder.invalidate_caches�s����$�$�&�&�&�&�&r)N) r.r/r0rVrr%r.r�r�r2r)r'r�r��sw�������(:�(B�(B�(D�(D� ,� ,� ,��[� ,�� � ��[� ��'�'��[�'�'�'r)r�c�~��eZdZdefd�Zd�Zejje_d�Ze �fd���Z e d���Z �xZ S)r(rc�� ||_dSr+)�_pathrs r'rpzPathDistribution.__init__�s�� ��� � � r)c���tttttt ��5|j�|���d���cddd��S#1swxYwYdS)Nr�r�) r�FileNotFoundError�IsADirectoryErrorr��NotADirectoryError�PermissionErrorr�r�rrs r'rzPathDistribution.read_text�s��� � � � � � �  � � M� M��:�&�&�x�0�0�:�:�G�:�L�L� M� M� M� M� M� M� M� M� M� M� M� M���� M� M� M� M� M� Ms�.A(�(A,�/A,c� �|jj|z Sr+)r��parentrs r'r zPathDistribution.locate_file�s���z� �4�'�'r)c���� tj�t|j����}t t j��|�|����pt��j Sr+) r�rr�rHr�r r?r@�_name_from_stemr�rA)r&�stemr�s �r'rAz!PathDistribution._normalized_name�sa��� ��w����D�J���0�0�� )�I�h�(� )� )�$�*>�*>�t�*D�*D� E� E� (��w�w�'� r)c�� tj�|��\}}|dvrdS|�d��\}}}|S)Nr�r�)r�r�splitextr)r�r�extr$rj�rests r'r�z PathDistribution._name_from_stem�sQ�� ���(�(��.�.� ��#� �1� 1� 1� �F�"�,�,�S�1�1���c�4�� r))r.r/r0r rprr�__doc__r r1rArWr�r�r�s@r'r(r(�s���������Z�����M�M�M�%�.�6�I��(�(�(��  �  �  �  ��X�  �����\�����r)r(c�8� t�|��Sr+)rr��distribution_names r'rr�s��� � !� !�"3� 4� 4�4r)c �&� tjdi|��Sr�)rr)r�s r'rr�s ��� � � *� *�6� *� *�*r)r3c�B� t�|��jSr+)rrrr�s r'rr�s!��� � !� !�"3� 4� 4� =�=r)c�,� t|��jSr+)rr r�s r'r r �s��� �)� *� *� 2�2r)rAr�c ��� tj�d�tt ����D����}t �|��jdi|��S)Nc3�$K�|] }|jV�� dSr+)r)r:rjs r'r<zentry_points..s6����(�(�"���(�(�(�(�(�(r)r2)r�r�r��_uniquerr�r|r�)r�r�s r'rr�so��� �/� '� '�(�(�&-�m�o�o�&>�&>�(�(�(� � �C� � � �� %� %� ,� 6� 6�v� 6� 6�6r)c�,� t|��jSr+)rrr�s r'rrs��� �)� *� *� 0�0r)c�,� t|��jSr+)rrr�s r'rrs��� �)� *� *� 3�3r)c�� tjt��}t��D]I}t |��pt |��D](}||�|jd���)�Jt|��Sr;) � collections� defaultdictrLr�_top_level_declared�_top_level_inferredr�rr�)� pkg_to_distrj�pkgs r'rr's�����)�$�/�/�K����;�;��&�t�,�,�I�0C�D�0I�0I� ;� ;�C� �� � #� #�D�M�&�$9� :� :� :� :� ;� � � � �r)c�T�|�d��pd���S)Nz top_level.txtrt)rrxr�s r'r�r�8s%�� �N�N�?� +� +� 1�r� 8� 8� :� :�:r)c�>�d�t|j��D��S)Nc��h|]L}|jdk� t|j��dkr |jdn|�d��j��MS)z.pyrrrt)�suffix�len�parts� with_suffixr$)r:�fs r'r�z&_top_level_inferred..=sZ�� � � � � �8�u� � ��!�'�l�l�Q�&�&���� � �A�M�M�"�,=�,=�,B� � � r))r rr�s r'r�r�<s-�� � � ���,�,� � � �r))Mr�r�rurMr0r7r)r�r�rRrdrbr�r�r�rtrr� _collectionsrr� _functoolsrr � _itertoolsr r r r � contextlibr� importlibr� importlib.abcrr�typingrrrr�__all__�ModuleNotFoundErrorrr4rYrhrLr�r�r�r�r�� PurePosixPathr�r rrr~r�r?r�r(rrrr rcr�r�rrrrHrr�r�r2r)r'�r�s��� � � � � � � � � � � � � � � � � � � � � � � � ���������������������������������������������4�4�4�4�4�4�4�4�/�/�/�/�/�/�/�/�8�8�8�8�8�8�8�8�.�.�.�.�.�.�.�.�������#�#�#�#�#�#�(�(�(�(�(�(�������1�1�1�1�1�1�1�1�1�1�1�1� � � �� � � � � �.� � � �>1�>1�>1�>1�>1�>1�>1�>1�B!�!�!�!�!�!�!�!�4A!�A!�A!�A!�A!��A!�A!�A!�HC)�C)�C)�C)�C)�T�C)�C)�C)�L: �: �: �: �: �.�: �: �: �z4 �4 �4 �4 �4 �4 �4 �4 �n%*�%*�%*�%*�%*�z�4�%*�%*�%*�P +� +� +� +� +�'�'� +� +� +� C�C�C�C�C�C�C�C�EF�EF�EF�EF�EF�EF�EF�EF�P- �- �- �- �- ��- �- �- �`,�,�,�,�,�,�,�,�^!,�!,�!,�!,�!,�!,�!,�!,�H��������D'�'�'�'�'�+�'�'�'�62�2�2�2�2�|�2�2�2�j5�5�5�+�+�+�>�5�#8�>�>�>�>�3�3�3� �)� �����.�/�/� � � ��� 7�e�K�1A�$A�B�7�7�7�7�.1�1�1�4�4�4����T�#�Y�� 7�����";�;�;�����r)