
    pT:i                    D   S SK Jr  S SKrS SKrS SKJrJr  S SKJrJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJrJr  S S	KJr  S S
KJr  \	" S5      rSS jr  S       SS jjr " S S\5      r " S S5      r " S S5      r " S S5      r " S S\5      r " S S\5      r g)    )annotationsN)CallableSequence)Any	ParamSpec)	urlencode)is_async_callable)HTTPException)HTTPConnectionRequest)RedirectResponse)	WebSocket_Pc                L    U H  nX R                   R                  ;  d  M    g   g)NFT)authscopes)connr   scopes      \/var/www/html/aadhar_voter_ocr/venv/lib/python3.13/site-packages/starlette/authentication.pyhas_required_scoper      s$    		(((      c                n   ^^^ [        U [        5      (       a  U /O
[        U 5      m    SUUU4S jjnU$ )Nc                  >^ ^ [         R                  " T 5      n[        UR                  R	                  5       5       H4  u  mnUR
                  S:X  d  UR
                  S:X  d  M(  UR
                  n  O   [        ST  S35      eUS:X  a%  [        R                  " T 5      SU UU	4S jj5       nU$ [        T 5      (       a'  [        R                  " T 5      S	U UUU	U
4S jj5       nU$ [        R                  " T 5      S	U UUU	U
4S jj5       nU$ )
Nrequest	websocketz2No "request" or "websocket" argument on function ""c                   >#    UR                  ST[        U 5      :  a  U T   OS 5      n[        U[        5      (       d   e[	        UT5      (       d  UR                  5       I S h  vN   g T" U 0 UD6I S h  vN   g  N N7f)Nr   )getlen
isinstancer   r   close)argskwargsr   funcidxscopes_lists      r   websocket_wrapper6requires.<locals>.decorator.<locals>.websocket_wrapper-   sr     "JJ{s4yDIVZ[	!)Y7777))[AA#//+++//// ,/s$   A"B %A<&B 6A>7B >B c                 d  >#    UR                  ST[        U 5      :  a  U T   OS 5      n[        U[        5      (       d   e[	        UT5      (       dL  Tb@  [        S[        UR                  5      05      nUR                  T5       SU 3n[        USS9$ [        T	S9eT" U 0 UD6I S h  vN $  N7fNr   next?i/  )urlstatus_code)r.   r   r   r    r   r   r   strr-   url_forr   r
   
r"   r#   r   orig_request_qparamnext_urlr$   r%   redirectr&   r.   s
        r   async_wrapper2requires.<locals>.decorator.<locals>.async_wrapper;   s      **YS3t9_S	RVW!'73333)';??+.7W[[AQ8R.S+&-ooh&?%@BUAV#W/H#NN'K@@!4262222s   B&B0)B.*B0c                 H  > UR                  ST[        U 5      :  a  U T   OS 5      n[        U[        5      (       d   e[	        UT5      (       dL  Tb@  [        S[        UR                  5      05      nUR                  T5       SU 3n[        USS9$ [        T	S9eT" U 0 UD6$ r*   r/   r2   s
        r   sync_wrapper1requires.<locals>.decorator.<locals>.sync_wrapperL   s     **YS3t9_S	RVW!'73333)';??+.7W[[AQ8R.S+&-ooh&?%@BUAV#W/H#NN'K@@T,V,,r   )r"   _P.argsr#   	_P.kwargsreturnNone)r"   r;   r#   r<   r=   r   )
inspect	signature	enumerate
parametersvaluesname	Exception	functoolswrapsr	   )r$   sig	parametertype_r'   r6   r9   r%   r5   r&   r.   s   `      @r   	decoratorrequires.<locals>.decorator    s     %'(=(=(?@NC~~*inn.K! A
 PQUPVVWXYYK__T"0 0 #0 %$t$$__T"
3 
3 #
3 !  __T"
- 
- #
-  r   )r$   Callable[_P, Any]r=   rM   )r    r0   list)r   r.   r5   rK   r&   s    `` @r   requiresrO      sA    
 )556(4<K9 9 	9  9 v r   c                      \ rS rSrSrg)AuthenticationError^    N)__name__
__module____qualname____firstlineno____static_attributes__rS   r   r   rQ   rQ   ^   s    r   rQ   c                      \ rS rSrSS jrSrg)AuthenticationBackendb   c                   #    [        5       e7fNNotImplementedError)selfr   s     r   authenticate"AuthenticationBackend.authenticatec   s     !##s   rS   N)r   r   r=   z'tuple[AuthCredentials, BaseUser] | None)rT   rU   rV   rW   ra   rX   rS   r   r   rZ   rZ   b   s    $r   rZ   c                  "    \ rS rSrSSS jjrSrg)AuthCredentialsg   Nc                :    Uc  / U l        g [        U5      U l        g r]   )rN   r   )r`   r   s     r   __init__AuthCredentials.__init__h   s    "NbVr   )r   r]   )r   zSequence[str] | None)rT   rU   rV   rW   rg   rX   rS   r   r   rd   rd   g   s    = =r   rd   c                  P    \ rS rSr\SS j5       r\SS j5       r\SS j5       rSrg)	BaseUserl   c                    [        5       er]   r^   r`   s    r   is_authenticatedBaseUser.is_authenticatedm       !##r   c                    [        5       er]   r^   rm   s    r   display_nameBaseUser.display_nameq   rp   r   c                    [        5       er]   r^   rm   s    r   identityBaseUser.identityu   rp   r   rS   Nr=   boolr=   r0   )	rT   rU   rV   rW   propertyrn   rr   ru   rX   rS   r   r   rj   rj   l   s<    $ $ $ $ $ $r   rj   c                  F    \ rS rSrSS jr\SS j5       r\S	S j5       rSrg)

SimpleUserz   c                    Xl         g r]   username)r`   r   s     r   rg   SimpleUser.__init__{   s     r   c                    g)NTrS   rm   s    r   rn   SimpleUser.is_authenticated~   s    r   c                    U R                   $ r]   r   rm   s    r   rr   SimpleUser.display_name   s    }}r   r   N)r   r0   r=   r>   rw   ry   )	rT   rU   rV   rW   rg   rz   rn   rr   rX   rS   r   r   r|   r|   z   s/    !    r   r|   c                  <    \ rS rSr\SS j5       r\SS j5       rSrg)UnauthenticatedUser   c                    g)NFrS   rm   s    r   rn   $UnauthenticatedUser.is_authenticated   s    r   c                    g)N rS   rm   s    r   rr    UnauthenticatedUser.display_name   s    r   rS   Nrw   ry   )rT   rU   rV   rW   rz   rn   rr   rX   rS   r   r   r   r      s(       r   r   )r   r   r   zSequence[str]r=   rx   )i  N)r   zstr | Sequence[str]r.   intr5   z
str | Noner=   z0Callable[[Callable[_P, Any]], Callable[_P, Any]])!
__future__r   rF   r?   collections.abcr   r   typingr   r   urllib.parser   starlette._utilsr	   starlette.exceptionsr
   starlette.requestsr   r   starlette.responsesr   starlette.websocketsr   r   r   rO   rE   rQ   rZ   rd   rj   r|   r   rS   r   r   <module>r      s    "   . ! " . . 6 0 *t_ BBB B 6	BJ	) 	$ $
= =
$ $
 
( r   