+
    SBiT                    z   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
t
^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHtHt ^ RIt^ R	IHt ^R
IH t! ^RI"H#t# ^RI$H%t% ^RI&H't' ^RI&H(t) ^RI*H+t+ ]'       d   ^ RI,t, ]-! R4       R R lt1R R lt2]3! ]P@                  Pi                  R4      ^ ,          4      t5Rt6R R lt7R R lt8R R lt9R,R R llt:R  R! lt;R" R# lt<R$ R% lt=R& R' lt>R( R) lt? ! R* R+]4      t@R#   ]. d    ^RIH/t/ ]/P`                  ! 4         Li ; i)-zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
)annotationsN)BytesGenerator	Generator)EmailPolicy)iglob)rmtree)TYPE_CHECKINGCallableIterableLiteralSequencecast)ZIP_DEFLATED
ZIP_STORED)Command)__version__)pkginfo_to_metadata)log)tagsversion)	WheelFilezsetuptools.logging)_setuptools_loggingc                    V ^8  d   QhRRRR/#    namestrreturn )formats   "7/usr/lib/python3.14/site-packages/wheel/_bdist_wheel.py__annotate__r"   /   s     / /C /C /    c                2    \         P                  ! RRV 4      # )zConvert an arbitrary string to a standard distribution name
Any runs of non-alphanumeric/. characters are replaced with a single '-'.
[^A-Za-z0-9.]+-)resubr   s   &r!   	safe_namer*   /   s     66"C..r#   c                    V ^8  d   QhRRRR/# r   r   r   r   r   )r    s   "r!   r"   r"   6   s     	6 	6# 	6# 	6r#   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
 .r%   r&   )r   _packaging_versionVersionInvalidVersionreplacer'   r(   r   s   &r!   safe_versionr4   6   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"   G   s     % %t %r#   c                 4    \         P                  ! R 4      ^8H  # )P)structcalcsizer   r#   r!   _is_32bit_interpreterr;   G   s    ??31$$r#   c                   V ^8  d   QhRR/# )r   r   r   r   )r    s   "r!   r"   r"   K   s     & &C &r#   c                 6    R \         P                  ^ ,           2# )py)sysversion_infor   r#   r!   
python_tagrA   K   s      #$%%r#   c                    V ^8  d   QhRRRR/# )r   archive_root
str | Noner   r   r   )r    s   "r!   r"   r"   O   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macosx_libfilerG   r;   r3   )rC   resultrG   s   &  r!   rL   rL   O   si    ##%F""|'?A.|D		 	 ^#!F& $F>>#s##r#   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )r   varr   fallbackr6   expectedwarnr   r   )r    s   "r!   r"   r"   c   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)rK   get_config_varwarningsrT   RuntimeWarning)rQ   rR   rS   rT   vals   &&&& r!   get_flagr\   c   sJ    
 
