§
    1@Äj¸m  ã                   ó¢  — d Z ddlmZ ddlmZ ddlZddlZddl	m
Z
mZ ddlmZ ddlmZmZmZ ddlmZ  ed	d
¦  «        Ze
j        ZdZdZdZdZ G d„ de¦  «        Zd„ Zed„ ¦   «         Z ee¦  «        d„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed„ ¦   «         Z#ed„ ¦   «         Z$ed„ ¦   «         Z%ed„ ¦   «         Z&ed„ ¦   «         Z'ed„ ¦   «         Z(ed„ ¦   «         Z)ed„ ¦   «         Z*ed „ ¦   «         Z+ed!„ ¦   «         Z,ed"„ ¦   «         Z-ed#„ ¦   «         Z.ed$„ ¦   «         Z/ed%„ ¦   «         Z0ed&„ ¦   «         Z1ed'„ ¦   «         Z2ed(„ ¦   «         Z3ed)„ ¦   «         Z4ed*„ ¦   «         Z5ed+„ ¦   «         Z6 G d,„ d-e¦  «        Z7 ej8        g d‘d‘d‘d‘d‘d‘d‘d‘d‘e7j9        ‘e7j9        ‘e7j9        ‘e7j9        ‘e7j9        ‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘e7j9        ‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘e7j:        e7j;        z  ‘d‘d‘d‘d‘d‘d‘d‘e7j<        e7j;        z  ‘e7j<        e7j;        z  ‘e7j<        e7j;        z  ‘e7j<        e7j;        z  ‘e7j<        e7j;        z  ‘e7j<        e7j;        z  ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘e7j<        ‘d‘d‘d‘d‘d‘d‘e7j=        e7j;        z  ‘e7j=        e7j;        z  ‘e7j=        e7j;        z  ‘e7j=        e7j;        z  ‘e7j=        e7j;        z  ‘e7j=        e7j;        z  ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘e7j=        ‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘ej>        ¬.¦  «        Z? ej8        g d/¢ej@        ¬.¦  «        ZA ej8        g d0¢ej@        ¬.¦  «        ZB G d1„ d2e¦  «        ZC ej8        g d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘eCjD        eCjE        z  ‘eCjD        ‘eCjD        ‘eCjD        eCjF        z  ‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘eCjD        ‘eCjD        ‘eCjD        ‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘eCjD        ‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘ej>        ¬.¦  «        ZGed3„ ¦   «         ZHed4„ ¦   «         ZIed5„ ¦   «         ZJed6„ ¦   «         ZKed7„ ¦   «         ZLed8„ ¦   «         ZMed9„ ¦   «         ZNed:„ ¦   «         ZOed;„ ¦   «         ZPed<„ ¦   «         ZQed=„ ¦   «         ZRed>„ ¦   «         ZSed?„ ¦   «         ZTdS )@zý
This module contains support functions for more advanced unicode operations.
This is not a public API and is for Numba internal use only. Most of the
functions are relatively straightforward translations of the functions with the
same name in CPython.
é    )Ú
namedtuple)ÚIntEnumN)ÚtypesÚcgutils)Úimpl_ret_untracked)ÚoverloadÚ	intrinsicÚregister_jitable)ÚTypingErrorÚ
typerecordz%upper lower title decimal digit flagsé	   é
   é   é    c                   óJ   — e 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dS )Ú_PyUnicode_TyperecordMasksé   é   é   é   é   r   é@   é€   é   i   i   i   i   i    i @  N)Ú__name__Ú
__module__Ú__qualname__Ú
ALPHA_MASKÚDECIMAL_MASKÚ
DIGIT_MASKÚ
LOWER_MASKÚLINEBREAK_MASKÚ
SPACE_MASKÚ
TITLE_MASKÚ
UPPER_MASKÚXID_START_MASKÚXID_CONTINUE_MASKÚPRINTABLE_MASKÚNUMERIC_MASKÚCASE_IGNORABLE_MASKÚ
CASED_MASKÚEXTENDED_CASE_MASK© ó    úNC:\Projects\Historical\venv\Lib\site-packages\numba/cpython/unicode_support.pyr   r   ;   s^   € € € € € Ø€JØ€LØ€JØ€JØ€NØ€JØ€JØ€JØ€NØÐØ€NØ€LØ ÐØ€JØÐÐÐr.   r   c                 ó    — t          d¦  «        ‚)Nz(Calling the Python definition is invalid)ÚRuntimeError©Úas    r/   Ú_PyUnicode_gettyperecordr4   M   s   € Ý
ÐAÑ
BÔ
BÐBr.   c                 ó:  — t          |t          j        ¦  «        st          d¦  «        ‚d„ }t          j        t          j        t          j        t          j        t          j        t          j        t          j        gt          ¦  «        } |t          ¦  «        }||fS )z~
    Provides the binding to numba_gettyperecord, returns a `typerecord`
    namedtuple of properties from the codepoint.
    zcodepoint must be an integerc           
      ón  — |                       t          j        ¦  «        }|                       t          ¦  «        }|                       t          j        ¦  «        }|                     ¦   «         }|                       t          j        ¦  «        }|                     ¦   «         }	|                       t          j        ¦  «        }
|
                     ¦   «         }t          j	         
                    ||||||	|	|g¦  «        }t          j        |j        |d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||
d¬¦  «        }||||||g}|                     ||d	         g|z   ¦  «         g }|D ]*}|                     |                     |¦  «        ¦  «         Œ+|                      ||j        t)          |¦  «        ¦  «        }t+          | ||j        |¦  «        S )
NÚnumba_gettyperecord©ÚnameÚupperÚlowerÚtitleÚdecimalÚdigitÚflagsr   )Úget_value_typer   ÚvoidÚ_Py_UCS4ÚintcÚ
as_pointerÚucharÚushortÚllvmliteÚirÚFunctionTyper   Úget_or_insert_functionÚmoduleÚalloca_onceÚcallÚappendÚloadÚ
make_tupleÚreturn_typeÚtupler   )ÚcontextÚbuilderÚ	signatureÚargsÚll_voidÚ
ll_Py_UCS4Úll_intcÚll_intc_ptrÚll_ucharÚll_uchar_ptrÚ	ll_ushortÚll_ushort_ptrÚfntyÚfnr:   r;   r<   r=   r>   r?   ÚbyrefÚbufÚxÚress                           r/   Údetailsz$_gettyperecord_impl.<locals>.detailsZ   s  € Ø×(Ò(­¬Ñ4Ô4ˆØ×+Ò+­HÑ5Ô5ˆ
Ø×(Ò(­¬Ñ4Ô4ˆØ×(Ò(Ñ*Ô*ˆØ×)Ò)­%¬+Ñ6Ô6ˆØ×*Ò*Ñ,Ô,ˆØ×*Ò*­5¬<Ñ8Ô8ˆ	Ø!×,Ò,Ñ.Ô.ˆÝŒ{×'Ò'¨ØØØØØØØð2
ñ ô ˆõ Ô+ØŒNØÐ,ð.ñ .ô .ˆõ Ô# G¨W¸7ÐCÑCÔCˆÝÔ# G¨W¸7ÐCÑCÔCˆÝÔ# G¨W¸7ÐCÑCÔCˆÝÔ% g¨x¸iÐHÑHÔHˆÝÔ# G¨X¸GÐDÑDÔDˆÝÔ# G¨Y¸WÐEÑEÔEˆà˜  w°°uÐ=ˆØ�Š�R˜$˜qœ'˜ UÑ*Ñ+Ô+Ð+ØˆØð 	(ð 	(ˆAØ�JŠJ�w—|’| A‘”Ñ'Ô'Ð'Ð'à× Ò  ¨)Ô*?ÅÀsÁÄÑLÔLˆÝ! '¨7°IÔ4IÈ3ÑOÔOÐOr.   )
Ú
isinstancer   ÚIntegerr   Ú
NamedTuplerC   rE   rF   r   rB   )Ú	typingctxÚ	codepointre   ÚtuptyÚsigs        r/   Ú_gettyperecord_implrm   Q   sˆ   € õ �i¥¤Ñ/Ô/ð :ÝÐ8Ñ9Ô9Ð9ð#Pð #Pð #PõJ Ô�eœj­%¬*µe´jÅ%Ä+Ý#œk­5¬<ð9Ý:DñFô F€Eà
ˆ%•‰/Œ/€CØ�ˆ<Ðr.   c                 ó�   ‡— t          | t          j        ¦  «        rddlmŠ ˆfd„}|S t          | t          j        ¦  «        rd„ S dS )zƒ
    Provides a _PyUnicode_gettyperecord binding, for convenience it will accept
    single character strings and code points.
    r   )Ú_get_code_pointc                 ó    •— t          | ¦  «        dk    rd}t          |¦  «        ‚ ‰| d¦  «        }t          t          |¦  «        ¦  «        }|S )Nr   z.gettyperecord takes a single unicode characterr   )ÚlenÚ
