
    GJja                     F   d Z ddlZddlmZ ddlZddlmZmZ ddlm	Z	m
Z
mZmZmZ ddlmZ ddlmZ  ej$                  ej&                  dd	d
      Z ej*                  ej,                        dz  Zd Ze
d        Ze
d        Ze
d        Z ed      d        Zed        Z ed      d        Zed        Zed        Z d Z!d Z"d Z#d Z$ed        Z% eej$                  ejL                        d        Z'd Z( eejL                  ej$                        d        Z) eejT                  ej$                        d         Z+e
d!        Z, eejT                  ejZ                        d"        Z. e	ej^                        d#        Z0 e	e1      d$        Z2 e	ejf                         e	ejh                        d%               Z5 e	ejl                        d&        Z7 e	ejp                        d'        Z9 e	ejt                        d(        Z; e	ejx                        d)        Z= e	ej|                        d*        Z? e	ej                        d+        ZA e	ej                        d,        ZC e	ej                        d-        ZE e	ej                        d.        ZG eejZ                  d/       eejL                  d/       eej$                  d/      d0                      ZH eejZ                  d1       eejL                  d1      d2               ZI eejT                  d3      d4        ZJ eejL                  d5       eej$                  d5      d6               ZK eejZ                  d7      d8        ZL e	eM      d9        ZN eejZ                  d:      d;        ZO eejL                  d:      d<        ZP eejZ                  d=      d>        ZQ eejL                  d=      d?        ZR eejZ                  d@      dA        ZS eejL                  d@      dB        ZT eejZ                  dC       eejL                  dC       eej$                  dC      dD                      ZU eejZ                  dE       eejL                  dE       eej$                  dE      dF                      ZV eejZ                  dG       eejL                  dG       eej$                  dG      dH                      ZW eejZ                  dI       eejL                  dI       eej$                  dI      dJ                      ZXedK        ZY eejZ                  dL       eejL                  dL       eej$                  dL      d^dM                     ZZ eejZ                  dN       eejL                  dN       eej$                  dN      d_dO                     Z[ eejZ                  dP       eejL                  dP       eej$                  dP      d_dQ                     Z\ eejZ                  dR       eejL                  dR       eej$                  dR      d_dS                     Z] eejZ                  dT       eejL                  dT       eej$                  dT      dU                      Z^ eejZ                  dV       eejL                  dV       eej$                  dV      d`dW                     Z_ eejZ                  dX       eejL                  dX       eej$                  dX      d`dY                     Z` eejZ                  dZ       eejL                  dZ       eej$                  dZ      d`d[                     Za eejZ                  d\       eejL                  d\       eej$                  d\      d]                      Zby)az=Implements operations on bytes and str (unicode) array items.    N)ir)typescgutils)overload	intrinsicoverload_method
lower_castregister_jitable)is_nonelike)unicode   CT)readonly   c                       fd}|S )Nc                 0   |\  }}t        j                  ||      }|j                  |t        j                  	      j                               }|j                  |j                  ||g            }|j                  |t        j                  d            S )Nvalue    )	r   alloca_once_valuebitcastr   IntType
as_pointerloadgepzext)
contextbuilder	signatureargsdataidxrawptrptrchbitsizes
            _/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/numba/cpython/charseq.pycodegenz#make_deref_codegen.<locals>.codegen   st    	c**7$?oofbjj&9&D&D&FG\\'++cC512||B

2//     )r&   r(   s   ` r'   make_deref_codegenr+      s    0 Nr)   c                 d    t        j                  |t         j                        }|t        d      fS )N   r   uint32intpr+   	typingctxr!   offsetsigs       r'   deref_uint8r5   (   s'    
,,tUZZ
(C"1%%%r)   c                 d    t        j                  |t         j                        }|t        d      fS )N   r.   r1   s       r'   deref_uint16r8   .   '    
,,tUZZ
(C"2&&&r)   c                 d    t        j                  |t         j                        }|t        d      fS )Nr   r.   r1   s       r'   deref_uint32r;   4   r9   r)   F)_nrtc                     t        | |      S )z6Access i-th item of CharSeq object via code value
    )r5   ais     r'   charseq_get_coderA   :   s     q!r)   c                 >    t        | |      }|dk(  rt        d      |S )zcAccess i-th item of CharSeq object via code value.

    null code is interpreted as IndexError
    r   index out of range)rA   
IndexErrorr?   r@   codes      r'   charseq_get_valuerG   A   s(     Aq!Dqy-..Kr)   c                     t         dk(  rt        | |      S t         dk(  rt        | |      S t         dk(  rt        | |      S t	        d      )z=Access i-th item of UnicodeCharSeq object via code value
    r      r   z=unicode_charseq_get_code: unicode_byte_width not in [1, 2, 4])unicode_byte_widthr;   r8   r5   NotImplementedErrorr>   s     r'   unicode_charseq_get_coderL   M   sU     QAq!!	q	 Aq!!	q	 1a  !KM 	Mr)   c                 .    t        j                  | |      S )z,Access i-th item of UnicodeType object.
    )r   _get_code_pointr>   s     r'   unicode_get_coderO   \   s     ""1a((r)   c                     | |   S )z*Access i-th item of Bytes object.
        r*   r>   s     r'   bytes_get_coderQ   c   s     Q4Kr)   c                    t        | t        j                        rt        S t        | t        j                        rt
        S t        | t        j                        rt        S t        | t        j                        rt        S y N)

