ó
    ¶jê  ã            	       ó  • S r SrS rSS jr\S:X  aç  SSKr\R                  R                  \R                  R                  \R                  R                  \
5      S	S
5      5      r\R                  " \SS9  \" SSSSS/S9\" SSSS/S9\" SSSS/S9/r\" \S5       HW  u  rr\R                  R                  \S\ S35      r\" \SSS9 r\R+                  \" S0 \D65        SSS5        \" S\5        MY     gg! , (       d  f       N= f)a€  Number line SVG generator for AGS Math instruments.

generate(start, end, interval, marked_points) -> str  (self-contained SVG)

  - Ink horizontal line with arrowheads at BOTH ends.
  - Gold tick markers at every `interval` with numeric labels below.
  - Crimson filled highlight dots at each value in `marked_points`.
  - Width auto-sizes to the number of ticks (range / interval).
zƒ<style>svg{--crimson:#960000;--gold:#BF9237;--lime:#88C808;--steel:#4A6488;--cream:#FAF5EE;--ink:#2A2A2A;--border:#D0ACAC;}</style>c                 ó|   • [        U [        U 5      -
  5      S:  a  [        [        [        U 5      5      5      $ SU -  $ )Ng•Ö&è.>z%g)ÚabsÚroundÚstrÚint)Úvs    Ú<C:\allgifted\mathapi11v2\tools\svg_generators\number_line.pyÚ_fmtr	      s4   € ä
ˆ1Œu�Q‹x‰<Ó˜4ÓÜ”3”u˜Q“x“=Ó!Ð!Ø�1‰HÐó    é    é
   é   Nc                 ó²  ^ ^^^• Uc  / n[        T 5      m [        T5      m[        U5      n[        [        TT -
  U-  5      5      nUnSmSnXV-  mTST-  -   nSnSn	UUUU 4S jn
/ nUR                  S[        U5       SU S	[        U5       S
U S3	5        UR                  [        5        UR                  S[        U5      S-
   SUS-
   S35        UR                  S5        TS-
  nUT-
  S-   nUR                  SUS SU	 SUS SU	 S3	5        [        US-   5       H`  nT Xâ-  -   nU
" U5      nUR                  SUS SU	S-
   SUS SU	S-    S3	5        UR                  SUS SU	S-    S[        U5       S35        Mb     U H/  n[        U5      nU
" U5      nUR                  SUS S U	 S!35        M1     UR                  S"5        S#R                  U5      $ )$Né2   é8   é   éx   é7   c                 ó&   >• TU T-
  TT-
  -  T-  -   $ )N© )ÚvalueÚPADÚendÚline_wÚstarts    €€€€r   ÚxposÚgenerate.<locals>.xpos)   s    ø€ Ø�e˜e‘m¨¨e©Ñ4°vÑ=Ñ=Ð=r
   z/<svg xmlns="http://www.w3.org/2000/svg" width="z
" height="z" viewBox="0 0 Ú z">z<rect x="3" y="3" width="é   zG" rx="14" ry="14" fill="none" stroke="var(--border)" stroke-width="3"/>a*  <defs><marker id="arrL" markerWidth="12" markerHeight="12" refX="6" refY="6" orient="auto"><path d="M11,1 L2,6 L11,11 Z" fill="var(--ink)"/></marker><marker id="arrR" markerWidth="12" markerHeight="12" refX="6" refY="6" orient="auto"><path d="M1,1 L10,6 L1,11 Z" fill="var(--ink)"/></marker></defs>é   z
<line x1="z.2fz" y1="z" x2="z" y2="zZ" stroke="var(--ink)" stroke-width="3" marker-start="url(#arrL)" marker-end="url(#arrR)"/>r   é	   z@" stroke="var(--gold)" stroke-width="3" stroke-linecap="round"/>z	<text x="z" y="é   zQ" font-family="sans-serif" font-size="14" fill="var(--ink)" text-anchor="middle">z</text>z<circle cx="z" cy="zH" r="7" fill="var(--crimson)" stroke="var(--cream)" stroke-width="1.5"/>z</svg>Ú
)Úfloatr   r   ÚappendÚSTYLEÚranger	   Újoin)r   r   ÚintervalÚmarked_pointsÚn_ticksÚspanÚSTEP_PXÚwidthÚheightÚyr   ÚpartsÚx_leftÚx_rightÚiÚvalÚxÚmpr   r   s   ``                @@r   Úgenerater7      s\  û€ ØÑØˆÜ�%‹L€EÜ
�‹*€CÜ�X‹€Hä”%˜˜u™¨Ñ0Ó1Ó2€GØ€Dà
€CØ€GØ‰^€FØ�Q˜‘WÑ€EØ€FØ
€A÷>ð >ð €EØ	‡L�LØ
9¼#¸e»*¸ð FØ�(˜/¬#¨e«*¨°Q°v°h¸bð	Bôð 
‡L�L”Ôð 
‡L�LØ
#¤C¨£J¨q¡L >°¸FÀ1¹H¸:ð FHð 	Iôð 
‡L�Lð	ôð �2‰X€FØ�c‰k˜BÑ€GØ	‡L�LØ
�V˜C�L  q c¨°¸¨}¸FÀ1À#ð F>ð 	?ôô �7˜Q‘;ÖˆØ�a‘lÑ"ˆÙ�‹IˆØ�‰Ø˜˜3˜˜v a¨¡c U¨&°°3°°v¸aÀ¹c¸Uð CMð Nô	
ð 	�‰Ø˜˜#�w˜e A b¡D 6ð *EÜEIÈ#ÃYÀKÈwðXö	
ñ  ó ˆÜ�2‹YˆÙ�‹HˆØ�‰Ø˜1˜S˜' ¨ sð +9ð :ö	
ñ ð 
‡L�L�ÔØ�9‰9�UÓÐr
   Ú__main__z..ÚsamplesT)Úexist_oké   é   )r   r   r(   r)   éd   é(   éûÿÿÿé   Únumber_line_z.svgÚwzutf-8)ÚencodingÚwrote)r   r   r   Nr   )Ú__doc__r%   r	   r7   Ú__name__ÚosÚpathÚabspathr'   ÚdirnameÚ__file__ÚoutÚmakedirsÚdictr9   Ú	enumerater3   ÚkwÚpÚopenÚfÚwriteÚprintr   r
   r   Ú<module>rV      s  ðñðOð òôKð\ ˆzÓÛØ
�'‰'�/‰/˜"Ÿ'™'Ÿ,™, r§w¡w§¡°xÓ'@À$È	ÓRÓ
S€CØ‡K‚K�˜dÒ#á�1˜" q¸¸A¸Ñ?Ù�1˜#¨¸2¸$Ñ?Ù�2˜1 q¸¸Ñ<ð€Gñ
 ˜7 AÖ&‰ˆˆ2Ø�G‰G�L‰L˜ ¨Q¨C¨tÐ4Ó5ˆÙ�!�S 7Ò+¨qØ�G‰G‘H‘N˜r‘NÔ#÷ ,áˆg�qÖò	 'ð ÷ ,Õ+ús   ÃC;Ã;
D		