Ë
    ›¾ja  ã                   óô   — d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
mZmZmZmZmZ d dlmZ dee
   deeef   dee   fd„Z G d	„ d
e
«      Z G d„ de
«      Z G d„ de
«      Z G d„ de
«      Z G d„ de
«      Zy)é    )Údefaultdict)ÚAnyÚDictÚListÚOptionalÚTypeÚUnion)Ú	BaseModelÚ
ConfigDictÚFieldÚ	StrictStrÚValidationErrorÚmodel_validator)ÚmsgÚschemaÚobjÚreturnc                 óÐ  — 	  | di |¤Ž g S # t         $ rÐ}|j                  «       }t        t        «      }|D ]c  }dj	                  |j                  dg «      D �cg c]  }t        |«      ‘Œ nc c}w c}«      }||   j                  |j                  d«      «       Œe |j                  «       D ��	cg c]  \  }}	d|› ddj	                  |	«      › �‘Œ nc c}	}w c}	}cY d}~S d}~ww xY w)	zôValidate data against a given pydantic schema.

    obj (Dict[str, Any]): JSON-serializable data to validate.
    schema (pydantic.BaseModel): The schema to validate against.
    RETURNS (List[str]): A list of error messages, if available.
    z -> Úlocr   ú[z] z, N© )	r   Úerrorsr   ÚlistÚjoinÚgetÚstrÚappendÚitems)
r   r   Úer   ÚdataÚerrorÚpÚerr_locr   r   s
             úX/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/weasel/schemas.pyÚvalidater%      sÉ   € ð	JÙ‰�ŠØˆ	øÜò JØ—‘“ˆÜœ4Ó ˆØò 	3ˆEØ—k‘k°5·9±9¸UÀBÓ3GÖ"H¨a¤3 q¥6Ñ"HùÔ"HÓIˆGØ�‰M× Ñ  §¡¨5Ó!1Õ2ð	3ð =A¿J¹J»L×I±°°S�!�C�5˜˜4Ÿ9™9 S›>Ð*Ò+ÑIùÖIÕIûðJús4   ‚	 Œ	C%•AC ÁA+Á*AC Â/!CÃ
C ÃC%Ã C%c                   óh   — e Zd ZU  edd¬«      Zeed<    edd¬«      Zeed<    edd¬«      Zeed	<   y
)ÚProjectConfigAssetGitItem.z URL of Git repo to download from©ÚtitleÚrepozAFile path or sub-directory to download (used for sparse checkout)ÚpathÚmasterzBranch to clone fromÚbranchN)	Ú__name__Ú
__module__Ú__qualname__r   r*   r   Ú__annotations__r+   r-   r   ó    r$   r'   r'      s8   … á˜CÐ'IÔJ€Dˆ)ÓJÙ˜CÐ'jÔk€Dˆ)ÓkÙ˜hÐ.DÔE€FˆIÔEr2   r'   c                   ó”   — e Zd ZU  edd¬«      Zeed<    edd¬«      Zee   ed<    eddd	¬
«      Z	ee
   ed<    edd¬«      Zeed<   y)ÚProjectConfigAssetURL.zDestination of downloaded assetr(   ÚdestNzURL of assetÚurlúMD5 hash of fileú([a-fA-F\d]{32})©r)   ÚpatternÚchecksumÚ úDescription of assetÚdescription)r.   r/   r0   r   r5   r   r1   r6   r   r;   r   r>   r   r2   r$   r4   r4   &   sU   … á˜CÐ'HÔI€Dˆ)ÓIÙ$ T°Ô@€Cˆ�)Ñ	Ó@Ù# DÐ0BÐL_Ô`€Hˆh�s‰mÓ`Ù" 2Ð-CÔD€K�ÔDr2   r4   c                   óv   — e Zd ZU  edd¬«      Zeed<    eddd¬«      Zee	   ed	<    edd
