Ë
    sPêjØ  ã                   ó°  — U g d ¢Z ddlmZ ddlmZ ddlmZ 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 erdd	lmZ dd
lmZ ddlmZmZmZmZmZ  ddl!m"Z"m#Z#m$Z$ dZ%ee&ee'f      e(d<   	 ddl)m*Z* ddl+m,Z, ddl-m.Z. erddl/m$Z0 ddl1m2Z3  G d„ de$«      Z5 G d„ de"e«      Z6 G d„ de6e"e#«      Z7 G d„ de6e"e#«      Z8y# e'$ rZ4 ed«      e4fZ%Y dZ4[4ŒFdZ4[4ww xY w))ÚJsonValidatorÚJsonStrictValidatorÚJsonValidationErroré    )ÚABC)ÚIterable)Úchain)Úloads)ÚTYPE_CHECKINGÚAnyÚLiteralÚOptionalÚUnionÚoverloadé   )ÚOutputFormat)ÚSchemaVersion)Ú"MissingOptionalDependencyException)ÚBOM_JSONÚBOM_JSON_STRICTÚCRYPTOGRAPHY_DEFSÚJSFÚ	SPDX_JSONé   )ÚBaseSchemabasedValidatorÚSchemabasedValidatorÚValidationErrorNÚ_missing_deps_error)ÚDraft7Validator)ÚRegistry)ÚDRAFT7)r   )Ú	Validatorz{This functionality requires optional dependencies.
Please install `cyclonedx-python-lib` with the extra "json-validation".
c                   ó   — e Zd Zedd„«       Zy)r   c                 ó   —  | |«      S )ue   âš ï¸� This is an internal API. It is not part of the public interface and may change without notice.© )ÚclsÚes     ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/cyclonedx/validation/json.pyÚ_make_from_jsvez#JsonValidationError._make_from_jsve;   s   € ñ �1‹vˆó    N)r&   ÚJsonSchemaValidationErrorÚreturnr   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr(   r$   r)   r'   r   r   :   s   „ Øòó ñr)   r   c                   óˆ  ‡ — e Zd ZU edeej                     fd„«       Zdˆ fd„Ze	ddœde
ded	   dee   fd
„«       Ze	de
ded   deee      fd„«       Zd	dœde
dededeee   f   fd„ZereZd	dœde
dededeee   f   fd„Zˆ xZS d	dœde
dededeee   f   fd„ZdZed   ed<   edd„«       Zedee   fd„«       Zˆ xZS )Ú_BaseJsonValidatorr+   c                 ó"   — t         j                  S ©N)r   ÚJSON©Úselfs    r'   Úoutput_formatz _BaseJsonValidator.output_formatC   s   € ä× Ñ Ð r)   Nc                 ó$   •— t         ‰| �  |«       y r3   )ÚsuperÚ__init__)r6   Úschema_versionÚ	__class__s     €r'   r:   z_BaseJsonValidator.__init__G   s   ø€ ä‰Ñ˜Õ(r)   .)Ú
all_errorsÚdatar=   Fc                 ó   — y r3   r$   ©r6   r>   r=   s      r'   Úvalidate_strz_BaseJsonValidator.validate_strM   ó   € àr)   Tc                 ó   — y r3   r$   r@   s      r'   rA   z_BaseJsonValidator.validate_strQ   rB   r)   c                 ó   — y r3   r$   r@   s      r'   rA   z_BaseJsonValidator.validate_strU   s   € ð 	r)   c                ó<   — | j                   d   | j                   d   ‚)Nr   r   )Ú_BaseJsonValidator__MDERRORr@   s      r'   rA   z_BaseJsonValidator.validate_str_   s   € ð —.‘. Ñ#¨¯©¸Ñ):Ð:r)   c                óì   — | j                   }t        |«      }|j                  |«      }t        |d «      }|€y t        j                  |«      }|r%t        |ft        t        j
                  |«      «      S |S r3   )Ú
_validatorÚ
json_loadsÚiter_errorsÚnextr   r(   r   Úmap)r6   r>   r=   Ú	validatorÚ	structureÚerrorsÚfirst_errors          r'   rA   z_BaseJsonValidator.validate_strf   sy   € ð Ÿ™ˆIÜ" 4Ó(ˆIØ×*Ñ*¨9Ó5ˆFÜ˜v tÓ,ˆKØÐ"ØÜ-×=Ñ=¸kÓJˆKáô ˜+˜¬Ô-@×-PÑ-PÐRXÓ)YÓZð !à ð!r)   ÚJsonSchemaValidatorÚ_BaseJsonValidator__validatorc                 ó^  — | j                   s| j                  }|€t        d«      ‚t        |«      5 }t	        t        |j                  «       «      | j                  «       t        j                  ¬«      | _         d d d «       | j                   S | j                   S # 1 sw Y   | j                   S xY w)Nzmissing schema file)ÚregistryÚformat_checker)	rR   Ú_schema_fileÚNotImplementedErrorÚopenr   rI   ÚreadÚ+_BaseJsonValidator__make_validator_registryÚFORMAT_CHECKER)r6   Úschema_fileÚsfs      r'   rH   z_BaseJsonValidator._validatorv   s�   € à×#Ò#Ø"×/Ñ/�ØÐ&Ü-Ð.CÓDÐDÜ˜+Ó&ð G¨"Ü'6Ü" 2§7¡7£9Ó-Ø!%×!?Ñ!?Ó!AÜ'6×'EÑ'Eô(G�DÔ$÷Gð
 ×#Ñ#Ð#�4×#Ñ#Ð#÷Gð
 ×#Ñ#Ð#ús   ±ABÂB,c                  óZ  — d} t        t        «      5 }t        t        «      5 }t        t        «      5 }t	        «       j                  | › d�t        j                  t        |j                  «       «      «      f| › d�t        j                  t        |j                  «       «      «      f| › d�t        j                  t        |j                  «       «      «      fg«      cd d d «       cd d d «       cd d d «       S # 1 sw Y   nxY wd d d «       n# 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w)Nzhttp://cyclonedx.org/schema/zspdx.SNAPSHOT.schema.jsonz&cryptography-defs.SNAPSHOT.schema.jsonzjsf-0.82.SNAPSHOT.schema.json)