"
"3
'C
{MM#C5(ST
 ?r#   c                   V ^8  d   QhRR/# )r   r   rD   r   )r    s   "r!   r"   r"   t   s     % %Z %r#   c                    \         P                  ! R4      p \        P                  ! 4       pV '       g   VR9   d   \	        \
        R4      '       d   RpRpRp\        R\	        \
        R4      VR8H  R7      '       d   R	p\        R
VR8H  VR8H  ;'       d    \
        P                  R8  R7      '       d   \
        P                  R8  d   RpV \        P                  ! 4        V V V 2pV# V '       d@   VR8X  d9   V P                  R4      '       d"   RV P                  R4      ^,          ,           pV# V '       d9   VR8X  d2   V P                  R4      '       d   V P                  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 '       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)rT   dWITH_PYMALLOCmcpythonr&   Nr   Nr/   rJ   graalpy:N   NN)r`   ra   )rl      )rK   rX   r   interpreter_namehasattrr?   r\   r@   interpreter_versionrM   splitjoinr3   )soabiimplrf   rh   uabis         r!   get_abi_tagrw   t   s   ))'2E  "DT\)gc<.H.HJ-? @PTVVADL$,<<3#3#3f#<
 
 'At//121#aS<& J% 
44<E$4$4Y$?$?U[[%a((  J 
44<E$4$4T$:$:kk#q! 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     - -S -S -r#   c                8    \        V 4      P                  R R4      # r&   rJ   )r*   r3   r)   s   &r!   
safer_namer{      s    T?""3,,r#   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      # rz   )r4   r3   r   s   &r!   safer_versionr~      s     ((c22r#   c               (    V ^8  d   QhRRRRRRRR/# )	r   funcCallable[..., object]pathr   excinfoz6tuple[type[Exception], Exception, types.TracebackType]r   Noner   )r    s   "r!   r"   r"      s1     0 0
0
0 D0 
	0r#   c                ,    \        WV^,          4       R# )   N)remove_readonly_exc)r   r   r   s   &&&r!   remove_readonlyr      s    
 GAJ/r#   c               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r   r   exc	Exceptionr   r   r   )r    s   "r!   r"   r"      s*      3 3 Y SW r#   c                `    \         P                  ! V\        P                  4       V ! V4       R # )N)oschmodstatS_IWRITE)r   r   r   s   &&&r!   r   r      s    HHT4==!Jr#   c                  6   ] 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
P                  RP                  ]4      4      3RRR]! 4        R23R'R(.t. R)OtR tR t]R 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tR# )*bdist_wheelzcreate a wheel distributionstoreddeflatedz
plat-name=pz8platform name to embed in generated filenames (default: N)zcompression=z6zipfile compression (one of: {}) (default: 'deflated')z, zpython-tag=z3Python implementation compatibility tag (default: 'z')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        \        4       V n        R V n        RV n        RV n        R # )NzipFr   )	bdist_dirdata_dir	plat_nameplat_tagr    	keep_tempdist_diregginfo_dirroot_is_pure
skip_buildrelativeownergroup	universalcompressionrA   build_numberpy_limited_apiplat_name_supplied)selfs   &r!   initialize_optionsbdist_wheel.initialize_options   s    "%)$()-

$&0)|(,49"'r#   c                	   V P                   fA   V P                  R4      P                  p\        P                  P                  VR4      V n         V P                  P                  R4      pVP                  4        V P                  R,           V n
        V P                  R JV n         V P                  V P                  ,          V n        RpT P"                  ! R.\%        Y34      O5!   T P                  P'                  4       ;'       g    T P                  P)                  4       '       * T n        T P,                  '       d?   \.        P0                  ! \2        T P,                  4      '       g   \!        R\2         R24      hT P                  P5                  R4      pRT9   dQ   \6        P8                  ! R	4       TR,          ^,          P;                  4       pTP=                  4       R9   d   R
T n        T P@                  e5   T P@                  R,          PC                  4       '       g   \!        R4      hR # R #   \         d    \!        RT P                   24      R hi ; i)Nbdistwheelegg_infoz.datazUnsupported compression: zpy-limited-api must match ''r   z=The [wheel] section is deprecated. Use [bdist_wheel] instead.T:Nr   Nz1Build tag (build-number) must start with a digit.)r   r   r   )1trueyes)"r   get_finalized_command
bdist_baser   r   rr   distributionget_command_objensure_finalizedwheel_dist_namer   r   r   supported_compressionsr   KeyError
ValueErrorset_undefined_optionsr   has_ext_moduleshas_c_librariesr   r   r'   matchPY_LIMITED_API_PATTERNget_option_dictr   warningstriplowerr   r   isdigit)r   r   r   need_optionsr   r[   s   &     r!   finalize_optionsbdist_wheel.finalize_options
  s   >>!33G<GGJWW\\*g>DN$$44Z@!!#,,w6"&.."<	W#::4;K;KLD ?""7MS-LM --/VV43D3D3T3T3V
 rxx"D$7$7(
 (
 :;Q:RRSTUU !!11':%KKO $Q'--/Cyy{22!%(1B1B21F1N1N1P1PPQQ 2Q(7  	W89I9I8JKLRVV	Ws   &"H3 3%Ic                    \        V P                  P                  4       4      \        V P                  P	                  4       4      3pV P
                  '       d   WP
                  3,          pRP                  V4      # )z4Return distribution full name with - replaced with _r&   )r{   r   get_namer~   get_versionr   rr   )r   
componentss   & r!   r   bdist_wheel.wheel_dist_name5  sg     t((1134$++779:

 ,,..Jxx
##r#   c                   V ^8  d   QhRR/# )r   r   ztuple[str, str, str]r   )r    s   "r!   r"   bdist_wheel.__annotate__@  s     8 8- 8r#   c                	4   V P                   '       d   \        \        V P                  4      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 )anyrF   
linux_i686linux_armv7lr&   rJ   r/   r.   zpy2.py3nonecp3abi3z'would build wheel with unsupported tag )rH   linux_x86_64)rI   linux_aarch64)r   r   r   r   r   rM   rL   r   r;   r   r3   r   rA   r   rn   rp   r   rw   sys_tagsinterpreterrv   )	r   r   rt   tag	impl_nameimpl_verabi_tagtsupported_tagss	   &        r!   get_tagbdist_wheel.get_tag@  s    """S$..1I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?   %?8>?%
s    !Hc           	     	Z	   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 PE                  V PF                  V4       V PI                  V4       \        P                  PK                  V PL                  4      '       g!   \        PN                  ! V PL                  4       \        P                  P                  V PL                  V
R,           4      p\Q        VRV PR                  4      ;_uu_ 4       pVPU                  V4       RRR4       \W        V P<                  R. 4      PY                  RRPZ                  ! \\        P^                  R,          !  V34       V P`                  '       g   \*        P,                  ! RV P                   24       V Pb                  '       gP   \\        P^                  R8  d   \e        V P                  \f        R7       R# \e        V P                  \h        R7       R# R# R#   + '       g   i     L; i) build_scriptspythonT	build_extFbuildinstall)reinit_subcommandsinstall_scriptsinstall_rc   ntz..install_purelibinstall_platlibzinstalling to r&   install_egg_infoz
.dist-infoz.whlwN
dist_filesr   z{}.{}rj   z	removing )onerror)onexc)headersscriptsdatapurelibplatlib)targetr   )rl      )5reinitialize_command
executableforceinplacer   run_commandr   rootcompilewarn_dirno_epsetattrr   r   rr   r   r   normpathinstall_libbaseinstall_libr   r   infor   r   r   _ensure_relativeinstall_baser   r{   r   r   r~   r   egg2distr   write_wheelfileexistsr   makedirsr   r   write_filesgetattrappendr    r?   r@   r   dry_runr   r   r   )r   r   r   r   r   keybasedir_observedimpl_tagr   r   archive_basenamerC   distinfo_dirnamedistinfo_dir
wheel_pathwfs   &               r!   runbdist_wheel.runz  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d&&5\* ww~~dmm,,KK&WW\\$--1AF1JK
z3(8(899RNN<( : 	!!<4;; 0 0 45	
 ~~~HHy 012<<<##g-4>>?C4>>1DE	    :9s   RR*	zbdist_wheel (c                    V ^8  d   QhRRRR/# )r   wheelfile_baser   	generatorr   )r    s   "r!   r"   r     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-Versionr   zRoot-Is-PurelibNBuildr/   r&   TagWHEELz	creating wb)maxheaderlen)email.messager$  r   r   r   r   r   rq   rr   r   r   r   r
  openr   flatten)r   r   r!  r$  msgr  r   r   rt   rv   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"   r     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"   r     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.rV   ~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   r;  r<  setr   r   r   r   rq   rY   rT   DeprecationWarningadd
isinstancelistr   endswithr   debugr   r   isfiler
  )r   filesr;  patternspatternr   s   &     r!   license_pathsbdist_wheel.license_paths  st   #r)$$--;;AArA%$$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   egginfo_pathr   distinfo_pathr   )r    s   "r!   r"   r      s     E ES E E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4      '       d#   \        W4      p	\         P                  ! V4       M\         P                  P	                  VR	4      p
\        W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\!        RR^ R7      p\        VRRR7      ;_uu_ 4       p\#        VVR7      P%                  V	4       RRR4       V P&                   FW  p\         P                  P                  V4      p\        P(                  ! V\         P                  P	                  VV4      4       KY  	  V! V4       R#   + '       g   i     L; i  + '       g   i     L; i)z:Convert an .egg-info directory into a .dist-info directoryc                    V ^8  d   QhRRRR/# )r   r   r   r   r   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isdirshutilr   unlink)r   s   &r!   adios#bdist_wheel.egg2dist.<locals>.adios#  sh    ww~~a  ):):rww}}Q?O?Oa ""		! #r#   Nz
*.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)PKG-INFOc                
    0 Rm# )rZ  >   rZ  SOURCES.txtnot-zip-saferequires.txtr   )xys   &&r!   <lambda>&bdist_wheel.egg2dist.<locals>.<lambda>I  s     %r#   )ignorezdependency_links.txtzutf-8)encodingMETADATATF)utf8mangle_from_max_line_lengthr   )policy)r   r   r  globrr   dirnamebasenamer   rG  r   mkdirrV  copytreer+  readr   r   r   r,  rK  copy)r   rN  rO  rX  rj  patpossibleerraltpkg_infopkginfo_pathdependency_links_pathdependency_links_filedependency_linkspkg_info_pathserialization_policyoutlicense_pathfilenames   &&&                r!   r  bdist_wheel.egg2dist   s   	 	mww~~l++
 '',,rww|<lKCyy~H-l^>JCgg&&x{3C5 IJJS/!77>>,''*<FHHH]# 77<<jAL*<FH OO	 %'GGLL@V$W!+g>>BW#8#=#=#?#E#E#G  ?#+,]J?* 

 -w773c"67??I 8 !..Lww''5HKKbggll=(&KL / 	l% ?> 87s   J$J7$J4	7K	)r   r   r   r   r   r   r    r   r	  r  r   r   r   r   r   r   rA   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=rf   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=ru   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   Nz'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))r  r  r   r   )__name__
__module____qualname____firstlineno__descriptionr   r   r   rL   r    rr   rA   user_optionsboolean_optionsr   r   propertyr   r   r  wheel_versionr  r  rK  r  __static_attributes__r   r#   r!   r   r      s+   /K 	*L 	Q%d+,A/	
	
 	LR	

	

	

 	GDKK		01	
 A*,rR	

	
	
g8Lt KO(*)RV $ $8tXFv 7DM?RS4T;0 * *XE Er#   r   )TT)A__doc__
__future__r   r   r'   rV  r   r9   r?   rK   rY   email.generatorr   r   email.policyr   rj  r   r   typingr   r	   r
   r   r   r   zipfiler   r   
setuptoolsr   rc   r   r  r;  r   utilr   vendored.packagingr   r   r0   	wheelfiler   types
__import__ImportErrorr   	configurer*   r4   intrq   r?  r   r;   rA   rL   r\   rw   r{   r~   r   r   r   r   r#   r!   <module>r     s    # 	 	    
   5 $   M M ,   * )  $ =  $#$/	6 z55;;C@CD ! %&$("%P-30
t' tS  $%!!#	$s   D D:9D: