
    jof@2                        U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl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mZmZmZmZmZmZmZmZmZ d dlZd dlZerd dlmZ d dlmZ d dl m!Z! ej"        #                    d	          Z$ ej%        d
          Z&ej'        e(d<   erej)        Z)n0 ed          Z*e+ddde,deee-                  de.dee*ge*f         fdZ)d Z/d Z0d Z1d Z2d Z3d Z4d Z5 e6ed          rd Z7nd Z7d Z8edee,ef         ed          f         Z9e	 	 	 	 	 d>d!d"d#edee,ef         f         d$ee,         d%ee,         d&ee,         d'eee,ef                  d(eed)                  d*e	dd)fd+            Z:e	 	 	 	 	 d>d!d"d#ee9         d$ee,         d%ee,         d&ee,         d'eee,ef                  d(eed)                  d*e	ded)         fd,            Z:	 	 	 	 	 d>d!d"d#e9d$ee,         d%ee,         d&ee,         d'eee,ef                  d(eed)                  d*e	ded)ed)         f         fd-Z:eddd.d#edee,ef         f         d'eee,ef                  d(eed)                  d/d0d*e	dd)fd1            Z;eddd.d#ee9         d'eee,ef                  d(eed)                  d/d0d*e	ded)         fd2            Z;ddd.d#e9d'eee,ef                  d(eed)                  d/d0d*e	ded)ed)         f         fd3Z;d4 Z<ed5e,dee,e,f         fd6            Z=ed?d7            Z=d5ee,df         deee,e,f         df         fd8Z= ed9          Z>d: Z?d; Z@ G d< d=eA          ZBdS )@    N)ApiMode)	parse_qsl
quote_plus)TypeTYPE_CHECKING)
CallableTypeVarUnionoverloadDictListcastAnyOptionalMappingStripeResponseStripeObject_APIRequestor
STRIPE_LOGstripelogger_T   category
stacklevel__msgr   r   returnc                8     dt           dt           f fd}|S )N__argr!   c                     	 _          S t           t                    ra j         j        t
          j        ut          j                  fd            }t          |           _        x _         |_          S t                     r2t          j                    fd            }x _         |_         |S t          d           )Nc                     t          j        dz              t          j        ur | g|R i |S s|s|rt	          | j         d           |           S )Nr   r   z() takes no arguments)warningswarnobject__new__	TypeError__name__)clsargskwargsr    r   has_initoriginal_newr   s      F/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_util.pyr)   z.deprecated.<locals>.decorator.<locals>.__new__B   s    MZ!^    $6>99+|CA$AAA&AAA% 14 16 1'3<(N(N(NOOO+|C000    c                  H    t          j        dz               | i |S )Nr   r   )r&   r'   )r-   r.   r#   r    r   r   s     r1   wrapperz.deprecated.<locals>.decorator.<locals>.wrapperT   s>    MZ!^    !5$1&111r2   zY@deprecated decorator with non-None category must be applied to a class or callable, not )__deprecated__
