o
    fu2                     @   s  d Z ddlmZ ejdksJ dd Zeg deedd Zd	d
 Z	i dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,i d-d.d/d0d1d2d3d d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMi dNdOdPdQdRdSdTdUdVdWdXdYdZd[d\dMd]dOd^dQd_dSd`dUdadWdbdYdcd[dddedfdgi dhdidjdkdldmdndodpdqdrdsdtdedudgdvdidwdkdxdmdydodzdqd{dsd|d}d~dddi dddddddddddd}ddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddēddddǓddɓdd˓dd͓ddϓddѓddѓddѓddՓddՓi ddؓddړddܓddޓddddddddddddddddddddddɓddddi dddddd.ddddddd ddddddddd	d
dddddddddddi ddddddddddd d!d"dd#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d0d4d5i d6d7d8d9d:d;d<d=d>d;d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVi dWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidhdjdkdldmdndodpdqdrdsdtdudvdi dwdɓdxddyddzdd{d|d}dѓd~dՓddddddؓddddړddddޓddddddi dddddddddddddddduddddɓdddddddd|ddѓddՓddi ddddؓddddړddddޓddddddddddddddddddddddui ddddɓdddddddd|ddѓddՓddddddؓddddړddddޓddddi dddƐddǐddȐddɐddʐddːdddd͐duddɓdddАd|dѐddҐdddړdԐdddޓi dddddؐddِddڐddېddܐddݐddddߐduddddɓdddddddd|ddѓi ddՓddddddؓddddړddddޓddddddddddddddddddi ddddudddddddddd|ddd dddؓddddړddddޓddddddi d	dd
dddddddddudddddddddd|ddՓddddddؓddddi ddddddddddddd dd!dud"dd#dɓd$dd%dd&dd'd|d(dѓd)dՓd*di d+dd,dؓd-dd.dړd/dd0dޓd1dd2dd3dd4dd5dd6dd7dd8dd9dd:dd;dui d<dd=dɓd>dd?dd@ddAd|dBdѓdCdՓdDddEddFdؓdGddHdړdIddJdޓdKddLdi dMddNddOddPddQddRddSddTddUdudVddWdɓdXddYddZdd[d|d\dѓd]dՓi d^dd_dd`dؓdaddbdړdcddddޓdeddfddgddhddiddjddkddlddmddndi dodudpddqdɓdrddsddtddud|dvdѓdwdՓdxddyddzdؓd{dd|dړd}dd~dޓddi dddddddddddddddddddduddddɓdddddddd|ddѓi ddՓddddddؓddddړddddޓddddddddddddddddddi dddduddddɓdddddddd|ddѓddՓddddddؓddddړddddޓi dddddddddddddddddddddddd"dddddd5dĐdœdƐdǓi dd$dddd0dːd̓dddΐdϓdАdѓdҐdӓdd.dd2dd$dd dؐdٓdd&dd,dܐdݓdސdߓi dddd dddd"dddddd5ddœddǓdd$dddd0dd̓ddddϓddѓddӓi dd.dd2dd$dd ddٓdd&dd,ddݓddߓdddd dddd"ddd ddd5ddœi ddǓdd$dddd0dd̓ddd	dϓd
dѓddӓdd.dd2dd$dd ddٓdd&dd,ddݓi ddߓdddd dddd"dddddd5ddœddǓdd$ddd d0d!d̓d"dd#dϓd$dѓi d%dӓd&d.d'd2d(d$d)d d*dٓd+d&d,d,d-dݓd.dߓd/dd0d d1dd2d"d3dd4dd5d5i d6dœd7dǓd8d$d9dd:d0d;d̓d<dd=dϓd>dѓd?dӓd@d.dAd2dBd$dCd dDdٓdEd&dFd,dݐdߐdd dGZ
dHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS Zeg dTeedUdV eedWdX eedYdZ eed[d\ Zd]d^ Zd_d` Zdadb Zdcdd Zdedf ZeedYdgZdhdi ZeedjdkZdldm Zeg dneedodp eedWdX Zdqdr Zedsgeedtdu Zdvdw Zdxdy Zdzd{ Z d|S (}  zLibrary that exposes various tables found in the StringPrep RFC 3454.

There are two kinds of tables: sets, for which a member test is provided,
and mappings, for which a mapping function is provided.
    )	ucd_3_2_0z3.2.0c                 C   s>   t | dkr	dS t| }d|  krdk rdS  |d@ dvS )NCnF        r   )unicodedatacategoryordcodec r   !/usr/lib/python3.10/stringprep.pyin_table_a1   s   r   )   iO  i  i  i  i  i         `     i   i  c                 C      t | tv S N)r   b1_setr   r   r   r   in_table_b1      r      u   μ   ssi0  u   i̇iI  u   ʼni  si  u   ǰiE  u   ιiz  u    ιi  u   ΐi  u   ΰi  u   σi  u   βi  u   θi  u   υi  u   ύi  u   ϋi  u   φi  u   πi  u   κi  u   ρi  i  u   εi  u   եւi  u   ẖi  u   ẗi  u   ẘi  u   ẙi  u   aʾi  u   ṡiP  u   ὐiR  u   ὒiT  u   ὔiV  u   ὖi  u   ἀιi  u   ἁιi  u   ἂιi  u   ἃιi  u   ἄιi  u   ἅιi  u   ἆιi  u   ἇιi  i  i  i  i  i  i  i  i  u   ἠιi  u   ἡιi  u   ἢιi  u   ἣιi  u   ἤιi  u   ἥιi  u   ἦιi  u   ἧιi  i  i  i  i  i  i  i  i  u   ὠιi  u   ὡιi  u   ὢιi  u   ὣιi  u   ὤιi  u   ὥιi  u   ὦιi  u   ὧιi  i  i  i  i  i  i  i  i  u   ὰιi  u   αιi  u   άιi  u   ᾶi  u   ᾶιi  i  i  u   ὴιi  u   ηιi  u   ήιi  u   ῆi  u   ῆιi  i  u   ῒi  i  u   ῖi  u   ῗi  u   ῢi  i  u   ῤi  u   ῦi  u   ῧi  u   ὼιi  u   ωιi  u   ώιi  u   ῶi  u   ῶιi  i   rsi!  r   i!  u   °ci!  u   ɛi	!  u   °fi!  hi!  i!  i!  ii!  i!  li!  ni!  noi!  pi!  qi!  ri!  i!  i !  smi!!  teli"!  tmi$!  zi(!  i,!  bi-!  i0!  ei1!  fi3!  mi>!  u   γi?!  iE!  diq3  hpais3  auiu3  ovi3  pai3  nai3  u   μai3  mai3  kai3  kbi3  mbi3  gbi3  pfi3  nfi3  u   μfi3  hzi3  khzi3  mhzi3  ghzi3  thzi3  i3  kpai3  mpai3  gpai3  pvi3  nvi3  u   μvi3  mvi3  kvi3  i3  pwi3  nwi3  u   μwi3  mwi3  kwi3  i3  u   kωi3  u   mωi3  bqi3  u   c∕kgi3  zco.i3  dbi3  gyi3  hpi3  kki3  kmi3  phi3  ppmi3  pri3  svi3  wbi   ffi  fii  fli  ffii  ffli  sti  i  u   մնi  u   մեi  u   միi  u   վնi  u   մխi  ai i i i i i gi i i	 ji
 ki i i i oi i i i i ti ui vi wi xi yi i4 i5 i6 i7 i8 i9 i: i; i< i= i> i? i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i	 i
 i i i i i i i i i i i i i i i i8 i9 i; i< i= i> i@ iA iB iC iD iF iJ iK iL iM iN iO iP il im in io ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i	 i
 i i i i i i i i i i i i i i i i i i i i i i  i! i< i= i> i? i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM iN iO iP iQ iR iS iT iU ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i u   αi i i u   δi i u   ζi u   ηi i i i u   λi i u   νi u   ξi u   οi i i i i u   τi i i u   χi u   ψi u   ωi i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i  i! i" i# i$ i% i& i' i( i) i* i+ i, i- i. i/ i0 i1 i2 i3 i4 iG iV iW iX iY iZ i[ i\ i] i^ i_ i` ia ib ic id ie if ig ih ii ij ik il im in i i i i i i i i i i i i i i i i i i i i i i i )i i i i c                 C   s"   t t| }|d ur|S |  S r   )b3_exceptionsgetr   lower)r   r)   r   r   r   map_table_b3   s   rn   c                 C   sD   t | }td|}ddd |D }td|}||kr |S |S )NNFKC c                 S   s   g | ]}t |qS r   )rn   ).0chr   r   r   
