
    Mhe:                     &   d dl mZ d dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZmZ d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d  Z)d! Z*d" Z+d# Z,d$ Z-d% Z.d& Z/d' Z0d( Z1dS ))    )FractionN)ensure_listequal
extras_msgfind_additional_properties%find_evaluated_item_indexes_by_schema&find_evaluated_property_keys_by_schemauniq)FormatErrorValidationErrorc              #   
  K   |                      |d          sd S |                                D ]S\  }}|                                D ]9\  }}t          j        ||          r|                     ||||          E d {V  :Td S Nobjectpathschema_path)is_typeitemsresearchdescend)	validatorpatternPropertiesinstanceschemapattern	subschemakvs           T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jsonschema/_keywords.pyr   r      s      Xx00 /5577  NN$$ 	 	DAqy!$$ $,,yqg -         	     c              #   ~   K   |                      |d          sd S |D ]}|                     ||          E d {V   d S )Nr   )r   r   )r   r   )r   propertyNamesr   r   propertys        r    r#   r#      sn      Xx00  N N$$h}$MMMMMMMMMMN Nr!   c           	   #     K   |                      |d          sd S t          t          ||                    }|                      |d          r+|D ]&}|                     ||         ||          E d {V  'd S |s|rd|v rt	          |          dk    rdnd}d                    d t          |          D                       }d                    d	 t          |d                   D                       }| d
| d| }	t          |	          V  d S d}	t          |	t          t          |t                              z            V  d S d S d S )Nr   )r   r      doesdo, c              3   4   K   | ]}t          |          V  d S Nrepr.0eachs     r    	<genexpr>z'additionalProperties.<locals>.<genexpr>0   s(      EEdtDzzEEEEEEr!   c              3   4   K   | ]}t          |          V  d S r+   r,   r.   s     r    r1   z'additionalProperties.<locals>.<genexpr>1   s9       ! !#T

! ! ! ! ! !r!    z not match any of the regexes: z8Additional properties are not allowed (%s %s unexpected)key)
r   setr   r   lenjoinsortedr   r   str)
r   aPr   r   extrasextraverbjoinedpatternserrors
             r    additionalPropertiesrB   $   s     Xx00 +Hf==>>FX&& O 	J 	JE ((%"5(IIIIIIIIII	J 	J OF O&(( [[A--664DYYEEfVnnEEEEEFyy ! !'-f5H.I'J'J! ! !  H OOOOXOOE!%(((((((NE!%*VF5L5L5L*M*M"MNNNNNNNO O O Or!   c           
   #     K   |                      |d          sd S t          |                    dg                     }t          |          }||z
  }|dk    rd S |du rA|dk    r
||d          n||         }|dk    rdnd}t          d| d	| d
| d|          V  d S t	          ||          D ]&}	|                     ||	         ||	          E d {V  'd S )NarrayprefixItemsr   Fr&   r   itemzExpected at most r3   z but found z extra: )r   r   r   )r   r7   getr   ranger   )
r   r   r   r   prefixtotalr=   restrF   indexs
             r    r   r   ;   sh     Xw// M2..//FMMEFNEzz~~$)QJJx  HV4D A++ww6    %   
 
 	
 	
 	
 	
 	

 65)) 	 	E ((!% )          	 	r!   c              #   V   K   t          ||          st          |d          V  d S d S )Nz was expected)r   r   )r   constr   r   s       r    rN   rN   U   sE      5!! 977788888889 9r!   c              #     K   |                      |d          sd S d}|                    dd          }|                    dt          |                    }|                     |          }|D ]=}|                    |          r&|dz  }||k    rt          d| dd|	          V   d S >||k     r5|st          |d
          V  d S t          d| d| dd|	          V  d S d S )NrD   r   minContainsr&   maxContainsr   z8Too many items match the given schema (expected at most ))r   validator_valuez1 does not contain items matching the given schemaz8Too few items match the given schema (expected at least z
 but only z	 matched))r   rG   r7   evolveis_validr   )	r   containsr   r   matchesmin_containsmax_containscontains_validatorr0   s	            r    rW   rW   Z   s     Xw// G::mQ//L::mS]];;L"))):: 
 
