
    njX                       S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
JrJr  SSKJr  SSKJr  SSKJrJrJr  SSKJrJr  SS	KJrJr  SS
KJr  SSKJrJ r J!r!  SSK"J#r#  SSK$J%r%  SSK	J&r&  SSK'J'r(  SSK)J*r*  SS jr+\," \ RZ                  " S5      S   5      r.Sr/SS jr0S S jr1S!S jr2 S"         S#S jjr3S$S jr4SS jr5 " S S\5      r6g)%zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
    )annotationsN)IterableSequence)BytesGenerator)iglob)ClassVarLiteralcast)ZIP_DEFLATED
ZIP_STORED)tagsversion)	WheelFile   )Command__version___shutil)_safe_license_file)
safer_name)SetuptoolsDeprecationWarning   )egg_info)logc                     [        [        R                  " U 5      5      $ ! [        R                   a-    U R	                  SS5      n [
        R                  " SSU 5      s $ f = f)z:
Convert an arbitrary string to a standard version string
 .z[^A-Za-z0-9.]+-)str_packaging_versionVersionInvalidVersionreplaceresubr   s    Z/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/setuptools/command/bdist_wheel.pysafe_versionr'   "   sW    6%--g677,, 6//#s+vv&W556s   ! >A"!A"r   zcp3\dc                 4    [         R                  " S5      S:H  $ )NP   )structcalcsize     r&   _is_32bit_interpreterr/   3   s    ??31$$r.   c                 <    S[         R                  R                   3$ )Npy)sysversion_infomajorr-   r.   r&   
python_tagr5   7   s      &&'((r.   c                    [         R                  " 5       nUR                  S5      (       a  U b  SSKJn  U" X5      nO [        5       (       a  US:X  a  SnOUS:X  a  SnUR                  SS	5      $ )
z0Return our platform name 'win32', 'linux_x86_64'macosxr   )calculate_macosx_platform_taglinux-x86_64z
linux-i686linux-aarch64zlinux-armv7lr   _)	sysconfigget_platform
startswithwheel.macosx_libfiler8   r/   r"   )archive_rootresultr8   s      r&   r=   r=   ;   si    ##%F""|'?F.|D		 	 ^#!F& $F>>#s##r.   c                    [         R                  " U 5      nUc'  U(       a  [        R                  " SU  S3[        SS9  U$ XB:H  $ )zbUse a fallback value for determining SOABI flags if the needed config
var is unset or unavailable.zConfig variable 'z+' is unset, Python ABI tag may be incorrectr   
stacklevel)r<   get_config_varwarningswarnRuntimeWarning)varfallbackexpectedrG   vals        r&   get_flagrM   O   sJ    
 
