
    @6i                      4    d dl Z ddgZdZd Z G d de      Zy)    NjsminJavascriptMinifyz3.0.1c                     t         j                  } ||       } |       }t        ||fi |j                          |j	                         S )z=
    returns a minified version of the javascript string
    )ioStringIOr   minifygetvalue)jskwargsklassinsoutss        Q/home/azureuser/techstart-app/venv/lib/python3.12/site-packages/jsmin/__init__.pyr   r   #   sA     KKE
)C7DS$)&)002==?    c                   8    e Zd ZdZd	dZd
dZd Zd Zd Zd Z	y)r   zO
    Minify an input stream of javascript, writing
    to an output stream
    Nc                 .    || _         || _        || _        y )N)r   r   quote_chars)selfinstream	outstreamr   s       r   __init__zJavascriptMinify.__init__4   s    	&r   c                     |r|r||c _          _        d _        d _         fd} j                   j                  }d}| _        dd j                  z   }}||z    j                  z   }||z    j                  z   }	| _        |	 _        d}
d}d}d}g }d}d} |d	      }|r |d	      }|r\|j                  |       ||k(  rpd}t        |d d
       D ]  }|dk7  r n|d	z  } |dz  dk(  rFd} |dj                  |             n+|dv r j                  |||
      \  }}
n|dk  r;||v s|dkD  r||v s|dkD  rd}n|dv r||k(  rd}n j                  r|dk(  r |d       n|dk(  r|r |d       |dk(  r+ j                  ||      }d} j                  |||
      \  }}
n|dk(  r# j                  ||        |d	      }||v rd}|}nh|dv s j                  r j                  ||        |d	      }n= |d       n4|
r |d       d}
d}|r
d} |d        ||       | j                  v r|}g }|dk\  r|}|dk(  r|d	z  }nd}|}|}|ry y )NF c                     | dv r*xj                   | z  c_         j                   dk(  _        nd_         j                  xr | dk  _        j                  j                  |        j                  rd_         y y )Nreturnr   !)
return_buf	is_returnr   write)charr   s    r   r   z&JavascriptMinify.minify.<locals>.write@   si     x4'!%H!<"$!%!>D3JIIOOD!~~"$ r   zAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$\z{[(+-z}])+-/r   ;   \   
r   ~Tz-+/ 
*z{(,=:[?!&|;)r   r   r   r   readspace_stringsr   newlinestart_stringsnewlineend_stringsappendreversedjoinnewlineline_commentblock_commentregex_literal)r   r   r   r   r,   r-   startersendersr.   r/   
do_newlinedo_spaceescape_slash_countin_quote	quote_bufpreviousprevious_non_spacenext1next2
numslashescs   `                    r   r   zJavascriptMinify.minify9   s   	"*IDHdi	% xx}}3*"Ht/?/?$?&'-7$:J:JJ#m3d6F6FF$8!"4
	 QGE  'H$!"J%in5 ,9!&!OJ	,
 "A~*#%bggi01&$(LL&z%;!z&-7)C/-/53;#H'4/E=O4O#H^^#J##JC< --eU;E E(,*E:)?%E:c\&&ue4 GE)]:#'$E)]:dnn**5%8 !%Qc
$K!&J$H$H#JeD,,,$H "I|%*"}"a'"%&"HEW r   c                 J   |dk(  sJ d| _         | j                  j                  }| j                  j                  }d} |d       |}|rS|dk7  s|rL ||       |dk(  r | |d             n|dk(  r | |d             d}n|dk(  rd} |d      }|r	|dk7  rI|rL |d       y )	Nr(   r   Fr$   r"   [T])r   r   r,   r   r   )r   r@   rA   r,   r   in_char_classnexts          r   r6   zJavascriptMinify.regex_literal   s    ||xx}}		c
}$Kt|d1gd1g $ %7D } 	c
r   c                     ||cxk(  rdk(  sJ  J | j                   j                  }|r|dvr |d      }|r|dvr|r|dv r |d      }|r|dv r|S )Nr(   r&   r"   )r   r,   )r   r@   rA   r,   s       r   r4   zJavascriptMinify.line_comment   sk    $$$$$$xx}}V+GE V+GE  r   c                 J   |dk(  sJ |dk(  sJ | j                   j                  } |d      } |d      }d}|dk7  s|dk7  r||z  }|} |d      }|dk7  r|dk7  r|j                  d      r7| j                  j	                  |       | j                  j	                  d       y y )Nr(   r+   r"   z/*z/*!z*/
)r   r,   
startswithr   r   )r   r@   rA   r,   comment_buffers        r   r5   zJavascriptMinify.block_comment   s    ||||xx}} QQslesle#NEGE slesl
 $$U+IIOON+IIOOF# ,r   c                     | j                   j                  }|rH|| j                  v s|dkD  r5	 |dk  r |d      }|s$	 ||fS || j                  v s
|dkD  s|dk(  rd}	 ||fS 4||fS )Nr'   r"   r   r(   T)r   r,   r/   r.   )r   r?   rA   r9   r,   s        r   r3   zJavascriptMinify.newline   s    xx}}*d.E.EE-33; GE  j    9 99$s{esl%)
j    j  r   )NNz'")NN)
__name__
__module____qualname____doc__r   r   r6   r4   r5   r3    r   r   r   r   .   s'    
'
tl4
$,!r   )r   __all____version__r   objectr   rR   r   r   <module>rV      s-   : 
&
'N!v N!r   