
    
i3                         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 dej                  fdZ	d
dZ
d Zdeeeef   ddf   fd	Zy)    N)OrderedDict)	Generator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     S/mnt/e/genesis-system/.venvs/sunaiva/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      s;    A JJL *!)#f
*Hr   c                 P    t        | t        j                        rt        |       S | S r	   )
isinstancedatetimer   )values    r   _json_encode_date_callbackr$      s"    %**+&&Lr   returnc              #     K   | j                         D ]2  \  }}|
t        |d      r|t        |d      f 't        |t              st        |t
              rWt        |      D ]H  \  }}d||fz  }t        |t              r&t        ||      }t        |      D ]  \  }}||f  C||f J t        |t              r&t        ||      }t        |      D ]  \  }	}
|	|
f  t        |t        j                        r|t        |      f t        |t              r|t        |      j                         f -||f 5 y w)Nidz%s[%d])r   hasattrgetattrr!   listtuple	enumeratedictr   _api_encoder"   r   boolstrlower)r   r   r#   isvencoded_keysubdictkvr   r   s              r   r.   r.      sI    jjl 
U=UD!t,--t$
5%(@"5) ,2&#q1b$'1+rBG +G 4 %1 !f% '++, t$)#u5G$/$8 ) x(()x001(/00t$E
((*++,1s   EE
)z%s[%s])r   r"   r   collectionsr   typingr   r   r   r   r   r$   r0   r.    r   r   <module>r;      sS       # ( (X.. 5c?D$#>? r   