+
    SBiV                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
HtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHtHt ^ R	IHt ^R
IHtHtH t  ^RI!H"t" ^RI#H$t$ ^RI	H%t% ^RI&H&t' ^ RI(H)t) R R lt*]+! ]PX                  ! R4      ^ ,          4      t-Rt.R R lt/R R lt0R R lt1R"R R llt2R R lt3R R lt4 ! R  R!]4      t5R# )#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                    V ^8  d   QhRRRR/#    r   strreturn )formats   "C/usr/lib/python3.14/site-packages/setuptools/command/bdist_wheel.py__annotate__r   "   s     	6 	6# 	6# 	6    c                     \        \        P                  ! V 4      4      #   \        P                   d.    T P	                  RR4      p \
        P                  ! RRT 4      u # i ; i)z:
Convert an arbitrary string to a standard version string
 .z[^A-Za-z0-9.]+-)r   _packaging_versionVersionInvalidVersionreplaceresubr   s   &r   safe_versionr+   "   sW    6%--g677,, 6//#s+vv&W556s   ! ?A#"A#r"   zcp3\dc                   V ^8  d   QhRR/# )r   r   boolr   )r   s   "r   r   r   3   s     % %t %r   c                 4    \         P                  ! R 4      ^8H  # )P)structcalcsizer   r   r   _is_32bit_interpreterr2   3   s    ??31$$r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   7   s     ) )C )r   c                 <    R \         P                  P                   2# )py)sysversion_infomajorr   r   r   
python_tagr:   7   s      &&'((r   c                    V ^8  d   QhRRRR/# )r   archive_root
str | Noner   r   r   )r   s   "r   r   r   ;   s     $ $z $c $r   c                    \         P                  ! 4       pVP                  R4      '       d   V e   ^ RIHp V! W4      pM#\        4       '       d   VR8X  d   RpM	VR8X  d   RpVP                  RR4      # )	z0Return our platform name 'win32', 'linux_x86_64'macosx)calculate_macosx_platform_taglinux-x86_64z
linux-i686linux-aarch64zlinux-armv7lr#   _)	sysconfigget_platform
startswithwheel.macosx_libfiler@   r2   r'   )r<   resultr@   s   &  r   rE   rE   ;   si    ##%F""|'?F.|D		 	 ^#!F& $F>>#s##r   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )r   varr   fallbackr-   expectedwarnr   r   )r   s   "r   r   r   O   s4      	(,;?	r   c                    \         P                  ! V 4      pVf,   V'       d"   \        P                  ! RV  R2\        ^R7       V# WB8H  # )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 incorrect
stacklevel)rD   get_config_varwarningsrM   RuntimeWarning)rJ   rK   rL   rM   vals   &&&& r   get_flagrU   O   sJ    
 
"
"3
'C
{MM#C5(ST
 ?r   c                   V ^8  d   QhRR/# )r   r   r=   r   )r   s   "r   r   r   `   s        Z  r   c                 J   \         P                  ! R4      p \        P                  ! 4       pV '       gh   VR9   da   \	        \
        R4      '       dK   RpRp\        R\	        \
        R4      VR8H  R7      '       d   R	pV \        P                  ! 4        V V 2pV# V '       d@   VR8X  d9   V P                  R
4      '       d"   RV P                  R4      ^,          ,           pV# V '       dX   VR8X  dQ   V P                  R4      '       d:   V P                  R4      ^ ,          p\	        \
        R4      '       d
   VR	,          pV# V '       dS   VR8X  dL   RP                  V P                  R4      R,          4      pVP                  RR4      P                  RR4      pV# V '       dS   VR8X  dL   RP                  V P                  R4      R,          4      pVP                  RR4      P                  RR4      pV# V '       d%   V P                  RR4      P                  RR4      pV# RpV# )zJReturn the ABI tag based on SOABI (if available) or emulate SOABI (PyPy2).SOABIcppp
maxunicode Py_DEBUGgettotalrefcount)rM   dcpythonr#   :Nr   Nr"   rC   graalpy:N   NN)rY   rZ   )rD   rQ   r   interpreter_namehasattrr7   rU   interpreter_versionrF   splitjoinr'   )soabiimplr_   uabis        r   get_abi_tagrl   `   s   ))'2E  "DT\)gc<.H.HJ-? @PTV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                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r      s     3 33 33 3r   c                8    \        V 4      P                  R R4      # )r#   rC   )r+   r'   r*   s   &r   safer_versionro      s     ((c22r   c                  L   ] tR t^tRtR]R]/tR(RRR]! R4       R23R)R*R+R,R-R.R/R	RR
RP                  ]4       R23RRR]
! 4        R23R0R1R2.t. R3OtR R ltR R ltR R lt]R R l4       tR R ltR tR] R23R R lltR R  lt]R! R" l4       tR# R$ ltR% R& ltR'tR# )4bdist_wheelzcreate a wheel distributionstoreddeflatedz
plat-name=pz8platform name to embed in generated filenames [default: N]zcompression=zzipfile compression (one of: z, z) [default: 'deflated']zpython-tag=z3Python implementation compatibility tag [default: 'z']c                   V ^8  d   QhRR/# r   r   Noner   )r   s   "r   r   bdist_wheel.__annotate__   s     ( (D (r   c                	.   R V n         RV n        R V n        R V n        RV n        RV n        R V n        R V n        R V n        R V n	        RV n
        RV n        R V n        R V n        RV n        RV n        \!        4       V n        R V n        RV n        RV n        R # )Nr\   zipFrs   )	bdist_dirdata_dir	plat_nameplat_tagr   	keep_tempdist_dirdist_info_diregginfo_dirroot_is_pure
