o
    ɝig                     @   s   U d dl Z d dlmZmZmZmZmZmZ d dlm	Z	 d dl
mZ d dlmZmZ ddlmZmZ ddlmZ eZeed	< G d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    N)AnyCallableDictListOptionalUnion)Example)
ParamTypes)	Annotated
deprecated   )	FieldInfo	Undefined)PYDANTIC_VERSION_MINOR_TUPLE_Unsetc                ?       s  e Zd ZU eed< efeddedddddddddddddeeeeededdddddedee	g ef df de
e de
e d	eedf d
eedf deedf de
e de
e de
e de
e de
e de
e de
e de
e de
e dee
e edf deedf deedf deedf deedf deedf deedf de
ee  dee
e edf d e
eeef  d!eeeedf d"ed#eeeef df d$ef< fd%d&Zd'efd(d)Z  ZS )*Paramin_NTdefault_factory
annotationaliasalias_priorityvalidation_aliasserialization_aliastitledescriptiongtgeltle
min_length
max_lengthpatternregexdiscriminatorstrictmultiple_ofallow_inf_nan
max_digitsdecimal_placesexamplesexampleopenapi_examplesr   include_in_schemajson_schema_extradefaultr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   EDeprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead.r$   r%   r&   r'   r(   r)   r*   r+   nDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.r,   r   r-   r.   extrac          "         s$  |t urtjdtdd || _|| _|| _tdi d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d||}|d urT||d< |d ur`tjdtdd |pc|} tdk rl|| _	n||d< |ps||d< |j
di |  dd | D }!t jdi |! d S )N<`example` has been deprecated, please use `examples` instead   category
stacklevelr/   r   r   r   r   r   r   r   r   r    r!   r$   r&   r'   r(   r)   r*   9`regex` has been deprecated, please use `pattern` instead      r   r#   c                 S      i | ]\}}|t ur||qS  r   .0kvr=   r=   [/var/www/html/ocr-read/venv/lib/python3.10/site-packages/fastapi/temp_pydantic_v1_params.py
<dictcomp>k       z"Param.__init__.<locals>.<dictcomp>r=   )r   warningswarnDeprecationWarningr+   r-   r,   dictr   r   updateitemssuper__init__)"selfr/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r2   kwargscurrent_json_schema_extra
use_kwargs	__class__r=   rC   rM      sv   /	
zParam.__init__returnc                 C      | j j d| j dS N()rS   __name__r/   rN   r=   r=   rC   __repr__o      zParam.__repr__)rZ   
__module____qualname__r	   __annotations__r   r   r   r   r   r   strintfloatr
   r   boolr   r   r   rM   r\   __classcell__r=   r=   rR   rC   r      s   
 









 
!")*+,-^r   c                ?       s  e Zd ZejZ	d'eddedddddddddddddeeeeededdddddedee	g ef df de
e de
e d	eedf d
eedf deedf de
e de
e de
e de
e de
e de
e de
e de
e de
e dee
e edf deedf deedf deedf deedf deedf deedf de
ee  dee
e edf d e
eeef  d!eeeedf d"ed#eeeef df d$ef< fd%d&Z  ZS )(Path.NTr   r/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c                   s   |du sJ d| j | _ t jd i d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S )!N.z+Path parameters cannot have a default valuer/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r   r+   r*   r,   r-   r.   r=   )r   rL   rM   rN   r/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r2   rR   r=   rC   rM   v   s|   /	

zPath.__init__).)rZ   r^   r_   r	   pathr   r   r   r   r   r   ra   rb   rc   r
   r   rd   r   r   r   rM   re   r=   r=   rR   rC   rf   s       









 
!")*+,-rf   c                ?         e Zd ZejZefeddedddddddddddddeeeeededdddddede	e
g ef df dee dee de	edf d	e	edf d
e	edf dee dee dee dee dee dee dee dee dee deee edf de	edf de	edf de	edf de	edf de	edf de	edf deee  deee edf deeeef  d e	eeedf d!ed"e	eeef df d#ef< fd$d%Z  ZS )&QueryNTr   r/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c                      t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S Nr/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r   r+   r*   r,   r-   r.   r=   rL   rM   rg   rR   r=   rC   rM      x   /	

zQuery.__init__)rZ   r^   r_   r	   queryr   r   r   r   r   r   r   ra   rb   rc   r
   r   rd   r   r   r   rM   re   r=   r=   rR   rC   rk      ri   rk   c                A       s  e Zd ZejZefeddeddddddddddddddeeeeededdddddede	e
