
    Mcg                     :    d dl Z d Zd Zd Zd Z G d de      Zy)    Nc                  $    | D ]  }|dk7  s	|c S  y)Nr   g         )argsargs     W/var/www/html/bid-api/venv/lib/python3.12/site-packages/fontTools/svgLib/path/shapes.py_prefer_non_zeror      s    !8J      c                 H    d| z  j                  d      j                  d      S )Nz%.3f0.)rstrip)ns    r   _ntosr      s"    QJs#**3//r	   c                 8    d| v r| j                  dd      d   S | S )N}   )split)tags    r   _strip_xml_nsr      s%     $'#:399S!Q636r	   c           	          t        j                  d|       }|st        t        d t        j                  d|j                  d            D              }t        |      dk7  rt        d| z        |S )Nzmatrix\((.*)\)c              3   2   K   | ]  }t        |        y wN)float).0ps     r   	<genexpr>z_transform.<locals>.<genexpr>   s     H%G58%Gs   z\s+|,r      zwrong # of terms in %s)rematchNotImplementedErrortupler   grouplen
ValueError)	raw_valuer   matrixs      r   
_transformr'      sc    
 HH&	2E!!HRXXhA%GHHF
6{a1I=>>Mr	   c                       e Zd Zd ZddZd Zd Zd Zd Zd Z	d Z
dd	Zdd
Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)PathBuilderc                      g | _         g | _        y r   )paths
transformsselfs    r   __init__zPathBuilder.__init__%   s    
r	   c                 p    | j                   j                  |       | j                  j                  d        y r   )r+   appendr,   )r.   initial_paths     r   _start_pathzPathBuilder._start_path)   s&    

,'t$r	   c                 &    | j                  d       y )Nz)_addr-   s    r   	_end_pathzPathBuilder._end_path-   s    		#r	   c                 Z    | j                   d   }|r	|d|z   z  }n|}|| j                   d<   y )N )r+   )r.   path_snippetpaths      r   r6   zPathBuilder._add0   s3    zz"~C,&&DD

2r	   c                 X    | j                  |t        |      dt        |             y N,r6   r   r.   cxys       r   _movezPathBuilder._move8       		q%(E!H56r	   c                 *    | j                  d||       y )NMrE   r.   rC   rD   s      r   rH   zPathBuilder.M;       

31r	   c                 *    | j                  d||       y )NmrI   rJ   s      r   rM   zPathBuilder.m>   rK   r	   c                     | j                  d|t        |      t        |      |t        |      t        |      fz         y )Nz%s%s,%s 0 %d 1 %s,%sr@   )r.   rB   rxryrC   rD   	large_arcs          r   _arczPathBuilder._arcA   s7    		"%)U2Y	58U1XFG	
r	   c                 0    | j                  d|||||       y )NArR   r.   rO   rP   rC   rD   rQ   s         r   rT   zPathBuilder.AG       		#r2q!Y/r	   c                 0    | j                  d|||||       y )NarU   rV   s         r   rY   zPathBuilder.aJ   rW   r	   c                 @    | j                  |t        |             y r   r@   )r.   rB   rC   s      r   _vhlinezPathBuilder._vhlineM   s    		AuQx()r	   c                 (    | j                  d|       y )NHr[   r.   rC   s     r   r]   zPathBuilder.HP       S!r	   c                 (    | j                  d|       y )Nhr^   r_   s     r   rb   zPathBuilder.hS   r`   r	   c                 (    | j                  d|       y )NVr^   r.   rD   s     r   rd   zPathBuilder.VV   r`   r	   c                 (    | j                  d|       y )Nvr^   re   s     r   rg   zPathBuilder.vY   r`   r	   c                 X    | j                  |t        |      dt        |             y r>   r@   rA   s       r   _linezPathBuilder._line\   rF   r	   c                 *    | j                  d||       y )NLri   rJ   s      r   rk   zPathBuilder.L_   rK   r	   c                 *    | j                  d||       y )Nlrl   rJ   s      r   rn   zPathBuilder.lb   rK   r	   c                    t        |j                  j                  dd            }t        |j                  j                  dd            }t        |j                  j                  dd            }t        |j                  j                  dd            }| j                          | j	                  ||       | j                  ||       y )Nx1r   y1x2y2)r   attribgetr3   rH   rk   )r.   linerp   rq   rr   rs   s         r   _parse_linezPathBuilder._parse_linee   s    4;;??4+,4;;??4+,4;;??4+,4;;??4+,r2r2r	   c                    t        |j                  j                  dd            }t        |j                  j                  dd            }t        |j                  j                  d            }t        |j                  j                  d            }t        |j                  j                  dd            }t        |j                  j                  dd            }t        ||      }t        ||      }| j	                          | j                  ||z   |       | j                  ||z   |z
         |dkD  r| j                  ||||z   ||z          | j                  ||z   |z
         |dkD  r| j                  ||||z   |z
  ||z          | j                  ||z          |dkD  r| j                  |||||z   |z
         | j                  ||z          |dkD  r| j                  ||||z   |       | j                          y )NrC   r   rD   widthheightrO   rP   )
