U e5du2��@s�dZddlmZdd�Zeddddd d d d d ddg eedd���Zdd�Zddddddddddddd d!d"d#d$d%d&d'dd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d4d5d6d7d8d9d:d;dd?d@dAdBdCdd?d@dAdBdCdDdEdFdGdHdIdJdKdDdEdFdGdHdIdJdKdLdMdNdOdPdMddQdRdSdTdUdRdVddWdXdYddZd[d\d]d^d_d`dad^dbdcdddedfdgdgdgdhdhdidjdkdldmdndndndodpdqdrdrdsdcdtdudvdwd%dxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d|d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dcdxd�d�d�djd�dldmdd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdxdtdud�d�d�didvdjd�dldmdd�d�d�d�d�d�d�dsdxdtdud�dhd�d�didvd�dd�d�d�d�d�d�d�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�ddʐ��Z d�d̄Z d�d΄Z d�dЄZ d�d҄Z d�dԄZd�dքZed�d�d�d d d�d�dgeedd܃�eed�dރ�eed�d���eed�d���Zd�d�Zd�d�Zd�d�Zd�d�Zd�d�Zeed�d��Zd�d�Zeed�d��Zd�d�Zed�d�d�d�geed�d���eed�dރ��Zd�d��Zed�geed�d����Zd��d�Z�d�d�Z�d�d�Z�dS(z�Library 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_0cCsBt�|�dkrdSt|�}d|kr.dkr6nndS|d@dkS)NZCnF�������������r)� unicodedata�category�ord��code�c�r�"/usr/lib64/python3.8/stringprep.py� in_table_a1 s r�iOii i i i i i i` i��i�i�cCs t|�tkS�N)r �b1_set�r rrr� in_table_b1sruμZssui̇uʼn�suǰuιu ιuΐuΰuσuβuθuυuύuϋuφuπuκuρuεuեւuẖuẗuẘuẙuaʾuṡuὐuὒuὔuὖuἀιuἁιuἂιuἃιuἄιuἅιuἆιuἇιuἠιuἡιuἢιuἣιuἤιuἥιuἦιuἧιuὠιuὡιuὢιuὣιuὤιuὥιuὦιuὧιuὰιuαιuάιuᾶuᾶιuὴιuηιuήιuῆuῆιuῒuῖuῗuῢuῤuῦuῧuὼιuωιuώιuῶuῶιZrsr u°cuɛu°f�h�i�l�nZno�p�q�rZsmZtelZtm�z�b�e�f�muγ�dZhpaZauZovZpaZnauμaZmaZkaZkbZmbZgbZpfZnfuμf�hzZkhzZmhzZghzZthzZkpaZmpaZgpaZpvZnvuμvZmvZkvZpwZnwuμwZmw�kwukωumωZbquc∕kgzco.ZdbZgyZhpZkkZkmZphZppmZprZsv�wbZffZfiZflZffiZffl�stuմնuմեuմիuվնuմխ�a�g�j�k�o�t�u�v�w�x�yuαuδuζuηuλuνuξuοuτuχuψuω(����i0iIii�iEizi�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�iPiRiTiVi�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i� 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!i3!i>!i?!iE!iq3is3iu3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i �i �i �i �i �i�i�i�i�i�i�i�i�i�i�i�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��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��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��cCs"t�t|��}|dk r|S|��Sr)� b3_exceptions�getr �lower)r rrrr� map_table_b3�sr8cCsHt|�}t�d|�}d�dd�|D��}t�d|�}||kr@|S|SdS)NZNFKC�cSsg|] }t|��qSr)r8)�.0Zchrrr� �sz map_table_b2..)r8rZ normalize�join)r(ZalrZblr rrr� map_table_b2�s  r=cCs|dkS)N� rrrrr� in_table_c11�sr?cCst�|�dko|dkS)N�Zsr>�rr rrrr� in_table_c12�srBcCst�|�dkS)Nr@rArrrr�in_table_c11_c12�srCcCst|�dkot�|�dkS)N��Cc)r rr rrrr� in_table_c21�srFi�iii( i) id ij ip i��i��is�i{�cCs.t|�}|dkrdSt�|�dkr&dS|tkS)NrDFrET)r rr � c22_specialsr rrr� in_table_c22�s rHcCst�|�dkpt|�tkS)NrE)rr r rGrrrr�in_table_c21_c22�s �rIcCst�|�dkS)NZCorArrrr� in_table_c3�srJcCs0t|�}|dkrdS|dkr dSt|�d@dkS)NrFrTrr)r r rrr� in_table_c4�s rKcCst�|�dkS)NZCsrArrrr� in_table_c5�srLrcCs t|�tkSr)r �c6_setrrrr� in_table_c6�srNi�/i�/cCs t|�tkSr)r �c7_setrrrr� in_table_c7�srPi@iAi i i* i/ cCs t|�tkSr)r �c8_setrrrr� in_table_c8srRii i�cCs t|�tkSr)r �c9_setrrrr� in_table_c9srTcCst�|�dkS)N)�RZAL�rZ bidirectionalrrrr� in_table_d1 srWcCst�|�dkS)N�LrVrrrr� in_table_d2srYN) �__doc__rrr�set�list�rangerrr5r8r=r?rBrCrFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrWrYrrrr�sN ,��& P,