ValueErrorrm   rB   )r3   ÚmsgÚ
code_pointÚdataro   s       €r/   Úimplz gettyperecord_impl.<locals>.implŽ   sN   ø€ Ý�1‰vŒv˜ŠzˆzØF�Ý  ‘o”oÐ%Ø(˜¨¨AÑ.Ô.ˆJÝ&¥x°
Ñ';Ô';Ñ<Ô<ˆDØˆKr.   c                 ó:   — t          t          | ¦  «        ¦  «        S ©N)rm   rB   r2   s    r/   ú<lambda>z$gettyperecord_impl.<locals>.<lambda>—   s   € Õ,­X°a©[¬[Ñ9Ô9€ r.   N)rf   r   ÚUnicodeTypeÚnumba.cpython.unicodero   rg   )r3   rv   ro   s     @r/   Úgettyperecord_implr|   …   ss   ø€ õ �!•UÔ&Ñ'Ô'ð 
Ø9Ð9Ð9Ð9Ð9Ð9ð	ð 	ð 	ð 	ð 	ð ˆÝ�!•U”]Ñ#Ô#ð :Ø9Ð9Ð9ð:ð :r.   c                 ó”   — t          |t          j        ¦  «        st          d¦  «        ‚d„ }t	          t          j        ¦  «        }||fS )zš
    Accessor function for the _PyUnicode_ExtendedCase array, binds to
    numba_get_PyUnicode_ExtendedCase which wraps the array and does the lookup
    zExpected an indexc                 ó(  — |                       t          ¦  «        }|                       t          j        ¦  «        }t          j                             ||g¦  «        }t          j        |j	        |d¬¦  «        }| 
                    ||d         g¦  «        S )NÚ numba_get_PyUnicode_ExtendedCaser8   r   )r@   rB   r   rC   rG   rH   rI   r   rJ   rK   rM   )rS   rT   rU   rV   rX   rY   r_   r`   s           r/   re   z(_PyUnicode_ExtendedCase.<locals>.details¥   s�   € Ø×+Ò+­HÑ5Ô5ˆ
Ø×(Ò(­¬Ñ4Ô4ˆÝŒ{×'Ò'¨
°W°IÑ>Ô>ˆÝÔ+ØŒNØÐ9ð;ñ ;ô ;ˆð �|Š|˜B  a¤ 	Ñ*Ô*Ð*r.   )rf   r   rg   r   rB   rC   )ri   Úindexre   rl   s       r/   Ú_PyUnicode_ExtendedCaser�   œ   sQ   € õ �e�Uœ]Ñ+Ô+ð /ÝÐ-Ñ.Ô.Ð.ð+ð +ð +õ •5”:Ñ
Ô
€CØ�ˆ<Ðr.   c                 óŠ   — t          | ¦  «        }|j        t          j        z  rt	          |j        dz  ¦  «        S | |j        z   S )Néÿÿ  )r4   r?   r   r,   r�   r<   ©ÚchÚctypes     r/   Ú_PyUnicode_ToTitlecaser‡   ¶   sD   € å$ RÑ(Ô(€EØŒÕ0ÔCÑCð =Ý& u¤{°VÑ';Ñ<Ô<Ð<Ø�”ÑÐr.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S ©Nr   )r4   r?   r   r$   r„   s     r/   Ú_PyUnicode_IsTitlecaserŠ   ¿   ó%   € å$ RÑ(Ô(€EØŒ;Õ3Ô>Ñ>À!ÒCÐCr.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r&   r„   s     r/   Ú_PyUnicode_IsXidStartr�   Æ   ó%   € å$ RÑ(Ô(€EØŒ;Õ3ÔBÑBÀaÒGÐGr.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r'   r„   s     r/   Ú_PyUnicode_IsXidContinuer�   Í   s%   € å$ RÑ(Ô(€EØŒ;Õ3ÔEÑEÈÒJÐJr.   c                 óZ   — t          | ¦  «        }|j        t          j        z  r|j        S dS ©Néÿÿÿÿ)r4   r?   r   r   r=   r„   s     r/   Ú_PyUnicode_ToDecimalDigitr”   Ó   s/   € å$ RÑ(Ô(€EØ„{Õ/Ô<Ñ<ð ØŒ}ÐØˆ2r.   c                 óZ   — t          | ¦  «        }|j        t          j        z  r|j        S dS r’   )r4   r?   r   r    r>   r„   s     r/   Ú_PyUnicode_ToDigitr–   Ü   s/   € å$ RÑ(Ô(€EØ„{Õ/Ô:Ñ:ð ØŒ{ÐØˆ2r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r)   r„   s     r/   Ú_PyUnicode_IsNumericr˜   å   s%   € å$ RÑ(Ô(€EØŒ;Õ3Ô@Ñ@ÀAÒEÐEr.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r(   r„   s     r/   Ú_PyUnicode_IsPrintablerš   ì   rŽ   r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r!   r„   s     r/   Ú_PyUnicode_IsLowercaserœ   ó   r‹   r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r%   r„   s     r/   Ú_PyUnicode_IsUppercaserž   ú   r‹   r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r"   r„   s     r/   Ú_PyUnicode_IsLineBreakr       rŽ   r.   c                 ó   — t           ‚rx   ©ÚNotImplementedError©r…   s    r/   Ú_PyUnicode_ToUppercaser¥     ó   € å
Ðr.   c                 ó   — t           ‚rx   r¢   r¤   s    r/   Ú_PyUnicode_ToLowercaser¨     r¦   r.   c                 óà   — t          | ¦  «        }|j        t          j        z  r=|j        dz  }|j        dz	  }t          |¦  «        D ]}t          ||z   ¦  «        ||<   Œ|S | |j        z   |d<   dS ©Nrƒ   é   r   r   )r4   r?   r   r,   r;   Úranger�   ©r…   rd   r†   r€   ÚnÚis         r/   Ú_PyUnicode_ToLowerFullr°     ó€   € å$ RÑ(Ô(€EØŒÕ0ÔCÑCð Ø”˜fÑ$ˆØŒK˜2ÑˆÝ�q‘”ð 	8ð 	8ˆAÝ,¨U°Q©YÑ7Ô7ˆC�‰FˆFØˆØ�%”+Ñ€Cˆ�FØˆ1r.   c                 óà   — t          | ¦  «        }|j        t          j        z  r=|j        dz  }|j        dz	  }t          |¦  «        D ]}t          ||z   ¦  «        ||<   Œ|S | |j        z   |d<   dS rª   )r4   r?   r   r,   r<   r¬   r�   r­   s         r/   Ú_PyUnicode_ToTitleFullr³     r±   r.   c                 óà   — t          | ¦  «        }|j        t          j        z  r=|j        dz  }|j        dz	  }t          |¦  «        D ]}t          ||z   ¦  «        ||<   Œ|S | |j        z   |d<   dS rª   )r4   r?   r   r,   r:   r¬   r�   r­   s         r/   Ú_PyUnicode_ToUpperFullrµ   -  s€   € å$ RÑ(Ô(€EØŒÕ0ÔCÑCð Ø”˜fÑ$ˆØŒK˜2ÑˆÝ�q‘”ð 	8ð 	8ˆAå,¨U°Q©YÑ7Ô7ˆC�‰FˆFØˆØ�%”+Ñ€Cˆ�FØˆ1r.   c                 ó  — t          | ¦  «        }t          j        }|j        |z  rX|j        dz	  dz  rK|j        dz  |j        dz	  z   }|j        dz	  dz  }t          |¦  «        D ]}t          ||z   ¦  «        ||<   Œ|S t          | |¦  «        S )Né   é   rƒ   r«   )r4   r   r,   r?   r;   r¬   r�   r°   )r…   rd   r†   Úextended_case_maskr€   r®   r¯   s          r/   Ú_PyUnicode_ToFoldedFullrº   <  s¥   € å$ RÑ(Ô(€EÝ3ÔFÐØ„{Ð'Ñ'ð ¨U¬[¸BÑ->À!Ñ,Cð Ø”˜vÑ%¨%¬+¸Ñ*;Ñ<ˆØŒ[˜BÑ !Ñ#ˆÝ�q‘”ð 	8ð 	8ˆAÝ,¨U°Q©YÑ7Ô7ˆC�‰FˆFØˆÝ! " cÑ*Ô*Ð*r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r+   r„   s     r/   Ú_PyUnicode_IsCasedr¼   J  r‹   r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r*   r„   s     r/   Ú_PyUnicode_IsCaseIgnorabler¾   Q  s%   € å$ RÑ(Ô(€EØŒ;Õ3ÔGÑGÈ1ÒLÐLr.   c                 ó0   — t          | ¦  «        dk     rdS dS ©Nr   r   )r–   r¤   s    r/   Ú_PyUnicode_IsDigitrÁ   X  s   € å˜"ÑÔ Ò!Ð!ØˆqØˆ1r.   c                 ó0   — t          | ¦  «        dk     rdS dS rÀ   )r”   r¤   s    r/   Ú_PyUnicode_IsDecimalDigitrÃ   `  s   € å  Ñ$Ô$ qÒ(Ð(ØˆqØˆ1r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r#   r„   s     r/   Ú_PyUnicode_IsSpacerÅ   h  r‹   r.   c                 óP   — t          | ¦  «        }|j        t          j        z  dk    S r‰   )r4   r?   r   r   r„   s     r/   Ú_PyUnicode_IsAlpharÇ   n  r‹   r.   c                   ó*   — e Zd ZdZdZdZdZdZdZdZ	dS )	Ú_PY_CTFr   r   é   r   r¸   r   r   N)
r   r   r   ÚLOWERÚUPPERÚALPHAÚDIGITÚALNUMÚSPACEÚXDIGITr-   r.   r/   rÉ   rÉ   }  s1   € € € € € Ø€EØ€EØ€EØ€EØ€EØ€EØ€F€F€Fr.   rÉ   )Údtype(   r   r   r   rÊ   r   é   é   r¸   r   r   r   é   é   r   é   é   r   é   é   é   r·   é   é   é   r«   é   é   é   é   é   é   é   r   é!   é"   é#   é$   é%   é&   é'   é(   é)   é*   é+   é,   é-   é.   é/   é0   é1   é2   é3   é4   é5   é6   é7   é8   é9   é:   é;   é<   é=   é>   é?   r   éa   éb   éc   éd   ée   éf   ég   éh   éi   éj   ék   él   ém   én   éo   ép   éq   ér   és   ét   éu   év   éw   éx   éy   éz   é[   é\   é]   é^   é_   é`   r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  é{   é|   é}   é~   é   r   é�   é‚   éƒ   é„   é…   é†   é‡   éˆ   é‰   éŠ   é‹   éŒ   é�   éŽ   é�   é�   é‘   é’   é“   é”   é•   é–   é—   é˜   é™   éš   é›   éœ   é�   éž   éŸ   é    é¡   é¢   é£   é¤   é¥   é¦   é§   é¨   é©   éª   é«   é¬   é­   é®   é¯   é°   é±   é²   é³   é´   éµ   é¶   é·   é¸   é¹   éº   é»   é¼   é½   é¾   é¿   éÀ   éÁ   éÂ   éÃ   éÄ   éÅ   éÆ   éÇ   éÈ   éÉ   éÊ   éË   éÌ   éÍ   éÎ   éÏ   éÐ   éÑ   éÒ   éÓ   éÔ   éÕ   éÖ   é×   éØ   éÙ   éÚ   éÛ   éÜ   éÝ   éÞ   éß   éà   éá   éâ   éã   éä   éå   éæ   éç   éè   éé   éê   éë   éì   éí   éî   éï   éð   éñ   éò   éó   éô   éõ   éö   é÷   éø   éù   éú   éû   éü   éý   éþ   éÿ   (   r   r   r   rÊ   r   rÓ   rÔ   r¸   r   r   r   rÕ   rÖ   r   r×   rØ   r   rÙ   rÚ   rÛ   r·   rÜ   rÝ   rÞ   r«   rß   rà   rá   râ   rã   rä   rå   r   ræ   rç   rè   ré   rê   rë   rì   rí   rî   rï   rð   rñ   rò   ró   rô   rõ   rö   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r   éA   éB   éC   éD   éE   éF   éG   éH   éI   éJ   éK   éL   éM   éN   éO   éP   éQ   éR   éS   éT   éU   éV   éW   éX   éY   éZ   r  r   r!  r"  r#  r$  r©  rª  r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  r¶  r·  r¸  r¹  rº  r»  r¼  r½  r¾  r¿  rÀ  rÁ  rÂ  r%  r&  r'  r(  r)  r   r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r€  r�  r‚  rƒ  r„  r…  r†  r‡  rˆ  r‰  rŠ  r‹  rŒ  r�  rŽ  r�  r�  r‘  r’  r“  r”  r•  r–  r—  r˜  r™  rš  r›  rœ  r�  rž  rŸ  r   r¡  r¢  r£  r¤  r¥  r¦  r§  r¨  c                   ó   — e Zd ZdZdZdZdS )Ú
_PY_CTF_LBr   r   r   N)r   r   r   Ú
LINE_BREAKÚ	LINE_FEEDÚCARRIAGE_RETURNr-   r.   r/   rÄ  rÄ  a  s   € € € € € Ø€JØ€IØ€O€O€Or.   rÄ  c                 óT   — t          j        | ¦  «        t          j        d¦  «        z  S )zk
    Equivalent to the CPython macro `Py_CHARMASK()`, masks off all but the
    lowest 256 bits of ch.
    r¨  )r   Úuint8r¤   s    r/   Ú_Py_CHARMASKrÊ  …  s!   € õ Œ;�r‰?Œ?�Uœ[¨Ñ.Ô.Ñ.Ð.r.   c                 ó6   — t           t          | ¦  «                 S )zw
    Equivalent to the CPython macro `Py_TOUPPER()` converts an ASCII range
    code point to the upper equivalent
    )Ú_Py_ctype_toupperrÊ  r¤   s    r/   Ú_Py_TOUPPERrÍ  �  ó   € õ �\¨"Ñ-Ô-Ô.Ð.r.   c                 ó6   — t           t          | ¦  «                 S )zw
    Equivalent to the CPython macro `Py_TOLOWER()` converts an ASCII range
    code point to the lower equivalent
    )Ú_Py_ctype_tolowerrÊ  r¤   s    r/   Ú_Py_TOLOWERrÑ  ›  rÎ  r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z8
    Equivalent to the CPython macro `Py_ISLOWER()`
    )Ú_Py_ctype_tablerÊ  rÉ   rË   r¤   s    r/   Ú_Py_ISLOWERrÔ  ¦  ó   € õ
 �<¨Ñ+Ô+Ô,­w¬}Ñ<Ð<r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z8
    Equivalent to the CPython macro `Py_ISUPPER()`
    )rÓ  rÊ  rÉ   rÌ   r¤   s    r/   Ú_Py_ISUPPERr×  °  rÕ  r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z8
    Equivalent to the CPython macro `Py_ISALPHA()`
    )rÓ  rÊ  rÉ   rÍ   r¤   s    r/   Ú_Py_ISALPHArÙ  º  rÕ  r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z8
    Equivalent to the CPython macro `Py_ISDIGIT()`
    )rÓ  rÊ  rÉ   rÎ   r¤   s    r/   Ú_Py_ISDIGITrÛ  Ä  rÕ  r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z9
    Equivalent to the CPython macro `Py_ISXDIGIT()`
    )rÓ  rÊ  rÉ   rÑ   r¤   s    r/   Ú_Py_ISXDIGITrÝ  Î  s   € õ
 �<¨Ñ+Ô+Ô,­w¬~Ñ=Ð=r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z8
    Equivalent to the CPython macro `Py_ISALNUM()`
    )rÓ  rÊ  rÉ   rÏ   r¤   s    r/   Ú_Py_ISALNUMrß  Ø  rÕ  r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z8
    Equivalent to the CPython macro `Py_ISSPACE()`
    )rÓ  rÊ  rÉ   rÐ   r¤   s    r/   Ú_Py_ISSPACErá  â  rÕ  r.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z&Check if character is ASCII line break)Ú_Py_ctype_islinebreakrÊ  rÄ  rÅ  r¤   s    r/   Ú_Py_ISLINEBREAKrä  ê  s   € õ !¥¨bÑ!1Ô!1Ô2µZÔ5JÑJÐJr.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z#Check if character is line feed `
