
    n&phV                       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  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*\+" \RX                  " S5      S   5      r-Sr.SS jr/S S jr0S!S jr1 S"         S#S jjr2S$S jr3SS jr4 " S S\5      r5g)%zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
    )annotationsN)IterableSequence)BytesGenerator)iglob)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    Q/var/www/html/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_tagr4   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_libfiler7   r.   r!   )archive_rootresultr7   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expectedrF   vals        r%   get_flagrL   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gettotalrefcountrO   )rF   dcpythonr   r   r   rP   Nr   r   r:   graalpy   )r;   rD   r   interpreter_namehasattrr1   rL   interpreter_versionr=   splitjoinr!   )soabiimplrU   uabis        r%   get_abi_tagrb   `   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_versionrd      s     ((c22r-   c                  >   \ rS rSrSr\\S.r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QrS*S jrS*S jrS*S jr\S+S j5       rS,S  jrS! rS"\ S#34     S-S$ jjrS.S% jr\S/S& j5       rS0S' jrS1S( jrS)rg)2bdist_wheel   zcreate a wheel distribution)storeddeflated)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=rU   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=r`   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))rm   ro   rp   rr   c                ,   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 )NrR   zipFri   )	bdist_dirdata_dir	plat_nameplat_tagformat	keep_tempdist_dirdist_info_diregginfo_dirroot_is_pure
skip_buildrp   ownergrouprr   compressionr4   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{   rw   r   rr   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.)"ru   get_finalized_command
bdist_baseospathr]   r|   r	   egg_info_clsdistributionget_command_objensure_finalizedwheel_dist_namerv   boolrw   r   set_undefined_optionsrt   has_ext_moduleshas_c_librariesr~   _validate_py_limited_apiget_option_dictr   rF   striplowerrr   r   emitr   isdigit
ValueError)r   r   r   need_optionsr   rK   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;   rD   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_namerd   get_versionr   appendr]   )r   
componentss     r%   r   bdist_wheel.wheel_dist_name$  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anyr6   )r8   linux_x86_64
linux_i686)r9   linux_aarch64linux_armv7lr   r:   r   r   zpy2.py3nonecp3abi3z'would build wheel with unsupported tag )r   rw   r~   r=   r<   ru   r.   r   r!   rr   r4   r   rY   r[   r   r   rb   sys_tagsinterpreterra   )	r   rw   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                  (       dV  [*        R,                  " SU R                   35        U Rp                  (       d!  [L        RN                  " U R                  5        g g g ! , (       d  f       N= f)Nbuild_scriptspythonT	build_extFbuildinstall)reinit_subcommandsinstall_scripts)headersscriptsdatapurelibplatlibinstall_rR   ntz..install_purelibinstall_platlibzinstalling to r   install_egg_info)targetr}   z
.dist-infozreusing z.whlw
dist_filesrf   r   z	removing )9reinitialize_command
executableforceinplacer   run_commandru   rootcompilewarn_dirno_epsetattrr   r   r]   rv   namenormpathinstall_libbaseinstall_libr~   r   infor   r   rp   _ensure_relativeinstall_baser   r   r   r   rd   r   r|   debugshutilcopytreer   rmtreer}   egg2distwrite_wheelfileexistsr{   makedirsr   _zip_compressionwrite_filesgetattrr   r1   r2   r3   minorrz   dry_run)r   r   r   r   r   keybasedir_observedimpl_tagr   rx   archive_basenamer?   distinfo_dirnamedistinfo_dir
wheel_pathwfs                   r%   runbdist_wheel.runi  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<<t~~.    A@s   <S
S*zsetuptools ()c                   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       HI  nUR                  S5       H1  n	UR                  S5       H  n
S	R                  XU
45      US
'   M     M3     MK     [        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   rx   r_   ra   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!$4d*;!<CJ 0 * (
 ng>9^,-..$'111-55c: (''s   D22
E 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   rB   )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\   rE   rF   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)rk   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>   r9  SOURCES.txtnot-zip-saferequires.txtr,   )xys     r%   <lambda>&bdist_wheel.egg2dist.<locals>.<lambda>6  s     !r-   )ignorezdependency_links.txtzutf-8)encodingMETADATAlicensesT)exist_ok)rk   r   returnNone)r   r   r   globr]   dirnamebasenamer   r   r   r  readr   copyr0  r   r   )r   egginfo_pathdistinfo_pathr7  rI  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   intsupported_compressionsvaluesgetr   r   )r   r   s     r%   r   bdist_wheel._zip_compressionQ  s    t''--  D$?$?$F$F$HH###1155c$:J:J6KL"4T5E5E4HIJJr-   )ru   r   r   rv   r{   r|   r}   ry   r   r   r   rz   r   rw   r   rx   r   r4   rp   r~   r   rr   )rG  rH  rG  r   )rG  ztuple[str, str, str])r  r   r  r   rG  rH  )r   r   rG  r   )rG  zIterable[str])rN  r   rO  r   rG  rH  )rG  r_  )__name__
__module____qualname____firstlineno__descriptionr   r
   r`  r<   r]   r4   user_optionsboolean_optionsr   r   r   propertyr   r   r  r   r   r   r0  r   r   __static_attributes__r,   r-   r%   rf   rf      sD   /K   	Q%d+,A/	
	
 	LR	

	

	

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

	
	

	
m=L~ KO(,-R^ $ $8t\/~ 7C;-q4Q;!;.1;	;0 * *X<|Kr-   rf   )r   r   rG  r   )rG  r   rd  )r?   
str | NonerG  r   )TT)
rH   r   rI   r   rJ   r   rF   r   rG  r   )rG  rn  )6__doc__
__future__r   r   r"   r   r*   r1   r;   rE   collections.abcr   r   email.generatorr   rI  r   typingr   r	   zipfiler
   r   	packagingr   r   r   wheel.wheelfiler   rR   r   r   r   _core_metadatar   _normalizationr   r   r   r   	distutilsr   r&   r_  r\   r%  r   r.   r4   r<   rL   rb   rd   rf   r,   r-   r%   <module>rz     s    # 	 	   
   . *    , 9 % , , / ' 3 . 	6 {005a89 ! %)$* CG	(,;?	" F3UK' UKr-   