skip_buildrelativeownergroup	universalcompressionr:   build_numberpy_limited_apiplat_name_suppliedselfs   &r   initialize_optionsbdist_wheel.initialize_options   s    %)%)$($(!'+)-

&0$,(,49"'r   c                   V ^8  d   QhRR/# rw   r   )r   s   "r   r   ry      s     -R -R$ -Rr   c                	D   V P                   '       gA   V P                  R 4      P                  p\        P                  P                  VR4      V n         V P                  f:   \        \        V P                  P                  R4      4      pVP                  4        V P                  R,           V n        \        V P                  4      V n        RpV P"                  ! R .\%        W34      O5!   V P                  P'                  4       ;'       g    V P                  P)                  4       '       * V n        V P-                  4        V P                  P/                  R4      pRV9   dQ   \0        P2                  ! R4       VR,          ^,          P5                  4       pVP7                  4       R9   d   RV n        V P8                  '       d   \:        P<                  ! RR	RR
7       V P>                  e5   V P>                  R,          PA                  4       '       g   \C        R4      hR# R# )bdistwheelNr   z.datar   z=The [wheel] section is deprecated. Use [bdist_wheel] instead.Tz#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.
                )due_date:N   Nz1Build tag (build-number) must start with a digit.)r   r~   r   )1trueyes)i        )"r|   get_finalized_command