isinstancer   CharSeqrA   BytesrQ   UnicodeCharSeqrL   UnicodeTyperO   r?   s    r'   _get_code_implrZ   j   s[    !U]]#	Au{{	#	Au++	,''	Au((	) 
*r)   c                     t         j                  t         j                  ft         j                  t         j                  ffD ]  }t        | |      st        ||      s y y)NTF)r   rU   rV   rW   rX   rT   )r?   bts      r'   
_same_kindr^   u   sM    }}ekk*##U%6%679a
1a 09 r)   c                 V    t        | t        j                  t        j                  f      S rS   )rT   r   rU   rV   rY   s    r'   	_is_bytesr`   }   s    a%--566r)   c                 D    | |k(  xs t        | t        j                        S rS   )rT   r   Omitted)xdefaults     r'   
is_defaultre      s    <7:a77r)   c                 P    t        | |      }|dk(  rt        d      t        |      S )zlAccess i-th item of UnicodeCharSeq object via unicode value

    null code is interpreted as IndexError
    r   rC   )rL   rD   chrrE   s      r'   unicode_charseq_get_valuerh      s-     $Aq)Dqy-..t9r)   c           	      B    t        j                  |      | ||      }|j                  |j                  t	        j
                  d      j                               }|j                  }| j                  |      }t	        j
                  d      }	t        j                  ||      }
|j                  |
|	j                               }t	        j                  |j                  |j                        }|j                  d||      }|j                  |||      }|j                  |      5  t        j                   ||t	        j                  |j                  |j                        d       d d d        t        j"                  ||      5 }|j%                  ||j&                  g      }|j)                  |j+                  |      |	      }|j-                  ||j%                  ||j&                  g             d d d        |j+                  |
      S # 1 sw Y   xY w# 1 sw Y   &xY w)Nr   r-   <r   )r   create_struct_proxyr   r!   r   r   r   nitemsget_value_typealloca_onceConstanttypecounticmp_unsignedselectif_thenmemset	for_ranger   indexr   r   store)r   r   fromtytotyvalbarrsrc
src_lengthltydstint_tdst_ptrdst
dst_lengthis_shorter_valuerq   loopin_ptrin_vals                     r'   bytes_to_charseqr      s   .7&&v.wsKD
//$))RZZ]%=%=%?
@CJ

 
 
&Czz!}H!!'3/G
//'8#6#6#8
9CZ__djj9J,,S*jINN+ZDE	)	*w{{:??#'::/01	3 
+
 
		7E	*dS4::,/gll62H=fgkk#

|<= 
+
 <<   
+	*
 
+	*s   %AH	A,H	HHc                    t        j                  t              } || |      }t        |t              r*t        j                  |j                  j                  |      }| j                  j                  ||      |_        ||_        t        j                  |j                  j                  d      |_        | j                  j                  ||j                        |_        t        j                  |j                   j                        |_        t        j                  |j"                  j                        |_        t        j                  |j$                  j                        |_        |S Nr   )r   rk   
bytes_typerT   intr   ro   rl   rp   nrtmeminfo_allocmeminfoitemsizememinfo_datar!   get_null_valueparentshapestrides)r   r   nbytes	bstr_ctorbstrs        r'   _make_constant_bytesr      s    ++J7IWg&D&#T[[--v6;;,,Wf=DLDKKK 2 2A6DM(($,,?DI(()9)9:DK''

8DJ))$,,*;*;<DLKr)   c                    t        | ||j                  j                        }t        j                  ||      }|j                  ||j                  j                        }t        j                  ||j                  ||j                         |S )Nr   )	r   rp   rq   r   r   r   r!   memcpyrl   )r   r   ry   rz   r{   r   r#   r$   s           r'   charseq_to_bytesr      sa    #((..AD&&wc:F
//&$))..
1CNN7DIIsDKK8Kr)   c                 ^    t        j                  |      | ||      }|j                  |j                  t	        j
                  d      j                               }|j                  d|j                  t	        j                  |j                  j                  d            }|j                  }|j                  |      5  | j                  j                  |t        d       d d d        t!        | ||      }	t        j"                  ||	j                  ||	j$                         |	S # 1 sw Y   DxY w)Nr   r-   z!=r   )z3cannot cast higher than 8-bit unicode_type to bytes)r   rk   r   r!   r   r   r   rr   kindro   rp   lengthrt   	call_convreturn_user_exc