&&t,, 		qLG%%%9)59 9 9+$0	       	! , , ,      
 ">> >+2> > >' ,	        r!   c              #   v   K   |                      |d          sd S ||k    rt          |d|          V  d S d S )Nnumberz) is less than or equal to the minimum of r   r   )r   minimumr   r   s       r    exclusiveMinimumr`      sv      Xx00 7 * *%* *
 
 	
 	
 	
 	
 	
 r!   c              #   v   K   |                      |d          sd S ||k    rt          |d|          V  d S d S )Nr]   z, is greater than or equal to the maximum of r^   )r   maximumr   r   s       r    exclusiveMaximumrc      sv      Xx00 7 - -!(- -
 
 	
 	
 	
 	
 	
 r!   c              #   z   K   |                      |d          sd S ||k     r|d|}t          |          V  d S d S )Nr]   z is less than the minimum of r^   )r   r_   r   r   messages        r    r_   r_      sc      Xx00 'IIgIIg&&&&&&& r!   c              #   z   K   |                      |d          sd S ||k    r|d|}t          |          V  d S d S )Nr]   z  is greater than the maximum of r^   )r   rb   r   r   re   s        r    rb   rb      sc      Xx00 'LLLLg&&&&&&& r!   c              #   F  K   |                      |d          sd S t          |t                    rR||z  }	 t          |          |k    }n=# t          $ r+ t          |          t          |          z  j        dk    }Y n	w xY w||z  }|rt          |d|           V  d S d S )Nr]   r&   z is not a multiple of )r   
isinstancefloatintOverflowErrorr   denominatorr   )r   dBr   r   quotientfaileds         r    
multipleOfrp      s      Xx00 "e b=	J]]h.FF 	J 	J 	J x((8B<<7DIFFF	J B IGG2GGHHHHHHHI Is   A
 
2A?>A?c              #      K   |                      |d          r5t          |          |k     r$|dk    rdnd}t          |d|           V  d S d S d S )NrD   r&   should be non-emptyis too shortr3   r   r7   r   r   mIr   r   re   s        r    minItemsrw      sy      7++ 9H0B0B+-77''77g7788888889 90B0Br!   c              #      K   |                      |d          r5t          |          |k    r$|dk    rdnd}t          |d|           V  d S d S d S )NrD   r   is expected to be emptyis too longr3   rt   ru   s        r    maxItemsr{      sy      7++ 9H0B0B/1Qww++M77g7788888889 90B0Br!   c              #      K   |r;|                      |d          r't          |          st          |d          V  d S d S d S d S )NrD   z has non-unique elements)r   r
   r   )r   uIr   r   s       r    uniqueItemsr~      s      
Gh00G XG
 EEEFFFFFFFG G G G G Gr!   c              #      K   |                      |d          r-t          j        ||          st          |d|          V  d S d S d S )Nstringz does not match )r   r   r   r   )r   patrnr   r   s       r    r   r      sv      (H--H	%**H FFUFFGGGGGGG	H H H Hr!   c              #      K   | j         S	 | j                             ||           d S # t          $ r(}t          |j        |j                  V  Y d }~d S d }~ww xY wd S )N)cause)format_checkercheckr   r   re   r   )r   formatr   r   rA   s        r    r   r      s      +	D$**8V<<<<< 	D 	D 	D!%-u{CCCCCCCCCCCC	D ,+s   ( 
