
    eA                    p    d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ  ed      d
d	       Zy)    )annotationsN)	lru_cache)_NamespacePath)_find_spec_from_path)IS_PYPYi   )maxsizec                X   ddl m}m} |j                  |      | t        j
                  v ryd }g }d }| j                  d      D ]n  }|j                  |       dj                  |      }	 t        ||      }|s6|j*                  sCt-        fd
|j*                  D              r y|j*                  }p |d uxr |j*                  d uxr |j.                  d u S # t        $ r Y  yt        $ rw | dk(  rY  y	 t        j                  |d      }|j                  d u xr& t        |dd       d u xr t        |d      xr t          cY c S # t"        $ r Y Y  yt        $ r Y Y  yw xY wt"        $ r= |r7|d	   }	t%        j&                  |	      |z  }
|j                  t)        |
             Y cw xY w)Nr   )EXT_LIB_DIRSSTD_LIB_DIRSF.)path__main____file____path__c              3  H   K   | ]  t        fd D                yw)c              3  @   K   | ]  }j                  |        y w)N)
startswith).0lib_dirlocations     B/usr/lib/python3/dist-packages/astroid/interpreter/_import/util.py	<genexpr>z)is_namespace.<locals>.<genexpr>.<genexpr>^   s     UWH''0Us   N)any)r   r   STD_AND_EXT_LIB_DIRSs    @r   r   zis_namespace.<locals>.<genexpr>]   s%       U@TUUs   ")astroid.modutilsr
   r   unionsysbuiltin_module_namessplitappendjoinr   AttributeError
ValueErrormodules__spec__getattrhasattrr   KeyErrorpathlibPathstrsubmodule_search_locationsr   origin)modnamer
   r   
found_specprocessed_componentslast_submodule_search_locations	componentworking_modnamemod	last_itemassumed_locationr   s              @r   is_namespacer8      s   
 (--l;#***J =A#]]3' >T	##I.((#780	 .&EJ` *??   * E E  .8.S.S+}>TB 	$ 	&11=	&%o  	 	*$ kk"6q"9:LLD( $Z6$>$Z0$ $	  !    	 /;B?	 $+<<	#:Y#F /66s;K7LM#	sJ   +C	F)&F)7AEF)	E!F)E!F) E!!AF)(F))r/   r,   returnbool)
__future__r   r*   r   	functoolsr   importlib._bootstrap_externalr   importlib.utilr   astroid.constr   r8        r   <module>rB      s7   
 #  
  8 / ! 4W WrA   