L iW;ddlZddlmZddlmZddlmZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZy)N)lookup_recursive_ref)_utils)ValidationErrorcR|jd}|d|fgS|jS)z Ignore siblings of ``$ref`` if it is present. Otherwise, return all keywords. Suitable for use with `create`'s ``applicable_validators`` argument. $ref)getitems)schemarefs a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/jsonschema/_legacy_keywords.pyignore_ref_siblingsr s/ **V C  ||~c#fK|j|dsy|jD]\}}||vr |j|dr|j|||Ed{:|j|dr||vsQ|d|}t|f|D]}||vs|d|}t|y7Tw)Nobject schema_pathstring is a dependency of )is_typer descendr) validator dependenciesinstancer property dependencymessageeachs r dependencies_draft3rs   Xx 0 , 2 2 43* 8 #    Z 2 ((*()    z8 4)'N*>xlK%g.." 3x'!%(|j|||Ed{[y7w)z Support for the ``dependencies`` keyword from pre-draft 2019-09. In later drafts, the keyword was split into separate ``dependentRequired`` and ``dependentSchemas`` validators. rNarrayrr)rr rr)rrrr rrrrs r !dependencies_draft4_draft6_draft7r!/s   Xx 0 , 2 2 4 * 8 #    Z 1" 3x'!%( > > ? CMC 7B(?$@@E F%%hs6::gr3J/K/L&MN N  AR ?sBD DA5D c#8K|j|dsy|j|dr>tt||D]%\\}}}|j||||Ed{'yt|D]!\}}|j|||Ed{#y777 w)Nr r4r2)rr5r,rr6s r items_draft6_draft7_draft201909rB|s   Xw /((+Ih,?(G  $MUD9 ((ie)    %X. BKE4 ((u5(A A A B   Bs$ABB/BBBBc#K|j|dsy|jddr||k}d}n||k}d}|r|d|d|}t|yyw)NnumberexclusiveMinimumFzless than or equal toz less than is z the minimum of rrr)rminimumrr failedcmprs r minimum_draft3_draft4rKsp   Xx 0 zz$e,W$%G# LSE)9'Eg&&AAc#K|j|dsy|jddr||k\}d}n||kD}d}|r|d|d|}t|yyw)NrDexclusiveMaximumFzgreater than or equal toz greater thanrFz the maximum of rG)rmaximumrr rIrJrs r maximum_draft3_draft4rPsp   Xx 0 zz$e,W$(G# LSE)9'Eg&&rLc#K|j|dsy|jD]\}}||vr!|j|||||Ed{+|jdds>t |d}|j d|d|||j j||jj|dg|y7}w)Nrr4requiredFz is a required property)rvalidator_valuerr ) rr rrr_setr3 appendleftrextend)r propertiesrr rr/r?s r properties_draft3rXs   Xx 0)//1) x  (("$ )   ]]:u -#xl2I$JKE JJ$ )* 5!   JJ ! !( +    $ $h %; <K% sA C  C  C $A&C c#Ktj|}g}t|D]^\}}|j|dr3t |j |||}|sy|j |K|j||s^yg}|D] } |jt|d"t|ddj||y#t$r|jt|YlwxYww)Nrrnamez is not of type z, )context) rr%r,rlistrrVappendrepr Exceptionrjoin) rtypesrr all_errorsr.r#errorsreprss r type_draft3res   u %EJ ' t   T8 ,)++Hd+NOF   f %   x . E% % LLd6l+ ,%  ,&tyy'7&89  % LLd $ %s0BC: C:C+&C:#C74C:6C77C:c#Kj|dsytfd|Dstd|dyyw)Nr c3`K|]%}jj|'yw)r$N)r&r').0elementcontainsrs r z)contains_draft6_draft7..s2  )227;s+.zNone of z! are valid under the given schema)ranyr)rrjrr s`` r contains_draft6_draft7rmsP   Xw /  xl"C D   s> v~   6$<  0 9 9( C !F8VD\"  !%Jx&!v  !F8VF^"  40 f !(+ 01##6'?#;DDQG%,,Q/ 00 / f #G_  I--h BDI<%)N!8Y*%  rc#K|j|dsyt|||}t|Dcgc] \}}||vr| }}}|r&d}t|t j |zyycc}}ww)Nr z4Unevaluated items are not allowed (%s %s unexpected))rrr,rrr<) rr{rr evaluated_item_indexesr.r7unevaluated_itemsr?s r unevaluatedItems_draft2019r@s   Xw /B8V!*( 3 . . Fef&7&78I&JJKK s/A3A-2A3c|j|drgSg}|jd}|f|jj|}|j t |j |j|j||jd|vr`t|j}|j t |j |j|j||jdD]d}||vs||}|j|dr|r||jz }5|j|dsH|D]}||vs|j|fd|vr9|D]4}|dD]*} tj| |s|j|,6d|vr0|djD]\}} ||vr |t ||| z }d D]@}||vs||D]1} t|j!|| d} | "|t ||| z }3Bd |vrg|j |d  j#|r,|t |||d z }d |vr|t |||d z }|Sd |vr|t |||d z }|S)Nrurrvrw)rWadditionalPropertiesunevaluatedPropertiesrpatternPropertiesdependentSchemasr|rxr$ryrz)rrrprrV&find_evaluated_property_keys_by_schemar&rqrorkeysr]researchr rrr') rrr evaluated_keysr rsr schema_valuerpatternr/rs r rrOs+ N **V C &&--c2 2  #,,&//!!!   & ' (;(;< 2  #,,&//!!!    8 f !'?L  y9l(--/1""<: ,8H8+&--h78 8f$  4H!"56 499Wh/"))(3 4 4 V##)*<#=#C#C#E  Hix' D8Y N / f #G_  I--h BDI<"&L!8Y'N  v~   6$<  0 9 9( C D8VD\ N"Hx#  v  D8VF^ N rc#K|j|dsyt|||}g}|D]5}||vs|j|||||D]}|j|7|ra|dur7d}t |t } t |tj| zyd}t |tj|zyyw)Nrr4Fz9Unevaluated properties are not allowed (%s %s unexpected))keyz[Unevaluated properties are not valid under the given schema (%s %s unevaluated and invalid)) rrrr]sortedstrrrr<) ruPrr runevaluated_keysr_r?extrass r unevaluatedProperties_draft2019rs   Xx 0;8VN 2 > )&&"$ ' 2!''1 2 2 ;OE,#6F!%&*;*;F*C"CD DC "%&*;*;rss 71 3.<+M  $ B ' ' 22  K\ LRjOr