isinstancetyper)   __init__r(   	functoolswrapsstaticmethodcallabler*   )r#   r)   r4   r/   r0   r    r   r   s   `  @@r1   	decoratorzdeprecated.<locals>.decorator:   s0   ',$E4(( #$} >@..
1 
1 
1 
1 
1 
1 
1 
1 /.
1 !-W 5 5@EE$w'=% ''2 2 2 2 2 2 2 ('2 AFE$w'=:05: :  r2   )r   )r    r   r   r=   s   ``` r1   
deprecatedr>   4   sD    '	R '	B '	 '	 '	 '	 '	 '	 '	 '	R r2   c                  b    dt           j        v o!dt           j                            dd          v S )NAPPENGINE_RUNTIMEDevSERVER_SOFTWARE )osenvironget r2   r1   is_appengine_devrH   f   s4    "*, "*..2; ; 2 r2   c                  Z    t           j        dv rt           j        S t          dv rt          S d S )Ndebuginfo)r   logr   rG   r2   r1   _console_log_levelrN   l   s/    z&&&z	(	(	(tr2   c                     t          t          dd| i|          }t                      dk    rt          |t          j                   t                              |           d S )NmessagerK   filerG   )logfmtdictrN   printsysstderrr   rK   rP   paramsmsgs      r1   	log_debugr[   u   s`    
00g000
1
1Cw&&c
####
LLr2   c                     t          t          dd| i|          }t                      dv rt          |t          j                   t                              |           d S )NrP   rJ   rQ   rG   )rS   rT   rN   rU   rV   rW   r   rL   rX   s      r1   log_infor]   |   sa    
00g000
1
1C000c
####
KKr2   c                      t           j        d S t          j        dt           j                  } | d S |                                 d         S )Nzsk_(live|test)_r   )r   api_keyrematchgroups)ra   s    r1   _test_or_live_environmentrc      s@    ~H'88E}<<>>!r2   c                 L    d                     t                      pd|           S )Nz/https://dashboard.stripe.com/{env}/logs/{reqid}test)envreqid)formatrc   )
request_ids    r1   dashboard_linkrj      s0    <CC%''16 D   r2   c                     d d                     fdt          |                                           D                       S )Nc                 R   t          |d          r|                    d          }t          |t                    st          |          }t	          j        d|          rt          |          }t	          j        d|           rt          |           } d                    | |          S )Ndecodezutf-8z\sz{key}={val}keyval)hasattrrm   r6   strr`   searchreprrh   rn   s     r1   fmtzlogfmt.<locals>.fmt   s    3!! 	&**W%%C
 #s## 	c((C9UC   	s))C9UC   	s))C###555r2    c                 .    g | ]\  }} ||          S rG   rG   ).0ro   rp   ru   s      r1   
<listcomp>zlogfmt.<locals>.<listcomp>   s'    IIIxsCSSc]]IIIr2   )joinsorteditems)propsru   s    @r1   rS   rS      sK    6 6 6" 88IIII6%++--3H3HIIIJJJr2   compare_digestc                 ,    t          j        | |          S N)hmacr~   )val1val2s     r1   secure_comparer      s    "4...r2   c           	         t          |           t          |          k    rdS d}t          | t                    r4t          |t                    rt          | |          D ]\  }}|||z  z  }n^t          | |          D ]M\  }}|t	          t          t          |                    t	          t          t          |                    z  z  }N|dk    S )a[  
        Returns True if the two strings are equal, False otherwise.
        The time taken is independent of the number of characters that match.
        For the sake of simplicity, this function executes in constant time
        only when the two strings have the same length. It short-circuits when
        they have different lengths.
        Fr   )lenr6   byteszipordr   rr   )r   r   resultxys        r1   r   r      s     t99D		!!5dE"" 	@z$'>'> 	@D$    1!a%  D$ @ @1#d3ll++c$sA,,.?.???{r2   c                      ddl m}  | S )Nr   OBJECT_CLASSES)stripe._object_classesr   r   s    r1   get_object_classesr      s    555555r2   r   RespV1)api_moderespr_   stripe_versionstripe_accountrY   klass_r   r   c                    d S r   rG   r   r_   r   r   rY   r   r   s          r1   convert_to_stripe_objectr      s	     Sr2   c                    d S r   rG   r   s          r1   r   r      s	     3r2   c          
      X    ddl m} t          | || |j        |||          |          S )Nr   r   )r_   r   r   r   rY   r   	requestorr   )stripe._api_requestorr   _convert_to_stripe_object_global_with_options)r   r_   r   r   rY   r   r   r   s           r1   r   r      s[     433333$4-4))
 
 

 
 
 
 
r2   )rY   r   r   r   c                     d S r   rG   r   s        r1   r   r      s	     Sr2   c                     d S r   rG   r   s        r1   r   r     s	     3r2   c                    d }ddl m} ddlm} t	          | |          r| }t          t          |j                  } t	          | t                    rfd| D             S t	          | t                    rt	          | |          s| 
                                } |                     d          }t	          |t                    r#t                                          ||          }	n}	n|}	|	                    | |          }
|?t          |
d          r/t!          |
d          dk    st!          |
d          dk    r||
_        |
S t          d	|           S )
Nr   r   r   c                 R    g | ]#}t          t          d |                    $S )z%Union[StripeResponse, Dict[str, Any]])r   r   r   r   )r   r   )rx   ir   r   r   s     r1   ry   z-_convert_to_stripe_object.<locals>.<listcomp>,  sQ     
 
 
  &A1EE#!	  
 
 