`)rã  rÊ  rÄ  rÆ  r¤   s    r/   Ú_Py_ISLINEFEEDræ  ð  s   € õ !¥¨bÑ!1Ô!1Ô2µZÔ5IÑIÐIr.   c                 óP   — t           t          | ¦  «                 t          j        z  S )z)Check if character is carriage return ``)rã  rÊ  rÄ  rÇ  r¤   s    r/   Ú_Py_ISCARRIAGERETURNrè  ö  s   € õ !¥¨bÑ!1Ô!1Ô2µZÔ5OÑOÐOr.   )UÚ__doc__Úcollectionsr   Úenumr   Úllvmlite.irrG   ÚnumpyÚnpÚ
numba.corer   r   Únumba.core.imputilsr   Únumba.core.extendingr   r	   r
   Únumba.core.errorsr   r   Úuint32rB   Ú_Py_TABÚ_Py_LINEFEEDÚ_Py_CARRIAGE_RETURNÚ	_Py_SPACEr   r4   rm   r|   r�   r‡   rŠ   r�   r�   r”   r–   r˜   rš   rœ   rž   r    r¥   r¨   r°   r³   rµ   rº   r¼   r¾   rÁ   rÃ   rÅ   rÇ   rÉ   ÚarrayrÐ   rÎ   rÑ   rÌ   rË   rC   rÓ  rÉ  rÐ  rÌ  rÄ  rÅ  rÆ  rÇ  rã  rÊ  rÍ  rÑ  rÔ  r×  rÙ  rÛ  rÝ  rß  rá  rä  ræ  rè  r-   r.   r/   ú<module>rù     s¦  ððð ð #Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ )Ð )Ð )Ð )Ð )Ð )ð ˆZ˜Ø?ñAô A€
ð
 Œ<€ð6 €Ø€ØÐ Ø€	ð ð  ð  ð  ð   ñ  ô  ð  ð$Cð Cð Cð ð0ð 0ñ „ð0ðf 
€Ð
"Ñ#Ô#ð:ð :ñ $Ô#ð:ð, ðð ñ „ðð2 ðð ñ Ôðð ðDð Dñ ÔðDð ðHð Hñ ÔðHð ðKð Kñ ÔðKð
 ðð ñ Ôðð ðð ñ Ôðð ðFð Fñ ÔðFð ðHð Hñ ÔðHð ðDð Dñ ÔðDð ðDð Dñ ÔðDð
 ðHð Hñ ÔðHð
 ðð ñ Ôðð ðð ñ Ôðð
 ð	ð 	ñ Ôð	ð ð	ð 	ñ Ôð	ð ð
ð 
ñ Ôð
ð ð	+ð 	+ñ Ôð	+ð ðDð Dñ ÔðDð ðMð Mñ ÔðMð ðð ñ Ôðð ðð ñ Ôðð ðDð Dñ ÔðDð
 ðDð Dñ ÔðDðð ð ð ð ˆgñ ô ð ð �"”(ð IØðIàðIð ðIð ð	Ið
 ðIð ðIð ðIð ðIð ðIð „MðIð „MðIð „MðIð „MðIð „MðIð ðIð  ð!Ið" ð#Ið$ ð%Ið& ð'Ið( ð)Ið* ð+Ið, ð-Ið. ð/Ið0 ð1Ið2 ð3Ið4 ð5Ið6 ð7Ið8 ð9Ið: ð;Ið< ð=Ið> ð?Ið@ ðAIðB „MðCIðD ðEIðF ðGIðH ðIIðJ ðKIðL ðMIðN ðOIðP ðQIðR ðSIðT ðUIðV ðWIðX ðYIðZ ð[Ið\ ð]Ið^ ð_Ið` ðaIðb „M�G”NÑ"ðcIðd „M�G”NÑ"ðeIðf „M�G”NÑ"ðgIðh „M�G”NÑ"ðiIðj „M�G”NÑ"ðkIðl „M�G”NÑ"ðmIðn „M�G”NÑ"ðoIðp „M�G”NÑ"ðqIðr „M�G”NÑ"ðsIðt „M�G”NÑ"ðuIðv ðwIðx ðyIðz ð{Ið| ð}Ið~ ðIð@ ðAIðB ðCIðD „M�G”NÑ"ðEIðF „M�G”NÑ"ðGIðH „M�G”NÑ"ðIIðJ „M�G”NÑ"ðKIðL „M�G”NÑ"ðMIðN „M�G”NÑ"ðOIðP „MðQIðR „MðSIðT „MðUIðV „MðWIðX „MðYIðZ „Mð[Ið\ „Mð]Ið^ „Mð_Ið` „MðaIðb „MðcIðd „MðeIðf „MðgIðh „MðiIðj „MðkIðl „MðmIðn „MðoIðp „MðqIðr „MðsIðt „MðuIðv „MðwIðx ðyIðz ð{Ið| ð}Ið~ ðIð@ ðAIðB ðCIðD „M�G”NÑ"ðEIðF „M�G”NÑ"ðGIðH „M�G”NÑ"ðIIðJ „M�G”NÑ"ðKIðL „M�G”NÑ"ðMIðN „M�G”NÑ"ðOIðP „MðQIðR „MðSIðT „MðUIðV „MðWIðX „MðYIðZ „Mð[Ið\ „Mð]Ið^ „Mð_Ið` „MðaIðb „MðcIðd „MðeIðf „MðgIðh „MðiIðj „MðkIðl „MðmIðn „MðoIðp „MðqIðr „MðsIðt „MðuIðv „MðwIðx ðyIðz ð{Ið| ð}Ið~ ðIð@ ðAIðB ðCIðB 	ðCIðB ðCIðB ðCIðB ðCIðB ðCIðB ðCIðB ðCIðB ðCIðB  !ðCIðB #$ðCIðB &'ðCIðB )*ðCIðB ,-ðCIðB /0ðCIðB 23ðCIðD ðEIðD 	ðEIðD ðEIðD ðEIðD ðEIðD ðEIðD ðEIðD ðEIðD ðEIðD  !ðEIðD #$ðEIðD &'ðEIðD )*ðEIðD ,-ðEIðD /0ðEIðD 23ðEIðF ðGIðF 	ðGIðF ðGIðF ðGIðF ðGIðF ðGIðF ðGIðF ðGIðF ðGIðF  !ðGIðF #$ðGIðF &'ðGIðF )*ðGIðF ,-ðGIðF /0ðGIðF 23ðGIðH ðIIðH 	ðIIðH ðIIðH ðIIðH ðIIðH ðIIðH ðIIðH ðIIðH ðIIðH  !ðIIðH #$ðIIðH &'ðIIðH )*ðIIðH ,-ðIIðH /0ðIIðH 23ðIIðJ ðKIðJ 	ðKIðJ ðKIðJ ðKIðJ ðKIðJ ðKIðJ ðKIðJ ðKIðJ ðKIðJ  !ðKIðJ #$ðKIðJ &'ðKIðJ )*ðKIðJ ,-ðKIðJ /0ðKIðJ 23ðKIðL ðMIðL 	ðMIðL ðMIðL ðMIðL ðMIðL ðMIðL ðMIðL ðMIðL ðMIðL  !ðMIðL #$ðMIðL &'ðMIðL )*ðMIðL ,-ðMIðL /0ðMIðL 23ðMIðN ðOIðN 	ðOIðN ðOIðN ðOIðN ðOIðN ðOIðN ðOIðN ðOIðN ðOIðN  !ðOIðN #$ðOIðN &'ðOIðN )*ðOIðN ,-ðOIðN /0ðOIðN 23ðOIðP ðQIðP 	ðQIðP ðQIðP ðQIðP ðQIðP ðQIðP ðQIðP ðQIðP ðQIðP  !ðQIðP #$ðQIðP &'ðQIðP )*ðQIðP ,-ðQIðP /0ðQIðP 23ðQIðR 
