
    i                     D   S r SSKJrJr  SSKJr  SSKJrJr  SSKJ	r	  SSK
Jr  SSKJrJrJr  SSKJrJr  SS	KJrJrJr  S
SKJrJr  S
SKJrJr  S
SKJr  S
SKJ r   SSK!J"r"J#r#  / SQr$\" S5      r%\" S5      r& " S S\5      r'S\4S jr(\#" \'5      S\S\S\'4S j5       r)g)z%Preconfigured converters for tomlkit.    )	b85decode	b85encode)Set)datedatetime)Enum)
attrgetter)AnyTypeVarUnion)dumpsloads)FloatIntegerString   )
is_mappingis_subclass)BaseConverter	Converter)identity)configure_union_passthrough   )validate_datetimewrap)TomlkitConverterconfigure_convertermake_converterT_value_c            	       N    \ rS rSrSS\S\S\S\4S jjrS\S	\\   S\4S
 jr	Sr
g)r      Nobjunstructure_askwargsreturnc                 4    [        U R                  XS940 UD6$ )N)r$   )r   unstructure)selfr#   r$   r%   s       U/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/cattrs/preconf/tomlkit.pyr   TomlkitConverter.dumps   s     T%%c%ITVTT    dataclc                 8    U R                  [        U5      U5      $ N)	structurer   )r)   r-   r.   s      r*   r   TomlkitConverter.loads   s    ~~eDk2..r,    r0   )__name__
__module____qualname____firstlineno__r
   strr   typer   r   __static_attributes__r3   r,   r*   r   r      sF    U Uc UC UC U/# /47 /q /r,   r   	converterc           
        ^  T R                  [        S 5        T R                  [        S 5        SS[        4U 4S jjjnT R                  R                  [        US4/5        T R                  [        [        5        T R                  [        [        5        T R                  [        [        5        T R                  [        S 5        [        [        [        [        [        [         ["        [$        [&        4   T 5        g)	aF  
Configure the converter for use with the tomlkit library.

* bytes are serialized as base85 strings
* sets are serialized as lists
* tuples are serializas as lists
* mapping keys are coerced into strings when unstructuring

.. versionchanged:: 26.1.0
    date objects are now passed through to tomlkit without unstructuring.
c                     [        U 5      $ r0   )r   v_s     r*   <lambda>%configure_converter.<locals>.<lambda>-   s    )A,r,   c                 f    U (       a  [        U 5      R                  S5      $ SR                  S5      $ )Nr,   utf8r   decode)r?   s    r*   rA   rB   /   s"    !)A,<<VD<<VDr,   Nr.   c                   > [         n[        U SS 5      nU(       a\  [        US   [         5      (       a!  [        US   [        5      (       a  [        OS nO#[        US   [
        5      (       a  S[
        4S jnTR                  XUS9$ )N__args__r   kc                 6    [        U 5      R                  S5      $ )NrD   rE   )rI   s    r*   key_handlerIconfigure_converter.<locals>.gen_unstructure_mapping.<locals>.key_handler=   s    $Q<..v66r,   )unstructure_torK   )r8   getattrr   r   _enum_value_getterbytesgen_unstructure_mapping)r.   rM   rK   argsr;   s       r*   rQ   4configure_converter.<locals>.gen_unstructure_mapping2   s    r:t, 47C((4?Q4N4N0TXT!We,,75 7 00; 1 
 	
r,   Tc                 \    [        U [        5      (       a  U $ [        R                  " U 5      $ r0   )
isinstancer   fromisoformatr>   s     r*   rA   rB   N   s#    
1d 3 31N9K9KA9NNr,   r0   )register_structure_hookrP   register_unstructure_hookr
   _unstructure_funcregister_func_listr   r   r   r   r   r   r   r8   r   boolintr   floatr   )r;   rQ   s   ` r*   r   r   !   s     %%e-FG''D
C 
 
$ 22
-t	45 ''(;%%h0AB''h7%%N  c64gue;<ir,   rR   r%   r&   c                      [         [        [        [        0UR                  S0 5      EUS'   [	        U 0 UD6n[        U5        U$ )Nunstruct_collection_overrides)r   listtuplegetr   r   )rR   r%   ress      r*   r   r   U   sO     	Tt/ **4b
9/F*+
 D
+F
+CJr,   N)*__doc__base64r   r   collections.abcr   r   r   enumr   operatorr	   typingr
   r   r   tomlkitr   r   tomlkit.itemsr   r   r   _compatr   r   
convertersr   r   fnsr   
strategiesr    r   r   __all__r   rO   r   r   r   r3   r,   r*   <module>rr      s    + '  #   & &   0 0 - 1  4 %
GCL	* /y /1= 1h 	# 	 	1A 	 	r,   