Ë
    
_ßd•:  ã                   ó   — d dl mZ d dlmZ d dlmZ d dlmc mZ d dl	Z	d dl
Z
d dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZmZmZmZmZmZ ddlmZ dd	lmZ d
„ Z G d„ dej                  «      Zd„ Z G d„ d«      Z y)é    )Úpartial)Úglob)Úconvert_pathN)ÚPath)ÚDictÚIterableÚIteratorÚListÚOptionalÚTupleé   )Úunique_everseen)ÚSetuptoolsDeprecationWarningc                 óŒ   — t        j                  | t        j                  | «      j                  t        j                  z  «       y ©N)ÚosÚchmodÚstatÚst_modeÚS_IWRITE)Útargets    ú=/usr/lib/python3/dist-packages/setuptools/command/build_py.pyÚmake_writabler      s'   € Ü‡H�HˆV”R—W‘W˜V“_×,Ñ,¬t¯}©}Ñ<Õ=ó    c                   ó:  ‡ — e Zd ZU dZdZeed<   dZee	   ed<   d„ Z
	 dˆ fd„	Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd dee	   fˆ fd„Zdee	e	f   fd„Zdeee	e	f      fd„Zdeee	e	f      fd„Zd„ Zd„ Zdee	   de	dee	   fd„Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#e$d„ «       Z%ˆ xZ&S )!Úbuild_pyaX  Enhanced 'build_py' command that includes data files with packages

    The data files are specified via a 'package_data' argument to 'setup()'.
    See 'setuptools.dist.Distribution' for more details.

    Also, this version of the 'build_py' command allows you to specify both
    'py_modules' and 'packages' in the same setup operation.
    FÚeditable_modeNÚexisting_egg_info_dirc                 óú   — t         j                  j                  | «       | j                  j                  | _        | j                  j
                  xs i | _        d| j                  v r| j                  d= g | _        y )NÚ
data_files)Úorigr   Úfinalize_optionsÚdistributionÚpackage_dataÚexclude_package_dataÚ__dict__Ú_build_py__updated_files©Úselfs    r   r"   zbuild_py.finalize_options$   sa   € Ü�‰×&Ñ& tÔ,Ø ×-Ñ-×:Ñ:ˆÔØ$(×$5Ñ$5×$JÑ$JÒ$PÈbˆÔ!Ø˜4Ÿ=™=Ñ(Ø—‘˜lÐ+Ø!ˆÕr   c                 ó¸   •— |rDt        t        |«      j                  «       «      }t        t        |«      j                  «       «      }t        ‰| �  ||||||«      S r   )Ústrr   ÚresolveÚsuperÚ	copy_file)r)   ÚinfileÚoutfileÚpreserve_modeÚpreserve_timesÚlinkÚlevelÚ	__class__s          €r   r.   zbuild_py.copy_file,   sU   ø€ ñ Üœ˜f›×-Ñ-Ó/Ó0ˆFÜœ$˜w›-×/Ñ/Ó1Ó2ˆGÜ‰wÑ Ø�G˜]¨N¸DÀ%ó
ð 	
r   c                 ó>  — | j                   s| j                  r| j                  ry| j                   r| j                  «        | j                  r | j	                  «        | j                  «        | j                  t        j                  j                  | d¬«      «       y)z?Build modules, packages, and copy data files to build directoryNr   )Úinclude_bytecode)
Ú
py_modulesÚpackagesr   Úbuild_modulesÚbuild_packagesÚbuild_package_dataÚbyte_compiler!   r   Úget_outputsr(   s    r   Úrunzbuild_py.run7   sp   € à—’ 4§=¢=°T×5GÒ5GØà�?Š?Ø×ÑÔ à�=Š=Ø×ÑÔ!Ø×#Ñ#Ô%ð 	×Ñœ$Ÿ-™-×3Ñ3°DÈ1Ð3ÓMÕNr   c                 óŽ   — |dk(  r!| j                  «       | _        | j                  S t        j                  j	                  | |«      S )zlazily compute data filesr    )Ú_get_data_filesr    r!   r   Ú__getattr__)r)   Úattrs     r   rB   zbuild_py.__getattr__G   s;   € à�<ÒØ"×2Ñ2Ó4ˆDŒOØ—?‘?Ð"Ü�}‰}×(Ñ(¨¨tÓ4Ð4r   c                 óŽ   — t         j                  j                  | |||«      \  }}|r| j                  j	                  |«       ||fS r   )r!   r   Úbuild_moduler'   Úappend)r)   ÚmoduleÚmodule_fileÚpackager0   Úcopieds         r   rE   zbuild_py.build_moduleN   sB   € ÜŸ-™-×4Ñ4°T¸6À;ÐPWÓX‰ˆ�ÙØ× Ñ ×'Ñ'¨Ô0Ø˜ˆÐr   c                 ó|   — | j                  «        t        t        | j                  | j                  xs d«      «      S )z?Generate list of '(package,src_dir,build_dir,filenames)' tuples© )Úanalyze_manifestÚlistÚmapÚ_get_pkg_data_filesr9   r(   s    r   rA   zbuild_py._get_data_filesT   s/   € à×ÑÔÜ”C˜×0Ñ0°$·-±-Ò2EÀ2ÓFÓGÐGr   c                 ó”   — | j                   j                  di «       t        t        | j                  | j
                  xs d«      «      S )z¡
        Generate list of ``(package,src_dir,build_dir,filenames)`` tuples,
        but without triggering any attempt to analyze or build the manifest.
        Úmanifest_filesrL   )r&   Ú
