Ë *§ø±Tæ�“ãóÊ—ddlmZddlZddlmZddlmZmZmZm Z ddl Z ddl m Z m Z mZddlmZmZmZddlmZddlmZerdd lmZGd „d «Zd d œdd„Ze de¬«Zy)é)Ú annotationsN)Úcontextmanager)Ú TYPE_CHECKINGÚAnyÚ GeneratorÚTypeVar)ÚDEFAULT_BUILD_DIRECTORYÚEXCLUDED_DIRECTORIESÚ BuildEnvVars)Únormalize_inclusion_mapÚnormalize_relative_directoryÚnormalize_relative_path)Únormalize_project_name)Ú locate_file)ÚBuilderInterfacecó�—eZdZ d1d„Zed2d„«Zed3d„«Zed3d„«Zed4d„«Zed4d„«Z ddd œd5d „Z d6d „Z d6d „Z d6d „Z d6d„Zd6d„Zd7d„Zed8d„«Zed8d„«Zed8d„«Zed4d„«Zed3d„«Zed9d„«Zed9d„«Zed9d„«Zed:d„«Zed9d„«Zed9d„«Zed:d„«Zed9d„«Zed:d„«Zed:d„«Zed;d „«Z ed:d!„«Z!ed;d"„«Z"ed;d#„«Z#dd'„Z'd?d(„Z(d?d)„Z)d?d*„Z*d?d+„Z+d:d,„Z,d@d-„Z-d;d.„Z.e/dAd/„«Z0y0)BÚ BuilderConfigcóÔ—||_||_||_||_||_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_i|_t-«|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ y©NF)!Ú_BuilderConfig__builderÚ_BuilderConfig__rootÚ_BuilderConfig__plugin_nameÚ_BuilderConfig__build_configÚ_BuilderConfig__target_configÚ_BuilderConfig__hook_configÚ_BuilderConfig__versionsÚ_BuilderConfig__dependenciesÚ_BuilderConfig__sourcesÚ_BuilderConfig__packagesÚ_BuilderConfig__only_includeÚ_BuilderConfig__force_includeÚ#_BuilderConfig__vcs_exclusion_filesÚ_BuilderConfig__include_specÚ_BuilderConfig__exclude_specÚ_BuilderConfig__artifact_specÚ _BuilderConfig__include_patternsÚ _BuilderConfig__exclude_patternsÚ!_BuilderConfig__artifact_patternsÚ_BuilderConfig__exclude_allÚbuild_artifact_specÚbuild_force_includeÚsetÚbuild_reserved_pathsÚ_BuilderConfig__directoryÚ"_BuilderConfig__skip_excluded_dirsÚ_BuilderConfig__ignore_vcsÚ_BuilderConfig__only_packagesÚ_BuilderConfig__reproducibleÚ_BuilderConfig__dev_mode_dirsÚ_BuilderConfig__dev_mode_exactÚ,_BuilderConfig__require_runtime_dependenciesÚ(_BuilderConfig__require_runtime_features)ÚselfÚbuilderÚrootÚ plugin_nameÚ build_configÚ target_configs ú>/usr/lib/python3.12/site-packages/hatchling/builders/config.pyÚ__init__zBuilderConfig.__init__s€ð!ˆŒØˆŒ Ø(ˆÔØ*ˆÔØ,ˆÔØ48ˆÔØ,0ˆŒØ04ˆÔØ04ˆŒØ,0ˆŒØ59ˆÔØ6:ˆÔØBFˆÔ"ð>BˆÔØ=AˆÔØ>BˆÔð59ˆÔØ48ˆÔØ59ˆÔ ð$)ˆÔðCGˆÔ Ø35ˆÔ Ü.1«eˆÔ!ð(,ˆÔØ15ˆÔ!Ø)-ˆÔØ,0ˆÔØ+/ˆÔØ15ˆÔØ-1ˆÔØ;?ˆÔ+Ø<@ˆÕ'ócó—|jS©N)r©r7s r=r8zBuilderConfig.builderGs €à�~‰~Ðr?có—|jSrA)rrBs r=r9zBuilderConfig.rootKs €à�{‰{Ðr?có—|jSrA)rrBs r=r:zBuilderConfig.plugin_nameOs€à×!Ñ!Ð!r?có—|jSrA)rrBs r=r;zBuilderConfig.build_configSs€à×"Ñ"Ð"r?có—|jSrA)rrBs r=r<zBuilderConfig.target_configWs€à×#Ñ#Ð#r?FT)ÚexplicitÚ is_packagecóÈ—|j|«xsP|j|«xs=|jxr| xr)|j|« xr|xs|j |«SrA)Úpath_is_build_artifactÚpath_is_artifactÚ only_packagesÚpath_is_excludedÚpath_is_included)r7Ú relative_pathrGrHs r=Ú include_pathzBuilderConfig.include_path[sr€à × 'Ñ '¨ Ó 6ò Ø×$Ñ$ ]Ó3ò ð×'Ñ'Ò:° ¨NÐ;òGØ×-Ñ-¨mÓ<Ð<òGàÒE ×!6Ñ!6°}Ó!Eð  r?cóR—|j€y|jj|«S©NT)Ú include_specÚ match_file©r7rOs r=rNzBuilderConfig.path_is_includedfs(€Ø × Ñ Ð $Øà× Ñ ×+Ñ+¨MÓ:Ð:r?cól—|jry|j€y|jj|«S)NTF)r)Ú exclude_specrTrUs r=rMzBuilderConfig.path_is_excludedls4€Ø × Ò Øà × Ñ Ð $Øà× Ñ ×+Ñ+¨MÓ:Ð:r?cóR—|j€y|jj|«Sr)Ú artifact_specrTrUs r=rKzBuilderConfig.path_is_artifactus(€Ø × Ñ Ð %Øà×!Ñ!×,Ñ,¨]Ó;Ð;r?cóR—|j€y|jj|«Sr)r*rTrUs r=rJz$BuilderConfig.path_is_build_artifact{s(€Ø × #Ñ #Ð +Øà×'Ñ'×2Ñ2°=ÓAÐAr?có—||jvSrA)r-rUs r=Úpath_is_reservedzBuilderConfig.path_is_reserved�s€Ø × 9Ñ 9Ð9Ð9r?có¾—|tvrytjj||«}|j |«xs"|j xr|j |›d�«S)NTÚ/)r ÚosÚpathÚjoinr\Úskip_excluded_dirsrM)r7ÚnamerOÚrelative_directorys r=Údirectory_is_excludedz#BuilderConfig.directory_is_excluded„s`€Ø Ô'Ñ 'ØäŸW™WŸ\™\¨-¸Ó>Ðà × !Ñ !Ð"4Ó 5ò ]à×'Ñ'Ò[¨D×,AÑ,AÐEWÐDXÐXYÐBZÓ,[ð r?cóˆ—|j�€*d|jvr|j}d|j›d�}n|j}d}g}|j d|j ««}t |t«sd|›d�}t|«‚t|d«D]P\}}t |t«sd|›d |›d �}t|«‚|sd|›d |›d �}t|«‚|j|«ŒR|jd „|jD««|r$tj j#|«|_||_|j$S) NÚincludeútool.hatch.build.targets.z.includeztool.hatch.build.includeúField `ú` must be an array of stringséú Pattern #ú in field `ú` must be a stringú` cannot be an empty stringc3ódK—|](}d|jtjd«›d�–—Œ*y­w)r^N)Úreplacer_Úsep)Ú.0rOs r=Ú z-BuilderConfig.include_spec..­s/èø€Ð'uÑgtÐVc¨!¨M×,AÑ,AÄ"Ç&Á&È#Ó,NÐ+OÈqÔ(QÑgtùs‚.0)r&r<r:r;ÚgetÚdefault_includeÚ isinstanceÚlistÚ TypeErrorÚ enumerateÚstrÚ ValueErrorÚappendÚextendÚpackagesÚpathspecÚ GitIgnoreSpecÚ from_linesr#)r7Úinclude_configÚinclude_locationÚall_include_patternsÚinclude_patternsÚmessageÚiÚinclude_patterns r=rSzBuilderConfig.include_spec�s]€à × "Ñ "Ñ *ؘD×.Ñ.Ñ.Ø!%×!3Ñ!3�Ø%>¸t×?OÑ?OÐ>PÐPXÐ#YÑ à!%×!2Ñ!2�Ø#=Ð à#%Ð à-×1Ñ1°)¸T×=QÑ=QÓ=SÓTÐ ÜÐ.´Ô5Ø#Ð$4Ð#5Ð5RÐS�Ü Ó(Ð(ä&/Ð0@À!Ö&DÑ"��?Ü! /´3Ô7Ø )¨!¨¨KÐ8HÐ7IÐI[Ð\�GÜ# GÓ,Ð,á&Ø )¨!¨¨KÐ8HÐ7IÐIdÐe�GÜ$ WÓ-Ð-à$×+Ñ+¨OÕ<ð'Eð !× 'Ñ 'Ñ'uÐgk×gtÒgtÓ'uÔ uá#Ü&.×&<Ñ&<×&GÑ&GÐH\Ó&]�Ô#à&:ˆDÔ #à×"Ñ"Ð"r?có¶—|j�€Ad|jvr|j}d|j›d�}n|j}d}|j «}|j d|j ««}t|t«sd|›d�}t|«‚t|d«D]P\}}t|t«sd|›d |›d �}t|«‚|sd|›d |›d �}t|«‚|j|«ŒR|js|j|j!««|r$t"j$j'|«|_||_|j(S) NÚexcluderhz.excludeztool.hatch.build.excluderirjrkrlrmrnro)r'r<r:r;Údefault_global_excluderuÚdefault_excluderwrxryrzr{r|r}Ú ignore_vcsr~Úload_vcs_exclusion_patternsr€r�r‚r$)r7Úexclude_configÚexclude_locationÚall_exclude_patternsÚexclude_patternsr‡rˆÚexclude_patterns r=rWzBuilderConfig.exclude_spec¶si€à × "Ñ "Ñ *ؘD×.Ñ.Ñ.Ø!%×!3Ñ!3�Ø%>¸t×?OÑ?OÐ>PÐPXÐ#YÑ à!%×!2Ñ!2�Ø#=Ð à#'×#>Ñ#>Ó#@Ð à-×1Ñ1°)¸T×=QÑ=QÓ=SÓTÐ ÜÐ.´Ô5Ø#Ð$4Ð#5Ð5RÐS�Ü Ó(Ð(ä&/Ð0@À!Ö&DÑ"��?Ü! /´3Ô7Ø )¨!¨¨KÐ8HÐ7IÐI[Ð\�GÜ# GÓ,Ð,á&Ø )¨!¨¨KÐ8HÐ7IÐIdÐe�GÜ$ WÓ-Ð-à$×+Ñ+¨OÕ<ð'Eð—?’?Ø$×+Ñ+¨D×,LÑ,LÓ,NÔOá#Ü&.×&<Ñ&<×&GÑ&GÐH\Ó&]�Ô#à&:ˆDÔ #à×"Ñ"Ð"r?có&—|j€úd|jvr|j}d|j›d�}n|j}d}g}|j dg«}t |t «sd|›d�}t|«‚t|d«D]P\}}t |t«sd|›d |›d �}t|«‚|sd|›d |›d �}t|«‚|j|«ŒR|r$tjj|«|_||_|jS) NÚ artifactsrhz .artifactsztool.hatch.build.artifactsrirjrkrlrmrnro)r(r<r:r;rurwrxryrzr{r|r}r€r�r‚r%)r7Úartifact_configÚartifact_locationÚall_artifact_patternsÚartifact_patternsr‡rˆÚartifact_patterns r=rYzBuilderConfig.artifact_specÜs<€à × #Ñ #Ð +ؘd×0Ñ0Ñ0Ø"&×"4Ñ"4�Ø&?À×@PÑ@PÐ?QÐQ[Ð$\Ñ!à"&×"3Ñ"3�Ø$@Ð!à$&Ð !à /× 3Ñ 3°KÀÓ DÐ ÜÐ/´Ô6Ø#Ð$5Ð#6Ð6SÐT�Ü Ó(Ð(ä'0Ð1BÀAÖ'FÑ#�Ð#Ü!Ð"2´CÔ8Ø )¨!¨¨KÐ8IÐ7JÐJ\Ð]�GÜ# GÓ,Ð,á'Ø )¨!¨¨KÐ8IÐ7JÐJeÐf�GÜ$ WÓ-Ð-à%×,Ñ,Ð-=Õ>ð(Gñ%Ü'/×'=Ñ'=×'HÑ'HÐI^Ó'_�Ô$à'<ˆDÔ $à×#Ñ#Ð#r?c ó¬—|j�€¶i}|jjdi«}t|t«s d}t |«‚|j «D]8\}}t|t«sd|›d�}t |«‚|j||«Œ:|jjdi«}t|t«sd|j›d�}t |«‚|j «D]8\}}t|t«sd|j›d|›d�}t |«‚|||<Œ:ttj«s|ttj«}|j «D��cic]G\}}|s=|jdd «s+ttj›|j«›�«r||“ŒI}}}ni}||_|jScc}}w) NÚhooksz.Field `tool.hatch.build.hooks` must be a tablezField `tool.hatch.build.hooks.z` must be a tableú Field `tool.hatch.build.targets.z.hooks` must be a tablez.hooks.zenable-by-defaultT)rr;rurwÚdictryÚitemsÚ setdefaultr<r:Úenv_var_enabledr ÚNO_HOOKSÚ HOOKS_ENABLEÚHOOK_ENABLE_PREFIXÚupper) r7Ú hook_configÚglobal_hook_configr‡Ú hook_nameÚconfigÚtarget_hook_configÚall_hooks_enabledÚfinal_hook_configs r=r§zBuilderConfig.hook_configÿsÛ€à × Ñ Ñ %Ø57ˆKà!%×!2Ñ!2×!6Ñ!6°wÀÓ!CÐ ÜÐ0´$Ô7ØJ�Ü Ó(Ð(à%7×%=Ñ%=Ö%?Ñ!� ˜6Ü! &¬$Ô/Ø >¸y¸kÐIZÐ[�GÜ# GÓ,Ð,à×&Ñ& y°&Õ9ð &@ð"&×!3Ñ!3×!7Ñ!7¸ÀÓ!DÐ ÜÐ0´$Ô7Ø<¸T×=MÑ=MÐÑ->Ô-@ô%á-@Ñ)˜  6á)Ø!Ÿ:™:Ð&9¸4Ô@Ü*¬l×.MÑ.MÐ-NÈyÏÉÓO`ÐNaÐ+bÔcð ˜vÑ%Ø-@ð"ò%ð%'Ð!à!2ˆDÔ à×!Ñ!Ð!ùó%sÅ+A Gcóh—|j€›d|jvr:|jd}t|t«sXd|j›d�}t |«‚|j jdt«}t|t«s d}t |«‚|j|«|_|jS)NÚ directoryržz.directory` must be a stringz3Field `tool.hatch.build.directory` must be a string) r.r<rwr{r:ryr;rur Únormalize_build_directory)r7r¯r‡s r=r¯zBuilderConfig.directory.s©€à × Ñ Ð #ؘd×0Ñ0Ñ0Ø ×.Ñ.¨{Ñ;� Ü! )¬SÔ1Ø @À×AQÑAQÐ@RÐRnÐo�GÜ# GÓ,Ð,à ×-Ñ-×1Ñ1°+Ô?VÓW� Ü! )¬SÔ1ØS�GÜ# GÓ,Ð,à#×=Ñ=¸iÓHˆDÔ à×ÑÐr?cóB—|j€ˆd|jvr:|jd}t|t«sTd|j›d�}t |«‚|j jdd«}t|t«s d}t |«‚||_|jS)Nzskip-excluded-dirsržz&.skip-excluded-dirs` must be a booleanFz=Field `tool.hatch.build.skip-excluded-dirs` must be a boolean)r/r<rwÚboolr:ryr;ru)r7rbr‡s r=rbz BuilderConfig.skip_excluded_dirs@s©€à × $Ñ $Ð ,Ø# t×'9Ñ'9Ñ9Ø%)×%7Ñ%7Ð8LÑ%MÐ"Ü!Ð"4´dÔ;à:¸4×;KÑ;KÐ:LÐLrÐsðô$ GÓ,Ð,à%)×%6Ñ%6×%:Ñ%:Ð;OÐQVÓ%WÐ"Ü!Ð"4´dÔ;Ø]�GÜ# GÓ,Ð,à(:ˆDÔ %à×(Ñ(Ð(r?cóB—|j€ˆd|jvr:|jd}t|t«sTd|j›d�}t |«‚|j jdd«}t|t«s d}t |«‚||_|jS)Nz ignore-vcsržz.ignore-vcs` must be a booleanFz5Field `tool.hatch.build.ignore-vcs` must be a boolean)r0r<rwr²r:ryr;ru)r7rŽr‡s r=rŽzBuilderConfig.ignore_vcsTs�€à × Ñ Ð $ؘt×1Ñ1Ñ1Ø!×/Ñ/° Ñ=� Ü! *¬dÔ3Ø @À×AQÑAQÐ@RÐRpÐq�GÜ# GÓ,Ð,à!×.Ñ.×2Ñ2°<ÀÓG� Ü! *¬dÔ3ØU�GÜ# GÓ,Ð,à *ˆDÔ à× Ñ Ð r?cóB—|j€ˆd|jvr:|jd}t|t«sTd|j›d�}t |«‚|j jdd«}t|t«s d}t |«‚||_|jS)Núrequire-runtime-dependenciesržz0.require-runtime-dependencies` must be a booleanFzGField `tool.hatch.build.require-runtime-dependencies` must be a boolean)r5r<rwr²r:ryr;ru)r7Úrequire_runtime_dependenciesr‡s r=r¶z*BuilderConfig.require_runtime_dependenciesfs®€à × .Ñ .Ð 6Ø-°×1CÑ1CÑCØ/3×/AÑ/AÐB`Ñ/aÐ,Ü!Ð">ÄÔEà:¸4×;KÑ;KÐ:LðM,ð-ðô$ GÓ,Ð,à/3×/@Ñ/@×/DÑ/DÐEcÐejÓ/kÐ,Ü!Ð">ÄÔEØg�GÜ# GÓ,Ð,à2NˆDÔ /à×2Ñ2Ð2r?cól—|j�€d|jvr|j}d|j›d�}n|j}d}|j dg«}t |t «sd|›d�}t|«‚i}t|d«D]�\}}t |t«sd|›d |›d �}t|«‚|sd|›d |›d �}t|«‚t|«}||jjjjvrd |›d |›d�}t|«‚d||<Œ‘t |«|_|jS)Núrequire-runtime-featuresrhz.require-runtime-featuresz)tool.hatch.build.require-runtime-featuresriú` must be an arrayrkú Feature #z of field `rnroú Feature `z ` of field `ú9` is not defined in field `project.optional-dependencies`)r6r<r:r;rurwrxryrzr{r|rr8ÚmetadataÚcoreÚoptional_dependencies) r7Úfeatures_configÚfeatures_locationÚrequire_runtime_featuresr‡Ú all_featuresrˆÚ raw_featureÚfeatures r=rÂz&BuilderConfig.require_runtime_features{ss€à × *Ñ *Ñ 2Ø)¨T×-?Ñ-?Ñ?Ø"&×"4Ñ"4�Ø&?À×@PÑ@PÐ?QÐQjÐ$kÑ!à"&×"3Ñ"3�Ø$OÐ!à'6×':Ñ':Ð;UÐWYÓ'ZÐ $ÜÐ6¼Ô=Ø#Ð$5Ð#6Ð6HÐI�Ü Ó(Ð(à,.ˆLÜ"+Ð,DÀaÖ"H‘��;Ü! +¬sÔ3Ø )¨!¨¨KÐ8IÐ7JÐJ\Ð]�GÜ# GÓ,Ð,á"Ø )¨!¨¨KÐ8IÐ7JÐJeÐf�GÜ$ WÓ-Ð-ä0°Ó=�Ø $§,¡,×"7Ñ"7×"<Ñ"<×"RÑ"RÑRà# G 9¨LÐ9JÐ8KðL@ðAðô% WÓ-Ð-à(,� ˜WÒ%ð##Iô&/3°<Ó.@ˆDÔ +à×.Ñ.Ð.r?cóB—|j€ˆd|jvr:|jd}t|t«sTd|j›d�}t |«‚|j jdd«}t|t«s d}t |«‚||_|jS)zx Whether or not the target should ignore non-artifact files that do not reside within a Python package. z only-packagesržz!.only-packages` must be a booleanFz8Field `tool.hatch.build.only-packages` must be a boolean)r1r<rwr²r:ryr;ru)r7rLr‡s r=rLzBuilderConfig.only_packages¢sŸ€ð × Ñ Ð 'Ø $×"4Ñ"4Ñ4Ø $× 2Ñ 2°?Ñ C� Ü! -´Ô6Ø @À×AQÑAQÐ@RÐRsÐt�GÜ# GÓ,Ð,à $× 1Ñ 1× 5Ñ 5°oÀuÓ M� Ü! -´Ô6ØX�GÜ# GÓ,Ð,à#0ˆDÔ à×#Ñ#Ð#r?cóB—|j€ˆd|jvr:|jd}t|t«sTd|j›d�}t |«‚|j jdd«}t|t«s d}t |«‚||_|jS)zi Whether or not the target should be built in a reproducible manner, defaulting to true. Ú reproducibleržz .reproducible` must be a booleanTz7Field `tool.hatch.build.reproducible` must be a boolean)r2r<rwr²r:ryr;ru)r7rÈr‡s r=rÈzBuilderConfig.reproducible·sŸ€ð × Ñ Ð &Ø ×!3Ñ!3Ñ3Ø#×1Ñ1°.ÑA� Ü! ,´Ô5Ø @À×AQÑAQÐ@RÐRrÐs�GÜ# GÓ,Ð,à#×0Ñ0×4Ñ4°^ÀTÓJ� Ü! ,´Ô5ØW�GÜ# GÓ,Ð,à".ˆDÔ à×"Ñ"Ð"r?cóÚ—|j€Ôd|jvr|j}d|j›d�}n|j}d}g}|j dg«}t |t «sd|›d�}t|«‚t|d«D]P\}}t |t«sd|›d |›d �}t|«‚|sd|›d |›d �}t|«‚|j|«ŒR||_|jS) zŒ Directories which must be added to Python's search path in [dev mode](../config/environment/overview.md#dev-mode). z dev-mode-dirsrhz.dev-mode-dirsztool.hatch.build.dev-mode-dirsrirjrkz Directory #rmrnro) r3r<r:r;rurwrxryrzr{r|r})r7Údev_mode_dirs_configÚdev_mode_dirs_locationÚall_dev_mode_dirsÚ dev_mode_dirsr‡rˆÚ dev_mode_dirs r=rÍzBuilderConfig.dev_mode_dirsÌs€ð × Ñ Ð 'Ø $×"4Ñ"4Ñ4Ø'+×'9Ñ'9Ð$Ø+DÀT×EUÑEUÐDVÐVdÐ)eÑ&à'+×'8Ñ'8Ð$Ø)IÐ&à "Ð à0×4Ñ4°_ÀbÓIˆMܘm¬TÔ2Ø#Ð$:Ð#;Ð;XÐY�Ü Ó(Ð(ä#,¨]¸AÖ#>‘��<Ü! ,´Ô4Ø +¨A¨3¨kÐ:PÐ9QÐQcÐd�GÜ# GÓ,Ð,á#Ø +¨A¨3¨kÐ:PÐ9QÐQlÐm�GÜ$ WÓ-Ð-à!×(Ñ(¨Õ6ð$?ð$5ˆDÔ à×#Ñ#Ð#r?cóB—|j€ˆd|jvr:|jd}t|t«sTd|j›d�}t |«‚|j jdd«}t|t«s d}t |«‚||_|jS)Nzdev-mode-exactržz".dev-mode-exact` must be a booleanFz9Field `tool.hatch.build.dev-mode-exact` must be a boolean)r4r<rwr²r:ryr;ru)r7Údev_mode_exactr‡s r=rÐzBuilderConfig.dev_mode_exactðsŸ€à × Ñ Ð (Ø 4×#5Ñ#5Ñ5Ø!%×!3Ñ!3Ð4DÑ!E�Ü! .´$Ô7Ø @À×AQÑAQÐ@RÐRtÐu�GÜ# GÓ,Ð,à!%×!2Ñ!2×!6Ñ!6Ð7GÈÓ!O�Ü! .´$Ô7ØY�GÜ# GÓ,Ð,à$2ˆDÔ !à×$Ñ$Ð$r?c óî—|j�€]i}|jjdg«}t|t«sd|j ›d�}t |«‚t|d«D]X\}}t|t«sd|›d|j ›d�}t |«‚|sd|›d|j ›d�}t|«‚d||<ŒZ|s'|jj«}|D]}d||<Œ ntt|«t|jj««z }|rCd |j ›d d jttt!|«««›�}t|«‚t |«|_|jS) NÚversionsržz&.versions` must be an array of stringsrkz Version #z$ in field `tool.hatch.build.targets.z.versions` must be a stringz$.versions` cannot be an empty stringz4Unknown versions in field `tool.hatch.build.targets.z .versions`: z, )rr<rurwrxr:ryrzr{r|rÚget_default_versionsr,Úget_version_apiraÚmapÚsorted)r7Ú all_versionsrÒr‡rˆÚversionÚdefault_versionsÚunknown_versionss r=rÒzBuilderConfig.versionss�€à �?‰?Ñ "à,.ˆLà×)Ñ)×-Ñ-¨j¸"Ó=ˆHܘh¬Ô-Ø<¸T×=MÑ=MС>×#FÑ#FÓ#HÐ Û/�GØ,0�L Ò)ñ 0ô$' |Ó#4´s¸4¿>¹>×;YÑ;YÓ;[Ó7\Ñ#\Ð Ù#àNÈt×O_ÑO_ÐN`Ð`lØŸ9™9¤S¬¬fÐ5EÓ.FÓ%GÓHÐIðKðô% WÓ-Ð-ä" <Ó0ˆDŒOà�‰Ðr?cóÔ—|j�€Ki}|jjdg«}t|t«sd|j ›d�}t |«‚t|d«D]8\}}t|t«sd|›d|j ›d�}t |«‚d||<Œ:|jjdg«}t|t«s d}t |«‚t|d«D]+\}}t|t«sd|›d �}t |«‚d||<Œ-|j}|jD�cic]}|d“Œ} }|jj«D�]~\} } | jd d «} t| t«sd | ›d �}t |«‚| rd}| jdg«} t| t«sd| ›d�}t |«‚t| d«D]�\}}t|t«sd|›d| ›d�}t |«‚|sd|›d| ›d�}t|«‚t!|«}||j"j$j&j(vrd|›d| ›d�}t|«‚d| |<Œ‘| jdg«}t|t«sd| ›d�}t |«‚t|d«D].\}}t|t«sd|›d| ›d�}t |«‚d||<Œ0�Œ�|r4|j"j$j&j*D]}d||<Œ | r>| D]9}|j"j$j&j(|D]}d||<Œ Œ;t |«|_|jScc}w)NÚ dependenciesržz.dependencies` must be an arrayrkz Dependency #z$ of field `tool.hatch.build.targets.z.dependencies` must be a stringz6Field `tool.hatch.build.dependencies` must be an arrayz: of field `tool.hatch.build.dependencies` must be a stringrµFz5Option `require-runtime-dependencies` of build hook `z` must be a booleanTr¸z1Option `require-runtime-features` of build hook `r¹rºz5 of option `require-runtime-features` of build hook `rnror»z6` of option `require-runtime-features` of build hook `r¼z%Option `dependencies` of build hook `z) of option `dependencies` of build hook `)rr<rurwrxr:ryrzr{r;r¶rÂr§r r²r|rr8r½r¾r¿rÜ)r7rÜÚtarget_dependenciesr‡rˆÚ dependencyÚglobal_dependenciesr¶rÅrÂr©rªÚ!hook_require_runtime_dependenciesÚhook_require_runtime_featuresrÄÚhook_dependenciess r=rÜzBuilderConfig.dependencies.sù€à × Ñ Ñ &à,.ˆLà"&×"4Ñ"4×"8Ñ"8¸ÈÓ"LÐ ÜÐ1´4Ô8Ø<¸T×=MÑ=MÐÀÖ!B‘ ��:Ü! *¬cÔ2à& q cÐ)MÈd×N^ÑN^ÐM_ð`+ð,ðô$ GÓ,Ð,à+/� ˜ZÒ(ð"Cð#'×"3Ñ"3×"7Ñ"7¸ÈÓ"KÐ ÜÐ1´4Ô8ØR�Ü Ó(Ð(ä!*Ð+>ÀÖ!B‘ ��:Ü! *¬cÔ2Ø ,¨Q¨CÐ/iÐj�GÜ# GÓ,Ð,à+/� ˜ZÒ(ð "Cð,0×+LÑ+LÐ (ØEI×EbÒEbÓ'cÑEb¸'¨°© ÐEbÐ $Ð'cØ%)×%5Ñ%5×%;Ñ%;×%=Ñ!� ˜6Ø4:·J±JÐ?]Ð_dÓ4eÐ1Ü!Ð"CÄTÔJØ UÐV_ÐU`Ð`sÐt�GÜ# GÓ,Ð,á4Ø37Ð0à06· ± Ð;UÐWYÓ0ZÐ-Ü!Ð"?ÄÔFØ QÐR[ÐQ\Ð\nÐo�GÜ# GÓ,Ð,ä&/Ð0MÈqÖ&Q‘N�A�{Ü% k´3Ô7à'¨ sÐ*_Ð`iÐ_jðk/ð0ð ô(¨Ó0Ð0á&à'¨ sÐ*_Ð`iÐ_jðk8ð9ð ô)¨Ó1Ð1ä4°[ÓA�GØ d§l¡l×&;Ñ&;×&@Ñ&@×&VÑ&VÑVà'¨ yÐ0fÐgpÐfqðrVðWð ô)¨Ó1Ð1à8<Ð,¨WÒ5ð/'Rð2%+§J¡J¨~¸rÓ$BÐ!Ü!Ð"3´TÔ:Ø EÀiÀ[ÐPbÐc�GÜ# GÓ,Ð,ä%.Ð/@À!Ö%D‘M�A�zÜ% j´#Ô6à*¨1¨#Ð-VÐW`ÐVaÐasÐtð ô(¨Ó0Ð0à/3�L Ò,ò&EðY&>ñj,Ø"&§,¡,×"7Ñ"7×"<Ñ"<×"IÔ"I�JØ/3�L Ò,ð#Jñ(Û7�GØ&*§l¡l×&;Ñ&;×&@Ñ&@×&VÑ&VÐW^Ô&_˜ Ø37˜  ZÒ0ñ'`ð 8ô#' |Ó"4ˆDÔ à×"Ñ"Ð"ùòC(dsÄ+ M%cóÆ—|j�€Éd|jvr|j}d|j›d�}n|j}d}i}|j dg«}t |t «r]t|d«D]M\}}t |t«sd|›d|›d�}t|«‚|sd|›d|›d �}t|«‚d |t|«<ŒOn–t |t«ru|j«D]a\}}t |t«sd |›d |›d�}t|«‚t|«} | d k(rd } n| tj z } | ||r t|«n|<Œcnd|›d�}t|«‚|j"D]C} tj$j'| «\}} |sŒ(t| «|vsŒ6d |t|«<ŒEtt)|j«««|_|jS)NÚsourcesrhz.sourcesztool.hatch.build.sourcesrkúSource #rmrnroÚúPath for source `ú ` in field `Ú.riz'` must be a mapping or array of strings)rr<r:r;rurwrxrzr{ryr|r rŸr rr_rrrr`ÚsplitrÖ) r7Úsources_configÚsources_locationräÚ raw_sourcesrˆÚsourcer‡r`Únormalized_pathrOÚ_packages r=räzBuilderConfig.sources“sô€à �>‰>Ñ !ؘD×.Ñ.Ñ.Ø!%×!3Ñ!3�Ø%>¸t×?OÑ?OÐ>PÐPXÐ#YÑ à!%×!2Ñ!2�Ø#=Ð àˆGà(×,Ñ,¨Y¸Ó;ˆKܘ+¤tÔ,Ü!*¨;¸Ö!:‘I�A�vÜ% f¬cÔ2Ø$,¨Q¨C¨{Ð;KÐ:LÐL^Ð"_˜Ü'¨Ó0Ð0á!Ø$,¨Q¨C¨{Ð;KÐ:LÐLgÐ"h˜Ü(¨Ó1Ð1àDF�GÔ8¸Ó@ÒAñ";ô˜K¬Ô.Ø$/×$5Ñ$5Ö$7‘L�F˜DÜ% d¬CÔ0Ø$5°f°X¸\ÐJZÐI[Ð[mÐ"n˜Ü'¨Ó0Ð0ä&=¸dÓ&C�OØ&¨#Ò-Ø*,™à'¬2¯6©6Ñ1˜àZi�GÁFÔ8¸Ô@ÐPVÒWñ%8ð$Ð$4Ð#5Ð5\Ð]�Ü Ó(Ð(à!%§¤� Ü#%§7¡7§=¡=°Ó#?Ñ �˜ÚÔ:¸=ÓIÐQXÒXØDF�GÔ8¸Ó@ÒAð"/ô "¤&¨¯©«Ó"9Ó:ˆDŒNà�~‰~Ðr?cóð—|j€ßd|jvr|j}d|j›d�}n|j}d}|j d|j ««}t |t«sd|›d�}t|«‚t|d«D]?\}}t |t«sd|›d |›d �}t|«‚|rŒ-d|›d |›d �}t|«‚td „|D««|_|jS) Nrrhz .packagesztool.hatch.build.packagesrirjrkz Package #rmrnroc3ó2K—|]}t|«–—Œy­wrA)r)rsÚpackages r=rtz)BuilderConfig.packages..Ýsèø€Ð$^ÑU]È'Ô%<¸W×%EÑU]ùs‚) rr<r:r;ruÚdefault_packagesrwrxryrzr{r|rÖ)r7Úpackage_configÚpackage_locationrr‡rˆrós r=rzBuilderConfig.packagesÅs€à �?‰?Ð "ؘT×/Ñ/Ñ/Ø!%×!3Ñ!3�Ø%>¸t×?OÑ?OÐ>PÐPYÐ#ZÑ à!%×!2Ñ!2�Ø#>Ð à%×)Ñ)¨*°d×6KÑ6KÓ6MÓNˆHܘh¬Ô-Ø#Ð$4Ð#5Ð5RÐS�Ü Ó(Ð(ä'¨°!Ö4‘ ��7Ü! '¬3Ô/Ø )¨!¨¨KÐ8HÐ7IÐI[Ð\�GÜ# GÓ,Ð,âØ )¨!¨¨KÐ8HÐ7IÐIdÐe�GÜ$ WÓ-Ð-ð5ô%Ñ$^ÑU]Ó$^Ó^ˆDŒOà�‰Ðr?có*—|j€üd|jvr|j}d|j›d�}n|j}d}|j di«}t |t «sd|›d�}t|«‚t|j«d«D]X\}\}}|sd|›d |›d �}t|«‚t |t«sd |›d |›d �}t|«‚|rŒFd |›d |›d �}t|«‚t||j«|_|jS)Nz force-includerhz.force-includeztool.hatch.build.force-includeriz` must be a mappingrkrårmrorçrèrn)r!r<r:r;rurwrŸryrzr r|r{r r9)r7Úforce_include_configÚforce_include_locationÚ force_includer‡rˆrîrOs r=rúzBuilderConfig.force_includeásJ€à × Ñ Ð 'Ø $×"4Ñ"4Ñ4Ø'+×'9Ñ'9Ð$Ø+DÀT×EUÑEUÐDVÐVdÐ)eÑ&à'+×'8Ñ'8Ð$Ø)IÐ&à0×4Ñ4°_ÀbÓIˆMܘm¬TÔ2Ø#Ð$:Ð#;Ð;NÐO�Ü Ó(Ð(ä.7¸ ×8KÑ8KÓ8MÈqÖ.QÑ*�Ñ*�F˜MÙØ (¨¨¨;Ð7MÐ6NÐNiÐj�GÜ$ WÓ-Ð-ä! -´Ô5Ø 1°&°¸ÐF\ÐE]Ð]oÐp�GÜ# GÓ,Ð,â$à+¨F¨8°<Ð@VÐ?WÐWrÐsðô% WÓ-Ð-ð/Rô$;¸=È$Ï)É)Ó#TˆDÔ à×#Ñ#Ð#r?cóŽ—|j�€-d|jvr|j}d|j›d�}n|j}d}|j d|j ««xs |j }t|t«sd|›d�}t|«‚i}t|d«D]y\}}t|t«sd|›d |›d �}t|«‚t|«}|r|jd «rd|›d |›d |›�}t|«‚||vrd |›d|›�}t|«‚|||<Œ{t||j «|_|jS)Nz only-includerhz .only-includeztool.hatch.build.only-includerir¹rkzPath #rmrn)Ú~z..z` must be relative: zDuplicate path in field `z`: )r r<r:r;ruÚdefault_only_includerrwrxryrzr{rÚ startswithr|r r9) r7Úonly_include_configÚonly_include_locationÚ only_includer‡Ú inclusion_maprˆrOrïs r=rzBuilderConfig.only_includes|€à × Ñ Ñ &Ø ×!3Ñ!3Ñ3Ø&*×&8Ñ&8Ð#Ø*CÀD×DTÑDTÐCUÐUbÐ(cÑ%à&*×&7Ñ&7Ð#Ø(GÐ%à.×2Ñ2°>À4×C\ÑC\ÓC^Ó_ÒpÐcg×cpÑcpˆLܘl¬DÔ1Ø#Ð$9Ð#:Ð:LÐM�Ü Ó(Ð(àˆMä$-¨l¸AÖ$>Ñ ��=Ü! -´Ô5Ø & q c¨Ð5JÐ4KÐK]Ð^�GÜ# GÓ,Ð,ä"9¸-Ó"H�Ù&¨/×*DÑ*DÀ[Ô*QØ & q c¨Ð5JÐ4KÐK_Ð`mÐ_nÐo�GÜ$ WÓ-Ð-à" mÑ3Ø 9Ð:OÐ9PÐPSÐTcÐSdÐe�GÜ$ WÓ-Ð-à1@� ˜oÒ.ð%?ô #:¸-ÈÏÉÓ"SˆDÔ à×"Ñ"Ð"r?có¨—|jj«D]4\}}|s||zcS|j|«sŒ!|j||d«cS|S)Nrk)rär rþrq)r7rOrîÚ replacements r=Úget_distribution_pathz#BuilderConfig.get_distribution_path(sW€à#'§<¡<×#5Ñ#5Ö#7Ñ ˆF�KÙØ" ]Ñ2Ò2à×'Ñ'¨Õ/Ø$×,Ñ,¨V°[À!ÓDÒDð $8ðÐr?cóú—|j€dggdœ}t|jd«}|�|dj|«t|jd«}|�|dj|«||_|jS)N)ÚgitÚhgz .gitignorerz .hgignorer)r"rr9r})r7Úexclusion_filesÚlocal_gitignoreÚlocal_hgignores r=Úvcs_exclusion_filesz!BuilderConfig.vcs_exclusion_files3s~€à × %Ñ %Ð -Ø<>ÀbÑ4IˆOä)¨$¯)©)°\ÓBˆOØÐ*Ø Ñ&×-Ñ-¨oÔ>ä(¨¯©°KÓ@ˆNØÐ)Ø Ñ%×,Ñ,¨^Ô<à)8ˆDÔ &à×)Ñ)Ð)r?có´—g}|jdD]7}t|d¬«5}|j|j««ddd«Œ9|jdD]b}t|d¬«5}d}|D]B}|j «}|dk(rd}Œ|j d«rd}Œ/|sŒ2|j |«ŒD ddd«Œd|S#1swYŒ¹xYw#1swYŒ|xYw) Nrzutf-8)ÚencodingrFz syntax: globTzsyntax: )r Úopenr~Ú readlinesÚstriprþr})r7ÚpatternsÚexclusion_fileÚfÚ glob_modeÚlineÚ exact_lines r=r�z)BuilderConfig.load_vcs_exclusion_patternsDs׀؈ð#×6Ñ6°uÔ=ˆNÜ�n¨wÕ7¸1Ø—‘ § ¡ £ Ô.÷8Ð7ð>ð #×6Ñ6°tÔ<ˆNÜ�n¨wÕ7¸1Ø!� Û�DØ!%§¡£�JØ! ^Ò3Ø$(˜ Ø à!×,Ñ,¨ZÔ8Ø$)˜ Ø â Ø Ÿ™¨Õ-ñ÷8Ð7ð=ð ˆ÷)8Ð7ú÷ 8Ð7ús¢ CÁ+6CÂ"CÃC ÃC cóÒ—tjj|«s*tjj|j|«}tjj |«SrA)r_r`Úisabsrar9Únormpath)r7Úbuild_directorys r=r°z'BuilderConfig.normalize_build_directory_s?€Ü�w‰w�}‰}˜_Ô-Ü Ÿg™gŸl™l¨4¯9©9°oÓFˆOä�w‰w×Ñ Ó0Ð0r?có—gSrA©rBs r=rvzBuilderConfig.default_includeeó€Øˆ r?có—gSrArrBs r=r�zBuilderConfig.default_excludehrr?có—gSrArrBs r=rôzBuilderConfig.default_packageskrr?có—gSrArrBs r=rýz"BuilderConfig.default_only_includenrr?có<—ddt›�g}|j«|S)Nz *.py[cdo]r^)r Úsort)r7rs r=rŒz$BuilderConfig.default_global_excludeqs#€Ø 1Ô%<Ð$=Ð!>Ð?ˆØ� ‰ ŒØˆr?có—d|_yrR)r)rBs r=Úset_exclude_allzBuilderConfig.set_exclude_allvs €Ø!ˆÕr?cóp—|jj«}|j|j«|SrA)rúÚcopyÚupdater+)r7rús r=Úget_force_includezBuilderConfig.get_force_includeys0€Ø×*Ñ*×/Ñ/Ó1ˆ Ø×јT×5Ñ5Ô6ØÐr?c #óÄK— |d}|r$tjj|«|_|jj t |d|j««|j|jfD]ä}|j«D]Ï\}}|j|j›tj›�«rS|jj|jtj j#||j«««Œ†tj j%|«sŒ¦|jj|j|««ŒÑŒæd–—d|_|jj'«|jj'«y#d|_|jj'«|jj'«wxYw­w)Nr–rú)r€r�r‚r*r+r(r r9rúr rþr_rrr-Úaddrr`ÚrelpathÚisfileÚclear)r7Ú build_dataÚbuild_artifactsrrîÚtargets r=Úset_build_datazBuilderConfig.set_build_data~szèø€ð .à(¨Ñ5ˆOÙÜ+3×+AÑ+A×+LÑ+LÈ_Ó+]�Ô(à × $Ñ $× +Ñ +Ô,CÀJÈÑD_Ðae×ajÑajÓ,kÔ là"&×"4Ñ"4°d×6NÑ6NÓ!O� Ø&3×&9Ñ&9Ö&;‘N�F˜Fð×(Ñ(¨D¯I©I¨;´r·v±v°hÐ)?Ô@Ø×1Ñ1×5Ñ5°d×6PÑ6PÔQS×QXÑQX×Q`ÑQ`ÐagÐim×irÑirÓQsÓ6tÕuôŸ™Ÿ™¨Õ/Ø×1Ñ1×5Ñ5°d×6PÑ6PÐQWÓ6XÕYñ'<ð"Pó à'+ˆDÔ $Ø × $Ñ $× *Ñ *Ô ,Ø × %Ñ %× +Ñ +Õ -øð(,ˆDÔ $Ø × $Ñ $× *Ñ *Ô ,Ø × %Ñ %× +Ñ +Õ -üs#‚G „D-F Ä22F Å$Úpropertyr8r9r:r;r<rPrNrMrKrJr\rerSrWrYr§r¯rbrŽr¶rÂrLrÈrÍrÐrÒrÜrärrúrrr r�r°rvr�rôrýrŒr%r)rr2rr?r=rrs¾„ð2Aà!ð2Aðð2Aðð 2Að %ð 2Að &ð 2Að ó2Aðhòóððòóððò"óð"ðò#óð#ðò$óð$ðDIÐ]aõ  ó;ó ;ó<ó Bó :ó  ðò$#óð$#ðLò##óð##ðJò $óð $ðDò,"óð,"ð\ò óð ð"ò)óð)ð&ò!óð!ð"ò3óð3ð(ò$/óð$/ðLò$óð$ð(ò#óð#ð(ò!$óð!$ðFò%óð%ð"ò)óð)ðVòb#óðb#ðHò/óð/ðbòóðð6ò$óð$ðBò"#óð"#óH ðò*óð*ó ó61ó óóóóó "óð ò.óñ.r?rF)ÚdefaultcóT—|tjvrtj|dvS|S)N>Ú1Útrue)r_Úenviron)Úenv_varr:s r=r¢r¢›s'€Ø”"—*‘*ÑÜ�z‰z˜'Ñ" mÐ3Ð3à €Nr?ÚBuilderConfigBound)Úbound)r?r{r:r²r4r²)Ú __future__rr_Ú contextlibrÚtypingrrrrr€Úhatchling.builders.constantsr r r Úhatchling.builders.utilsr r rÚhatchling.metadata.utilsrÚhatchling.utils.fsrÚ#hatchling.builders.plugin.interfacerrr¢r@rr?r=ÚrJsVðÝ"ã Ý%ß9Ó9ãçdÑdßsÑsÝ;Ý*áÝD÷F.ñF.ðR6;õñÐ1¸ÔGÑr?