
    hv)                         S SK r S SKJr  S SKJr   " S S5      r\\\\\4   \\   4      r	 " S S5      r
 " S S	\
5      rg)
    N)filterfalse)Unionc                        \ rS rSrS rS rSrg)_lazyclassproperty   c                 T    Xl         UR                  U l        UR                  U l        g N)fn__doc____name__)selfr
   s     C/var/www/html/env/lib/python3.13/site-packages/pyparsing/unicode.py__init___lazyclassproperty.__init__	   s    zz    c                 D  ^ Tc  [        U5      m[        TS5      (       a'  [        U4S jTR                  SS   5       5      (       a  0 Tl        U R
                  R                  nUTR                  ;  a  U R                  T5      TR                  U'   TR                  U   $ )N_internc              3   V   >#    U  H  nTR                   [        US / 5      L v   M      g7f)r   N)r   getattr).0
superclassclss     r   	<genexpr>-_lazyclassproperty.__get__.<locals>.<genexpr>   s*      .
-
 KK7:y"==-s   &)   )typehasattrany__mro__r   r
   r   )r   objr   attrnames     ` r   __get___lazyclassproperty.__get__   s    ;s)CsI&&# .
!kk!"o.
 +
 +
 CK77##3;;&$(GGCLCKK!{{8$$r   )r   r   r
   N)r   
__module____qualname____firstlineno__r   r"   __static_attributes__ r   r   r   r      s    $
%r   r   c                       \ rS rSr% Sr/ r\\S'   \S\	\
   4S j5       r\S\
4S j5       r\S\
4S j5       r\S\
4S j5       r\S\
4S	 j5       r\S\
4S
 j5       r\S\
4S j5       r\S 5       rSrg)unicode_set   ad  
A set of Unicode characters, for language-specific strings for
``alphas``, ``nums``, ``alphanums``, and ``printables``.
A unicode_set is defined by a list of ranges in the Unicode character
set, in a class attribute ``_ranges``. Ranges can be specified using
2-tuples or a 1-tuple, such as::

    _ranges = [
        (0x0020, 0x007e),
        (0x00a0, 0x00ff),
        (0x0100,),
        ]

Ranges are left- and right-inclusive. A 1-tuple of (x,) is treated as (x, x).

A unicode set can also be defined using multiple inheritance of other unicode sets::

    class CJK(Chinese, Japanese, Korean):
        pass
_rangesreturnc           	          / nU R                    HF  nU[        L a    O<[        USS5       H'  nUR                  [	        US   US   S-   5      5        M)     MH     [        S [        U5       5       5      $ )Nr,   r(   r   r   c              3   8   #    U  H  n[        U5      v   M     g 7fr	   )chrr   cs     r   r   0unicode_set._chars_for_ranges.<locals>.<genexpr>?   s     /hc!ffhs   )r   r*   r   extendrangesortedset)r   retccrrs       r   _chars_for_rangesunicode_set._chars_for_ranges7   si    ++B[ b)R0

5A2
34 1 
 /c#h///r   c                 h    SR                  [        [        R                  U R                  5      5      $ )z+all non-whitespace characters in this range )joinr   strisspacer<   r   s    r   
printablesunicode_set.printablesA   s$     ww{3;;0E0EFGGr   c                 h    SR                  [        [        R                  U R                  5      5      $ )z'all alphabetic characters in this ranger?   )r@   filterrA   isalphar<   rC   s    r   alphasunicode_set.alphasF   $     wwvckk3+@+@ABBr   c                 h    SR                  [        [        R                  U R                  5      5      $ )z*all numeric digit characters in this ranger?   )r@   rG   rA   isdigitr<   rC   s    r   numsunicode_set.numsK   rK   r   c                 4    U R                   U R                  -   $ )z)all alphanumeric characters in this range)rI   rN   rC   s    r   	alphanumsunicode_set.alphanumsP   s     zzCHH$$r   c           
          SR                  [        [        [        [        R
                  U R                  5      5      [        S5      -  5      5      $ )zVall characters in this range that are valid identifier characters, plus underscore '_'r?   u   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ_)r@   r7   r8   rG   rA   isidentifierr<   rC   s    r   
identcharsunicode_set.identcharsU   sJ     wwF3++S-B-BCD	
 		
r   c                     [        S U R                   5       5      nSR                  [        U[        U R                  5      -  [        S5      -  5      5      $ )uz   
all characters in this range that are valid identifier body characters,
plus the digits 0-9, and · (Unicode MIDDLE DOT)
c              3   Z   #    U  H!  nS U-   R                  5       (       d  M  Uv   M#     g7f)_N)rT   r2   s     r   r   -unicode_set.identbodychars.<locals>.<genexpr>i   s%      
,!q0F0F0HAA,s   +	+r?   u   0123456789·)r8   r<   r@   r7   rU   )r   identifier_charss     r   identbodycharsunicode_set.identbodycharsc   sV      
,,
 
 ww#c#..&99C<OOP
 	
r   c                 H    SSK Jn  U" U R                  U R                  5      $ )zp
a pyparsing Word expression for an identifier using this range's definitions for
identchars and identbodychars
r   )Word)	pyparsingr_   rU   r\   )r   r_   s     r   
identifierunicode_set.identifierp   s     	#CNNC$6$677r   r(   N)r   r$   r%   r&   r   r,   UnicodeRangeList__annotations__r   listrA   r<   rD   rI   rN   rQ   rU   r\   ra   r'   r(   r   r   r*   r*      s    * !#G"0$s) 0 0 H3 H H Cs C C CS C C %# % % 
3 
 
 

s 

 

 8 8r   r*   c                      \ rS rSr% SrS\R                  4/r\\	S'    " S S\
5      r " S S\
5      r " S	 S
\
5      r " S S\
5      r " S S\
5      r " S S\
5      r " S S\
5      r " S S\
5      r " S S\
5      r\r " S S\\\5      r " S S\
5      r " S S\
5      r " S S\
5      r " S S \
5      r\r\r\r\r\r\r\r \r!\r"\r#S!r$g")#pyparsing_unicode{   z>
A namespace class for defining common language unicode_sets.
    r,   c                   *    \ rS rSr% SrS/r\\S'   Srg)(pyparsing_unicode.BasicMultilingualPlane   z,Unicode set for the Basic Multilingual Plane)ri   i  r,   r(   N	r   r$   r%   r&   r   r,   rc   rd   r'   r(   r   r   BasicMultilingualPlanerk      s    :%
! 	
r   rn   c                   ,    \ rS rSr% SrSS/r\\S'   Srg)pyparsing_unicode.Latin1   z/Unicode set for Latin-1 Unicode Character Range)ri   ~   )      r,   r(   Nrm   r(   r   r   Latin1rp      s    =%
! 	
r   ru   c                   *    \ rS rSr% SrS/r\\S'   Srg)pyparsing_unicode.LatinA   z/Unicode set for Latin-A Unicode Character Range)   i  r,   r(   Nrm   r(   r   r   LatinArw          =%
! 	
r   rz   c                   *    \ rS rSr% SrS/r\\S'   Srg)pyparsing_unicode.LatinB   z/Unicode set for Latin-B Unicode Character Range)i  iO  r,   r(   Nrm   r(   r   r   LatinBr}      r{   r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)pyparsing_unicode.Greekrs   z.Unicode set for Greek Unicode Character Ranges)#)iB  iE  )ip  iw  )iz  i  )i  i  )i  )i  i  )i  i  )i  i  )i&  i*  )i^  )i`  )if  ij  )i   i  )i  i  )i   iE  )iH  iM  )iP  iW  )iY  )i[  )i]  )i_  i}  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i)!  )i'  i'  )ie  )i@ i )i )i  iE )i i r,   r(   Nrm   r(   r   r   Greekr      s    <$%
! $	
r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)pyparsing_unicode.Cyrillic   z0Unicode set for Cyrillic Unicode Character Range))i   i/  )i  i  )i+  )ix  )i-  i-  )i@  ir  )it  i  )i.  i/  r,   r(   Nrm   r(   r   r   Cyrillicr      s    >	%
! 		
r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)pyparsing_unicode.Chinese   z/Unicode set for Chinese Unicode Character Range))i.  i.  )i.  i.  )i1  i1  )i 4  iM  ) N  i  )i   i  )i   im  )ip  i  )io io )i i )i i; )i@ iH )i   i֦ )i  i4 )i@ i )i  i )i i )i  i r,   r(   Nrm   r(   r   r   Chineser      s    =%
! 	
r   r   c                       \ rS rSrSr " S S\5      r " S S\5      r " S S\5      r\r	\r
\r\R                  \R                  -   \R                  -   rS	rg
)pyparsing_unicode.Japanese   z`Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana rangesc                   ,    \ rS rSr% SrSS/r\\S'   Srg) pyparsing_unicode.Japanese.Kanji   z-Unicode set for Kanji Unicode Character Range)r   i  )i 0  i?0  r,   r(   Nrm   r(   r   r   Kanjir      s    ;  )G% r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)#pyparsing_unicode.Japanese.Hiragana   z0Unicode set for Hiragana Unicode Character Range))iA0  i0  )0  0  )i0  )ip  )i )iP iR )i  r,   r(   Nrm   r(   r   r   Hiraganar      s    B)G% r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)#pyparsing_unicode.Japanese.Katakanai  z1Unicode set for Katakana  Unicode Character Range)	)r   i0  )r   i0  )i1  i1  )i2  i2  )ie  i  )i  )id ig )i i )i r,   r(   Nrm   r(   r   r   Katakanar     s    C
)G% 
r   r   r(   N)r   r$   r%   r&   r   r*   r   r   r      漢字   カタカナ   ひらがなr,   r'   r(   r   r   Japaneser      sd    n	K 	
	{ 
		{ 	  MM 	r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)pyparsing_unicode.Hanguli  z7Unicode set for Hangul (Korean) Unicode Character Range))i   i  )i.0  i/0  )i11  i1  )i 2  i2  )i`2  i{2  )i~2  )i`  i|  )i   i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  r,   r(   Nrm   r(   r   r   Hangulr     s    E%
! 	
r   r   c                       \ rS rSrSrSrg)pyparsing_unicode.CJKi0  zTUnicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character Ranger(   N)r   r$   r%   r&   r   r'   r(   r   r   CJKr   0  s    br   r   c                   ,    \ rS rSr% SrSS/r\\S'   Srg)pyparsing_unicode.Thaii3  z,Unicode set for Thai Unicode Character Range)i  i:  )i?  i[  r,   r(   Nrm   r(   r   r   Thair   3  s    :%
! 	
r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)pyparsing_unicode.Arabici:  z.Unicode set for Arabic Unicode Character Range))i   i  )i  i  )i   i  r,   r(   Nrm   r(   r   r   Arabicr   :  s    <%
! 	
r   r   c                   ,    \ rS rSr% Sr/ SQr\\S'   Srg)pyparsing_unicode.HebrewiB  z.Unicode set for Hebrew Unicode Character Range)	)i  i  )i  i  )i  i  )i  i6  )i8  i<  )i>  )i@  iA  )iC  iD  )iF  iO  r,   r(   Nrm   r(   r   r   Hebrewr   B  s    <
%
! 
	
r   r   c                   ,    \ rS rSr% SrSS/r\\S'   Srg)pyparsing_unicode.DevanagariiP  z2Unicode set for Devanagari Unicode Character Range)i 	  i	  )i  i  r,   r(   Nrm   r(   r   r   
Devanagarir   P  s    @%
! 	
r   r   r(   N)%r   r$   r%   r&   r   sys
maxunicoder,   rc   rd   r*   rn   ru   rz   r   r   r   r   r   r   Koreanr   r   r   r   r   BMP   العربية   中文   кириллица   Ελληνικά   עִברִית	   日本語	   한국어	   ไทย   देवनागरीr'   r(   r   r   rg   rg   {   s    
 !G 
 

 

 

 
&
 &
P
; 

+ 
.,
; ,
\
 
( Fcgx c
{ 

 

 

[ 
 !C NF!NIII)r   rg   )r   	itertoolsr   typingr   r   re   tupleintrc   r*   rg   r(   r   r   <module>r      sX     ! % %( eCHouSz9:; Y8 Y8xg* g*r   