o
    h                     @   s   d Z dZzddlmZ W n ey&   ddlmZ ddlZeeZ[[Y nw ddlZdd Z		 i i fdd	Z
d
d ZedkrrddlmZ i ZdddZddlmZ ddiZdZdZG dd dZeed d ddZed dS dS )!z3.3.0z.Apparently not used anywhere, purpose unknown!    )	tokenprog)TokenNc                 C   s*   t | |}|d u rt| ||| fS )N)r   match
ValueErrorend)textposr    r	   Y/var/www/html/optinet_system/venv/lib/python3.10/site-packages/reportlab/lib/extformat.py_matchorfail   s   r   c                 C   sF  | }i }g }d}d}	 | d|}|dk rnw||d  }	|	dkry||||  |d d}}
|
rYt||\}}|jd \}}||| }|dkrO|
d }
n|dkrW|
d }
|
s2d| }|d7 }t||d |d  ||||< |d	|  n|d |	dk }||||  |}q|t|k r|||d   d
|| S )Nr      %(      )z__superformat_%dz%%(%s) )findappendr   regsevallenjoin)_formatLGformatSchunksr   npcnextcharlevelr   tstarttendtokenvnamencr	   r	   r
   
dictformat   s:   
 r(   c                 C   s   t d}t| |j|jS )z<Evaluate and substitute the appropriate parts of the string.r   )sys	_getframer(   f_locals	f_globals)r   framer	   r	   r
   magicformat:   s   
r.   __main__)DecimalFormatterr   .,c                 C   sJ   zt ||f }W || S  ty$   t|||d }t ||f< Y || S w )N)places
decimalSepthousandSep)_DFKeyErrorr0   )r   dpdsts_dfr	   r	   r
   dfB   s   r<   )r.   abc)abcgOAgS@c                   @   s   e Zd ZdZdS )dingor   N)__name__
__module____qualname__ar	   r	   r	   r
   r@   N   s    r@   z
$%%(df(x,dp=3))s --> $%(df(x,dp=3))s
$%%(df(x,dp=2,ds=',',ts='.'))s --> $%(df(x,dp=2,ds=',',ts='.'))s
%%(percent).2f%%%% --> %(percent).2f%%
%%(dingo.a)s --> %(dingo.a)s
%%(Z['abc'][0])s --> %(Z['abc'][0])s
r   c                 C   s   ddd}|d d S )Nr   c                 S   s   t td d S )Nzbb=%(bb)s Z=%(Z)r)printr.   )bbr	   r	   r
   func1X   s   zfunc0.<locals>.func1BB)r   r	   )aarG   r	   r	   r
   func0W   s   
rJ   AA)r   r1   r2   )r   )__version____doc__tokenizer   ImportErrorr   recompiler)   r   r(   r.   rA   reportlab.lib.formattersr0   r6   r<   reportlab.lib.extformatZxpercentr@   rE   rJ   r	   r	   r	   r
   <module>   s8   
"