r   rt   ru   r   r3   rH   r]   rT   rd   r7   )r.   rectrC   rD   wrb   rO   rP   s           r   _parse_rectzPathBuilder._parse_recto   s   $++//#q)*$++//#q)*$++//'*+$++//(+,4;;??4+,4;;??4+,b"%b"% 	q2vqq1urz6FF2r1q5!b&)q1urz6FF2r1q52:q1u-q2v6FF2r1a!ebj)q2v6FF2r1r61%r	   c                 `    d|j                   v r | j                  |j                   d          y y )Nd)r2   rt   r3   )r.   r<   s     r   _parse_pathzPathBuilder._parse_path   s-    $++$++c*:; r	   c                     d|j                   v r2| j                  d|j                   d   z          | j                          y y NpointsrH   )rt   r3   r7   r.   polys     r   _parse_polygonzPathBuilder._parse_polygon   s9    t{{"S4;;x#889NN #r	   c                 d    d|j                   v r"| j                  d|j                   d   z          y y r   r   r   s     r   _parse_polylinezPathBuilder._parse_polyline   s/    t{{"S4;;x#889 #r	   c                    t        |j                  j                  dd            }t        |j                  j                  dd            }t        |j                  j                  d            }| j                          | j	                  ||z
  |       | j                  ||||z   |d       | j                  ||||z
  |d       y )Ncxr   cyrr   rQ   r   rt   ru   r3   rH   rT   )r.   circler   r   r   s        r   _parse_circlezPathBuilder._parse_circle   s    6==$$T1-.6==$$T1-.&--##C() 	rAvrq!R!VR1-q!R!VR1-r	   c                    t        |j                  j                  dd            }t        |j                  j                  dd            }t        |j                  j                  d            }t        |j                  j                  d            }| j                          | j	                  ||z
  |       | j                  ||||z   |d       | j                  ||||z
  |d       y )Nr   r   r   rO   rP   r   r   r   )r.   ellipser   r   rO   rP   s         r   _parse_ellipsezPathBuilder._parse_ellipse   s    7>>%%dA./7>>%%dA./7>>%%d+,7>>%%d+, 	rBwr2rBwa0r2rBwa0r	   c                     t        |j                        }t        | d|j                         z  d       }t	        |      sy ||       d|j
                  v r%t        |j
                  d         | j                  d<   y)Nz	_parse_%sF	transformr9   T)r   r   getattrlowercallablert   r'   r,   )r.   elr   parse_fns       r   add_path_from_elementz!PathBuilder.add_path_from_element   sf    BFF#4syy{!:DA!"))#",RYY{-C"DDOOBr	   N) )r   )__name__
__module____qualname__r/   r3   r7   r6   rE   rH   rM   rR   rT   rY   r[   r]   rb   rd   rg   ri   rk   rn   rw   r}   r   r   r   r   r   r   r   r	   r   r)   r)   $   s    %7
00*78<
:	.
1r	   r)   )r   r   r   r   r'   objectr)   r   r	   r   <module>r      s*    	0
7S& Sr	   