
    
_d	                     \    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y)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	                         j
                  nt        j                  j
                  } || |      S N)
isinstancelist	importlib	machinery
PathFinder	find_specutil)modulepathsfinders      1/usr/lib/python3/dist-packages/setuptools/_imp.pyr   r      sI     eT" 	&&(22^^%% 
 &%      c                    t        | |      }|t        d| z        |j                  s6t        |d      r*t        j
                  j                  d|j                        }d}d}t        |j                  t              }|j                  dk(  s0|r<t        |j                  t        j                  j                        rt        }d}dx}}n/|j                  dk(  s0|r;t        |j                  t        j                  j                        rt         }d}dx}}n|j                  r|j                  }t"        j$                  j'                  |      d	   }|t        j                  j(                  v rd
nd}|t        j                  j(                  v rt*        }nE|t        j                  j,                  v rt.        }n"|t        j                  j0                  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/K!L~~..}dkkJDDT*Fxt{{I$7$7$F$FGz!t{{I$7$7$G$GH			{{!!$'*	 3 3 C CCsY((888Dy**<<<Dy**===DI{++d#Dd+++r   c                 p    t        | |      }|st        d| z        |j                  j                  |       S Nr   )r   r   r#   get_code)r   r   r5   s      r   get_frozen_objectr?   M   s6    VU#D/F233;;''r   c                 P    t        | |      }|st        d| z        t        |      S r=   )r   r   r   )r   r   infor5   s       r   
get_modulerB   T   s,    VU#D/F233D!!r   r
   )__doc__r+   importlib.utilr   importlib.machineryr   r/   r1   r3   r*   r(   r   r;   r?   rB    r   r   <module>rG      sH   
 
   + 			!-,`("r   