ValueErrorr   r   rl   )
r   r   ry   rz   r{   uni_strsrc1notkind1r~   r   s
             r'   unicode_to_bytes_castr      s    1g))&1'7#NG??7<<A)A)A)CDD$$T7<<%'[[1B1BA%FHHJ		"))ZD	F 
#
  *=DNN7DIItT[[9K 
#	"s   >"D##D,c                 V    t         j                  k(  sJ t              }fd}||fS )Nc                 L    t        | |t        |d         j                         S Nr   )r   r   	_getvalue)r   r   r   r    ss       r'   r(   z"_unicode_to_bytes.<locals>.codegen   s'    $WaT!W66?ik	Br)   )r   unicode_typer   )r2   r   r4   r(   s    `  r'   _unicode_to_bytesr      s4     """""
Q-CB <r)   c           
          t        j                  |      | ||      }|j                  |j                  t	        j
                  d      j                               }|j                  |j                  t	        j
                  d      j                               }|j                  |j                  t	        j
                  d      j                               }|j                  d|j                  t	        j                  |j                  j                  d            }	|j                  d|j                  t	        j                  |j                  j                  d            }
|j                  d|j                  t	        j                  |j                  j                  d            }|j                  }| j                  |      }t	        j
                  dt        z        }t        j                  ||      }|j                  ||j                               }t	        j                  |j                  |j                        }|j                  d	||      }|j!                  |||      }|j#                  |      5  t        j$                  ||t	        j                  |j                  |j                  t        z        d
       d d d        |j#                  |	      5  t        j&                  ||      5 }|j)                  ||j*                  g      }|j-                  |j/                  |      |      }|j1                  ||j)                  ||j*                  g             d d d        d d d        |j#                  |
      5  t        dk\  rt        j&                  ||      5 }|j)                  ||j*                  g      }|j-                  |j/                  |      |      }|j1                  ||j)                  ||j*                  g             d d d        n.| j2                  j5                  |t6        dt        dz  d|       d d d        |j#                  |      5  t        dk\  rt        j&                  ||      5 }|j)                  ||j*                  g      }|j-                  |j/                  |      |      }|j1                  ||j)                  ||j*                  g             d d d        n.| j2                  j5                  |t6        dt        dz  d|       d d d        |j/                  |      S # 1 sw Y   wxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   &xY w# 1 sw Y   +xY w# 1 sw Y   cxY w# 1 sw Y   gxY w)Nr   r-   r7   r   z==r   rI   r   rj   r   z#cannot cast 16-bit unicode_type to z-bit z#cannot cast 32-bit unicode_type to )r   rk   r   r!   r   r   r   rr   r   ro   rp   r   rm   rJ   rn   rq   rs   rt   ru   rv   r   rw   r   r   rx   r   r   r   )r   r   ry   rz   r{   r   r   src2src4kind1kind2kind4r~   r   r   r   r   r   r   rq   r   r   r   s                          r'   unicode_to_unicode_charseqr      s!   1g))&1'7#NG??7<<A)A)A)CDD??7<<B)B)B)DED??7<<B)B)B)DED!!$"$++gll.?.?"CEE!!$"$++gll.?.?"CEE!!$"$++gll.?.?"CEEJ

 
 
