
[[\u2                 @   s  d  Z  d d l m Z e j d k s+ t  d d   Z e d d d d	 d
 d d d d d d g e e d d    Z	 d d   Z
 id d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d) d= 6d> d? 6d@ dA 6dB dC 6dD dE 6dF dG 6dH dI 6dJ dK 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6dV dW 6dX dY 6dZ d[ 6d\ d] 6d^ d_ 6d` da 6db dc 6dd de 6dV df 6dX dg 6dZ dh 6d\ di 6d^ dj 6d` dk 6db dl 6dd dm 6dn do 6dp dq 6dr ds 6dt du 6dv dw 6dx dy 6dz d{ 6d| d} 6dn d~ 6dp d 6dr d 6dt d 6dv d 6dx d 6dz d 6d| d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d! d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d% d 6d d 6d d 6d d 6d' d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6dd6d7 d6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6dd,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d9d=6d>d?6d@dA6dBdC6dDdE6dFdG6dDdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dqds6dtdu6dvdw6dxdy6dzd{6d|d}6d~d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d~d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d~d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d~d6d d6dd6dd6dd6dd6d d6dd6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d~d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd 6dd6d d6d~d6d d6dd6d d6d d6dd6dd	6dd
6d d6d d6d d6dd6d d6d d6d d6dd6dd6dd6dd6dd6dd6d~d6d d6dd6d d6d d6dd6d d6dd6dd 6d d!6d d"6dd#6d d$6dd%6dd&6dd'6dd(6dd)6dd*6d~d+6d d,6d d-6dd.6d d/6d d06dd16d d26d d36dd46dd56d d66d d76d d86dd96d d:6d d;6d d<6d d=6dd>6dd?6dd@6ddA6ddB6ddC6d dD6d~dE6d dF6d dG6ddH6d dI6d dJ6ddK6d dL6d dM6ddN6ddO6d dP6d dQ6d dR6ddS6d dT6d dU6d dV6d dW6ddX6ddY6ddZ6dd[6dd\6dd]6d d^6d~d_6d d`6d da6ddb6d dc6d dd6dde6d df6d dg6ddh6ddi6d dj6d dk6d dl6ddm6d dn6d do6d dp6d dq6ddr6dds6ddt6ddu6ddv6ddw6d dx6d~dy6d dz6d d{6dd|6d d}6d d~6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d~d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d~d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6dd6d+ d6dd6dd6d> d6dd6dd6d- d6d! d6d9 d6dd6d d6dd6dd6dd6d7 d6d; d6d- d6d) d6dd6d/ d6d5 d6dd6dd6dd6d) d6dd6d+ d6dd6dd6d> d6dd6dd6d- d6d! d6d9 d6dd6d d6dd6dd6dd6d7 d6d; d6d- d6d) d6dd 6d/ d6d5 d6dd6dd6dd6d) d6dd6d+ d6dd	6dd
6d> d6dd6dd6d- d6d! d6d9 d6dd6d d6dd6dd6dd6d7 d6d; d6d- d6d) d6dd6d/ d6d5 d6dd6dd6dd6d) d 6dd!6d+ d"6dd#6dd$6d> d%6dd&6dd'6d- d(6d! d)6d9 d*6dd+6d d,6dd-6dd.6dd/6d7 d06d; d16d- d26d) d36dd46d/ d56d5 d66dd76dd86dd96d) d:6dd;6d+ d<6dd=6dd>6d> d?6dd@6ddA6d- dB6d! dC6d9 dD6ddE6d dF6ddG6ddH6ddI6d7 dJ6d; dK6d- dL6d) dM6ddN6d/ dO6d5 dP6ddQ6ddR6ddS6d) dT6Z dUdV  Z dWdX  Z dYdZ  Z d[d\  Z d]d^  Z d_d`  Z e dadbdcd d ddded g e e d df  e e dgdh  e e didj  e e dkdl   Z dmdn  Z dodp  Z dqdr  Z dsdt  Z dudv  Z e e didw  Z dxdy  Z e e dzd{  Z d|d}  Z e d~dddg e e dd  e e dgdh   Z dd  Z e dg e e dd   Z dd  Z dd  Z  d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   sS   t  j |   d k r d St |   } d | k o< d k  n rE d S| d @d k S)NZCnFi  i      )r   r   )unicodedatacategoryord)codec r
    /usr/lib/python3.4/stringprep.pyin_table_a1   s      r      iO  i  i  i  i  i   i   i   i`   i  i   i  c             C   s   t  |   t k S)N)r   b1_set)r   r
   r
   r   in_table_b1   s    r   u   μ   Zss   u   i̇i0  u   ʼniI  si  u   ǰi  u   ι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  i  u   εi  u   եւi  u   ẖi  u   ẗi  u   ẘi  u   ẙi  u   aʾi  u   ṡ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  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  Zrsi   r	   i!  u   °ci!  u   ɛi!  u   °fi	!  hi!  i!  i!  ii!  i!  li!  ni!  Znoi!  pi!  qi!  ri!  i!  i!  Zsmi !  Zteli!!  Ztmi"!  zi$!  i(!  bi,!  i-!  ei0!  fi1!  mi3!  u   γi>!  i?!  diE!  Zhpaiq3  Zauis3  Zoviu3  Zpai3  Znai3  u   μai3  Zmai3  Zkai3  Zkbi3  Zmbi3  Zgbi3  Zpfi3  Znfi3  u   μfi3  hzi3  Zkhzi3  Zmhzi3  Zghzi3  Zthzi3  i3  Zkpai3  Zmpai3  Zgpai3  Zpvi3  Znvi3  u   μvi3  Zmvi3  Zkvi3  i3  Zpwi3  Znwi3  u   μwi3  Zmwi3  kwi3  i3  u   kωi3  u   mωi3  Zbqi3  u   c∕kgi3  zco.i3  Zdbi3  Zgyi3  Zhpi3  Zkki3  Zkmi3  Zphi3  Zppmi3  Zpri3  Zsvi3  wbi3  Zffi   Zfii  Zfli  Zffii  Z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 i 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 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. 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  j t |    } | d  k	 r% | S|  j   S)N)b3_exceptionsgetr   lower)r   r   r
   r
   r   map_table_b3   s     r2   c             C   sd   t  |   } t j d |  } d j d d   | D  } t j d |  } | | k r\ | S| Sd  S)NZNFKC c             S   s   g  |  ] } t  |   q Sr
   )r2   ).0Zchr
   r
   r   
<listcomp>   s   	 z map_table_b2.<locals>.<listcomp>)r2   r   Z	normalizejoin)r$   Zalr   Zblr	   r
   r
   r   map_table_b2   s    r7   c             C   s
   |  d k S)N r
   )r   r
   r
   r   in_table_c11   s    r9   c             C   s   t  j |   d k o |  d k S)NZsr8   )r   r   )r   r
   r
   r   in_table_c12   s    r;   c             C   s   t  j |   d k S)Nr:   )r   r   )r   r
   r
   r   in_table_c11_c12   s    r<   c             C   s%   t  |   d k  o$ t j |   d k S)N   Cc)r   r   r   )r   r
   r
   r   in_table_c21   s    r?   i  i  i  i(   i)   id   ij   ip   i  i  is i{ c             C   s?   t  |   } | d k  r d St j |   d k r5 d S| t k S)Nr=   Fr>   T)r   r   r   c22_specials)r   r	   r
   r
   r   in_table_c22   s      rA   c             C   s%   t  j |   d k p$ t |   t k S)Nr>   )r   r   r   r@   )r   r
   r
   r   in_table_c21_c22   s    rB   c             C   s   t  j |   d k S)NZCo)r   r   )r   r
   r
   r   in_table_c3   s    rC   c             C   s@   t  |   } | d k  r d S| d k  r, d St  |   d @d k S)Ni  Fi  T    )rE   rD   )r   )r   r	   r
   r
   r   in_table_c4   s      rF   c             C   s   t  j |   d k S)NZCs)r   r   )r   r
   r
   r   in_table_c5   s    rG   i  c             C   s   t  |   t k S)N)r   c6_set)r   r
   r
   r   in_table_c6   s    rI   i/  i/  c             C   s   t  |   t k S)N)r   c7_set)r   r
   r
   r   in_table_c7   s    rK   i@  iA  i   i   i*   i/   c             C   s   t  |   t k S)N)r   c8_set)r   r
   r
   r   in_table_c8  s    rM   i  i   i  c             C   s   t  |   t k S)N)r   c9_set)r   r
   r
   r   in_table_c9  s    rO   c             C   s   t  j |   d k S)NRAL)rP   rQ   )r   bidirectional)r   r
   r
   r   in_table_d1  s    rS   c             C   s   t  j |   d k S)NL)r   rR   )r   r
   r
   r   in_table_d2  s    rU   N)"__doc__r   r   Zunidata_versionAssertionErrorr   setlistranger   r   r/   r2   r7   r9   r;   r<   r?   r@   rA   rB   rC   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rS   rU   r
   r
   r
   r   <module>   s~  @p>"