o
    ìRCUZ  ã                   @   sN   d Z dadd„ Zeƒ Zi Zdaddd„Zdd„ Zg Zd	d
„ Z	dd„ Z
eƒ  dS )z)module that aggregates config information)Ú_resetÚregister_resetc                  C   s,  ddl m}  ddl}i }| d|ƒ | ¡ }z| d|ƒ | |¡ W n	 ty*   Y nw | ¡ }z| d|ƒ | |¡ W |S  ty•   | ¡ }zFz|j |j dd¡¡}W n t	tfyb   d}Y nw |rŠt
|d	ƒ�}| | ¡ |ƒ W d  ƒ n1 s|w   Y  | |¡ W Y |S W Y |S    Y Y |S w )
zÙ
    create & return defaults for all reportlab settings from
    reportlab.rl_settings.py
    reportlab.local_rl_settings.py
    reportlab_settings.py or ~/.reportlab_settings

    latter values override earlier
    é    )Úrl_execNz#from reportlab.rl_settings import *z)from reportlab.local_rl_settings import *z from reportlab_settings import *ú~z.reportlab_settingsÚrb)Úreportlab.lib.utilsr   ÚosÚcopyÚupdateÚImportErrorÚpathÚ
expanduserÚjoinÚKeyErrorÚopenÚread)r   r   Ú	_DEFAULTSÚ
_overridesÚfnÚf© r   úE/var/www/html/env/lib/python3.10/site-packages/reportlab/rl_config.pyÚ_defaults_init   sH   	

ÿ
óÿÿúþór   Nc                 C   s>   ddl m} d|  }||v r|| }|r||ƒ}|tƒ | < dS )z-set a module level value from environ/defaultr   )ÚenvironÚRL_N)r   r   Úglobals)ÚnameÚvalueÚconvr   Úenamer   r   r   Ú_setOpt3   s   r    c                     sô  ddl ‰ ddl} | j ¡ d addlm} ddlm} t	i krYt
| ddƒatdu r6G dd„ dƒatƒ  | _attƒ}t ¡ D ]\}}| t	|< tƒ |< |tvrT| |¡ q>t|ƒaddl}ˆ j ˆ j |j¡¡ˆ  ¡ ˆ  ¡  d¡d tˆ j d	d
¡dœ}t	D ]y}| d¡rÔg }t	| D ],}	|	|  dˆ j¡}
d|
v r®zˆ j |
¡}
W n t t!fy­   Y q‹w ||
ƒr·| |
¡ q‹t"|ˆ j# $|¡‡ fdd„ƒ tt%|tƒ | ƒƒtƒ |< q~t	| }t&|t't(fƒrät)|ƒ}n|dkrï|fdd„}nd}t"|||ƒ q~dS )z›This function allows easy resetting to the global defaults
    If the environment contains 'RL_xxx' then we use the value
    else we use the given defaultr   N)Ú	pagesizes)Úrl_isdirÚ_rl_config__unset_c                   @   s   e Zd ZdS )Ú_unset_N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r$   I   ó    r$   ú:ÚXDG_DATA_HOMEz~/.local/share)ÚREPORTLAB_DIRÚCWDÚdiskÚsys_versionr*   Ú
SearchPathú/r   c                    s   |   ˆ j¡S ©N)ÚsplitÚpathsep)Úx©r   r   r   Ú<lambda>g   r(   z_startUp.<locals>.<lambda>ÚdefaultPageSizec                 S   s
   t || ƒS r1   )Úgetattr)ÚvÚMr   r   r   r6   l   s   
 )*r   ÚsysÚversionr2   r.   Úreportlab.libr!   r   r"   Ú_SAVEDr8   r$   r#   ÚlistÚ__all__r   Úitemsr   ÚappendÚtupleÚ	reportlabr   ÚabspathÚdirnameÚ__file__Úgetcwdr   ÚgetÚendswithÚreplaceÚsepr   r   r   r    r3   r   ÚfilterÚ
isinstanceÚintÚfloatÚtype)r;   r!   r"   ÚAÚkr9   rD   ÚDÚPÚpÚdr   r   r5   r   Ú_startUp<   sX   
€ü
ÿ€îrX   c                    sN   dd„ t D ƒt dd…< ‡ fdd„t D ƒ}|rdS ddlm} t  |ˆ ƒ¡ dS )z4register a function to be called by rl_config._resetc                 S   s   g | ]}|ƒ r|‘qS r   r   ©Ú.0r4   r   r   r   Ú
<listcomp>s   s    z"register_reset.<locals>.<listcomp>Nc                    s   g | ]	}|ƒ ˆ u r|‘qS r   r   rY   ©Úfuncr   r   r[   t   s    r   )Úref)Ú_registered_resetsÚweakrefr^   rB   )r]   ÚLr^   r   r\   r   r   q   s
   r   c                  C   s8   t ƒ  tdd… D ]} | ƒ }|r|ƒ  q	t | ¡ q	dS )z&attempt to reset reportlab and friendsN)rX   r_   Úremove)r   Úcr   r   r   r   y   s   ûr   r1   )Ú__doc__r@   r   r   r>   r.   r    rX   r_   r   r   r   r   r   r   Ú<module>   s    )
	4