rX   Ú_S_SPDXÚ_S_JSFÚ_S_CDEFSr   Úwith_resourcesr    Úcreate_resourcerI   rY   )Úschema_prefixÚspdxÚjsfÚcdefss       r'   Ú__make_validator_registryz,_BaseJsonValidator.__make_validator_registryƒ   sþ   € à:ˆMÜ”g“ð  $¬¬V«ð ¸¼TÄ(»^ð ÈuÜ“z×0Ñ0Ø%�Ð&?Ð@Ä&×BXÑBXÔYcÐdh×dmÑdmÓdoÓYpÓBqÐrØ%�Ð&LÐMÜ×+Ñ+¬J°u·z±z³|Ó,DÓEðGà%�Ð&CÐDÄf×F\ÑF\Ô]gÐhk×hpÑhpÓhrÓ]sÓFtÐuð	2ó ÷÷ ÷ ÷ ô ú÷ ÷ ñ ú÷ ÷ ñ ús@   ’D!¢D²B)C7Ã	DÃ$	D!Ã7D Ã<DÄ	D!ÄD	ÄD!Ä!D*)r;   r   r+   N)r+   rQ   )r,   r-   r.   Úpropertyr   r   r4   r7   r:   r   Ústrr   r   rA   r   Úboolr   r   rF   rR   Ú__annotations__rH   Ústaticmethodr   r   rZ   Ú__classcell__)r<   s   @r'   r1   r1   B   s‡  ø… Øð!˜w |×'8Ñ'8Ñ9ò !ó ð!õ)ð ØFIò  ð °W¸U±^ð ÈhÐWjÑNkò ó ðð ð ð °W¸T±]ð ÀxÐPXÐYlÑPmÑGnò ó ðð 05òØðØ(,ðà	ˆtÐ(¨(Ð3FÑ*GÐGÑ	Hóñ Ø'ˆ	ð 49ò	;Øð	;Ø,0ð	;à�4Ð,¨hÐ7JÑ.KÐKÑL÷	;ð 49ò	!Øð	!Ø,0ð	!à�4Ð,¨hÐ7JÑ.KÐKÑLó	!ð 8<ˆ�XÐ3Ñ4Ó;à	ò
	$ó 
ð
	$ð 
ð	¨8°C©=ò 	ó 
ô	r)   r1   c                   ó,   — e Zd ZdZedee   fd„«       Zy)r   z1Validator for CycloneDX documents in JSON format.r+   c                 ó@   — t        j                  | j                  «      S r3   )Ú_S_BOMÚgetr;   r5   s    r'   rV   zJsonValidator._schema_file’   s   € ä�z‰z˜$×-Ñ-Ó.Ð.r)   N©r,   r-   r.   Ú__doc__ri   r   rj   rV   r$   r)   r'   r   r   �   s"   „ Ù;àð/˜h s™mò /ó ñ/r)   r   c                   ó,   — e Zd ZdZedee   fd„«       Zy)r   z°Strict validator for CycloneDX documents in JSON format.

    In contrast to :class:`~JsonValidator`,
    the document must not have additional or unknown JSON properties.
    r+   c                 ó@   — t        j                  | j                  «      S r3   )Ú_S_BOM_STRICTrr   r;   r5   s    r'   rV   z JsonStrictValidator._schema_file�   s   € ä× Ñ  ×!4Ñ!4Ó5Ð5r)   Nrs   r$   r)   r'   r   r   —   s&   „ ñð
 ð6˜h s™mò 6ó ñ6r)   r   )9Ú__all__Úabcr   Úcollections.abcr   Ú	itertoolsr   Újsonr	   rI   Útypingr
   r   r   r   r   r   Úschemar   r   Ú	exceptionr   Úschema._resr   rq   r   rw   r   ra   r   r`   r   r_   Ú r   r   r   r   ÚtupleÚImportErrorrl   Újsonschema.validatorsr   Úreferencingr   Úreferencing.jsonschemar    Újsonschema.exceptionsr*   Újsonschema.protocolsr!   rQ   Úerrr   r1   r   r   r$   r)   r'   ú<module>rŠ      så   ðð& JÒ
I€å Ý $Ý Ý $ß I× Iå !áÝ&å :÷õ ÷ NÑ MàX\Ð �X˜eÐ$FÈÐ$SÑTÑUÓ \ðÝ5Ý$Ý-áÝVÝIô˜/ô ôJÐ1°3ô JôZ/Ð&Ð(@ÐBVô /ô6Ð,Ð.FÐH\õ 6øðI ò Ù<ð	Tóð ðÕûðús   Á* B< Â<CÃ
CÃC