
      e	                     ^    d Z ddlZddlZddlZddlmZ dZdZdZdZ	dZ
d	 Zdd
ZddZd ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
    N)module_from_spec               c                     t          |t                    r#t          j                                        j        nt          j        j        } || |          S N)
isinstancelist	importlib	machinery
PathFinder	find_specutil)modulepathsfinders      /lib/python3.11/site-packages/setuptools/_imp.pyr   r      sN     eT""	&	&&((22^% 
 6&%       c                    t          | |          }|t          d| z            |j        s5t          |d          r%t          j                            d|j                  }d}d}t          |j        t                    }|j
        dk    s&|r3t          |j        t          j        j                  rt          }d}dx}}n |j
        dk    s&|r2t          |j        t          j        j                  rt           }d}dx}}n|j        r|j
        }t"          j                            |          d	         }|t          j        j        v rd
nd}|t          j        j        v rt*          }n5|t          j        j        v rt.          }n|t          j        j        v rt2          }|t*          t.          hv rt5          ||          }nd}dx}}|||||ffS )z7Just like 'imp.find_module()', but with package supportNCan't find %ssubmodule_search_locationsz__init__.pyfrozen zbuilt-inr   rrb)r   ImportErrorhas_locationhasattrr   r   spec_from_loaderloaderr   typeorigin
issubclassr   FrozenImporter	PY_FROZENBuiltinImporter	C_BUILTINospathsplitextSOURCE_SUFFIXES	PY_SOURCEBYTECODE_SUFFIXESPY_COMPILEDEXTENSION_SUFFIXESC_EXTENSIONopen)	r   r   speckindfilestaticr,   suffixmodes	            r   find_moduler;      s   VU##D|/F2333 K/K!L!L K~..}dkJJDDT**Fx 	 t{I$7$FGG 	  z!! 	"t{I$7$GHH 	" 		 {!!$''*	 3 CCCssY(888DDy*<<<DDy*===DI{+++d##Dd+++r   c                 ~    t          | |          }|st          d| z            |j                            |           S Nr   )r   r   r#   get_code)r   r   r5   s      r   get_frozen_objectr?   M   sB    VU##D 4/F2333;'''r   c                 h    t          | |          }|st          d| z            t          |          S r=   )r   r   r   )r   r   infor5   s       r   
get_modulerB   T   s:    VU##D 4/F2333D!!!r   r
   )__doc__r+   importlib.utilr   importlib.machineryr   r/   r1   r3   r*   r(   r   r;   r?   rB    r   r   <module>rG      s    
 
			         + + + + + + 			! ! !-, -, -, -,`( ( ( (" " " " "r   