
    (phn                     8   S SK r S SKrS SKrSSK7   \R
                  R                  r\R                  " S5      r	S r
S\R                  -   \R                  -   r\R                  " \5      R                  S5      r\R"                  " \R                  " S\R                  -   \R                  -   5      \R$                  " \R                  " S	5      R'                  5       5      -   5      R                  S
5      r\R*                  R-                  5       R                  S5      R/                  \
5      r\R-                  5       R                  S5      R3                  \5      r\\R6                  " S	5      -   \\-  -   r\R:                  " \R<                  " \R>                  " \5      5      5      r \" S5      r!\!\ " S5      \" S5      -  -   r"\ R-                  5       r#\R<                  " \R>                  " \"5      5      r$SS jr%SS jr&g! \ a    \R                  r GNf = f)    N   )*z\\(.)c                 :    [         R                  SUS   SS 5      $ )Nz\1r   r   )UNQUOTE_PAIRSsub)slts      @/var/www/html/venv/lib/python3.13/site-packages/httplib2/auth.py<lambda>r      s    -++E1Q4":>    z!#$%&'*+-.^_`|~tokenz-._~+/=token68zquoted-stringzauth-param-nameschemeparamsc                     U R                  US5      R                  5       nU(       d  0 $  [        R                  U5      nUR                  5       $ ! [        R
                   a  n[        U5      eSnAff = f)z(https://tools.ietf.org/html/rfc7615
     N)getstripauthentication_infoparseStringppParseExceptionMalformedHeaderasDict)headers
headernameheaderparsedexs        r   _parse_authentication_infor#   %   sk     [[R(..0F	*$008
 ==?	  *j))*s   A A4$A//A4c                 x   U R                  US5      R                  5       nU(       d  0 $  [        R                  U5      nU Vs0 s HA  nUS   R                  5       SU;   a  US   R                  5       OSUR                  S5      0_MC     nnU$ ! [        R
                   a  n[        U5      eSnAff = fs  snf )z?Returns a dictionary of dictionaries, one dict per auth_scheme.r   Nr   r   r   )	r   r   www_authenticater   r   r   r   lowerr   )r   r   r    r!   r"   	challengeretvals          r   _parse_www_authenticater)   4   s    [[R(..0F	*!--f5  	  I 	(!!#y  &/x%8%?%?%Ay}}W-.	/  	   M  *j))*s   B AB7B4$B//B4)zauthentication-info)zwww-authenticate)'base64re	pyparsingr   errorcommondowncaseTokensAttributeErrorcompiler   unquotenumsalphastcharWordsetNamer   CombineOptionalleaveWhitespacer   dblQuotedStringcopysetParseActionquoted_stringaddParseActionauth_param_nameSuppress
auth_paramDictdelimitedListGroupr   r   r'   r   r%   r#   r)    r   r   <module>rG      s    	  'YY--N 

8$
> 	BGG#bii/
w'
**RWWX/"));<r{{277SV<KgKgKi?jj
k
s
s ""'')11/BQQRYZ**,&&'89HHXr{{3//=53HI
	!!"((:"67	8	xfX&)99:	kkm ##BHHY$78 S  '&&N's   H HH