
    Ch{M              	          S SK r S SKrS SKJr  S SKJrJrJrJr  S SK	J
r
JrJrJrJrJrJrJrJrJrJr  S SKrS SKJr  S SKJrJrJr  S SKJr  S SKJr  S S	KJ r   S S
K!J"r"  \(       a  S SKJ#r#  \S\\$\
4   S\\\$\
4      S\\$\
4   4S j5       r%\S\&S\\\$\
4      S\&4S j5       r%S\&S\\\$\
4      S\&4S jr%S\\\
      S\\
   S\\$\
4   4S jr' " S S\\$\
4   5      r(g)    N)deepcopy)TYPE_CHECKINGTypeLiteralSelf)AnyDictListOptionalMappingSetTupleClassVarUnioncastoverload)_util)StripeResponseStripeStreamResponseStripeStreamResponseAsync)_encode_datetime)extract_options_from_dict)ApiMode)BaseAddress)_APIRequestorcurrentpreviousreturnc                     g N r   r   s     X/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_stripe_object.py_compute_diffr$   &   s         c                     g r    r!   r"   s     r#   r$   r$   ,   s     r%   c                 *   [        U [        5      (       ax  [        [        [        [
        4   U 5      n U=(       d    0 nU R                  5       n[        UR                  5       5      [        UR                  5       5      -
   H  nSX#'   M	     U$ U b  U $ S$ )N )	
isinstancedictr   r	   strr   copysetkeys)r   r   diffkeys       r#   r$   r$   2   sz     '4  tCH~w/>r||~x}}'#diik*::CDI ;)71r1r%   arrayc                    U =(       d    / n U=(       d    / n0 n[        U 5       Ha  u  p4[        U5      U:  a  X   OS n[        US5      (       a  UR                  U5      U[	        U5      '   MJ  [        XE5      U[	        U5      '   Mc     U$ )N	serialize)	enumeratelenhasattrr3   r+   r$   )r1   r   paramsivprevious_items         r#   _serialize_listr;   ?   s|     KRE~2HF% '*8}q'8d1k""[[7F3q6N*1<F3q6N ! Mr%   c                     ^  \ rS rSr%  " S S\R
                  5      r\\\	4   \
S'   \\\\	4      \
S'        SSSS.S\\   S	\\   S
\\   S\\   S\\   S\S   S\	4U 4S jjjjr\S 5       r\S 5       r\S 5       r\S\\   4S j5       rS\\\	4   SS4U 4S jjr\(       d  U 4S jrS rU 4S jrS\S\	SS4U 4S jjrS\S\	4U 4S jjrS\SS4U 4S jjrS \\\	4   SS4S! jrS\\	S"4   4S# jr\   STS$S%.S&\\\	4   S'\\   S
\\   S\\   S\\   S(\ S\!4S) jjj5       r"\SS*.S&\\\	4   S\\   S+SS(\ S\!4
S, jj5       r#     SUS$S%.S&\\\	4   S	\\   S.\\$   S
\\   S\\   S\\   S(\ SS4S/ jjjr%S-SSS0.S&\\\	4   S.\\$   S\\   S+\S   S(\ SS4U 4S1 jjjr&\'RP                  " S25       SVS3S4.S5\)S6   S7\S\\\\	4      S8\*SS 4
S9 jjj5       r+  SWS5\)S6   S7\S\\\\	4      S:\\,\      S8\*SS 4S; jjr-  SWS5\)S6   S7\S\\\\	4      S:\\,\      S8\*SS 4S< jjr. SVS3S4.S5\S7\S\\\\	4      S8\*S\/4
S= jjjr0 SVS3S4.S5\S7\S\\\\	4      S8\*S\14
S> jjjr2S\4S? jr3S\4S@ jr4\'RP                  " SA5      S\\\	4   4SB j5       r5S\\\	4   4SC jr6\'RP                  " SD5      S\\\	4   4SE j5       r7\\'RP                  " SD5      S\\   4SF j5       5       r8SG\\\\	4      S\\\	4   4SH jr9SXU 4SI jjr:SJ\\;\	4   SS 4U 4SK jjr<0 r=\>\\\4      \
SL'   0 r?\>\\\@S    4      \
SM'   / rA\>\,\      \
SN'   SO\S\\@S       4SP jrBSO\4SQ jrCSRrDU =rE$ )YStripeObjectP   c                   4   ^  \ rS rSrS\S\4U 4S jjrSrU =r$ )StripeObject._ReprJSONEncoderQ   or   c                    > [        U[        R                  5      (       a  [        U5      $ [        [        R
                  U ]  U5      $ r    )r)   datetimer   superr=   _ReprJSONEncoderdefault)selfrB   	__class__s     r#   rG   %StripeObject._ReprJSONEncoder.defaultR   s9    !X..//'**66EaHHr%   r!   )__name__
__module____qualname____firstlineno__r   rG   __static_attributes____classcell__rI   s   @r#   rF   r@   Q   s    	IS 	IS 	I 	Ir%   rF   _retrieve_params	_previousN)
_requestoridapi_keystripe_versionstripe_accountlast_responserT   r   r7   c                   > [         [        U ]  5         [        5       U l        [        5       U l        XPl        Xpl        S U l        Uc  [        R                  R                  UUUS9OUU l        U(       a  XS'   g g )NrV   rW   rX   rU   )rE   r=   __init__r-   _unsaved_values_transient_values_last_responserR   rS   striper   _global_with_optionsrT   )	rH   rU   rV   rW   rX   rY   rT   r7   rI   s	           r#   r\   StripeObject.__init__Z   s     	lD*,),+.5+ & !   55-- 6   	 J r%   c                 .    U R                   R                  $ r    )rT   rV   rH   s    r#   rV   StripeObject.api_key|   s    &&&r%   c                 .    U R                   R                  $ r    )rT   rX   rd   s    r#   rX   StripeObject.stripe_account       ---r%   c                 .    U R                   R                  $ r    )rT   rW   rd   s    r#   rW   StripeObject.stripe_version   rh   r%   r   c                     U R                   $ r    )r_   rd   s    r#   rY   StripeObject.last_response   s    """r%   update_dictc                 r   > U H  nU R                   R                  U5        M      [        [        U ]  U5      $ r    )r]   addrE   r=   update)rH   rm   krI   s      r#   rp   StripeObject.update   s7     A  $$Q'  \4/<<r%   c                    > US;   a"  U R                   R                  X05      U l         g US   S:X  d  XR                  ;   a  [        [        U ]  X5      $ X U'   g )N>   rV   rX   rW   r   _)rT   _replace_options__dict__rE   r=   __setattr__rH   rq   r9   rI   s      r#   rw   StripeObject.__setattr__   sW    CC"&//"B"BA6"Jts{a==0\4<QBBGr%   c                     US   S:X  a  [        U5      e XR                  ;   a  U R                  U   nX   $ ! [         a  n[        UR                  6 UeS nAff = fNr   rt   )AttributeError_field_remappingsKeyErrorargs)rH   rq   errs      r#   __getattr__StripeObject.__getattr__   sa    ts{$Q''9.....q1Aw 9$chh/S89s   !8 
AAAc                 `   > US   S:X  d  XR                   ;   a  [        [        U ]  U5      $ X	 g r{   )rv   rE   r=   __delattr__rH   rq   rI   s     r#   r   StripeObject.__delattr__   s.    ts{a==0\4<Q??Gr%   rq   r9   c                    > US:X  a%  [        SU< S[        U 5      < SU< SU< S3	5      e[        U S5      (       d  [        5       U l        U R                  R                  U5        [        [        U ]#  X5        g )Nr(   zYou cannot set z to an empty string on this object. The empty string is treated specially in our requests. If you'd like to delete the property using the save() method on this object, you may set .z#=None. Alternatively, you can pass zI='' to delete the property when using a resource method such as modify().r]   )	
ValueErrorr+   r6   r-   r]   ro   rE   r=   __setitem__rx   s      r#   r   StripeObject.__setitem__   sh    7
 c$iA	'  t.//#&5D   #lD-a3r%   c                    >  [         [        U ]  U5      $ ! [         aR  nXR                  ;   a<  [        U< SU< SSR                  [        U R                  5       5      5      < 35      eUeS nAff = f)Nz.  HINT: The z attribute was set in the past.It was then wiped when refreshing the object with the result returned by Stripe's API, probably as a result of a save().  The attributes currently available on this object are: z, )rE   r=   __getitem__r~   r^   joinlistr.   )rH   rq   r   rI   s      r#   r   StripeObject.__getitem__   sl    	t8;; 	*** !TYYtDIIK'89;  		s    
A2AA--A2c                    > [         [        U ]  U5        [        U S5      (       a,  XR                  ;   a  U R                  R                  U5        g g g )Nr]   )rE   r=   __delitem__r6   r]   remover   s     r#   r   StripeObject.__delitem__   sJ    lD-a0 4*++5I5I0I  ''* 1J+r%   statec                 &    U R                  U5        g r    )rp   )rH   r   s     r#   __setstate__StripeObject.__setstate__   s    Er%   .c                     [        U 5      U R                  SS 5      U R                  U R                  U R                  4[        U 5      4nU$ NrU   )typegetrV   rW   rX   r*   )rH   reduce_values     r#   
__reduce__StripeObject.__reduce__   sM    Jt$####	 J	
 r%   V1)api_modevaluesr0   r   c          	      `    U R                  U[        R                  R                  UUUS9UUS9$ )Nr[   )r   	requestorr   rY   )_construct_fromr`   r   ra   )clsr   r0   rW   rX   rY   r   s          r#   construct_fromStripeObject.construct_from   sJ     ""**??-- @ 
 ' # 	
 		
r%   )rY   r   c                X    U " UR                  S5      UUS9nUR                  UUUUS9  U$ )NrU   )rY   rT   )r   rY   r   r   )r   _refresh_from)r   r   rY   r   r   instances         r#   r   StripeObject._construct_from	  sH     JJt' 

 	'	 	 	
 r%   Fpartialc                d    U R                  UUUU R                  R                  UUUS.5      US9  g )Nr[   )r   r   rY   r   r   )r   rT   ru   )rH   r   rV   r   rW   rX   rY   r   s           r#   refresh_fromStripeObject.refresh_from  sE     	'oo66&&4&4  	 	
r%   )r   rY   r   c                  > U=(       d    U R                   U l         U=(       d    [        USS 5      U l        U(       a  U R                  [	        U5      -
  U l        OX[	        U R                  5       5      [	        U5      -
  nU R                  U-  U l        [	        5       U l        U R                  5         U R                  [	        U5      -
  U l        UR                  5        H  u  pxU R                  U5      n	U R                  U5      n
U
(       aY  UR                  5        VVs0 s H;  u  pxUUc  S O/[        [        [        R                  " US U	U R                   US95      _M=     nnnOD[        [        [        [         [           4   [        R                  " US U	U R                   US95      n["        [        U ]K  WU5        M     Xl        g s  snnf )Nr_   )respr7   klass_r   r   )rT   getattrr_   r]   r-   r.   r^   clearitems_get_inner_class_type _get_inner_class_is_beneath_dictr   r=   r   _convert_to_stripe_objectr   r
   rE   r   rS   )rH   r   r   rY   r   r   removedrq   r9   inner_classis_dictobjrI   s               r#   r   StripeObject._refresh_from8  s    $6t+ 
w$d0
 #'#7#7#f+#ED $))+&V4G%)%;%;g%ED"#&5D JJL!%!7!7#f+!ELLNDA44Q7K;;A>G !"	 !* y $77!"#'#.&*oo%-	 !*    ,\(::;33#*"&//!)	 ,1!S9= #@  9s   "AGz:This will be removed in a future version of stripe-python.api)base_addressmethod)r   postdeleteurlr   c                0    [         R                  U UUUUS9$ )N)r7   r   )r=   _request)rH   r   r   r7   r   s        r#   requestStripeObject.requestu  s+     $$% % 
 	
r%   usagec          	      v    Uc  U R                   n[        U5      u  pgU R                  R                  UUUUUUS9$ N)r7   optionsr   r   )rR   r   rT   r   rH   r   r   r7   r   r   request_optionsrequest_paramss           r#   r   StripeObject._request  sO     >**F*CF*K'&&!#% ' 
 	
r%   c          	         #    Uc  U R                   n[        U5      u  pgU R                  R                  UUUUUUS9I S h  vN $  N7fr   )rR   r   rT   request_asyncr   s           r#   _request_asyncStripeObject._request_async  s\      >**F*CF*K'__22!#% 3 
 
 	
 
s   >A AAc                t    Uc  U R                   n[        U5      u  pVU R                  R                  UUUUUS9$ N)r7   r   r   )rR   r   rT   request_streamrH   r   r   r7   r   r   r   s          r#   _request_streamStripeObject._request_stream  sL     >**F*CF*K'--!#% . 
 	
r%   c                   #    Uc  U R                   n[        U5      u  pVU R                  R                  UUUUUS9I S h  vN $  N7fr   )rR   r   rT   request_stream_asyncr   s          r#   _request_stream_async"StripeObject._request_stream_async  sY      >**F*CF*K'__99!#% : 
 
 	
 
s   =AA Ac                    [        U 5      R                  /nU R                  S5      n[        U[        5      (       a  UR                  U5        [        U R                  S5      [        5      (       a$  UR                  SU R                  S5      < 35        SSR                  U5      < S[        [        U 5      5      < S[	        U 5      < 3nU$ )NobjectrU   zid=< z at z> JSON: )	r   rK   r   r)   r+   appendr   hexrU   )rH   ident_partsobj_strunicode_reprs       r#   __repr__StripeObject.__repr__  s    Dz**+((8$gs##w'dhhtnc**$((4.:; HH[!4MI

 r%   c                 `    [         R                  " U R                  5       SSU R                  S9$ )NT   )	sort_keysindentr   )jsondumps_to_dict_recursiverF   rd   s    r#   __str__StripeObject.__str__  s.    zz##%%%	
 	
r%   zEDeprecated. The public interface will be removed in a future version.c                     [        U 5      $ r    )r*   rd   s    r#   to_dictStripeObject.to_dict  s     Dzr%   c                    S[         [        [        [        [        [
        4   4      S[         [        [        [
        4      4S jn[        U 5      R                  5        VVs0 s HM  u  p#U[        U[        5      (       a*  [        [        U[        [        [
           U5      5      5      OU" U5      _MO     snn$ s  snnf )Nvaluer   c                 X    U c  g [        U [        5      (       a  U R                  5       $ U $ r    )r)   r=   r   )r   s    r#   maybe_to_dict_recursive@StripeObject._to_dict_recursive.<locals>.maybe_to_dict_recursive  s-     }E<00//11r%   )r   r   r=   r	   r+   r   r*   r   r)   r   mapr   r
   )rH   r   r0   r   s       r#   r   StripeObject._to_dict_recursive  s    	E,S#X">?@	d38n%	 #4j..0	
 1
 %&& c14S	53IJK(/0 1	
 	
 
s   #AB;z^For internal stripe-python use only. The public interface will be removed in a future version.c                 "    U R                  5       $ r    )r   rd   s    r#   to_dict_recursiveStripeObject.to_dict_recursive  s     &&((r%   c                     [        U S5      $ r   )r   rd   s    r#   	stripe_idStripeObject.stripe_id  s    
 tT""r%   r   c                 L   0 nU R                   =(       d
    [        5       nU=(       d    U R                  =(       d    0 nU R                  5        H  u  pEUS:X  d  UR	                  S5      (       a  M#  [        U[        R                  5      (       a  MD  [        US5      (       a/  UR                  UR                  US 5      5      nU0 :w  a  XbU'   M  M  XC;   a  [        XQR                  US 5      5      X$'   M  US:X  d  M  Uc  M  [        XQR                  US 5      5      X$'   M     U$ )NrU   rt   r3   additional_owners)r]   r-   rS   r   
startswithr)   r`   APIResourcer6   r3   r   r$   r;   )rH   r   r7   unsaved_keysrq   r9   childs          r#   r3   StripeObject.serialize  s     "$++4su3t~~3JJLDADyALL--Av1122K((HLLD$9:B; %1I ")!\\!T-BC	))am+A||At/DE	 ! r%   c                    > [        U R                  S5      U R                  U R                  U R                  S9nU R
                  Ul        U R                  5        H  u  p#[        [         U]#  X#5        M     U$ )NrU   )rW   rX   )	r=   r   rV   rW   rX   rR   r   rE   r   )rH   copiedrq   r9   rI   s       r#   __copy__StripeObject.__copy__8  sk    HHTNLL....	
 #'"7"7JJLDA ,3A9 !
 r%   memoc                    > U R                  5       nX![        U 5      '   U R                  5        H"  u  p4[        [        U]  U[        XA5      5        M$     U$ r    )r  rU   r   rE   r=   r   r   )rH   r  r  rq   r9   rI   s        r#   __deepcopy__StripeObject.__deepcopy__N  sJ    RXJJLDA ,3Ax7HI !
 r%   r}   _inner_class_types_inner_class_dicts
field_namec                 8    U R                   R                  U5      $ r    )r  r   rH   r  s     r#   r   "StripeObject._get_inner_class_type^  s     &&**:66r%   c                     XR                   ;   $ r    )r  r  s     r#   r   -StripeObject._get_inner_class_is_beneath_dictc  s    4444r%   )r_   rS   rT   rR   r^   r]   )NNNNN)NNN)NFNNNr    )NN)r   r=   )FrK   rL   rM   rN   r   JSONEncoderrF   r   r+   r   __annotations__r   r   r\   propertyrV   rX   rW   rY   rp   r   rw   r   r   r   r   r   r	   r   r   r   classmethodr   r   r   r   boolr   r   r   
deprecatedr   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r  r3   r  intr  r}   r   r  r   r  r   r   rO   rP   rQ   s   @r#   r=   r=   P   s   I4++ I c3h''S)** !!%(,(,26  15 SM  #  !	 
 !   /  _-     D ' ' . . . . #x7 # #
="38,=	= 				9	4S 4S 4T 4$S S  +S +T +$sCx. T E#s(O  
 )-(,26
 !
S#X
 c]
 !	

 !
  /
 
 

 
* 
 37	 S#X  /	
 #  
 0 "&"'(,(,26
 !
S#X
 #
 $	

 !
 !
  /
 
 

: #(26/3;  S#X;  $	; 
  /;  O,;  ;  
;  ; z D ,0	
 %*
/0
 
 c3h(	
 "
 


( /3%)
/0
 
 c*+	

 S	"
 "
 

6 /3%)
/0
 
 c*+	

 S	"
 "
 

6 /3	
 %*

 
 c*+	
 "
 

0 /3	
 %*

 
 c*+	
 "
 
#
(# "
 
 Oc3h 
DcN 
$ h)4S> )) 
h#8C= # # c!23	c3h8,	c3h 	N 	 35xS#X/4DFc4+?&?!@AF.0c+077	$~&	'7
53 5 5r%   r=   ))rD   r   r,   r   typing_extensionsr   r   r   r   typingr   r	   r
   r   r   r   r   r   r   r   r   r`   r   stripe._stripe_responser   r   r   stripe._encoder   stripe._request_optionsr   stripe._api_moder   stripe._base_addressr   r   r+   r$   r   r;   r=   r!   r%   r#   <module>r(     sB      @ @      
 , = $ ,$ 
#s(^'/S#X'?	#s(^ 

 
'S#X7 


2
2'S#X7
2
2DI*.s)	#s(^"T54S> T5r%   