o inh @sdZddlZddlZddlZddlmZGdddeZd ddZd d Z e d krJze WdSeyIZ ze e e WYdZ [ dSdZ [ wwdS) a Utility for locating a module (or package's __main__.py) with a given name and verifying it contains the PYTHON_ARGCOMPLETE_OK marker. The module name should be specified in a form usable with `python -m`. Intended to be invoked by argcomplete's global completion function. N) find_specc@s eZdZdS)ArgcompleteMarkerNotFoundN)__name__ __module__ __qualname__rrD/usr/local/lib/python3.10/dist-packages/argcomplete/_check_module.pyrsrFcCs |d}tt|D]}td|d|d}|dur%|jdur%nq |dur3td|d|js:td|j durQt|dkrNtd|d|jSt|j dkr\tdt j j|j dg||ddR}t j |rd}|r{d }t j ||S|d S) N.zno module named "{}"rzcannot locate filez{} is not a packagezexpecting one search locationz __main__.pyz __init__.pyz.py) splitrangelenrjoinoriginrformat has_locationsubmodule_search_locationsospathisdir)namereturn_packagenamespackage_name_boundaryspecrfilenamerrrfinds.   & rcCsztjd}Wn tytdwt|}zt|}Wn ty)tdw| |d}Wdn1ss