U ë˜ReX ã @ sd d Z ddlZddlZddlZddlmZ dZdZdZ dZ dZd d „ Zddd„Z dd d„Zdd„ ZdS )zX Re-implementation of find_module and get_frozen_object from the deprecated imp module. é Né )Úmodule_from_specé é é é c C s( t |tƒrtj ¡ jntjj}|| |ƒS )N)Ú isinstanceÚlistÚ importlibÚ machineryÚ PathFinderÚ find_specÚutil)ÚmoduleÚpathsÚfinder© r ú…/builddir/build/BUILDROOT/alt-python38-setuptools-58.3.0-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/setuptools/_imp.pyr s ÿýr c C sR t | |ƒ}|dkrtd| ƒ‚|js>t|dƒr>tj d|j¡}d}d}t|jt ƒ}|j dksp|r‚t|jtjj ƒr‚t}d}d }}nÀ|j dks |r²t|jtjjƒr²t}d}d }}n�|j�r6|j }tj |¡d }|tjjkràd nd}|tjjkröt}n&|tjjk�r t}n|tjjk�rt}|tthk�rBt||ƒ}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportNú Can't find %sÚsubmodule_search_locationsz__init__.pyéÿÿÿÿÚfrozenÚ zbuilt-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ÚfileZstaticr( ÚsuffixÚmoder r r Úfind_module sJ ÿ ÿ r6 c C s&