<listcomp>   s    z map_table_b2.<locals>.<listcomp>)rn   r	   	normalizejoin)r`   alr.   blr   r   r   r   map_table_b2   s   rx   c                 C   s   | dkS )N r   r   r   r   r   in_table_c11   s   rz   c                 C   s   t | dko
| dkS )NZsry   r	   r
   r   r   r   r   in_table_c12   s   r}   c                 C      t | dkS )Nr{   r|   r   r   r   r   in_table_c11_c12      r   c                 C   s   t | dk ot| dkS )N   Cc)r   r	   r
   r   r   r   r   in_table_c21   s   r   )i  i  i  r   r   i(   i)   r   r   id   ij   ip   i  i  is i{ c                 C   s.   t | }|dk r
dS t| dkrdS |tv S )Nr   Fr   T)r   r	   r
   c22_specialsr   r   r   r   in_table_c22   s   r   c                 C   s   t | dkpt| tv S )Nr   )r	   r
   r   r   r   r   r   r   in_table_c21_c22   s   
r   c                 C   r~   )NCor|   r   r   r   r   in_table_c3   r   r   c                 C   s0   t | }|dk r
dS |dk rdS t | d@ dv S )Nr   Fr   Tr   r   )r   r   r   r   r   in_table_c4   s   r   c                 C   r~   )NCsr|   r   r   r   r   in_table_c5   r   r   r   c                 C   r   r   )r   c6_setr   r   r   r   in_table_c6   r   r   i/  i/  c                 C   r   r   )r   c7_setr   r   r   r   in_table_c7   r   r   )i@  iA  i   i   i*   i/   c                 C   r   r   )r   c8_setr   r   r   r   in_table_c8  r   r   i  i   i  c                 C   r   r   )r   c9_setr   r   r   r   in_table_c9  r   r   c                 C   s   t | dv S )N)RALr	   bidirectionalr   r   r   r   in_table_d1  r   r   c                 C   r~   )NLr   r   r   r   r   in_table_d2  r   r   N)!__doc__r	   r   unidata_versionr   setlistranger   r   rk   rn   rx   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s  				



    !!!!""""####$$$$%%%%&&&&''''(((())))****++++,,,,----....////0000111122223333444455556666777788889999::::;;;;<<<<====>>>>????@@@@AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ[[[[\\\\]]]]^^^^____````aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz{{{{||||}}}}~~~~                                                                 	  	  	  	  
  
  
  
                                                                                                                                                                                      !  !  !  !  "  "  "  "  #  #  # 
 &V2