rclddlmZddlmZdZdZdZdZdZdZ d Z d Z d Z d Z d ZdZdZdS))_utils)ValidationErrorcb|d}|d|fgS|S)z Ignore siblings of ``$ref`` if it is present. Otherwise, return all keywords. Suitable for use with `create`'s ``applicable_validators`` argument. z$ref)getitems)schemarefs ?/usr/lib/python3/dist-packages/jsonschema/_legacy_validators.pyignore_ref_siblingsr s4 **V  C  ||~~c#K||dsdS|D]\}}||vr ||dr||||Ed{V?||dr||vr|d|}t|Vr|D]}||vr|d|}t|VdS)Nobject schema_pathstring is a dependency of )is_typerdescendr) validator dependenciesinstancerproperty dependencymessageeachs r dependencies_draft3rsN   Xx 0 0 , 2 2 4 433* 8 # #    Z 2 2 3 ((*()          z8 4 4 3))'KKxKK%g....." 3 3x''!%IIXIIG)'22222 333r c#$K||dsdS|D]`\}}||vr ||dr"|D]}||vr|d|}t|VB||||Ed{VadS)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)rrrr)rrrrrrrrs r !dependencies_draft4_draft6_draft7r+s   Xx 0 0 , 2 2 4 4  * 8 # #    Z 1 1 " 3 3x''!%IIXIIG)'22222 3 !((*()          r c#Ktj|D]F}|d|gi|r|d|}t |VGdS)Ntyperz is disallowed for )r ensure_listevolveis_validr)rdisallowrr disallowedrs r disallow_draft3r(Is(22++   FZL#9  : : C CH M M +#FF(FFG!'** * * *++r c#K||dr|||Ed{VdSt|D]#\}}||||Ed{V$dS)Nrr)rr enumerate)rextendsrrindex subschemas r extends_draft3r.Ps(++$$Xw777777777%g..MMy$$Xye$LLLLLLLLLLMMr c#ZK||dsdS||dr5t|D]#\}}||||Ed{V$dStt||D]'\\}}}|||||Ed{V(dS)Nrrpathr1r)rr*rziprrrrr,itemr-s r items_draft3_draft4r6Xs   Xw / /))$X.. B BKE4 ((u5(AA A A A A A A A A B B),Ih,?,?(G(G   $MUD9 ((ie)          r c#ZK||dsdS||drGtt||D]'\\}}}|||||Ed{V(dSt|D]#\}}||||Ed{V$dS)Nrr2r0)rr3r*rr4s r items_draft6_draft7_draft201909r8fs   Xw / /((B(+Ih,?,?(G(G   $MUD9 ((ie)           %X.. B BKE4 ((u5(AA A A A A A A A A B Br c#K||dsdS|ddr ||k}d}n||k}d}|r|d|d|}t|VdSdS)NnumberexclusiveMinimumFzless than or equal toz less than is z the minimum of rrr)rminimumrrfailedcmprs r minimum_draft3_draft4rAts   Xx 0 0 zz$e,,W$%G# 'EESEE'EEg&&&&&&&''r c#K||dsdS|ddr ||k}d}n||k}d}|r|d|d|}t|VdSdS)Nr:exclusiveMaximumFzgreater than or equal toz greater thanr<z the maximum of r=)rmaximumrrr?r@rs r maximum_draft3_draft4rEs   Xx 0 0 zz$e,,W$(G# 'EESEE'EEg&&&&&&&''r c#K||dsdS|D]\}}||vr&||||||Ed{V/|ddrkt |d}|d|d|||j||j |dg|VdS)Nrr2requiredFz is a required property)rvalidator_valuerr) rrrrr_setr1 appendleftrextend)r propertiesrrrr-errors r properties_draft3rNsA   Xx 0 0)//11) x   (("$ )         ]]:u - - #x$J$J$JKKE JJ$ )* 5!     J ! !( + + +   $ $h %; < < <KKK%r c#XKtj|}g}t|D]t\}}||dr@t ||||}|sdS||[|||rdSug}|D]]} |t|d,#t$r%|t|YZwxYwt|dd ||VdS)Nrrnamez is not of type z, )context) rr#r*rlistrrKappendrepr Exceptionrjoin) rtypesrr all_errorsr,r!errorsreprss r type_draft3r[sz  u % %EJ ''  t   T8 , , )++Hd+NNOOF    f % % % %  400   ) )D ) T$v,//0000 ) ) ) T$ZZ((((( ) = =499U+;+; = =        s$(C  ,C<;C<c#K|dsdStfd|Dstd|dVdSdS)Nrc3jK|]-}|V.dS)r"N)r$r%).0elementcontainsrs r z)contains_draft6_draft7..sV  ))227;;r zNone of z! are valid under the given schema)ranyr)rr`rrs`` r contains_draft6_draft7rcs   Xw / /     Dx D D D         r cB|jj|j}}t|jjddD]7}|j|\}}|dr|}7|d}|j||} | gS)Nz$recursiveAnchor#) resolverresolution_scoperreversed _scopes_stackresolverlstripresolve_fragment) r recursiveRefrr lookup_urltargetr next_targetfragmentr-s r rnrns"+NJ+9!""=>>"+"4"<"rvs111111   333.<+++MMM    B B B ' ' ' ' ' ' 2   4    r