&Czz!001H!!'3/G
//'8#6#6#8
9CZ__djj9J,,S*jINN+ZDE	)	*w{{:??#'::0B#BDEF	H 
+ 
	w.$[[

|4F\\',,v"6AFMM&'++cDJJ<"@A / 
  
	"""7E2d TDJJ<8 gll6&:HEfgkk#

|&DE 32
 --&*D24 
  
	"""7E2d TDJJ<8 gll6&:HEfgkk#

|&DE 32
 --&*D24 
  <<  I 
+	* /. 
 	 32 
 	 32 
 	s|   5AT2U-A,T?U: U&A,U7U& U?6A,U3"7U?2T<?U		UUU#	U&&U03U<	8U??Vc                     d t        |t        j                        r@t        | t        j                        rt        t        | t        j
                        rt        | j                  ddz
  z  fd}|S y )Nzindex out of range [0, %s]r   c                 @    |k  r|dk\  r	 | |      S t              r   )rD   )r   r@   	get_valuemax_imsgs     r'   getitem_implz%charseq_getitem.<locals>.getitem_implO  s&    5yQ!V A&S/!r)   )rT   r   IntegerrU   rG   rW   rh   rq   )r   r@   r   r   r   r   s      @@@r'   charseq_getitemr   C  sm    I!U]]#a')Ia--.1I*eai8	"  r)   c                     t        | t        j                  t        j                  f      r)t	        |       | j
                  dk(  rd }|S fd}|S y )Nr   c                      yr   r*   r   s    r'   len_implzcharseq_len.<locals>.len_impl\  s    r)   c                 ^    }d}|dk(  r|dz
  }|dk  r	 |dz   S  | |      }|dk(  r|dz   S )Nr   r   r*   )r   r@   rF   get_codens      r'   r   zcharseq_len.<locals>.len_impl`  sS     aiAA1u1u $Aq>D	 ai
 1ur)   )rT   r   rU   rW   rZ   rq   )r   r   r   r   s     @@r'   charseq_lenr   V  sQ    !emmU%9%9:;!!$GG6O
 O' <r)   c                 (   t        | |      sy t        | t        j                        rt        |t        j                        rd }|S t        |t        j                        rt        | t        j                        rd }|S t        | t        j                        rt        |t        j                        rd }|S t        | t        j
                  t        j                  f      r0t        |t        j
                  t        j                  f      rd }|S y y )Nc                     t        |       |z   S rS   strr?   r\   s     r'   implzcharseq_concat.<locals>.implu      q6A:r)   c                     | t        |      z   S rS   r   r   s     r'   r   zcharseq_concat.<locals>.implz      s1v:r)   c                 0    t        |       t        |      z   S rS   r   r   s     r'   r   zcharseq_concat.<locals>.impl  s    q6CF?"r)   c                 `    | j                         |j                         z   j                         S rS   _to_str	_to_bytesr   s     r'   r   zcharseq_concat.<locals>.impl  s"    IIK!))+-88::r)   )r^   rT   r   rW   rX   rU   rV   r?   r\   r   s      r'   charseq_concatr   n  s     a1e**+q%++,	1e**+q%++,	1e**+q%../	#1u}}ekk23q5==%++67	; 8 	4r)   c                 <   t        | t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                  t        j                  f      rd }|S t        |t        j                  t        j                  f      rd }|S y )Nc                     t        |       |z  S rS   r   r   s     r'   wrapzcharseq_repeat.<locals>.wrap  r   r)   c                     | t        |      z  S rS   r   r   s     r'   r   zcharseq_repeat.<locals>.wrap  r   r)   c                 D    | j                         |z  j                         S rS   r   r   s     r'   r   zcharseq_repeat.<locals>.wrap  s    IIK!O..00r)   c                 D    | |j                         z  j                         S rS   r   r   s     r'   r   zcharseq_repeat.<locals>.wrap  s    		O..00r)   rT   r   rW   rU   rV   )r?   r\   r   s      r'   charseq_repeatr     s}    !U))*	!U))*	!emmU[[12	1!emmU[[12	1 3r)   c                     t        | t        j                  t        j                  t        j                  f      rd }|S y )Nc                     t        |       dk(  S r   )lenrY   s    r'   r   zcharseq_not.<locals>.impl  s    q6Q;r)   r   )r?   r   s     r'   charseq_notr     s1    !e**EMM5;;GH	 Ir)   c                 h    t        | |      sy t        |       t        |      fd}|S y y )Nc                     t        |       }|t        |      k7  ryt        |      D ]  } | |       ||      k7  s y y)NFT)r   range)r?   r\   r   r@   	left_code
right_codes       r'   eq_implzcharseq_eq.<locals>.eq_impl  sE    AACF{1XQ?jA&66   r)   r^   rZ   )r?   r\   r   r   r   s      @@r'   
charseq_eqr     sC    aq!I"J!7	  "8r)   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     | |k(   S rS   r*   r   s     r'   ne_implzcharseq_ne.<locals>.ne_impl  s    Q<r)   r   )r?   r\   r   r   r   s        r'   
charseq_ner     s@    aq!I"J!7	  "8r)   c                 h    t        | |      sy t        |       t        |      fd}|S y y )Nc                     t        |       }t        |      }t        ||      }t        |      D ]   } | |       	||      }}||k7  s||k  c S  ||k  S rS   )r   minr   )
r?   r\   nanbr   r@   cacbr   r   s
           r'   lt_implzcharseq_lt.<locals>.lt_impl  s_    QBQBBA1X"1a*Q*:B87N  7Nr)   r   )r?   r\   r   r   r   s      @@r'   