ŒðSIñ Iô I€ð\ �B”Hð !ð !ð !ðB 
ŒðC!ñ !ô !Ð ðL �B”Hð !ð !ð !ðB 
ŒðC!ñ !ô !Ð ðHð ð ð ð �ñ ô ð ð !˜œð "Øð"Øð"Ø
ð"Øð"Øð"Øð"Øð"Øð"Øð"Ø ð"àÔ˜JÔ0Ñ0ð"ð Ôð"ð Ôð	"ð
 Ô˜JÔ6Ñ6ð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð Ôð"ð Ôð"ð Ôð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð /0ð"ð 23ð"ð 56ð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð /0ð"ð 23ð"ð 56ð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð /0ð"ð 23ð"ð 56ð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð /0ð"ð 23ð"ð 56ð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð /0ð"ð 23ð"ð 56ð"ð ð"ð 	ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð ð"ð  !ð"ð #$ð"ð &'ð"ð )*ð"ð ,-ð"ð /0ð"ð 23ð"ð 56ð"ð  Ôð!"ð" ð#"ð" 	ð#"ð" ð#"ð" ð#"ð" ð#"ð" ð#"ð" ð#"ð" ð#"ð" ð#"ð"  !ð#"ð" #$ð#"ð" &'ð#"ð" )*ð#"ð" ,-ð#"ð" /0ð#"ð" 23ð#"ð" 56ð#"ð$ ð%"ð$ 	ð%"ð$ ð%"ð$ ð%"ð$ ð%"ð$ ð%"ð$ ð%"ð$ ð%"ð$ ð%"ð$  !ð%"ð$ #$ð%"ð$ &'ð%"ð$ )*ð%"ð$ ,-ð%"ð$ /0ð%"ð$ 23ð%"ð$ 56ð%"ð& ð'"ð& 	ð'"ð& ð'"ð& ð'"ð& ð'"ð& ð'"ð& ð'"ð& ð'"ð& ð'"ð&  !ð'"ð& #$ð'"ð& &'ð'"ð& )*ð'"ð& ,-ð'"ð& /0ð'"ð& 23ð'"ð& 56ð'"ð( ð)"ð( 	ð)"ð( ð)"ð( ð)"ð( ð)"ð( ð)"ð( ð)"ð( ð)"ð( ð)"ð(  !ð)"ð( #$ð)"ð( &'ð)"ð( )*ð)"ð( ,-ð)"ð( /0ð)"ð( 23ð)"ð( 56ð)"ð* ð+"ð* 	ð+"ð* ð+"ð* ð+"ð* ð+"ð* ð+"ð* ð+"ð* ð+"ð* ð+"ð*  !ð+"ð* #$ð+"ð* &'ð+"ð* )*ð+"ð* ,-ð+"ð* /0ð+"ð* 23ð+"ð* 56ð+"ð, ð-"ð, 	ð-"ð, ð-"ð, ð-"ð, ð-"ð, ð-"ð, ð-"ð, ð-"ð, ð-"ð,  !ð-"ð, #$ð-"ð, &'ð-"ð, )*ð-"ð, ,-ð-"ð, /0ð-"ð, 23ð-"ð, 56ð-"ð. ð/"ð. 	ð/"ð. ð/"ð. ð/"ð. ð/"ð. ð/"ð. ð/"ð. ð/"ð. ð/"ð.  !ð/"ð. #$ð/"ð. &'ð/"ð. )*ð/"ð. ,-ð/"ð. /0ð/"ð. 23ð/"ð. 56ð/"ð0 ð1"ð0 	ð1"ð0 ð1"ð2 
Œð3ñ ô Ð ð< ð/ð /ñ Ôð/ð ð/ð /ñ Ôð/ð ð/ð /ñ Ôð/ð ð=ð =ñ Ôð=ð ð=ð =ñ Ôð=ð ð=ð =ñ Ôð=ð ð=ð =ñ Ôð=ð ð>ð >ñ Ôð>ð ð=ð =ñ Ôð=ð ð=ð =ñ Ôð=ð ðKð Kñ ÔðKð
 ðJð Jñ ÔðJð
 ðPð Pñ ÔðPð Pð Pr.   