
    KwgB                         d Z dad Z e       Zi ZdaddZddlmZ  e	 eed       eed	       eed
            Z
ddZd Zg Zd Zd Z e        y)z)module that aggregates config information)_resetregister_resetc                     ddl m}  ddl}i } | d|       |j                         }	  | d|       |j	                  |       |j                         }	  | d|       |j	                  |       |S # t
        $ r Y 8w xY w# t
        $ r |j                         }	 	 |j                  j                  |j                  j                  dd            }n# t        t
        f$ r d}Y nw xY w|rJt        |d	      5 } | |j                         |       ddd       n# 1 sw Y   nxY w|j	                  |       Y |S #  Y Y |S xY ww xY 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fs         J/var/www/horilla/myenv/lib/python3.12/site-packages/reportlab/rl_config.py_defaults_initr      sI    ,I1)<~~J;JG$ ~~J2:>$ )    >>#

	WW''S9N(OPk* "T] 1aAFFHZ01 1 1  , 	sk   A. A= .	A:9A:=D>5CD4C"D4!C""D43D	D4D	D44D:6D>:D>Nc                 4    ||vrt        d|d|  d|       y )Nzinvalid value z for rl_config.z
need one of )
ValueError)namevaluealloweds      r   _enumChkr   2   s/    G>%/$~V]U^_``     r   )partial)	rlPyCairo	_renderPM)r   )lxmlpyrxp)freetyper#   backend)renderPMBackend	xmlParser	textPathsc                     ddl m} d| z   }||v r||   }|r ||      }t        j                  | d      }|r	 || |       |t	               | <   y)z-set a module level value from environ/defaultr   )environRL_N)r
   r,   	_rlChecksgetglobals)r   r   convchkr,   enames         r   _setOptr4   >   sP    $JET%[U
--T
"C
CUOGIdOr    c                  H   ddl ddl} | j                  j                         d   addlm} ddlm} t        i k(  rt        | dd      at         G d d      at               x| _        at        t              }t        j!                         D ]5  \  }}|xt        |<   t#               |<   |t        vs%|j%                  |       7 t'        |      addl}j*                  j-                  j*                  j/                  |j0                              j3                         j3                         j                  d      d   t        j4                  j7                  d	d
      d}t        D ]  }|j9                  d      rg }t        |   D ][  }	|	|z  j;                  dj<                        }
d|
v r	 j*                  j?                  |
      }
 ||
      sK|j%                  |
       ] tE        |jF                  jI                  |      fd       t        tK        |t#               |               t#               |<   t        |   }tM        |tN        tP        f      rtS        |      }n|dk(  r|fd}n
|dv rd }nd}tE        |||       " y# t@        tB        f$ r Y w xY w)zThis 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                       e Zd Zy)_unset_N)__name__
__module____qualname__ r    r   r:   r:   V   s    r    r:   :XDG_DATA_HOMEz~/.local/share)REPORTLAB_DIRCWDdisksys_versionr@   
SearchPath/r   c                 :    | j                  j                        S N)splitpathsep)xr
   s    r   <lambda>z_startUp.<locals>.<lambda>t   s    !''"**2E r    defaultPageSizec                     t        ||       S rH   )getattr)vMs     r   rL   z_startUp.<locals>.<lambda>{   s    WQq\ r    )trustedHoststrustedSchemesc                     | d S t        | t              r>| j                  d      D cg c]  }|j                          c}D cg c]  }|s|	 c}S | S c c}w c c}w )N,)
isinstancestrrI   strip)rP   rK   ys      r   rL   z_startUp.<locals>.<lambda>}   sZ     oyz{|  pAXYX_X_`cXdDeSTQWWYDe8kqij8k   GH De8ks   AAA)*r
   sysversionrI   rD   reportlab.libr6   r	   r7   _SAVEDrO   r:   r8   list__all__r   itemsr0   appendtuple	reportlabr   abspathdirname__file__getcwdr,   r/   endswithreplacesepr   r   r   r4   rJ   r   filterrV   intfloattype)rZ   r6   r7   AkrP   rc   DPpdr1   r
   s               @r   _startUpru   I   s6    ++##%a(K',rz#248?/6y8C"WM??$ 	CAa'((F1I	!	 ( ''//"''//):L:L*MNyy{		!!#&q)"8HI		
A  ::l#AAY ,UOOC/!8!GG..q1 A;, Abjjooa()EFx	! =>GIaLq	A!SK(Aw%%"+977 H$Aa- %k2 ! !s   1JJ! J!c                     t         D cg c]  } |       s| c}t         dd t         D cg c]  } |       | u s| }}|ryddlm} t         j                   ||              yc c}w c c}w )z4register a function to be called by rl_config._resetNr   )ref)_registered_resetsweakrefrw   ra   )funcrK   Lrw   s       r   r   r      sZ    (:B1acQBq&6q!#+6A6&c$i(	 C6s   A&A&A+A+c                      t                t        dd D ](  }  |        }|r |        t        j                  |        * y)z&attempt to reset reportlab and friendsN)ru   rx   remove)r   cs     r   r   r      s8    J" )CC%%a()r    )r>   )NN)__doc__r_   r   r   r]   rD   r   	functoolsr!   dictr.   r4   ru   rx   r   r   r>   r    r   <module>r      s    /#'R 
		a 
!(3LMH-=>H-OP
		6p  )) 	
r    