setdefaultrN   rO   rP   r9   r(   s    r   Úget_data_files_without_manifestz(build_py.get_data_files_without_manifestY   s:   € ð 	�‰× Ñ Ð!1°2Ô6Ü”C˜×0Ñ0°$·-±-Ò2EÀ2ÓFÓGÐGr   c                 ó&  — | j                  |«      }t        j                  j                  | j                  g|j                  d«      z   Ž }| j                  ||«      D �cg c]"  }t        j                  j                  ||«      ‘Œ$ }}||||fS c c}w ©Nú.)Úget_package_dirr   ÚpathÚjoinÚ	build_libÚsplitÚfind_data_filesÚrelpath)r)   rI   Úsrc_dirÚ	build_dirÚfileÚ	filenamess         r   rP   zbuild_py._get_pkg_data_filesc   sŒ   € à×&Ñ& wÓ/ˆô —G‘G—L‘L D§N¡NÐ#3°g·m±mÀCÓ6HÑ#HÐJˆ	ð
 ×,Ñ,¨W°gÓ>ö
àô �G‰G�O‰O˜D 'Õ*ð
ˆ	ð 
ð ˜ ¨IÐ5Ð5ùò	
s   Á'Bc                 ó~  — | j                  | j                  ||«      }t        t        t        d¬«      |«      }t
        j                  j                  |«      }t        t        j                  j                  |«      }t        j                  | j                  j                  |g «      |«      }| j                  |||«      S )z6Return filenames for package's data files in 'src_dir'T)Ú	recursive)Ú_get_platform_patternsr$   rO   r   r   Ú	itertoolsÚchainÚfrom_iterableÚfilterr   rY   ÚisfilerR   ÚgetÚexclude_data_files)r)   rI   r_   ÚpatternsÚglobs_expandedÚglobs_matchesÚ
glob_filesÚfiless           r   r]   zbuild_py.find_data_filesq   sœ   € à×.Ñ.Ø×ÑØØó
ˆô
 œW¤T°TÔ:¸HÓEˆä!Ÿ™×5Ñ5°nÓEˆÜœBŸG™GŸN™N¨MÓ:ˆ
Ü—‘Ø×Ñ×#Ñ# G¨RÓ0Øó
ˆð ×&Ñ& w°¸Ó?Ð?r   Úreturnc                 óˆ   •— | j                   r't        | j                  «       j                  «       «      S t        ‰| �  |«      S )ú1See :class:`setuptools.commands.build.SubCommand`)r   rN   Úget_output_mappingÚkeysr-   r>   )r)   r7   r5   s     €r   r>   zbuild_py.get_outputs‚   s:   ø€ à×ÒÜ˜×/Ñ/Ó1×6Ñ6Ó8Ó9Ð9Ü‰wÑ"Ð#3Ó4Ð4r   c                 ó”   — t        j                  | j                  «       | j                  «       «      }t	        t        |d„ ¬«      «      S )rt   c                 ó   — | d   S )Nr   rL   )Úxs    r   ú<lambda>z-build_py.get_output_mapping.<locals>.<lambda>Ž   s
   € °!°A±$€ r   )Úkey)rf   rg   Ú _get_package_data_output_mappingÚ_get_module_mappingÚdictÚsorted)r)   Úmappings     r   ru   zbuild_py.get_output_mappingˆ   s<   € ä—/‘/Ø×1Ñ1Ó3Ø×$Ñ$Ó&ó