AAAc              #      K   |                      |d          r5t          |          |k     r$|dk    rdnd}t          |d|           V  d S d S d S )Nr   r&   rr   rs   r3   rt   r   mLr   r   re   s        r    	minLengthr      sy      8,, 9X1C1C+-77''77g7788888889 91C1Cr!   c              #      K   |                      |d          r5t          |          |k    r$|dk    rdnd}t          |d|           V  d S d S d S )Nr   r   ry   rz   r3   rt   r   s        r    	maxLengthr      sy      8,, 9X1C1C/1Qww++M77g7788888889 91C1Cr!   c              #      K   |                      |d          sd S |                                D ]+\  }}||vr
|D ]}||vr|d|}t          |          V  ,d S )Nr   z is a dependency of )r   r   r   )r   dependentRequiredr   r   r$   
dependencyr0   re   s           r    r   r      s      Xx00  1 7 7 9 9 / /*8## 	/ 	/D8##!EEEE%g.....	/	/ /r!   c              #      K   |                      |d          sd S |                                D ](\  }}||vr
|                     |||          E d {V  )d S )Nr   r   r   r   r   )r   dependentSchemasr   r   r$   r   s         r    r   r     s      Xx00  0 6 6 8 8 
 
*8##$$jh % 
 
 	
 	
 	
 	
 	
 	
 	
 	

 
r!   c              #   r   K   t          fd|D                       rt          d|          V  d S d S )Nc              3   :   K   | ]}t          |           V  d S r+   )r   )r/   r0   r   s     r    r1   zenum.<locals>.<genexpr>  s0      
7
7uT8$$$
7
7
7
7
7
7r!   z is not one of )allr   )r   enumsr   r   s     ` r    enumr     sa      

7
7
7
7
7
7
777 GEEEEEFFFFFFFG Gr!   c              #   D   K   |                      ||          E d {V  d S N)refr   _validate_reference)r   r   r   r   s       r    r   r     s7      ,,x,HHHHHHHHHHHr!   c              #   D   K   |                      ||          E d {V  d S r   r   )r   
dynamicRefr   r   s       r    r   r     s7      ,,h,OOOOOOOOOOOr!   c              #       K   t          |          }t           fd|D                       s7d                    d |D                       }t          d|           V  d S d S )Nc              3   D   K   | ]}                     |          V  d S r+   )r   )r/   typer   r   s     r    r1   ztype.<locals>.<genexpr>  s3      CCTy  400CCCCCCr!   r)   c              3   4   K   | ]}t          |          V  d S r+   r,   )r/   r   s     r    r1   ztype.<locals>.<genexpr>  s(      77$t**777777r!   z is not of type )r   anyr8   r   )r   typesr   r   reprss   ` `  r    r   r     s      ECCCCCUCCCCC F		7777777DDUDDEEEEEEEF Fr!   c              #      K   |                      |d          sd S |                                D ].\  }}||v r%|                     ||         |||          E d {V  /d S r   r   )r   
propertiesr   r   r$   r   s         r    r   r   "  s      Xx00 )//11  )x (("$	 )          r!   c              #   t   K   |                      |d          sd S |D ]}||vrt          |d          V  d S )Nr   z is a required propertyr^   )r   requiredr   r   r$   s        r    r   r   0  si      Xx00  J J8##!X"H"H"HIIIIIJ Jr!   c              #      K   |                      |d          r5t          |          |k     r$|dk    rdnd}t          |d|           V  d S d S d S )Nr   r&   rr   zdoes not have enough propertiesr3   rt   r   mPr   r   re   s        r    minPropertiesr   8  s      8,, 9X1C1C%'1WW!!2 	 77g7788888889 91C1Cr!   c              #      K   |                      |d          sd S |                      |d          r5t          |          |k    r$|dk    rdnd}t          |d|           V  d S d S d S )Nr   r   ry   zhas too many propertiesr3   rt   r   s        r    maxPropertiesr   A  s      Xx00 8,, 9X1C1C)+q%%* 	 77g7788888889 91C1Cr!   c              #   p   K   t          |          D ]#\  }}|                     |||          E d {V  $d S )Nr   )	enumerater   )r   allOfr   r   rL   r   s         r    r   r   L  s`      %e,, M My$$Xye$LLLLLLLLLLM Mr!   c              #      K   g }t          |          D ]D\  }}t          |                     |||                    }|s d S |                    |           Et	          |d|          V  d S )Nr   , is not valid under any of the given schemascontext)r   listr   extendr   )r   anyOfr   r   
all_errorsrL   r   errss           r    r   r   Q  s      J%e,, 	
 	
yI%%h	u%MMNN 	EE$GGG
 
 
 	
 	
 	
 	
 	
r!   c              #      K   t          |          }g }|D ]E\  }}t                               ||                    }|s|}	 n,|                    |           Ft	          d|          V   fd|D             }
|
rL|
                    |	           d                    d |
D                       }t	          d|           V  d S d S )Nr   r   r   c                 l    g | ]0\  }}                     |                                         .|1S )rR   )rU   rV   )r/   _r0   r   r   s      r    
<listcomp>zoneOf.<locals>.<listcomp>n  sR       D4((11(;;  r!   r)   c              3   4   K   | ]}t          |          V  d S r+   r,   )r/   r   s     r    r1   zoneOf.<locals>.<genexpr>t  s(      @@6$v,,@@@@@@r!   z is valid under each of )r   r   r   r   r   appendr8   )r   oneOfr   r   
subschemasr   rL   r   r   first_valid
more_validr   s   ` `         r    r   r   _  sI     5!!JJ& 

 

yI%%h	u%MMNN 	#KE$GGG
 
 
 	
 	
 	

    &  J  N+&&&		@@Z@@@@@LLULLMMMMMMMN Nr!   c              #      K   |                      |                              |          r|d|}t          |          V  d S d S )NrR   z should not be valid under )rU   rV   r   )r   
not_schemar   r   re   s        r    not_r   x  sd      z**33H== 'JJJJJg&&&&&&&' 'r!   c              #     K   |                      |                              |          r.d|v r(|d         }|                     ||d          E d {V  d S d S d|v r(|d         }|                     ||d          E d {V  d S d S )NrR   thenr   else)rU   rV   r   )r   	if_schemar   r   r   else_s         r    if_r   ~  s      y))228<< JV&>D ((4V(LLLLLLLLLLL  
6		v$$Xu&$IIIIIIIIIII 
	r!   c              #      K   |                      |d          sd S t          | ||          fdt          |          D             }|r%d}t          |t	          |          z            V  d S d S )NrD   c                 "    g | ]\  }}|v	|S  r   )r/   rL   rF   evaluated_item_indexess      r    r   z$unevaluatedItems.<locals>.<listcomp>  s3       ... 	...r!   z4Unevaluated items are not allowed (%s %s unexpected))r   r   r   r   r   )r   unevaluatedItemsr   r   unevaluated_itemsrA   r   s         @r    r   r     s      Xw// B8V     )( 3 3    EFej1B&C&CCDDDDDDDE Er!   c              #     K   |                      |d          sd S t          | ||          }g }|D ]=}||vr7|                     ||         |||          D ]}|                    |           >|rd|du r;d}t	          |t
                    }	t          |t          |	          z            V  d S d}t          |t          |          z            V  d S d S )Nr   r   Fz9Unevaluated properties are not allowed (%s %s unexpected)r4   z[Unevaluated properties are not valid under the given schema (%s %s unevaluated and invalid))r   r	   r   r   r9   r:   r   r   )
r   unevaluatedPropertiesr   r   evaluated_keysunevaluated_keysr$   r   rA   r<   s
             r    r   r     s>     Xx00 ;8V N  
2 
2>))&&"%$	 '   2 2 !''1111 
H E))OE,#666F!%*V*<*<"<=======C  "%*5E*F*F"FGGGGGGG
H 
Hr!   c              #      K   |                      |d          sd S t          t          |          |          D ]'\  \  }}}|                     ||||          E d {V  (d S )NrD   )r   r   r   r   )r   zipr   r   )r   rE   r   r   rL   rF   r   s          r    rE   rE     s      Xw// $'	((;(;[$I$I 
 
 y$$	 % 
 
 	
 	
 	
 	
 	
 	
 	
 	

 
r!   )2	fractionsr   r   jsonschema._utilsr   r   r   r   r   r	   r
   jsonschema.exceptionsr   r   r   r#   rB   r   rN   rW   r`   rc   r_   rb   rp   rw   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rE   r   r!   r    <module>r      s         				                  ? > > > > > > >	 	 	N N NO O O.  49 9 9
" " "J
 
 

 
 
' ' '' ' 'I I I69 9 99 9 9G G GH H HD D D9 9 99 9 9/ / /	
 	
 	
G G G
I I IP P PF F F  J J J9 9 99 9 9M M M

 
 
N N N2' ' 'J J JE E EH H H@

 

 

 

 

r!   