bdist_baseospathrg   r   r   egg_info_clsdistributionget_command_objensure_finalizedwheel_dist_namer}   r-   r~   r   set_undefined_optionsr{   has_ext_moduleshas_c_librariesr   _validate_py_limited_apiget_option_dictr   rM   striplowerr   r   emitr   isdigit
ValueError)r   r   r   need_optionsr   rT   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 --/VV43D3D3T3T3V
 	%%' !!11':%HHTU$Q'--/Cyy{22!%>>>(--5 '
 (1B1B21F1N1N1P1PPQQ 2Q(r   c                   V ^8  d   QhRR/# rw   r   )r   s   "r   r   ry     s      $ r   c                	   V P                   '       g   R # \        P                  ! \        V P                   4      '       g   \	        R\         R24      h\
        P                  ! R4      '       d   \	        RV P                   : R24      hR # )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   rD   rQ   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                   V ^8  d   QhRR/# r4   r   )r   s   "r   r   ry   %  s     $ $ $r   c                
   \        V P                  P                  4       4      \        V P                  P	                  4       4      .pV P
                  '       d   VP                  V P
                  4       RP                  V4      # )z4Return distribution full name with - replaced with _r#   )r   r   get_namero   get_versionr   appendrg   )r   
componentss   & r   r   bdist_wheel.wheel_dist_name$  sj     t((1134$++779:

 d//0xx
##r   c                   V ^8  d   QhRR/# )r   r   ztuple[str, str, str]r   )r   s   "r   r   ry   /  s     8 8- 8r   c                	<   V P                   '       d    V P                  '       d   V P                  pMV P                  '       d   R pMwV P                  '       d/   V P                  P                  R4      '       g   V P                  pM\	        V P
                  4      p\        4       '       d   VR9   d   RpVR9   d   RpVP                  4       P                  RR4      P                  RR4      P                  RR4      pV P                  '       d)   V P                  '       d   RpMV P                  pVR	V3pV# \        P                  ! 4       p\        P                  ! 4       pWE,           pV P                  '       d-   WE,           P                  R
4      '       d   V P                  pRpM!\        \!        4       4      P                  4       pW&V3p\        P"                  ! 4        Uu. uF  qwP$                  VP&                  V3NK  	  ppW89   g   Q RV 24       hV# u upi )anyr?   
linux_i686linux_armv7lr#   rC   r"   r!   zpy2.py3nonecp3abi3z'would build wheel with unsupported tag )rA   linux_x86_64)rB   linux_aarch64)r   r~   r   rF   rE   r|   r2   r   r'   r   r:   r   rc   re   r   r   rl   sys_tagsinterpreterrk   )	r   r~   ri   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           	     	
   V P                  R 4      pRVn        RVn        V P                  R4      pRVn        V P                  '       g   V P                  R4       V P                  RRR7      pV P                  Vn        RVn        V P                  Vn        RVn	        V P                  R4      pRVn
        R F?  p\        VR	V,           \        P                  P                  V P                  V4      4       KA  	  R
p\        P                   R8X  dV   \        P                  P#                  \        P                  P                  V P                  R4      4      pV;V n        V n        \        TV P(                  '       d   RMRV4       \*        P,                  ! RV P                   24       V P                  R4       V P/                  4       w  rxp	V P0                   RV RV RV	 2p
V P2                  '       g   V P                  pMC\        P                  P                  V P                  V P5                  VP6                  4      4      pV P9                  RR4       \;        V P<                  P?                  4       4       R\A        V P<                  PC                  4       4       R2p\        P                  P                  V P                  V4      pV PD                  '       df   \*        PF                  ! RV PD                   24       \H        PJ                  ! V PD                  V4       \L        PN                  ! V PP                  4       MV PS                  V PP                  V4       V PU                  V4       \        P                  PW                  V PX                  4      '       g!   \        PZ                  ! V PX                  4       \        P                  P                  V PX                  V
R,           4      p\]        VRV P_                  4       4      ;_uu_ 4       pVPa                  V4       RRR4       \c        V P<                  R. 4      Pe                  R\f        Ph                  Pj                   R\f        Ph                  Pl                   2V34       V Pn                  '       gZ   \*        P,                  ! RV P                   24       V Pp                  '       g#   \L        PN                  ! V P                  4       R# R# R#   + '       g   i     L; i)build_scriptspythonT	build_extFbuildinstall)reinit_subcommandsinstall_scriptsinstall_r\   ntz..install_purelibinstall_platlibzinstalling to r#   install_egg_infoz
.dist-infozreusing z.whlwN
dist_filesrq   r"   z	removing )headersscriptsdatapurelibplatlib)targetr   )9reinitialize_command
executableforceinplacer   run_commandr|   rootcompilewarn_dirno_epsetattrr   r   rg   r}   namenormpathinstall_libbaseinstall_libr   r   infor   r   r   _ensure_relativeinstall_baser   r   r   r   ro   r   r   debugshutilcopytreer   rmtreer   egg2distwrite_wheelfileexistsr   makedirsr   _zip_compressionwrite_filesgetattrr   r7   r8   r9   minorr   dry_run)r   r   r   r   r   keybasedir_observedimpl_tagr   r   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!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::T
	zsetuptools ()c               $    V ^8  d   QhRRRRRR/# )r   wheelfile_baser   	generatorr   rx   r   )r   s   "r   r   ry     s$     ; ;!;.1;	;r   c                	   ^ RI Hp V! 4       pRVR&   W$R&   \        V P                  4      P	                  4       VR&   V P
                  e   V P
                  VR&   V P                  4       w  rVpVP                  R4       FI  pVP                  R4       F1  p	VP                  R4       F  p
R	P                  WV
34      VR
&   K  	  K3  	  KK  	  \        P                  P                  VR4      p\        P                  ! RV 24       \        VR4      ;_uu_ 4       p\        V^ R7      P                  V4       RRR4       R#   + '       g   i     R# ; i)    )Messagez1.0zWheel-Version	GeneratorzRoot-Is-PurelibNBuildr"   r#   TagWHEELz	creating wb)maxheaderlen)email.messager  r   r   r   r   r   rf   rg   r   r   r   r   openr   flatten)r   r  r  r  msgr
  r   r   ri   rk   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   D??E	c                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   ry     s      S S r   c                	    \         P                  P                  V4      w  r!VR ,          \         P                  8X  d   W!R,          ,           pV# ):r  r   N:r   NN)r   r   