ˆô ”F˜7©Ô7Ó8Ð8r   c              #   ó¦   K  — | j                  «       D ]:  \  }}}|j                  d«      }| j                  | j                  ||«      }||f–— Œ< y­w)z5Iterate over all modules producing (dest, src) pairs.rW   N)Úfind_all_modulesr\   Úget_module_outfiler[   )r)   rI   rG   rH   Úfilenames        r   r}   zbuild_py._get_module_mapping�   sV   è ø€ à,0×,AÑ,AÓ,Cò 	*Ñ(ˆG�V˜[Ø—m‘m CÓ(ˆGØ×.Ñ.¨t¯~©~¸wÈÓOˆHØ˜[Ð)Ó)ñ	*ùs   ‚AAc              #   óÒ   K  — | j                   D ]T  \  }}}}|D ]H  }t        j                  j                  ||«      }t        j                  j                  ||«      }||f–— ŒJ ŒV y­w)z6Iterate over package data producing (dest, src) pairs.N)r    r   rY   rZ   )r)   rI   r_   r`   rb   r„   r   Úsrcfiles           r   r|   z)build_py._get_package_data_output_mapping—   sd   è ø€ à6:·o±oò 	(Ñ2ˆG�W˜i¨Ø%ò (�ÜŸ™Ÿ™ i°Ó:�ÜŸ'™'Ÿ,™, w°Ó9�Ø˜wÐ'Ó'ñ(ñ	(ùs   ‚A%A'c                 óÐ   — | j                  «       D ]S  \  }}| j                  t        j                  j	                  |«      «       | j                  ||«      \  }}t        |«       ŒU y)z$Copy data files into build directoryN)r|   Úmkpathr   rY   Údirnamer.   r   )r)   r   r†   Ú_outfÚ_copieds        r   r<   zbuild_py.build_package_dataŸ   sS   € à#×DÑDÓFò 	"‰OˆF�GØ�K‰KœŸ™Ÿ™¨Ó/Ô0Ø!Ÿ^™^¨G°VÓ<‰NˆE�7Ü˜&Õ!ñ	"r   c                 ó.  — i x| _         }| j                  j                  sy i }| j                  xs dD ]  }||t	        | j                  |«      «      <   Œ! t        | dd «      r]t        | j                  d«      j                  «       r9| j                  }t        |d«      }|j                  d¬«      j                  «       }nD| j                  d«       | j                  d«      }|j                  }|j                  j                   }t#        «       }| j%                  ||«      D ]ô  }	t&        j(                  j+                  t	        |	«      «      \  }
}d }|}|
rY|
|k7  rT|
|vrP|
}t&        j(                  j+                  |
«      \  }
}t&        j(                  j-                  ||«      }|
r
|
|k7  r|
|vrŒP|
|v sŒ’||k(  r|j/                  |«      r)Œ©|j1                  ||
   |«      }|r|j3                  |«       |j5                  ||
   g «      j7                  |	«       Œö y )NrL   r   zSOURCES.txtzutf-8)ÚencodingÚegg_info)rR   r#   Úinclude_package_datar9   Úassert_relativerX   Úgetattrr   r   ÚexistsÚ	read_textÚ
