
     h                     >   g d Z ddlZg dZdZdZdZdZde d	Zd
ez   ZdZ	de de e dZ
de de e dZde de e dZde de e dZe de e dZd Zd Z e e             Zd Z e e             ZdZdZdZe dZdZd Zd Zd Z e e             Zy))is_valid_transferlistis_valid_pathdatais_valid_animation_timing    N)focusinfocusoutactivateclick	mousedownmouseup	mouseover	mousemovemouseoutDOMSubtreeModifiedDOMNodeInsertedDOMNodeRemovedDOMNodeRemovedFromDocumentDOMNodeInsertedtoDocumentDOMAttrModifiedDOMCharacterDataModifiedSVGLoad	SVGUnloadSVGAbortSVGError	SVGResize	SVGScrollSVGZoom
beginEventendEventrepeatEventz
\s*[, ]\s*z
\s*[; ]\s*z\d+z([eE][+-]?\d+)z(\d+\.?\d*|\.\d+)?z[+-]?z[01]\s*(z)*\s*z\s*){1}\s*(z\s*){3}z\s*){5})*c                 <    t        j                  |       fd}|S )Nc                 8    t        j                  |             S )N)bool	fullmatch)termregs    s/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/svgwrite/data/svgparser.pyfzis_valid.<locals>.f'   s    CMM$'((    )recompile)regexr,   r*   s     @r+   is_validr1   $   s    
**U
C) Hr-   c            	      <   dt          d} dt         dt         t         d}dt         dt         t         d}dt         dt         t         t         t         d}dt         d}d	t         d}d
j                  d | |||||fD              }d| dt         d| dS )Nzmatrix\s*\(\s*\s*\)ztranslate\s*\(\s*r"   z)?\s*\)zscale\s*\(\s*zrotate\s*\(\s*zskewX\s*\(\s*zskewY\s*\(\s*|c              3   (   K   | ]
  }d | d  ywz(\s*z\s*)N .0cmds     r+   	<genexpr>z,build_transferlist_parser.<locals>.<genexpr>5   s      9CcU$' 9   )(z))*)six_comma_delimited_numbersnumbercjoin)matrix	translatescalerotateskewXskewYtl_res          r+   build_transferlist_parserrI   -   s    :;5AF$VHAaS@IVHAaS8Evhas6(1#fXWEFVHE*EVHE*EHH 9	5&%48 9 :Ewb1UG3''r-   c                     dt          } dt          }dt         }dt         }dt         dt         t         d}dt         d	t         t         d}d
t         d	t         t         d}dt          }t         j                  t         t         t         t         t         t         t         f      }d|z   dz   }d| dt         | d}	dj                  d | |||d|||||	f
D              }
|  d	|
 dS )Nz[mM]\s*z[lL]\s*z[hH]\s*z[vV]\s*z[cC]\s*(r=   r$   z[sS]r"   z[qQ]z[tT]\s*r!   z[aA](r4   c              3   (   K   | ]
  }d | d  ywr6   r7   r8   s     r+   r;   z(build_pathdata_parser.<locals>.<genexpr>R   s      :S$se40 :r<   z[zZ])	 comma_delimited_coordinate_pairscomma_delimited_coordinatesr>   r@   four_comma_delimited_numbersrA   nonnegative_numberr?   flag)movetolinetohorizontal_linetovertical_linetocurvetosmooth_curvetoquadratic_bezier_curvetosmooth_quadratic_bezier_curvetoelliptical_arc_argumentelliptical_arcdrawto_commands              r+   build_pathdata_parserr\   =   sY   89:F89:F"#>"?@ !< =>O56b<W;XXZ[G9:!A3?[>\\^_N"&'C&DAaSIeHffhi)01Q0R&S#"#ll86688,  %'>>G56b<S;TTVWNXX :)?F!9'=9 : ;N
 XQ~&b))r-   z\d{2}z\d{4}z\d+(\.\d+)?z(\.\d+)?z(h|min|s|ms)c                  `    t          dt         d} t         dt         dt         }d|  d| dS )Nr#   )?z:(z:)?r"   r4   ))secondsmetricdigit2seconds2)timecount_val	clock_vals     r+   clock_val_rerf   c   s?    yVHB/M82fXS
3Ia	{!,,r-   c                      t          dt          dt         d} |  dt          dt          d}t         dt          dt          }| d| d}ddj                  ||f      z   d	z   S )
N:z(:r^   z(Z|[+-]?-z(Tr"   r4   r_   )rb   rc   digit4rA   )hhmmsswalltimedatedatetimes       r+   wall_clock_val_rero   i   sx    &H:R0F((6(!F826Hhaxq)D&8*B'H8X.//#55r-   c                  &   t               } t               }ddj                  t              z   dz   }d}d| d}d|  d}d| d	|  d}d| d
| d|  d}d|  }| d| d}	ddj                  d ||	||||dfD              z   dz   }
|
 dt         |
 dS )Nr"   r4   r_   z#?[-_a-zA-Z0-9]+zwallclock\(\s*r3   z$accessKey\(\s*[a-zA-Z]\s*\)\s*([+-]?r^   z#\.)?repeat\s*\(\s*\d+\s*\)\s*([+-?]z\.)?z([+-]?z[-+]?z\.(begin|end)(c              3   (   K   | ]
  }d | d  yw)r"   r_   Nr7   )r9   r*   s     r+   r;   z0build_animation_timing_parser.<locals>.<genexpr>~   s      ">AcU!* ">r<   
indefiniter$   )rf   ro   rA   event_namess)re   wallclock_val	event_refid_valuewallclock_sync_valueaccesskey_valuerepeat_valueevent_valueoffset_valuesyncbase_valuebegin_values              r+   build_animation_timing_parserr   q   s    I%'Mchh{++c1I!H,]O5A=i[KOz!DYKrRLxjYKvi[CKI;'L!
.bAN ">nk<-|9= "> ? ?ADEK m1QC}B//r-   )__all__r.   rs   r@   rt   integer_constantexponentrO   r?   rP   rM   two_comma_delimited_numbersrN   r>   rL   r1   rI   r   r\   r   rb   rj   r`   rc   ra   rf   ro   r   r   r7   r-   r+   <module>r      s=   V 	  )(15 	&	&!$VHAaS> !$VHAaSC "%fXT!VHKG !$VHDF8;F 'B&C1QCHcGddf#g  
( !!:!<= *: 245 		hh	-60& %%B%DE r-   