o
    ɝi                     @  s
  U d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	Z	ddl
mZmZmZ ejr\ddlmZ dd	lmZmZ eeeef Zejeeef ddf Zejd
ddZdZded< ejZ							d4d5ddZ 		d6d7d'd(Z!ej"d8d-d.Z#	d9d:d2d3Z$dS );    )annotationsN)deepcopy)Enum)Any   )_model_construction_typing_extra_utils	BaseModel)AbstractSetIntStrMappingIntStrAnyModelr   )boundz<set[int] | set[str] | dict[int, Any] | dict[str, Any] | Noneztyping_extensions.TypeAliasIncExFselfto_dictboolby_aliasinclude+AbstractSetIntStr | MappingIntStrAny | Noneexcludeexclude_unsetexclude_defaultsexclude_nonereturnTupleGeneratorc                 c  s   |d urt jdd | j D |}|d ur&t jjt| jd|dd}t| |||d}|d u rQ|sQ|sQ|sQ|sQ|sQ| j E d H  | j	rO| j	 E d H  d S |d ur[t | |nd }	|d urgt | |nd }
| j	d u rt| j }nt
| j t
| j	  }|D ]f\}}|d ur||vs|r|d u rq|rz| j| }W n	 ty   Y nw | s|j|krq|r|| jv r| j| jp|}n|}|s|
s|	rtt| ||||
o|
||	o|	||||d	}||fV  qd S )Nc                 S  s"   i | ]\}}|j d ur||j qS N)r   .0kv r"   ^/var/www/html/ocr-read/venv/lib/python3.10/site-packages/pydantic/deprecated/copy_internals.py
<dictcomp>+   s   " z_iter.<locals>.<dictcomp>T)	intersect)r   r   r   )r   r   r   r   r   r   r   )r	   
ValueItemsmerge__pydantic_fields__itemsdictfromkeys_calculate_keys__dict____pydantic_extra__listKeyErroris_requireddefaultalias
_get_valuetypefor_element)r   r   r   r   r   r   r   r   allowed_keysvalue_excludevalue_includer)   	field_keyr!   fielddict_keyr"   r"   r#   _iter   s\   
r=   valuesdict[str, Any]
fields_setset[str]extradict[str, Any] | Noneprivatedeepc                C  s`   |rt |}t |}t |}| j}||}t|d| t|d| t|d| t|d| |S )Nr-   r.   __pydantic_fields_set____pydantic_private__)r   	__class____new___object_setattr)r   r>   r@   rB   rD   rE   clsmr"   r"   r#   _copy_and_set_valuesb   s   	
rM   rK   type[BaseModel]r!   r   c	                   s  ddl m}	 t||	rr|j ||dS |j||dS |r't||nd |r1t||nd t|trJ fdd| D S t	|rq fddt
|D }
t|jrl|j|
 S ||
S t|trtjd	d
r|jS |S )Nr   r
   )r   r   r   r   r   r   )r   r   c                   s\   i | ]*\}}r |sr|r|t| o"|o(|d 	qS )r   r   r   r   r   r   r   is_excludedis_includedr4   r6   )r   k_v_r   rK   r   r   r   r   r8   r9   r"   r#   r$      s,    z_get_value.<locals>.<dictcomp>c                 3  s^    | ]*\}}r |sr|rt| o!|o'|d 	V  qdS )rO   NrP   )r   irT   rU   r"   r#   	<genexpr>   s.    
z_get_value.<locals>.<genexpr>use_enum_valuesF) r   
isinstance
model_dumpcopyr	   r&   r*   r)   sequence_like	enumerater   is_namedtuplerH   r   getattrmodel_configvalue)rK   r!   r   r   r   r   r   r   r   r   seq_argsr"   rU   r#   r4   {   s4   
	

 r4   MappingIntStrAny | Noneupdatetyping.AbstractSet[str] | Nonec                 C  s   |d u r|d u r|du rd S |r| j  }nt| j }|| jp"i  B }|d ur0|| M }|r8|| 8 }|rE|dd | D 8 }|S )NFc                 S  s    h | ]\}}t j|r|qS r"   )r	   r&   is_truer   r"   r"   r#   	<setcomp>   s     z"_calculate_keys.<locals>.<setcomp>)rF   r\   setr-   keysr.   r)   )r   r   r   r   re   rj   r"   r"   r#   r,      s   r,   )FFNNFFF)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )NN)r   r   r>   r?   r@   rA   rB   rC   rD   rC   rE   r   r   r   )rK   rN   r!   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   rd   r   rd   r   r   re   rC   r   rf   )%
__future__r   _annotationstypingr\   r   enumr   r   typing_extensions	_internalr   r   r	   TYPE_CHECKINGrY   r   _internal._utilsr   r   classmethodAnyClassMethod	Generatortuplestrr   TypeVarr   r   __annotations__object_setattrrJ   r=   rM   no_type_checkr4   r,   r"   r"   r"   r#   <module>   s<    IO