splitlinesÚrun_commandÚget_finalized_commandrŽ   Úfilelistrq   Ú_IncludePackageDataAbuseÚ_filter_build_filesr   rY   r\   rZ   Ú	is_moduleÚimportable_subpackageÚwarnrS   rF   )r)   ÚmfÚsrc_dirsrI   Úegg_info_dirÚmanifestrq   Úei_cmdÚcheckrY   ÚdÚfÚprevÚoldfÚdfÚ
importables                   r   rM   zbuild_py.analyze_manifest¦   sæ  € Ø#%Ð%ˆÔ˜bØ× Ñ ×5Ò5ØØˆØ—}‘}Ò*¨ò 	OˆGàGNˆH”_ T×%9Ñ%9¸'Ó%BÓCÒDð	Oô
 �DÐ1°4Ô8Ü�T×/Ñ/°Ó?×FÑFÔHà×5Ñ5ˆLÜ˜L¨-Ó8ˆHØ×&Ñ&°Ð&Ó8×CÑCÓE‰Eà×Ñ˜ZÔ(Ø×/Ñ/°
Ó;ˆFØ!Ÿ?™?ˆLØ—O‘O×)Ñ)ˆEä(Ó*ˆØ×,Ñ,¨U°LÓAò 	<ˆDÜ—7‘7—=‘=¤°Ó!6Ó7‰DˆAˆqØˆDØˆDÙ˜˜Tš	 a¨xÑ&7Ø�ÜŸ™Ÿ™ aÓ(‘��2Ü—G‘G—L‘L  QÓ'�ñ ˜˜Tš	 a¨xÒ&7ð �HŠ}Ø˜’9Ø—‘ qÔ)Ø à!&×!<Ñ!<¸XÀa¹[È!Ó!L�JÙ!ØŸ
™
 :Ô.Ø—‘˜h q™k¨2Ó.×5Ñ5°dÕ;ñ!	<r   rq   rŽ   c              #   óœ  ‡K  — | j                  d«      }|| j                  |j                  |j                  f}|D �cg c]$  }|sŒt        j
                  j                  |«      ‘Œ& }}|D ]Y  }t        j
                  j                  |«      Št        j
                  j                  |«      rt        ˆfd„|D «       «      sŒV|–— Œ[ yc c}w ­w)a}  
        ``build_meta`` may try to create egg_info outside of the project directory,
        and this can be problematic for certain plugins (reported in issue #3500).

        Extensions might also include between their sources files created on the
        ``build_lib`` and ``build_temp`` directories.

        This function should filter this case of invalid files out.
        Úbuildc              3   ó&   •K  — | ]  }|‰v–— Œ
 y ­wr   rL   )Ú.0r£   Ú	norm_paths     €r   ú	<genexpr>z/build_py._filter_build_files.<locals>.<genexpr>ß   s   øè ø€ Ò-TÀQ¨a°yÔ.@Ñ-Tùs   ƒN)	r–   r[   Ú
build_tempÚ
build_baser   rY   ÚnormpathÚisabsÚall)	r)   rq   rŽ   rª   Ú
build_dirsÚpÚ	norm_dirsra   r­   s	           @r   r™   zbuild_py._filter_build_filesÏ   s¦   øè ø€ ð ×*Ñ*¨7Ó3ˆØ §¡°×0@Ñ0@À%×BRÑBRÐSˆ
Ø2<ÖB¨QÂ”R—W‘W×%Ñ% aÕ(ÐBˆ	ÐBàò 	ˆDÜŸ™×(Ñ(¨Ó.ˆIÜ—7‘7—=‘= Ô&¬#Ó-TÈ)Ô-TÕ*TØ“
ñ	ùò Cùs   ƒ:C½CÁ!CÁ&ACÃ Cc                  ó   — y r   rL   r(   s    r   Úget_data_fileszbuild_py.get_data_filesâ   s   € Ør   c                 ó  — 	 | j                   |   S # t        $ r Y nw xY wt        j                  j	                  | ||«      }|| j                   |<   |r| j
                  j                  s|S | j
                  j                  D ]  }||k(  s|j                  |dz   «      sŒ n |S t        j                  |d«      5 }|j                  «       }ddd«       n# 1 sw Y   nxY wdvr#t        j                  j                  d|›d�«      ‚|S )z8Check namespace packages' __init__ for declare_namespacerW   ÚrbNs   declare_namespacezNamespace package problem: z¤ is a namespace package, but its
__init__.py does not call declare_namespace()! Please fix it.
(See the setuptools manual under "Namespace Packages" for details.)
")Úpackages_checkedÚKeyErrorr!   r   Úcheck_packager#   Únamespace_packagesÚ
startswithÚioÚopenÚreadÚ	distutilsÚerrorsÚDistutilsError)r)   rI   Úpackage_dirÚinit_pyÚpkgr¤   Úcontentss          r   r½   zbuild_py.check_packageå   s	  € ð	Ø×(Ñ(¨Ñ1Ð1øÜò 	Ùð	úô —-‘-×-Ñ-¨d°G¸[ÓIˆØ)0ˆ×Ñ˜gÑ&á˜d×/Ñ/×BÒBØˆNà×$Ñ$×7Ñ7ò 	ˆCØ�gŠ~ §¡°¸#±Õ!>Ùð	ð ˆNä�W‰W�W˜dÓ#ð 	  qØ—v‘v“xˆH÷	 ÷ 	 ñ 	 úà xÑ/Ü×"Ñ"×1Ò1ò <CðEóð ð ˆs   ‚ ‘	œÂ8CÃCc                 ól   — i | _         t        j                  j                  | «       d| _        d | _        y )NF)r»   r!   r   Úinitialize_optionsr   r   r(   s    r   rË   zbuild_py.initialize_options  s,   € Ø "ˆÔÜ�‰×(Ñ(¨Ô.Ø"ˆÔØ%)ˆÕ"r   c                 óÚ   — t         j                  j                  | |«      }| j                  j                  �4t
        j                  j                  | j                  j                  |«      S |S r   )r!   r   rX   r#   Úsrc_rootr   rY   rZ   )r)   rI   Úress      r   rX   zbuild_py.get_package_dir	  sP   € Ü�m‰m×+Ñ+¨D°'Ó:ˆØ×Ñ×%Ñ%Ð1Ü—7‘7—<‘< × 1Ñ 1× :Ñ :¸CÓ@Ð@Øˆ
r   c                 óþ   ‡‡— t        ‰«      Š| j                  | j                  ||«      }ˆfd„|D «       }t        j                  j                  |«      }t        |«      Šˆfd„‰D «       }t        t        |«      «      S )z6Filter filenames for package's data files in 'src_dir'c              3   óJ   •K  — | ]  }t        j                  ‰|«      –— Œ y ­wr   )Úfnmatchri   )r¬   Úpatternrq   s     €r   r®   z.build_py.exclude_data_files.<locals>.<genexpr>  s   øè ø€ ÒO¸7œŸ™ u¨g×6ÑOùs   ƒ #c              3   ó,   •K  — | ]  }|‰vsŒ|–— Œ y ­wr   rL   )r¬   ÚfnÚbads     €r   r®   z.build_py.exclude_data_files.<locals>.<genexpr>  s   øè ø€ Ò7˜"¨°3ª”2Ñ7ùs   ƒ	�)rN   re   r%   rf   rg   rh   Úsetr   )	r)   rI   r_   rq   rm   Úmatch_groupsÚmatchesÚkeepersrÕ   s	      `    @r   rl   zbuild_py.exclude_data_files  so   ù€ ä�U“ˆØ×.Ñ.Ø×%Ñ%ØØó
ˆó
 PÀhÔOˆä—/‘/×/Ñ/°Ó=ˆÜ�'‹lˆÛ7 Ô7ˆä”O GÓ,Ó-Ð-r   c                 ó†   ‡— t        j                  | j                  dg «      | j                  |g «      «      }ˆfd„|D «       S )zÜ
        yield platform-specific path patterns (suitable for glob
        or fn_match) from a glob-based spec (such as
        self.package_data or self.exclude_package_data)
        matching package in src_dir.
        Ú c              3   óp   •K  — | ]-  }t         j                  j                  ‰t        |«      «      –— Œ/ y ­wr   )r   rY   rZ   r   )r¬   rÒ   r_   s     €r   r®   z2build_py._get_platform_patterns.<locals>.<genexpr>+  s/   øè ø€ ò 