g ef df dee dee de	edf d	e	edf d
e	edf dedee dee dee dee dee dee dee dee dee deee edf de	edf de	edf de	edf de	edf de	edf de	edf deee  deee edf d eeeef  d!e	eeedf d"ed#e	eeef df d$ef> fd%d&Z  ZS )'HeaderNT)r   r   r   r   r   r   convert_underscoresr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r/   r   r   r   r   r   r   rr   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c                    s   || _ t jdi d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S rm   )rr   rL   rM   ) rN   r/   r   r   r   r   r   r   rr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r2   rR   r=   rC   rM      sz   0	

zHeader.__init__)rZ   r^   r_   r	   headerr   r   r   r   r   r   r   ra   rb   rd   rc   r
   r   r   r   r   rM   re   r=   r=   rR   rC   rq     s    








 
!
"#*+,-.rq   c                ?       rj   )&CookieNTr   r/   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c                   rl   rm   rn   rg   rR   r=   rC   rM   v  ro   zCookie.__init__)rZ   r^   r_   r	   cookier   r   r   r   r   r   r   ra   rb   rc   r
   r   rd   r   r   r   rM   re   r=   r=   rR   rC   rt   s  ri   rt   c                C       s  e Zd Zefeddddedddddddddddddeeeeededdddddedeeg ef df dee dee	df d	e
d
ee
 deedf dee
df dee
df dee
 dee
 dee dee dee dee dee dee dee
 deee
 edf dee
df dee	df deedf dee	df deedf deedf deee  d eee ed!f d"eee
ef  d#eee
e	df d$e	d%eee
ef df d&ef@ fd'd(Zd)e
fd*d+Z  ZS ),BodyNzapplication/jsonT)r   r   embed
media_typer   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r/   r   r   rw   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c          $         s0  || _ || _|turtjdtdd || _|| _|| _t	di d|d|d|d|
d|d	|d
|d|d|d|d|d|d|d|d|d|| }!|d urZ||!d< |d urftjdtdd |pi| }"t
dk rr|| _n||!d< |py||!d< |!jdi |" dd |! D }#t jdi |# d S )Nr3   r4   r5   r/   r   r   r   r   r   r   r   r   r    r!   r$   r&   r'   r(   r)   r*   r8   r9   r   r#   c                 S   r<   r=   r>   r?   r=   r=   rC   rD   '  rE   z!Body.__init__.<locals>.<dictcomp>r=   )rw   rx   r   rF   rG   rH   r+   r-   r,   rI   r   r   rJ   rK   rL   rM   )$rN   r/   r   r   rw   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r2   rO   rP   rQ   rR   r=   rC   rM     sz   1	
zBody.__init__rT   c                 C   rU   rV   rY   r[   r=   r=   rC   r\   +  r]   zBody.__repr__)rZ   r^   r_   r   r   r   r   r   r   rd   ra   rb   rc   r
   r   r   r   r   rM   r\   re   r=   r=   rR   rC   rv     s    

	





 
!
"
#$+,-./crv   c                A         e Zd Zefedddedddddddddddddeeeeededdddddedeeg ef df dee de	d	ee	 d
ee
df dee	df dee	df dee	 dee	 dee dee dee dee dee
 dee
 dee	 deee	 edf dee	df deedf deedf deedf dee
df dee
df deee  deee ed f d!eee	ef  d"eee	edf d#ed$eee	ef df d%ef> fd&d'Z  ZS )(FormNz!application/x-www-form-urlencodedTr   r   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r/   r   r   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c                       t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S  Nr/   r   r   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r   r+   r*   r,   r-   r.   r=   rn    rN   r/   r   r   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r2   rR   r=   rC   rM   0  |   0	

zForm.__init__rZ   r^   r_   r   r   r   r   r   r   ra   rb   rc   r
   r   rd   r   r   r   rM   re   r=   r=   rR   rC   rz   /      







 
!
"#*+,-.rz   c                A       ry   )(FileNzmultipart/form-dataTr{   r/   r   r   rx   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r0   r$   r%   r&   r'   r(   r)   r*   r+   r1   r,   r   r-   r.   r2   c                    r|   r}   rn   r~   rR   r=   rC   rM     r   zFile.__init__r   r=   r=   rR   rC   r     r   r   )rF   typingr   r   r   r   r   r   fastapi.openapi.modelsr   fastapi.paramsr	   typing_extensionsr
   r   _compat.may_v1r   r   _compat.sharedr   r   r`   r   rf   rk   rq   rt   rv   rz   r   r=   r=   r=   rC   <module>   s    
  eVTVThT