
    Ch                         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
  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJrJrJrJrJrJrJrJr  \" S\S9r " S S\\\   5      rg)    )LiteralSelf)InvalidRequestError)StripeObject)extract_options_from_dict)ApiMode)BaseAddress)_APIRequestor)_util)
quote_plus)AnyClassVarGenericListOptionalTypeVarcastMappingT)boundc                      \ rS rSr% \\   \S'   \\R                  " S5      S\
4S j5       5       rS\4S jrS\4S jr\S\4S j5       rS\4S	 jr SSSS.S\S\S\4S jjjr SSSS.S\S\S\4S jjjr  S SSS.S\S   S\S\\\\4      S\\\      S\S\S\4S jjjr  S SSS.S\S   S\S\\\\4      S\\\      S\S\S\4S jjjr\ SSS.S\\\\4      S\4S jjj5       r\ SSS.S\\\\4      S\4S jjj5       r\ SSS.S\\\\4      S\4S jjj5       r\ SSS.S\\\\4      S\4S jjj5       r Sr!g
)!APIResource   OBJECT_NAMEzThis method is deprecated and will be removed in a future version of stripe-python. Child classes of APIResource should define their own `retrieve` and use APIResource._request directly.returnc                 T    U " U40 UD6nUR                  5         [        [        U5      $ N)refreshr   r   )clsidparamsinstances       W/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_api_resource.pyretrieveAPIResource.retrieve   s,    
 r$V$Ax      c                 B    U R                  SU R                  5       5      $ Nget)_request_and_refreshinstance_urlselfs    r#   r   APIResource.refresh%   s    ((0A0A0CDDr&   c                 ^   #    U R                  SU R                  5       5      I S h  vN $  N7fr(   )_request_and_refresh_asyncr+   r,   s    r#   refresh_asyncAPIResource.refresh_async(   s0     444$$&
 
 	
 
s   $-+-c                 r    U [         :X  a  [        S5      eU R                  R                  SS5      nSU< S3$ )NzgAPIResource is an abstract class.  You should perform actions on its subclasses (e.g. Charge, Customer)./z/v1/s)r   NotImplementedErrorr   replace)r   bases     r#   	class_urlAPIResource.class_url-   s>    +%D  &&sC0 ""r&   c           
          U R                  S5      n[        U[        5      (       d5  [        S[	        U 5      R
                  < SU< S[	        U5      < S3S5      eU R                  5       n[        U5      nU< SU< 3$ )Nr    z*Could not determine which URL to request: z instance has invalid ID: z, z+. ID should be of type `str` (or `unicode`)r5   )r)   
isinstancestrr   type__name__r:   r   )r-   r    r9   extns       r#   r+   APIResource.instance_url9   sm    XXd^"c""% "&d!4!4b$r(D 	  ~~"~%%r&   NapiV1)base_addressapi_moderE   rF   c                    [         R                  " U UUUUS9n[        U 5      [        U5      L a  U R                  XeS9  U $ U$ N)r!   rE   valuesrF   )r   _requestr?   _refresh_fromr-   methodurlr!   rE   rF   objs          r#   rK   APIResource._requestH   sP     ##%
 :c"c=KJr&   c                   #    [         R                  " U UUUUS9I S h  vN n[        U 5      [        U5      L a  U R                  XeS9  U $ U$  N.7frH   )r   _request_asyncr?   rL   rM   s          r#   rS   APIResource._request_async_   s]      !//%
 
 :c"c=KJ
s   AA/ArN   )r)   postdeleterO   r!   usagec          	      V    [         R                  " U UUUUUS9nU R                  XvS9  U $ N)r!   rE   rW   rI   )r   rK   rL   r-   rN   rO   r!   rW   rE   rF   rP   s           r#   r*    APIResource._request_and_refreshv   s>     ##%
 	#9r&   c          	      r   #    [         R                  " U UUUUUS9I S h  vN nU R                  XvS9  U $  N7frY   )r   rS   rL   rZ   s           r#   r0   &APIResource._request_and_refresh_async   sK      !//%
 
 	#9
s   757)rE   c                h    [        U5      u  pV[        R                  " 5       R                  UUUUUS9$ N)r!   optionsrE   )r   r
   _global_instancerequestr   method_url_r!   rE   request_optionsrequest_paramss          r#   _static_requestAPIResource._static_request   sB     +DF*K'--/77!#% 8 
 	
r&   c                   #    [        U5      u  pV[        R                  " 5       R                  UUUUUS9I S h  vN $  N7fr_   )r   r
   ra   request_asyncrc   s          r#   _static_request_async!APIResource._static_request_async   sP      +DF*K'"335CC!#% D 
 
 	
 
   7A >A c                h    [        U5      u  pV[        R                  " 5       R                  UUUUUS9$ r_   )r   r
   ra   request_streamr   rN   rO   r!   rE   rf   rg   s          r#   _static_request_stream"APIResource._static_request_stream   sB     +DF*K'--/>>!#% ? 
 	
r&   c                   #    [        U5      u  pV[        R                  " 5       R                  UUUUUS9I S h  vN $  N7fr_   )r   r
   ra   request_stream_asyncrq   s          r#   _static_request_stream_async(APIResource._static_request_stream_async   sP      +DF*K'"335JJ!#% K 
 
 	
 
rn    r   )NN)"r@   
__module____qualname____firstlineno__r   r>   __annotations__classmethodr   
deprecatedr   r$   r   r   r1   r:   r+   r	   r   r   rK   rS   r   r   r   r   r   r*   r0   rh   rl   rr   rv   __static_attributes__rx   r&   r#   r   r      s   #
 	E!q ! !
E E
T 

 	## 	# 	#&c && 	 %*  "  
6 	 %*  "  
6 /3%) %* /0  c*+	
 S	" "  
4 /3%) %* /0  c*+	
 S	" "  
, 
 /3	
 %*
 c*+	
 "
 
" 
 /3	
 %*
 c*+	
 "
 
" 
 /3	
 %*
 c*+	
 "
 
" 
 /3	
 %*
 c*+	
 "
 
r&   r   N)typing_extensionsr   r   stripe._errorr   stripe._stripe_objectr   stripe._request_optionsr   stripe._api_moder   stripe._base_addressr	   stripe._api_requestorr
   striper   urllib.parser   typingr   r   r   r   r   r   r   r   r   r   rx   r&   r#   <module>r      sQ    + - . = $ , /  #	 	 	 C|$O
,
 O
r&   