ð ô �G‰G�L‰L˜¤,¨wÓ"7×8ñ
ùs   ƒ36)rf   rg   rk   )ÚspecrI   r_   Úraw_patternss     ` r   re   zbuild_py._get_platform_patterns  sC   ø€ ô !—‘Ø�H‰H�R˜ÓØ�H‰H�W˜bÓ!ó
ˆó
ð (ô
ð 	
r   )é   rß   Nrß   )rß   )'Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚboolÚ__annotations__r   r   r+   r"   r.   r?   rB   rE   rA   rT   rP   r]   r
   r>   r   ru   r	   r   r}   r|   r<   rM   r   r™   r¸   r½   rË   rX   rl   Ústaticmethodre   Ú__classcell__)r5   s   @r   r   r      s  ø… ñð  €M�4ÓØ+/Ð˜8 C™=Ó/ò"ð TUõ	
òOò 5òòHò
Hò6ò@ñ"5°°c±õ 5ð9 D¨¨c¨¡Nó 9ð* X¨e°C¸°H©oÑ%>ó *ð(°(¸5ÀÀcÀ¹?Ñ2Kó (ò"ò'<ðR¨°#©ð À#ð È(ÐSVÉ-ó ò&òò<*òò.ð  ñ
ó ô
r   r   c                 ó¬   — t         j                  j                  | «      s| S ddlm} t        j                  d«      j                  «       | z  } ||«      ‚)Nr   )ÚDistutilsSetupErrorzÓ
        Error: setup script specifies an absolute path:

            %s

        setup() arguments must *always* be /-separated paths relative to the
        setup.py directory, *never* absolute paths.
        )r   rY   r²   Údistutils.errorsré   ÚtextwrapÚdedentÚlstrip)rY   ré   Úmsgs      r   r�   r�   2  sP   € Ü�7‰7�=‰=˜ÔØˆÝ4ô 	�‰ðó		
÷ ‰&‹(Ø
ñ
	ð ñ ˜cÓ
"Ð"r   c                   ó>   — e Zd ZdZ G d„ de«      Zd„ Zd„ Zd„ Zd„ Z	y)	r˜   z>Inform users that package or module is included as 'data file'c                   ó   — e Zd ZdZdZy)ú!_IncludePackageDataAbuse._WarningzU
        Package {importable!r} is absent from the `packages` configuration.
        a|  
        ############################
        # Package would be ignored #
        ############################
        Python recognizes {importable!r} as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.

        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that {importable!r} is explicitly added
        to the `packages` configuration field.

        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).

        You can read more about "package discovery" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

        If you don't want {importable!r} to be distributed and are
        already explicitly excluding {importable!r} via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.

        You can read more about "package data files" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        N)rà   rá   râ   Ú_SUMMARYÚ_DETAILSrL   r   r   Ú_Warningrñ   J  s   „ ðˆð"‰r   rô   c                 ó"   — t        «       | _        y r   )rÖ   Ú_already_warnedr(   s    r   Ú__init__z!_IncludePackageDataAbuse.__init__u  s   € Ü"›uˆÕr   c                 ób   — |j                  d«      xr |d t        d«        j                  «       S )Nz.py)ÚendswithÚlenÚisidentifier)r)   ra   s     r   rš   z"_IncludePackageDataAbuse.is_modulex  s,   € Ø�}‰}˜UÓ#ÒJ¨¨]´°E³
¨{Ð(;×(HÑ(HÓ(JÐJr   c                 óÈ   — t        |«      j                  }t        t        j                  t
        j                  |j                  «      «      }|rdj                  |g|¢«      S y rV   )	r   ÚparentrN   rf   Ú	takewhiler+   rû   ÚpartsrZ   )r)   rý   ra   rÈ   rÿ   s        r   r›   z._IncludePackageDataAbuse.importable_subpackage{  sO   € Ü�4‹j×ÑˆÜ”Y×(Ñ(¬×)9Ñ)9¸3¿9¹9ÓEÓFˆÙØ—8‘8˜VÐ, eÐ,Ó-Ð-Ør   c                 ó�   — || j                   vr8| j                  j                  |¬«       | j                   j                  |«       y y )N)r¨   )rö   rô   ÚemitÚadd)r)   r¨   s     r   rœ   z_IncludePackageDataAbuse.warn‚  s>   € Ø˜T×1Ñ1Ñ1Ø�M‰M×Ñ¨*ÐÔ5Ø× Ñ ×$Ñ$ ZÕ0ð 2r   N)
rà   rá   râ   rã   r   rô   r÷   rš   r›   rœ   rL   r   r   r˜   r˜   G  s(   „ ÙHô'Ð/ô 'òV%òKòó1r   r˜   )!Ú	functoolsr   r   Údistutils.utilr   Údistutils.command.build_pyÚcommandr   r!   r   rÑ   rë   rÀ   rê   rÃ   rf   r   Úpathlibr   Útypingr   r   r	   r
   r   r   Úextern.more_itertoolsr   Úwarningsr   r   r�   r˜   rL   r   r   ú<module>r     s_   ðÝ Ý Ý 'ß )Ð )Û 	Û Û Û 	Û Û Û Ý ß B× Bå 3Ý 3ò>ôX
ˆt�}‰}ô X
òv#÷*>1ò >1r   