¬«      Z
ee   ed<   y)ÚProjectConfigAssetGit.zGit repo informationr(   ÚgitNr7   r8   r9   r;   r=   r>   )r.   r/   r0   r   rA   r'   r1   r;   r   r   r>   r   r   r2   r$   r@   r@   /   sE   … á%*¨3Ð6LÔ%M€CÐ	"ÓMÙ# DÐ0BÐL_Ô`€Hˆh�s‰mÓ`Ù',¨TÐ9OÔ'P€K�˜)Ñ$ÔPr2   r@   c                   ó  — e Zd ZU  edd¬«      Zeed<    edd¬«      Zee   ed<    eg d¬«      Z	e
e   ed	<    eg d
¬«      Ze
e   ed<    eg d¬«      Ze
e   ed<    eg d¬«      Ze
e   ed<    edd¬«      Zeed<    edd¬«      Zy)ÚProjectConfigCommand.zName of commandr(   ÚnameNzCommand descriptionÚhelpz%List of CLI commands to run, in orderÚscriptz*File dependencies required by this commandÚdepsz Outputs produced by this commandÚoutputsz%Outputs not tracked by DVC (DVC only)Úoutputs_no_cacheFz0Never skip this command, even if nothing changedÚno_skipz4A single named command specified in a project configÚforbid)r)   Úextra)r.   r/   r0   r   rD   r   r1   rE   r   rF   r   rG   rH   rI   rJ   Úboolr   Úmodel_configr   r2   r$   rC   rC   7   s¨   … á˜CÐ'8Ô9€Dˆ)Ó9Ù % dÐ2GÔ H€Dˆ(�9Ñ
ÓHÙ# BÐ.UÔV€FˆD�‰OÓVÙ! "Ð,XÔY€Dˆ$ˆy‰/ÓYÙ$ RÐ/QÔR€GˆT�)‰_ÓRÙ(-¨bÐ8_Ô(`Ð�d˜9‘oÓ`Ù˜%Ð'YÔZ€GˆTÓZñ ØDØô�Lr2   rC   c                   óZ  — e Zd ZU  ei d¬«      Zeeef   ed<    ei d¬«      Z	eeef   ed<    eg d¬«      Z
eeeef      ed<    ei d¬«      Zeeee   f   ed	<    eg d
¬«      Zee   ed<    edd¬«      Zee   ed<    ed¬«      Z ed¬«      edeeef   deeef   fd„«       «       Zy)ÚProjectConfigSchemaz,Optional variables to substitute in commandsr(   ÚvarszWOptional variable names to substitute in commands, mapped to environment variable namesÚenvzData assetsÚassetszCNamed workflows, mapped to list of project commands to run in orderÚ	workflowszProject command shortuctsÚcommandsNzProject titler)   z%Schema for project configuration fileÚbefore)Úmoder   r   c                 ój   — d|v rt        j                  d«       d|v rt        j                  d«       |S )NÚspacy_versionzˆYour project configuration file includes a `spacy_version` key, which is now deprecated. Weasel will not validate your version of spaCy.Úcheck_requirementsz‰Your project configuration file includes a `check_requirements` key, which is now deprecated. Weasel will not validate your requirements.)r   Úwarn)Úclsr   s     r$   Úcheck_legacy_keysz%ProjectConfigSchema.check_legacy_keysT   sA   € ð ˜cÑ!Ü�H‰Hð[ôð   3Ñ&Ü�H‰HðWôð ˆ
r2   )r.   r/   r0   r   rQ   r   r   r   r1   rR   rS   r   r	   r4   r@   rT   rU   rC   r)   r   r   r   rN   r   Úclassmethodr]   r   r2   r$   rP   rP   H   s  … á!& rÐ1_Ô!`€Dˆ$ˆy˜#ˆ~Ñ
Ó`Ù % bð  1Jô  !K€Cˆˆi˜ˆnÑ	ó  KÙHMÈbÐXeÔHf€FˆD�Ð,Ð.CÐCÑDÑEÓfÙ27¸ð  CHô  3I€Iˆt�I˜t I™Ð.Ñ/ó  IÙ+0°Ð;VÔ+W€HˆdÐ'Ñ(ÓWÙ  ¨_Ô=€Eˆ8�C‰=Ó=ñ Ð$KÔL€Lá˜(Ô#Øð D¨¨c¨¡Nð °t¸CÀ¸H±~ò ó ó $ñr2   rP   N)Úcollectionsr   Útypingr   r   r   r   r   r	   Úpydanticr
   r   r   r   r   r   Úwasabir   r   r%   r'   r4   r@   rC   rP   r   r2   r$   ú<module>rc      s‡   ðÝ #ß 9× 9ç ^× ^Ý ðJ�T˜)‘_ð J¨4°°S°©>ð J¸dÀ3¹ió Jô,F 	ô FôE˜Iô EôQ˜Iô Qô˜9ô ô"˜)õ r2   