o )ag @s6ddlZddlZGdddZdZeeeddS)Nc@sXeZdZdZdddZeddZdd Zd d Zd d Z ddZ dddZ ddZ dS)VendorImporterz A PEP 302 meta path importer for finding optionally-vendored or otherwise naturally-installed packages from root_name. NcCs&||_t||_|p|dd|_dS)NZexternZ_vendor) root_namesetvendored_namesreplace vendor_pkg)selfrrrrrM/opt/alt/python310/lib/python3.10/site-packages/setuptools/extern/__init__.py__init__ s zVendorImporter.__init__ccs|jdVdVdS)zL Search first the vendor package then as a natural package. .N)rr rrr search_paths  zVendorImporter.search_pathcCs.||jd\}}}| ott|j|jS)z,Figure out if the target module is vendored.r ) partitionranymap startswithr)r fullnamerootbasetargetrrr _module_matches_namespacesz(VendorImporter._module_matches_namespacec Csx||jd\}}}|jD]"}z||}t|tj|}|tj|<|WSty0Yqwtdjdit)zK Iterate over the search path to locate and load fullname. r zThe '{target}' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.Nr) rrr __import__sysmodules ImportErrorformatlocals)r rrrrprefixZextantmodrrr load_modules$     zVendorImporter.load_modulecCs ||jSN)r!name)r specrrr create_module3s zVendorImporter.create_modulecCsdSr"r)r modulerrr exec_module6szVendorImporter.exec_modulecCs||r tj||SdS)z(Return a module spec for vendored names.N)r importlibutilspec_from_loader)r rpathrrrr find_spec9s zVendorImporter.find_speccCs|tjvr tj|dSdS)zR Install this importer into sys.meta_path if not already present. N)r meta_pathappendrrrr install@s zVendorImporter.install)rN)NN) __name__ __module__ __qualname____doc__r propertyrrr!r%r'r,r/rrrr rs    r)Z packagingZ pyparsingZ ordered_setZmore_itertoolszsetuptools._vendor)importlib.utilr(rrnamesr0r/rrrr s C