"
"3
'C
{MM#C5(ST
 ?r.   c                    [         R                  " S5      n [        R                  " 5       nU (       da  US;   a[  [	        [
        S5      (       aF  SnSn[        S[	        [
        S5      US:H  S9(       a  S	nU [        R                  " 5        U U 3nU$ U (       a5  US:X  a/  U R                  S
5      (       a  SU R                  S5      S   -   nU$ U (       aL  US:X  aF  U R                  S5      (       a0  U R                  S5      S   n[	        [
        S5      (       a  US	-  nU$ U (       aM  US:X  aG  SR                  U R                  S5      SS 5      nUR                  SS5      R                  SS5      nU$ U (       aM  US:X  aG  SR                  U R                  S5      SS 5      nUR                  SS5      R                  SS5      nU$ U (       a$  U R                  SS5      R                  SS5      nU$ SnU$ )zJReturn the ABI tag based on SOABI (if available) or emulate SOABI (PyPy2).SOABI)cppp
maxunicode Py_DEBUGgettotalrefcountrP   )rG   dcpythonr   r   r   rQ   Nr   r   r;   graalpy   )r<   rE   r   interpreter_namehasattrr2   rM   interpreter_versionr>   splitjoinr"   )soabiimplrV   uabis        r&   get_abi_tagrc   `   s   ))'2E  "DT\)gc<.H.HJ-? @PTVAt//121#aS9, J+ 
44<E$4$4Y$?$?U[[%a((& J% 
44<E$4$4T$:$:kk#q!3*++3JC J 
44<hhu{{3'+,kk#s#++C5 J 
49$hhu{{3'+,kk#s#++C5 J 
mmC%--c37 J Jr.   c                8    [        U 5      R                  SS5      $ )Nr   r;   )r'   r"   r%   s    r&   safer_versionre      s     ((c22r.   c                  ^   \ rS rSr% Sr\\S.rS\S'   SSSS	\	" S
5       S34SSSSSSSSS
SSR                  \5       S34SS
S\" 5        S34SSS/rS\S'   / SQrS \S!'   S0S" jrS0S# jrS0S$ jr\S1S% j5       rS2S& jrS' rS(\ S)34     S3S* jjrS4S+ jr\S5S, j5       rS6S- jrS7S. jrS/rg
)8bdist_wheel   zcreate a wheel distribution)storeddeflatedzClassVar[dict[str, int]]supported_compressions)z
bdist-dir=bz1temporary directory for creating the distributionz
plat-name=pz8platform name to embed in generated filenames [default: N])	keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=rV   z-directory to put final built distributions in)
skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths [default: false])zowner=ra   z@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])	universalNz4*DEPRECATED* make a universal wheel [default: false]zcompression=zzipfile compression (one of: z, z) [default: 'deflated']zpython-tag=z3Python implementation compatibility tag [default: 'z'])zbuild-number=NzqBuild number for this particular version. As specified in PEP-0427, this must start with a digit. [default: None])zpy-limited-api=Nz?Python tag (cp32|cp33|cpNN) for abi3 wheel tag [default: false])zdist-info-dir=Nzdirectory where a pre-generated dist-info can be found (e.g. as a result of calling the PEP517 'prepare_metadata_for_build_wheel' method)zHClassVar[list[tuple[str, str, str]] | list[tuple[str, str | None, str]]]user_options)ro   rq   rr   rt   zClassVar[list[str]]boolean_optionsc                ,   S U l         SU l        S U l        S U l        SU l        SU l        S U l        S U l        S U l        S U l	        SU l
        SU l        S U l        S U l        SU l        SU l        [!        5       U l        S U l        SU l        SU l        g )NrS   zipFrj   )	bdist_dirdata_dir	plat_nameplat_tagformat	keep_tempdist_dirdist_info_diregginfo_dirroot_is_pure
skip_buildrr   ownergrouprt   compressionr5   build_numberpy_limited_apiplat_name_suppliedselfs    r&   initialize_optionsbdist_wheel.initialize_options   s    %)%)$($(!'+)-

&0$,(,49"'r.   c                   U R                   (       d@  U R                  S5      R                  n[        R                  R                  US5      U l         U R                  c9  [        [        U R                  R                  S5      5      nUR                  5         U R                  S-   U l        [        U R                  5      U l        SnU R"                  " S/[%        X35      Q76   U R                  R'                  5       =(       d    U R                  R)                  5       (       + U l        U R-                  5         U R                  R/                  S5      nSU;   aG  [0        R2                  " S5        US   S   R5                  5       nUR7                  5       S	;   a  S
U l        U R8                  (       a  [:        R<                  " SSSS9  U R>                  b.  U R>                  S S RA                  5       (       d  [C        S5      eg g )Nbdistwheelr   z.data)r   r{   r   rt   z=The [wheel] section is deprecated. Use [bdist_wheel] instead.r   )1trueyesTz#bdist_wheel.universal is deprecatedaj  
                With Python 2.7 end-of-life, support for building universal wheels
                (i.e., wheels that support both Python 2 and Python 3)
                is being obviated.
                Please discontinue using this option, or if you still need it,
                file an issue with pypa/setuptools describing your use case.
                )i        )due_datez1Build tag (build-number) must start with a digit.)"ry   get_finalized_command
bdist_baseospathr^   r   r
   egg_info_clsdistributionget_command_objensure_finalizedwheel_dist_namerz   boolr{   r   set_undefined_optionsrx   has_ext_moduleshas_c_librariesr   _validate_py_limited_apiget_option_dictr   rG   striplowerrt   r   emitr   isdigit
ValueError)r   r   r   need_optionsr   rL   s         r&   finalize_optionsbdist_wheel.finalize_options   s   ~~33G<GGJWW\\*g>DN%L$*;*;*K*KJ*WXH%%',,w6"&t~~"6>""7MS-LM --/V43D3D3T3T3V
 	%%' !!11':%HHTU$Q'--/Cyy{22!%>>(--5 '
 (1B1B2A1F1N1N1P1PPQQ 2Q(r.   c                   U R                   (       d  g [        R                  " [        U R                   5      (       d  [	        S[         S35      e[
        R                  " S5      (       a  [	        SU R                   < S35      eg )Nzpy-limited-api must match ''Py_GIL_DISABLEDz`py_limited_api=z` not supported. `Py_LIMITED_API` is currently incompatible with `Py_GIL_DISABLED`. See https://github.com/python/cpython/issues/111506.)r   r#   matchPY_LIMITED_API_PATTERNr   r<   rE   r   s    r&   r   $bdist_wheel._validate_py_limited_api$  s|    ""xx.0C0CDD:;Q:RRSTUU##$566"4#6#6"9 :G G  7r.   c                   [        U R                  R                  5       5      [        U R                  R	                  5       5      /nU R
                  (       a  UR                  U R
                  5        SR                  U5      $ )z4Return distribution full name with - replaced with _r   )r   r   get_namere   get_versionr   appendr^   )r   
componentss     r&   r   bdist_wheel.wheel_dist_name3  sg     t((1134$++779:

 d//0xx
##r.   c                   U R                   (       a  U R                  (       a  U R                  nOU R                  (       a  SnOrU R                  (       a-  U R                  R                  S5      (       d  U R                  nO[	        U R
                  5      n[        5       (       a  US;   a  SnUS;   a  SnUR                  5       R                  SS5      R                  S	S5      R                  S
S5      nU R                  (       a'  U R                  (       a  SnOU R                  nUSU4nU$ [        R                  " 5       n[        R                  " 5       nXE-   nU R                  (       a'  XE-   R                  S5      (       a  U R                  nSnO![        [!        5       5      R                  5       nX&U4n[        R"                  " 5        Vs/ s H  owR$                  UR&                  U4PM     nnX8;   d
   SU 35       eU$ s  snf )Nanyr7   )r9   linux_x86_64
linux_i686)r:   linux_aarch64linux_armv7lr   r;   r   r   zpy2.py3nonecp3abi3z'would build wheel with unsupported tag )r   r{   r   r>   r=   ry   r/   r   r"   rt   r5   r   rZ   r\   r   r   rc   sys_tagsinterpreterrb   )	r   r{   r`   tag	impl_nameimpl_verabi_tagtsupported_tagss	            r&   get_tagbdist_wheel.get_tag>  s    ""t~~II ~~dnn&?&?&I&I NN	 )8	$&& @@ ,I BB !/I OO%%c3/77SAII#sS 	 ~~ +C& 
# --/I//1H'D""	(<'H'H'O'O** km,224),C <@==?;Jay1?   ( 9#?( 
s   "Hc           	     	   U R                  S5      nSUl        SUl        U R                  S5      nSUl        U R                  (       d  U R                  S5        U R                  SSS9nU R                  Ul        SUl        U R                  Ul        SUl	        U R                  S	5      nSUl
        S
 H;  n[        USU-   [        R                  R                  U R                  U5      5        M=     Sn[        R                   S:X  aU  [        R                  R#                  [        R                  R                  U R                  S5      5      nU=U l        U l        [        UU R(                  (       a  SOSU5        [*        R,                  " SU R                   35        U R                  S5        U R/                  5       u  pxn	U R0                   SU SU SU	 3n
U R2                  (       d  U R                  nOC[        R                  R                  U R                  U R5                  UR6                  5      5      nU R9                  SS5        [;        U R<                  R?                  5       5       S[A        U R<                  RC                  5       5       S3n[        R                  R                  U R                  U5      nU RD                  (       ae  [*        RF                  " SU RD                   35        [H        RJ                  " U RD                  U5        [L        RN                  " U RP                  5        OU RS                  U RP                  U5        U RU                  U5        [        R                  RW                  U RX                  5      (       d   [        RZ                  " U RX                  5        [        R                  R                  U RX                  U
S-   5      n[]        USU R_                  5       5       nURa                  U5        S S S 5        [c        U R<                  S/ 5      Re                  S[f        Rh                  Rj                   S[f        Rh                  Rl                   3U45        U Rn                  (       dD  [*        R,                  " SU R                   35        [L        RN                  " U R                  5        g g ! , (       d  f       N= f)Nbuild_scriptspythonT	build_extFbuildinstall)reinit_subcommandsinstall_scripts)headersscriptsdatapurelibplatlibinstall_rS   ntz..install_purelibinstall_platlibzinstalling to r   install_egg_info)targetr   z
.dist-infozreusing z.whlw
dist_filesrg   r   z	removing )8reinitialize_command
executableforceinplacer   run_commandry   rootcompilewarn_dirno_epsetattrr   r   r^   rz   namenormpathinstall_libbaseinstall_libr   r   infor   r   rr   _ensure_relativeinstall_baser   r   r   r   re   r   r   debugshutilcopytreer   rmtreer   egg2distwrite_wheelfileexistsr   makedirsr   _zip_compressionwrite_filesgetattrr   r2   r3   r4   minorr~   )r   r   r   r   r   keybasedir_observedimpl_tagr   r|   archive_basenamer@   distinfo_dirnamedistinfo_dir
wheel_pathwfs                   r&   runbdist_wheel.runx  s   11/B#+ "--k:	!	W%++I$+O~~!__ 
 334EF $ HCGZ#-rww||DMM3/OP H 77d?  "ww//T]]D0QR6FFD 4#3!%!2!28I	
 	>$..!123#&*lln#8"2231XJay(T}}>>L77<< 5 5g6J6J KL 	""#57PQ$++44678T..::<=>jJ 	 ww||DNN4DEII!3!3 456OOD..= NN4++, MM$**L9\* ww~~dmm,,KK&WW\\$--1AF1JK
z3(=(=(?@BNN<( A 	!!<4;;%%&a(8(8(>(>'?@=
 	 ~~HHy 012NN4>>*  A@s   <S


Szsetuptools ()c                t   SSK Jn  U" 5       nSUS'   X$S'   [        U R                  5      R	                  5       US'   U R
                  b  U R
                  US'   U R                  5       u  pVnUR                  S5       H@  nUR                  S5       H(  n	UR                  S5       H  n
U S	U	 S	U
 3US
'   M     M*     MB     [        R                  R                  US5      n[        R                  " SU 35        [        US5       n[        USS9R                  U5        S S S 5        g ! , (       d  f       g = f)Nr   )Messagez1.0zWheel-Version	GeneratorzRoot-Is-PurelibBuildr   r   TagWHEELz	creating wb)maxheaderlen)email.messager  r   r   r   r   r   r]   r   r   r^   r   r   openr   flatten)r   wheelfile_base	generatorr  msgr  r   r|   r`   rb   platwheelfile_pathfs                r&   r   bdist_wheel.write_wheelfile  s    	*i$O$K!$T%6%6!7!=!=!?(,,CL '+lln#8NN3'D}}S)$NN3/D$(63%q!7CJ 0 * (
 ng>9^,-..$'111-55c: (''s   D))
D7c                    [         R                  R                  U5      u  p!USS [         R                  :X  a  X!SS  -   nU$ )Nr   r   )r   r   
splitdrivesep)r   r   drives      r&   r   bdist_wheel._ensure_relative  s=    gg((.!98#Dr.   c           	        [         S:  a)  U R                  R                  R                  =(       d    S$ [        [
           " 5       nU R                  R                  S5      n[         S:  a6  [        [        [
           U R                  R                  R                  5      nOSU;   a  US   S   R                  5       nOSnSU;   a1  [        R                  " S[        S	S
9  UR                  US   S   5        U(       d  U(       d  [        U[        5      (       d  SnU H  n[!        U5       H  nUR#                  S5      (       a  [$        R&                  " SU S35        M5  XQ;  d  M<  [(        R*                  R-                  U5      (       d  Mb  [$        R.                  " SU SU S35        UR                  U5        M     M     U$ )N9   r-   metadata*   license_filesr   license_filezEThe "license_file" option is deprecated. Use "license_files" instead.r   rC   )zLICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*~zignoring license file "z" as it looks like a backupzadding license file "z" (matched pattern "z"))setuptools_major_versionr   r#  r%  setr   r   r
   r   r]   rF   rG   DeprecationWarningadd
isinstancelistr   endswithr   r   r   r   isfiler   )r   filesr#  patternspatternr   s         r&   license_pathsbdist_wheel.license_paths  su   #r)$$--;;ArAC
$$44Z@#r)HSM4+<+<+E+E+S+STH (*#O4Q7==?X%MMW"
 IIh~.q12Xj4.H.HIHGg==%%II1$7RS $)=)=HH/v5I'RTU IIdO '   r.   c                   SS jnU" U5        [         R                  R                  U5      (       d  SSKn[         R                  R	                  [         R                  R                  U5      S5      nUR                  U5      nSU S3nU(       a+  [         R                  R                  US   5      nUSU S3-  n[        U5      e[         R                  R	                  US	5      n	[        R                  " UUS
 S9  [         R                  R	                  US5      n
[        U
SS9 nUR                  5       R                  5       nSSS5        W(       d  U" U
5        [         R                  R	                  US5      n[        R                  " X5        [         R                  R	                  US5      nU R                   Hw  n[        U5      n[         R                  R	                  UU5      n[         R                   " [         R                  R                  U5      SS9  [        R                  " UU5        My     U" U5        g! , (       d  f       GN= f)z:Convert an .egg-info directory into a .dist-info directoryc                   [         R                  R                  U 5      (       a_  [         R                  R                  U 5      (       d;  [         R                  R	                  U 5      (       a  [
        R                  " U 5        g[         R                  R                  U 5      (       a  [         R                  " U 5        gg)z-Appropriately delete directory, file or link.N)r   r   r   islinkisdirr   r   unlink)rm   s    r&   adios#bdist_wheel.egg2dist.<locals>.adios$  sh    ww~~a  ):):rww}}Q?O?Oq!""		! #r.   r   Nz
*.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)PKG-INFOc                
    1 Sk$ )N>   r<  SOURCES.txtnot-zip-saferequires.txtr-   )xys     r&   <lambda>&bdist_wheel.egg2dist.<locals>.<lambda>D  s     !r.   )ignorezdependency_links.txtzutf-8)encodingMETADATAlicensesT)exist_ok)rm   r   returnNone)r   r   r   globr^   dirnamebasenamer   r   r   r  readr   copyr3  r   r   )r   egginfo_pathdistinfo_pathr:  rL  patpossibleerraltpkginfo_pathdependency_links_pathdependency_links_filedependency_linksmetadata_pathlicenses_folder_pathlicense_path	safe_pathdist_info_license_paths                     r&   r   bdist_wheel.egg2dist!  s   	 	mww~~l++
 '',,rww|<lKCyy~H-l^>JCgg&&x{3C5 IJJS/! ww||L*= 			
 !#]<R S'':>S499;AAC ;'(]J?L0!ww||M:F ..L*<8I%'WW\\2F	%R"KK(>?$OKK&<=	 / 	l ;:s   (I
Ic                @   [        U R                  [        5      (       a4  U R                  U R                  R	                  5       ;   a  U R                  $ U R                  R                  [        U R                  5      5      nUb  U$ [        SU R                  < 35      e)NzUnsupported compression: )r,  r   intrk   valuesgetr   r   )r   r   s     r&   r   bdist_wheel._zip_compression_  s    t''--  D$?$?$F$F$HH###1155c$:J:J6KL"4T5E5E4HIJJr.   )ry   r   r   rz   r   r   r   r}   r   r   r   r~   r   r{   r   r|   r   r5   rr   r   r   rt   )rJ  rK  rJ  r   )rJ  ztuple[str, str, str])r  r   r  r   rJ  rK  )r   r   rJ  r   )rJ  zIterable[str])rQ  r   rR  r   rJ  rK  )rJ  rb  )__name__
__module____qualname____firstlineno__descriptionr   r   rk   __annotations__r=   r^   r5   ru   rv   r   r   r   propertyr   r   r  r   r   r   r3  r   r   __static_attributes__r-   r.   r&   rg   rg      sb   /K  84  	Q)$/03		
	
 	LR	

	

	

 	T+DII6L,M+NNef	
 A*,rR	

	
	

	
yE	   GR,O( (,-R^ $ $8t[+| 7C;-q4Q;!;.1;	;0 * *X<|Kr.   rg   )r   r   rJ  r   )rJ  r   rf  )r@   
str | NonerJ  r   )TT)
rI   r   rJ   r   rK   r   rG   r   rJ  r   )rJ  ro  )7__doc__
__future__r   r   r#   r   r+   r2   r<   rF   collections.abcr   r   email.generatorr   rL  r   typingr   r	   r
   zipfiler   r   	packagingr   r   r   wheel.wheelfiler   rS   r   r   r   _core_metadatar   _normalizationr   r   r   r   	distutilsr   r'   rb  r]   r(  r   r/   r5   r=   rM   rc   re   rg   r-   r.   r&   <module>r{     s    # 	 	   
   . *  * * , 9 % , , / ' 3 . 	6 {005a89 ! %)$* CG	(,;?	" F3cK' cKr.   