
    hX                         d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	 dej                  fdZ
ddZd Zdee   d	eeee	f   ddf   fd
Zy)    N)OrderedDict)	GeneratorOptionalTupleAnydttimec                    | j                   rI| j                   j                  |       .t        j                  | j	                               }t        |      S t        j                  | j                               }t        |      S N)	tzinfo	utcoffsetcalendartimegmutctimetupletimemktime	timetupleint)r   utc_timestamps     N/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/_encode.py_encode_datetimer      se    }}008D (;(;(=> } F$4$4$67}    c                 ^    t               }|j                         D ]  \  }}|||| |fz  <    |S r
   )r   items)keydatafmtdsubkeysubvalues         r   _encode_nested_dictr       s6    A JJL!)#f
 )Hr   c                 P    t        | t        j                        rt        |       S | S r
   )
isinstancedatetimer   )values    r   _json_encode_date_callbackr%      s"    %**+&&Lr   api_modereturnc              #     K   | j                         D ]<  \  }}|
t        |d      r||j                  f 't        |t              st        |t
              r_t        |      D ]P  \  }}|dk(  r|nd||fz  }t        |t              r't        ||      }t        ||      D ]  \  }}	||	f  K||f R t        |t              r't        ||      }t        ||      D ]  \  }
}|
|f  t        |t        j                        r|t        |      f t        |t              r|t        |      j                         f 7||f ? y w)N	stripe_idV2z%s[%d])r   hasattrr)   r"   listtuple	enumeratedictr    _api_encoder#   r   boolstrlower)r   r&   r   r$   isvencoded_keysubdictkvr   r   s               r   r0   r0      sB     jjl
U=UK(((t$
5%(@"5)2%-%5c8sAh;Nb$'1+rBG +GX >1 !f !? '++ * t$)#u5G$/$B x(( %Cx001(/00t$E
((*++,/ #s   EE)z%s[%s])r   r#   r   collectionsr   typingr   r   r   r   r   r    r%   r2   r0    r   r   <module>r=      s`       # 2 2X.. SMuS#Xd*+r   