U Qab @ s\ d Z ddlZddlZddlZddlmZ dZdZdZ dZ dZdd d ZdddZ d d ZdS )zX Re-implementation of find_module and get_frozen_object from the deprecated imp module. N )module_from_spec c C sV t j| |}|dkr"td| |jsBt|drBt jd|j}d}d}t|jt }|j dkst|rt|jt jj rt}d}d }}n|j dks|rt|jt jjrt}d}d }}n|jr:|j }tj|d }|t jjkrd nd}|t jjkrt}n&|t jjkrt}n|t jjkr t}|tthkrFt||}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportN Can't find %ssubmodule_search_locationsz__init__.pyfrozen zbuilt-inr rrb) importlibutil find_specImportErrorhas_locationhasattrspec_from_loaderloader isinstancetypeorigin issubclass machineryFrozenImporter PY_FROZENBuiltinImporter C_BUILTINospathsplitextSOURCE_SUFFIXES PY_SOURCEBYTECODE_SUFFIXESPY_COMPILEDEXTENSION_SUFFIXESC_EXTENSIONopen) modulepathsspecZkindfileZstaticr! suffixmode r0 3/usr/lib/python3.8/site-packages/setuptools/_imp.pyfind_module sJ r2 c C s* t j| |}|std| |j| S Nr )r r r r r get_code)r* r+ r, r0 r0 r1 get_frozen_object> s r5 c C s&