r2   r(   )valueslast_responser   r   listsearch_resultr   )stripe._stripe_responser   stripe._stripe_objectr   r6   r   r   datar   rT   copyrF   rr   r   _construct_fromrq   getattr_retrieve_params)r   rY   r   r   r   stripe_responser   r   
klass_nameklassobjs     ```      r1   r   r     s    O 766666222222$'' 0D/.//$ **
 
 
 
 
 
 
 
 
 	
 
D$		  *
4(F(F  *yy{{XXh''
j#&& 	!&((,,ZFFEEEE E##)	 $ 
 
 X&&  h''611C**o== $*C 
ND)))r2   c                     t          | t                    rd | D             S t          | t                    rd |                                 D             S | S )zConverts a StripeObject back to a regular dict.

    Nested StripeObjects are also converted back to regular dicts.

    :param obj: The StripeObject to convert.

    :returns: The StripeObject as a dict.
    c                 ,    g | ]}t          |          S rG   convert_to_dict)rx   r   s     r1   ry   z#convert_to_dict.<locals>.<listcomp>b  s     000q""000r2   c                 4    i | ]\  }}|t          |          S rG   r   )rx   kvs      r1   
<dictcomp>z#convert_to_dict.<locals>.<dictcomp>g  s&    >>>$!Q?1%%>>>r2   )r6   r   rT   r|   )r   s    r1   r   r   X  s_     #t 00C0000 
C		 >>#))++>>>>
r2   idempotency_keyc                     d S r   rG   r   s    r1   populate_headersr   l  s	     Sr2   c                     d S r   rG   r   s    r1   r   r   r  s    58Sr2   c                     | d| iS d S )NzIdempotency-KeyrG   r   s    r1   r   r   v  s     "!?334r2   Tc                 X    |                                  }|                    |           |S r   )r   update)r   r   zs      r1   merge_dictsr     s#    	AHHQKKKHr2   c                 $    t          |           }|S r   )r   )idquotedIds     r1   sanitize_idr     s    "~~HOr2   c                   l    e Zd ZU d Z ed          Zeed<   dedefdZd	de	e
e                  fdZdS )
class_method_variantc                     || _         d S r   )class_method_name)selfr   s     r1   r8   zclass_method_variant.__init__  s    !2r2   r   methodr!   c                 :    || _         t          t          |           S r   )r   r   r   )r   r   s     r1   __call__zclass_method_variant.__call__  s    At}}r2   Nobjtypec                 X     t          j         j                   fd            }|S )Nc                       j         g| R i |S t          |           dk    r75t          | d                   r j         | d         g| dd          R i |S t          j                  } || i |S )Nr   r   )r   r   r6   r   r   )r-   r.   class_methodr   r   r   s      r1   _wrapperz.class_method_variant.__get__.<locals>._wrapper  s     #t{38888888D		A'tAw00 ( #t{47@T!""X@@@@@@  'w0FGG#|T4V444r2   )r9   r:   r   )r   r   r   r   s   ``` r1   __get__zclass_method_variant.__get__  sF    		%	%	5 	5 	5 	5 	5 	5 
&	%	5& r2   r   )r+   
__module____qualname__r8   r	   r   r   __annotations__r   r   r   r   rG   r2   r1   r   r     s         3 3 3 	AKKKq Q     HT#Y$7      r2   r   )NNNNN)r   Nr!   N)Cr9   r   iologgingrV   rD   r`   r&   stripe._api_moder   urllib.parser   r   typing_extensionsr   r   typingr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rE   rF   r   	getLoggerr   Loggerr   r>   r   DeprecationWarningrr   WarningintrH   rN   r[   r]   rc   rj   rS   rq   r   r   r   r   r   r   r   r   r   r   r(   r   rG   r2   r1   <module>r      s         				  



 				 				  $ $ $ $ $ $ . . . . . . . . 1 1 1 1 1 1 1 1                             4666666222222333333Z^^L))
**844 4 4 4 9"-JJ	B -?	/ / // 4=)/ 	/
 
2$(	/ / / /d            K K K, 74!"" / / / /
  (   tCH~tF|;< 
 "$($(*.-1	 	 	 	
 $sCx.0
1	c]	 SM	 SM		
 WS#X&'	 T.)*	 	 	 	 	 
	 
 "$($(*.-1	 	 	 	
t*	c]	 SM	 SM		
 WS#X&'	 T.)*	 	 
.	 	 	 
	 "$($(*.-1   
c] SM SM	
 WS#X&' T.)*  >4//0   2 
 +/-1	  
 $sCx.0
1 WS#X&' T.)*	
      
 
 +/-1	  
t* WS#X&' T.)*	
   
.   
 +/-1	?* ?* ?*
?* WS#X&'?* T.)*	?*
 ?* ?* >4//0?* ?* ?* ?*D  ( 
	#s(^   

 
 8 8 8 
 839%
4S>4     GCLL    
! ! ! ! !6 ! ! ! ! !r2   