charseq_ltr     sC    aq!I"J!7	  "8r)   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     || k  S rS   r*   r   s     r'   gt_implzcharseq_gt.<locals>.gt_impl  s    q5Lr)   r   )r?   r\   r   r   r   s        r'   
charseq_gtr     s@    aq!I"J!7	 "8r)   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     | |kD   S rS   r*   r   s     r'   le_implzcharseq_le.<locals>.le_impl      A;r)   r   )r?   r\   r   r   r   s        r'   
charseq_ler     @    aq!I"J!7	 "8r)   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     | |k   S rS   r*   r   s     r'   ge_implzcharseq_ge.<locals>.ge_impl  r   r)   r   )r?   r\   r   r   r  s        r'   
charseq_ger    r   r)   c                 ~    t        | |      sy t        |       }t        |      }||t        |       rd }|S d }|S y y )Nc                 B    |j                         | j                         v S rS   )r   r   s     r'   contains_implz'charseq_contains.<locals>.contains_impl  s    
 yy{aiik11r)   c                 .    t        |      t        |       v S rS   r   r   s     r'   r  z'charseq_contains.<locals>.contains_impl	  s    1vQ''r)   )r^   rZ   r`   )r?   r\   r   r   r  s        r'   charseq_containsr    sU    aq!I"J!7Q<2 ( "8r)   isasciic                 (    t        |       fd}|S )Nc                 T    t        t        |             D ]  } | |      dkD  s y y)N   FT)r   r   )r   r@   r   s     r'   r   zcharseq_isascii.<locals>.impl  s+    s1vA1~#  r)   rZ   r   r   r   s     @r'   charseq_isasciir    s     a H
 Kr)   	_get_kindc                 (    t        |       fd}|S )Nc                     d}t        t        |             D ]  } | |      }||kD  s|} |dkD  rt        j                  S |dkD  rt        j                  S t        j
                  S )Nr   i     )r   r   r   PY_UNICODE_4BYTE_KINDPY_UNICODE_2BYTE_KINDPY_UNICODE_1BYTE_KIND)r   max_coder@   rF   r   s       r'   r   zcharseq_get_kind.<locals>.impl!  sf    s1vAAq>Dh  f000d?000,,,r)   r  r  s     @r'   charseq_get_kindr    s     a H
- Kr)   r   c                     d }|S )zConvert unicode_type object to Bytes object.

    Note: The usage of _to_bytes method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.

    c                     t        |       S rS   )r   r   s    r'   r   z"unicode_to_bytes_mth.<locals>.impl7  s     ##r)   r*   r   r   s     r'   unicode_to_bytes_mthr  /  s    $Kr)   r   c                 (    t        |       fd}|S )zConvert bytes array item or bytes instance to UTF-8 str.

    Note: The usage of _to_str method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.
    c                     t        |       }| j                         }t        j                  t        j                  ||      }t        |      D ]"  } | |      }t        j                  |||       $ |S rS   )r   r	  r   _empty_stringr  r   _set_code_point)r   r   is_asciiresultr@   rF   r   s         r'   
tostr_implz&charseq_to_str_mth.<locals>.tostr_implF  sf    F99;&&))1h8qAAq>D##FAt4  r)   r  )r   r#  r   s     @r'   charseq_to_str_mthr$  <  s     a H r)   __str__c                 (    t        |       fd}|S )Nc                     t        |       }| j                         }|dk(  xr | j                         }t        j                  |||      }t        |      D ]"  } | |      }t        j                  |||       $ |S r   )r   r  r	  r   r  r   r   )r   r   r   r!  r"  r@   rF   r   s          r'   str_implzcharseq_str.<locals>.str_implV  sq    F{{}19,&&tQ9qAAq>D##FAt4  r)   r  )r   r(  r   s     @r'   charseq_strr)  R  s    a H Or)   c                 >    t        | t        j                        rd S y )Nc                     | S rS   r*   r   s    r'   <lambda>zcharseq_bytes.<locals>.<lambda>f  s    r)   )rT   r   rU   r   s    r'   charseq_bytesr-  c  s    !U]]# $r)   __hash__c                     d }|S )Nc                 *    t        t        |             S rS   )hashr   r   s    r'   r   z"unicode_charseq_hash.<locals>.implk  s    CF|r)   r*   r  s     r'   unicode_charseq_hashr2  i  s    Kr)   c                     d }|S )Nc                 4    t        | j                               S rS   )r1  r   r   s    r'   r   zcharseq_hash.<locals>.implr  s     AIIK  r)   r*   r  s     r'   charseq_hashr5  p  s    ! Kr)   isupperc                     d }|S )Nc                 8    t        |       j                           S rS   )r   r6  r   s    r'   r   z%unicode_charseq_isupper.<locals>.impl~  s    1v~~''''r)   r*   r  s     r'   unicode_charseq_isupperr9  |  s    ( Kr)   c                     d }|S )Nc                 B    | j                         j                           S rS   )r   r6  r   s    r'   r   zcharseq_isupper.<locals>.impl  s    yy{**,,,,r)   r*   r  s     r'   charseq_isupperr<    s    - Kr)   upperc                     d }|S )Nc                 4    t        |       j                         S rS   )r   r=  r   s    r'   r   z#unicode_charseq_upper.<locals>.impl  s    1v||~r)   r*   r  s     r'   unicode_charseq_upperr@    s    Kr)   c                     d }|S )Nc                 Z    | j                         j                         j                         S rS   )r   r=  r   r   s    r'   r   zcharseq_upper.<locals>.impl  s     yy{  ",,..r)   r*   r  s     r'   charseq_upperrC    s    / Kr)   findc                 ,   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                        r/t        |t        j                  t        j
                  f      rd }|S t        | t        j                        rt        |t        j                        rd }|S t        | t        j
                        r t        |t        j                        rd }|S y y )Nc                 H    t        |       j                  t        |            S rS   r   rD  r   s     r'   r   z"unicode_charseq_find.<locals>.impl  s    1v{{3q6**r)   c                 6    t        |       j                  |      S rS   rG  r   s     r'   r   z"unicode_charseq_find.<locals>.impl  s    1v{{1~%r)   c                 \    | j                         j                  |j                               S rS   r   rD  r   s     r'   r   z"unicode_charseq_find.<locals>.impl      yy{''		44r)   c                 6    | j                  t        |            S rS   )rD  r   r   s     r'   r   z"unicode_charseq_find.<locals>.impl  s    vvc!f~%r)   c                 \    | j                         j                  |j                               S rS   rJ  r   s     r'   r   z"unicode_charseq_find.<locals>.impl  rK  r)   rT   r   rW   rX   rU   rV   r   s      r'   unicode_charseq_findrO    s     !U))*a--.+Ka**+&K!U]]#a%--565K!U&&'a--.&K!U[[!a'5K ( "r)   rfindc                 ,   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                        r/t        |t        j                  t        j
                  f      rd }|S t        | t        j                        rt        |t        j                        rd }|S t        | t        j
                        r t        |t        j                        rd }|S y y )Nc                 H    t        |       j                  t        |            S rS   r   rP  r   s     r'   r   z#unicode_charseq_rfind.<locals>.impl  s    1v||CF++r)   c                 6    t        |       j                  |      S rS   rS  r   s     r'   r   z#unicode_charseq_rfind.<locals>.impl  s    1v||A&r)   c                 \    | j                         j                  |j                               S rS   r   rP  r   s     r'   r   z#unicode_charseq_rfind.<locals>.impl      yy{((55r)   c                 6    | j                  t        |            S rS   )rP  r   r   s     r'   r   z#unicode_charseq_rfind.<locals>.impl  s    wws1v&r)   c                 \    | j                         j                  |j                               S rS   rV  r   s     r'   r   z#unicode_charseq_rfind.<locals>.impl  rW  r)   rN  r   s      r'   unicode_charseq_rfindrZ    s     !U))*a--.,Ka**+'K!U]]#a%--566K!U&&'a--.'K!U[[!a'6K ( "r)   
startswithc                 h   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                  t        j
                  f      r0t        |t        j                  t        j
                  f      rd }|S y y )Nc                 H    t        |       j                  t        |            S rS   r   r[  r   s     r'   r   z(unicode_charseq_startswith.<locals>.impl  s    1v((Q00r)   c                 6    t        |       j                  |      S rS   r^  r   s     r'   r   z(unicode_charseq_startswith.<locals>.impl  s    1v((++r)   c                 \    | j                         j                  |j                               S rS   )r   r[  r   s     r'   r   z(unicode_charseq_startswith.<locals>.impl  s    yy{--aiik::r)   rN  r   s      r'   unicode_charseq_startswithra    s     !U))*a--.1Ka**+,K!emmU[[12a%--56;K 7 3r)   endswithc                 h   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                  t        j
                  f      r0t        |t        j                  t        j
                  f      rd }|S y y )Nc                 H    t        |       j                  t        |            S rS   r   rb  r   s     r'   r   z&unicode_charseq_endswith.<locals>.impl  s    1vs1v..r)   c                 6    t        |       j                  |      S rS   re  r   s     r'   r   z&unicode_charseq_endswith.<locals>.impl  s    1vq))r)   c                 \    | j                         j                  |j                               S rS   )r   rb  r   s     r'   r   z&unicode_charseq_endswith.<locals>.impl  s    yy{++AIIK88r)   rN  r   s      r'   unicode_charseq_endswithrh    s     !U))*a--./Ka**+*K!emmU[[12a%--569K 7 3r)   c                 H    | D cg c]  }|j                          c}S c c}w rS   )r   )seqr   s     r'   
_map_bytesrk    s     #&'3aAKKM3'''s   splitc                 x   |dk(  s:t        |t        j                  t        j                  t        j                  f      sy t        | t        j
                        rct        |t        j
                        rd	d}|S t        |t        j                        rd	d}|S t        |      rt        |d      rd	d}|S d	d}|S t        | t        j                  t        j                  f      rTt        |t        j                  t        j                  f      rd	d}|S t        |      rt        |d      rd	d}|S d	d}|S y y )
Nc                 L    t        |       j                  t        |      |      S N)sepmaxsplitr   rl  r?   rq  rr  s      r'   r   z#unicode_charseq_split.<locals>.impl  s    1v||C8|DDr)   c                 :    t        |       j                  ||      S rp  rs  rt  s      r'   r   z#unicode_charseq_split.<locals>.impl  s    1v||h|??r)   c                 4    t        |       j                         S rS   rs  rt  s      r'   r   z#unicode_charseq_split.<locals>.impl  s    q6<<>)r)   c                 8    t        |       j                  |      S N)rr  rs  rt  s      r'   r   z#unicode_charseq_split.<locals>.impl  s    q6<<<::r)   c                 r    t        | j                         j                  |j                         |            S rx  rk  r   rl  rt  s      r'   r   z#unicode_charseq_split.<locals>.impl  s5    !!))+"3"3CKKM=E #4 #G H Hr)   c                 P    t        | j                         j                               S rS   rz  rt  s      r'   r   z#unicode_charseq_split.<locals>.impl%  s    %aiik&7&7&9::r)   c                 T    t        | j                         j                  |            S rx  rz  rt  s      r'   r   z#unicode_charseq_split.<locals>.impl(  s!    %aiik&7&7&7&JKKr)   Nrn  )rT   r   rb   r   IntegerLiteralrW   rX   r   re   rU   rV   )r?   rq  rr  r   s       r'   unicode_charseq_splitr    s    Nx%--"'"6"6"8 9!U))*c5//0EKc5,,-@Ks(B'*
 K;K!emmU[[12cEMM5;;78H Ks(B';
 KLK  3r)   ljustc                    t        | t        j                        rRt        |d      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rOt        |d      st        |d      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )	N c                 6    t        |       j                  |      S rS   r   r  r?   widthfillchars      r'   r   z#unicode_charseq_ljust.<locals>.impl5      1v||E**r)   c                 J    t        |       j                  |t        |            S rS   r  r  s      r'   r   z#unicode_charseq_ljust.<locals>.impl9      1v||E3x=99r)   c                 8    t        |       j                  ||      S rS   r  r  s      r'   r   z#unicode_charseq_ljust.<locals>.impl=      1v||E844r)       c                 \    | j                         j                  |      j                         S rS   r   r  r   r  s      r'   r   z#unicode_charseq_ljust.<locals>.implB  "    yy{((/99;;r)   c                 z    | j                         j                  ||j                               j                         S rS   r  r  s      r'   r   z#unicode_charseq_ljust.<locals>.implF  -    yy{((0@0@0BCMMOOr)   r  rT   r   rW   re   rX   rU   rV   r?   r  r  r   s       r'   unicode_charseq_ljustr  /       !U))*h$+K%"6"67:K%"3"345K!emmU[[12h$
8T(B<K5==%++">?PK @ 3r)   rjustc                    t        | t        j                        rRt        |d      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rOt        |d      st        |d      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )	Nr  c                 6    t        |       j                  |      S rS   r   r  r  s      r'   r   z#unicode_charseq_rjust.<locals>.implQ  r  r)   c                 J    t        |       j                  |t        |            S rS   r  r  s      r'   r   z#unicode_charseq_rjust.<locals>.implU  r  r)   c                 8    t        |       j                  ||      S rS   r  r  s      r'   r   z#unicode_charseq_rjust.<locals>.implY  r  r)   r  c                 \    | j                         j                  |      j                         S rS   r   r  r   r  s      r'   r   z#unicode_charseq_rjust.<locals>.impl^  r  r)   c                 z    | j                         j                  ||j                               j                         S rS   r  r  s      r'   r   z#unicode_charseq_rjust.<locals>.implb  r  r)   r  r  r  s       r'   unicode_charseq_rjustr  K  r  r)   centerc                    t        | t        j                        rRt        |d      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rOt        |d      st        |d      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )	Nr  c                 6    t        |       j                  |      S rS   r   r  r  s      r'   r   z$unicode_charseq_center.<locals>.implm      1v}}U++r)   c                 J    t        |       j                  |t        |            S rS   r  r  s      r'   r   z$unicode_charseq_center.<locals>.implq  s    1v}}UCM::r)   c                 8    t        |       j                  ||      S rS   r  r  s      r'   r   z$unicode_charseq_center.<locals>.implu  s    1v}}UH55r)   r  c                 \    | j                         j                  |      j                         S rS   r   r  r   r  s      r'   r   z$unicode_charseq_center.<locals>.implz  s"    yy{))%0::<<r)   c                 z    | j                         j                  ||j                               j                         S rS   r  r  s      r'   r   z$unicode_charseq_center.<locals>.impl~  s-    yy{))%1A1A1CDNNPPr)   r  r  r  s       r'   unicode_charseq_centerr  g  s     !U))*h$,K%"6"67;K%"3"346K!emmU[[12h$
8T(B=K5==%++">?QK @ 3r)   zfillc                     t        | t        j                        rd }|S t        | t        j                  t        j                  f      rd }|S y )Nc                 6    t        |       j                  |      S rS   )r   r  r?   r  s     r'   r   z#unicode_charseq_zfill.<locals>.impl  s    q6<<&&r)   c                 \    | j                         j                  |      j                         S rS   )r   r  r   r  s     r'   r   z#unicode_charseq_zfill.<locals>.impl  s"    99;$$U+5577r)   r   )r?   r  r   s      r'   unicode_charseq_zfillr    sD     !U))*	'!emmU[[12	8 3r)   lstripc                    t        | t        j                        rQt        |      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rBt        |      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )Nc                 4    t        |       j                         S rS   r   r  r?   charss     r'   r   z$unicode_charseq_lstrip.<locals>.impl      1v}}&r)   c                 H    t        |       j                  t        |            S rS   r  r  s     r'   r   z$unicode_charseq_lstrip.<locals>.impl      1v}}SZ00r)   c                 6    t        |       j                  |      S rS   r  r  s     r'   r   z$unicode_charseq_lstrip.<locals>.impl  r  r)   c                 Z    | j                         j                         j                         S rS   r   r  r   r  s     r'   r   z$unicode_charseq_lstrip.<locals>.impl       yy{))+5577r)   c                 x    | j                         j                  |j                               j                         S rS   r  r  s     r'   r   z$unicode_charseq_lstrip.<locals>.impl  (    yy{))%--/:DDFFr)   rS   rT   r   rW   r   rX   rU   rV   r?   r  r   s      r'   unicode_charseq_lstripr         !U))*u'Ku3341Ku001,K!emmU[[12u8Ku{{;<GK = 3r)   rstripc                    t        | t        j                        rQt        |      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rBt        |      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )Nc                 4    t        |       j                         S rS   r   r  r  s     r'   r   z$unicode_charseq_rstrip.<locals>.impl  r  r)   c                 H    t        |       j                  t        |            S rS   r  r  s     r'   r   z$unicode_charseq_rstrip.<locals>.impl  r  r)   c                 6    t        |       j                  |      S rS   r  r  s     r'   r   z$unicode_charseq_rstrip.<locals>.impl  r  r)   c                 Z    | j                         j                         j                         S rS   r   r  r   r  s     r'   r   z$unicode_charseq_rstrip.<locals>.impl  r  r)   c                 x    | j                         j                  |j                               j                         S rS   r  r  s     r'   r   z$unicode_charseq_rstrip.<locals>.impl  r  r)   rS   r  r  s      r'   unicode_charseq_rstripr    r  r)   stripc                    t        | t        j                        rQt        |      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rBt        |      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )Nc                 4    t        |       j                         S rS   r   r  r  s     r'   r   z#unicode_charseq_strip.<locals>.impl  s    1v||~%r)   c                 H    t        |       j                  t        |            S rS   r  r  s     r'   r   z#unicode_charseq_strip.<locals>.impl  s    1v||CJ//r)   c                 6    t        |       j                  |      S rS   r  r  s     r'   r   z#unicode_charseq_strip.<locals>.impl  r  r)   c                 Z    | j                         j                         j                         S rS   r   r  r   r  s     r'   r   z#unicode_charseq_strip.<locals>.impl  s     yy{((*4466r)   c                 x    | j                         j                  |j                               j                         S rS   r  r  s     r'   r   z#unicode_charseq_strip.<locals>.impl  s(    yy{((9CCEEr)   rS   r  r  s      r'   unicode_charseq_stripr    s     !U))*u&Ku3340Ku001+K!emmU[[12u7Ku{{;<FK = 3r)   joinc                     t        | t        j                        rd }|S t        | t        j                  t        j                  f      rd }|S y )Nc                 p    |D cg c]  }t        |       }}t        |       j                  |      S c c}w rS   )r   r  r?   partsp_partss       r'   r   z"unicode_charseq_join.<locals>.impl  s2    &+,ec!feF,q6;;v&& -s   3c                     |D cg c]  }|j                          }}| j                         j                  |      j                         S c c}w rS   )r   r  r   r  s       r'   r   z"unicode_charseq_join.<locals>.impl  sA    +015aaiik5F199;##F+5577 2s   Ar   )r?   r  r   s      r'   unicode_charseq_joinr    sH    
 !U))*	' !emmU[[12	8  3r)   r}  r  rS   )c__doc__operatorllvmliter   ctypes
numba.corer   r   numba.core.extendingr   r   r   r	   r
   numba.core.cgutilsr   numba.cpythonr   rV   uint8r   sizeofc_byterJ   r+   r5   r8   r;   rA   rG   rL   rO   rQ   rZ   r^   r`   re   rh   rU   r   r   r   rX   r   r   rW   r   getitemr   r   r   addiaddr   mulr   not_r   eqr   ner   ltr   gtr   ler   ger  containsr  r  r  r  r$  r)  bytesr-  r2  r5  r9  r<  r@  rC  rO  rZ  ra  rh  rk  r  r  r  r  r  r  r  r  r  r*   r)   r'   <module>r     s   C    %@ @ * ! U[[at<
 #V]]6==1A5  & &
 ' '
 ' '
 u    uM M ) )   78 	 	8 EKK'! (!4$ EMM5;;' ( Eu{{+ ,"   Eu3349! 59!X 
(

 $ 
# . 
(,,	(--  2 
(,, & 
(--  
(++ " 
(++  
(++ $ 
(++  
(++  
(++  
(

 & %%y1	*i( ) + 2 %%{3, - 4" ""K0	 1	 	*i( ) +( %%y1 2  
% 
 %%z2 3 
+ , %%y1 2 	* + %%w/ 0 ( ) %%v.'f% & ( /6 %%w/(g& ' ) 06 %%|4-l+ , . 5" %%z2
+j) * , 3" ( ( %%w/(g&# ' ) 0#P %%w/(g& ' ) 02 %%w/(g& ' ) 02 %%x0)h' ( * 12 %%w/(g& ' ) 0 %%x0)h' ( * 12 %%x0)h' ( * 12 %%w/(g& ' ) 02 %%v.'f% & ( /r)   