JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrU Qab@sHddlZddlZddlmZmZddlmmZGdddejZdS)N)productstarmapc@sZeZdZdZddZddZddZedd Zd d Z ed d Z dddZ ddZ dS) install_libz9Don't add compiled flags to filenames of non-Python filescCs&||}|dk r"||dSN)ZbuildinstallZ byte_compile)selfoutfilesr B/usr/lib/python3.8/site-packages/setuptools/command/install_lib.pyrun szinstall_lib.runcs4fddD}t|}ttj|S)z Return a collections.Sized collections.Container of paths to be excluded for single_version_externally_managed installations. c3s"|]}|D] }|VqqdSr) _all_packages).0Zns_pkgpkgrr r s z-install_lib.get_exclusions..)_get_SVEM_NSPsr_gen_exclusion_pathssetr_exclude_pkg_path)rZ all_packagesZ excl_specsr rr get_exclusionss  zinstall_lib.get_exclusionscCs$|d|g}tjj|jf|S)zw Given a package name and exclusion path within that package, compute the full exclusion path. .)splitospathjoinZ install_dir)rrZexclusion_pathpartsr r r rszinstall_lib._exclude_pkg_pathccs |r|V|d\}}}qdS)zn >>> list(install_lib._all_packages('foo.bar.baz')) ['foo.bar.baz', 'foo.bar', 'foo'] rN) rpartition)Zpkg_namesepZchildr r r r 'szinstall_lib._all_packagescCs,|jjs gS|d}|j}|r(|jjSgS)z Get namespace packages (list) but only for single_version_externally_managed installations and empty otherwise. r)Z distributionZnamespace_packagesZget_finalized_commandZ!single_version_externally_managed)rZ install_cmdZsvemr r r r1s  zinstall_lib._get_SVEM_NSPsccsbdVdVdVttds dStjddtjj}|dV|d V|d V|d VdS) zk Generate file paths to be excluded for namespace packages (bytecode cache files). z __init__.pyz __init__.pycz __init__.pyoimplementationN __pycache__z __init__.z.pycz.pyoz .opt-1.pycz .opt-2.pyc)hasattrsysrrrr cache_tag)baser r r rAs    z install_lib._gen_exclusion_pathsrc sh|r |r |rt|s,tj|||Sddlm}ddlmgfdd}||||S)Nr)unpack_directory)logcs<|krd|dSd|tj|||S)Nz/Skipping installation of %s (namespace package)Fzcopying %s -> %s)warninforrdirnameappend)srcZdstexcluder&rr r pfgs z!install_lib.copy_tree..pf) AssertionErrorrorigr copy_treeZsetuptools.archive_utilr%Z distutilsr&) rZinfileZoutfileZ preserve_modeZpreserve_timesZpreserve_symlinkslevelr%r.r r,r r1Vs   zinstall_lib.copy_treecs.tj|}|r*fdd|DS|S)Ncsg|]}|kr|qSr r )r fr-r r xsz+install_lib.get_outputs..)r0r get_outputsr)rZoutputsr r4r r6ts  zinstall_lib.get_outputsN)r$r$rr$) __name__ __module__ __qualname____doc__r rr staticmethodr rrr1r6r r r r rs   r) rr! itertoolsrrZdistutils.command.install_libZcommandrr0r r r r s