splitdrivesep)r   r   drives   && r   r   bdist_wheel._ensure_relative  s9    gg((.98#Dr   c                   V ^8  d   QhRR/# )r   r   zIterable[str]r   )r   s   "r   r   ry     s     * *} *r   c           	     	   \         ^98  d+   V P                  P                  P                  ;'       g    R# \        \
        ,          ! 4       pV P                  P                  R4      p\         ^*8  d;   \        \        \
        ,          V P                  P                  P                  4      pM(RV9   d    VR,          ^,          P                  4       pMRpRV9   d=   \        P                  ! R\        ^R7       VP                  VR,          ^,          4       V'       g!   V'       g   \        V\        4      '       g   RpV F  p\!        V4       F  pVP#                  R4      '       d   \$        P&                  ! RV R24       K6  WQ9  g   K>  \(        P*                  P-                  V4      '       g   Ke  \$        P.                  ! R	V R
V R24       VP                  V4       K  	  K  	  V# )9   metadatalicense_fileslicense_filezEThe "license_file" option is deprecated. Use "license_files" instead.rO   ~zignoring license file "z" as it looks like a backupzadding license file "z" (matched pattern "z")r   )zLICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*)setuptools_major_versionr   r0  r1  setr   r   r   r   rf   rR   rM   DeprecationWarningadd
isinstancelistr   endswithr   r   r   r   isfiler   )r   filesr0  patternspatternr   s   &     r   license_pathsbdist_wheel.license_paths  sx   #r)$$--;;A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               $    V ^8  d   QhRRRRRR/# )r   egginfo_pathr   distinfo_pathr   rx   r   )r   s   "r   r   ry     s!     < <S < < <r   c                   R R lpV! V4       \         P                  P                  V4      '       g   ^ RIp\         P                  P	                  \         P                  P                  V4      R4      pVP                  V4      pRV R2pV'       d4   \         P                  P                  V^ ,          4      pVRV R2,          p\        V4      h\         P                  P	                  VR	4      p	\        P                  ! VVR
 R7       \         P                  P	                  VR4      p
\        V
RR7      ;_uu_ 4       pVP                  4       P                  4       pRRR4       X'       g	   V! V
4       \         P                  P	                  VR4      p\        P                  ! W4       \         P                  P	                  VR4      pV P                   Fz  p\        V4      p\         P                  P	                  VV4      p\         P                   ! \         P                  P                  V4      RR7       \        P                  ! VV4       K|  	  V! V4       R#   + '       g   i     EL; i)z:Convert an .egg-info directory into a .dist-info directoryc                    V ^8  d   QhRRRR/# )r   rt   r   r   rx   r   )r   s   "r   r   *bdist_wheel.egg2dist.<locals>.__annotate__  s     	 	S 	T 	r   c                   \         P                  P                  V 4      '       dc   \         P                  P                  V 4      '       g>   \         P                  P	                  V 4      '       d   \
        P                  ! V 4       R# \         P                  P                  V 4      '       d   \         P                  ! V 4       R# R# )z-Appropriately delete directory, file or link.N)r   r   r  islinkisdirr   r   unlink)rt   s   &r   adios#bdist_wheel.egg2dist.<locals>.adios  sh    ww~~a  ):):rww}}Q?O?Oq!""		! #r   Nz
*.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)PKG-INFOc                
    0 Rm# )rM  >   rM  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)r   r   r  globrg   dirnamebasenamer   r   r   r   readr   copyr?  r   r  )r   rB  rC  rK  r[  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""I3	c                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r   ry   Q  s     K K# Kr   c                	F   \        V P                  \        4      '       d6   V P                  V P                  P	                  4       9   d   V P                  # V P                  P                  \        V P                  4      4      pVe   V# \        RV P                  : 24      h)NzUnsupported compression: )r8  r   ro  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   )r|   r   r   r}   r   r   r   r   r   r   r   r   r   r~   r   r   r   r:   r   r   r   r   )z
bdist-dir=bz1temporary directory for creating the distribution)	keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=r_   z-directory to put final built distributions in)
skip-buildNz2skip rebuilding everything (for testing/debugging))r   Nz7build the archive using relative paths [default: false])zowner=rj   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])r   Nz4*DEPRECATED* make a universal wheel [default: false])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))rv  rx  r   r   )__name__
__module____qualname____firstlineno__descriptionr
   r	   rq  rE   rg   r:   user_optionsboolean_optionsr   r   r   propertyr   r   r  r   r   r   r?  r   r  __static_attributes__r   r   r   rq   rq      s6   /K 	*L 	Q%d+,A/	
	
 	LR	

	

	

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

	
	

	
m=L~ KO(,-R^ $ $8t\/~ 7C;-q4Q;0 * *X<|K Kr   rq   )TT)6__doc__
__future__r   r   r(   r   r0   r7   rD   rR   collections.abcr   r   email.generatorr   r[  r   typingr   r   zipfiler	   r
   	packagingr   r   r$   wheel.wheelfiler   r\   r   r   r   _core_metadatar   _normalizationr   r   r   r   	distutilsr   r+   ro  rf   r4  r   r2   r:   rE   rU   rl   ro   rq   r   r   r   <module>r     s    # 	 	   
   . *    , 9 % , , / ' 3 . 	6 {005a89 ! %)$(" F3UK' UKr   