B Y6du2@sdZddlmZejdkstddZedddd d d d d dddg eeddZ ddZ dddddddddddd d!d"d#d$d%d&d'd(dd)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDd=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdEdFdGdHdIdJdKdLdMdNdOdPdQdNddRdSdTdUdVdSdWddXdYdZdd[d\d]d^d_d`dadbd_dcdddedfdgdhdhdhdididjdkdldmdndodododpdqdrdsdsdtdddudvdwdxd&dydzd{d|d}d~ddddddddddddddd}ddddddddddddddddddddddddddddddddddddddddddddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddddyddddkddmdnddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdydudvddddjdwdkddmdndddddddddtdydudvddidddjdwddddddddddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsddtdddydudvddhdidddjdwdkddmdndoddddddddsdd dxdd)ddd!dd'dddddd&d(d!ddd"d%dddddd dxdd)ddd!dd'dddddd&d(d!ddd"d%dddddd dxdd)ddd!dd'dddddd&d(d!ddd"d%dddddd dxdd)ddd!dd'dddddd&d(d!ddd"d%dddddd dxdd)ddd!dd'dddddd&d(d!ddd"d%dddddːZ dd̈́Z ddτZ ddфZddӄZddՄZddׄZedddd ddddgeedd݃eedd߃eeddeeddZddZddZddZddZddZeeddZddZeeddZddZeddddgeeddeedd߃ZddZedgeeddZddZddZ ddZ!dS(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_0z3.2.0cCsBt|dkrdSt|}d|kr.dkr6nndS|d@dkS)NCnFiii)ii) unicodedatacategoryord)codecr &/usr/local/lib/python3.7/stringprep.py in_table_a1 s r iOii i i i i i i` iiicCs t|tkS)N)rb1_set)rr r r in_table_b1sruμssui̇uʼnsuǰ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ῶιrsru°cuɛu°fhilnnopqrsmteltmzbefmuγdZhpaZauZovpanauμaZmakaZkbmbgbZpfnfuμfhzZkhzZmhzZghzZthzZkpaZmpaZgpapvnvuμvmvkvpwZnwuμwmwkwukωumωZbquc∕kgzco.dbZgyZhpkkZkmphZppmprsvwbfffiflZffiZfflstuմնuմեuմիuվնuմխagjkotuvwxyuαuδuζuηuλuνuξuοuτuχuψuω(i0iIiiiEiziiiiiiiiiiiiiiiiiiiiiiPiRiTiViiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 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!iq3is3iu3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3iiiiiiiiiiiiiiiiiiiiii i i i i iiiiiiiiiiiii4i5i6i7i8i9i:i;i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMihiiijikiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i i iiiiiiiiiiiiiii8i9i;i<i=i>i@iAiBiCiDiFiJiKiLiMiNiOiPiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i i i i iiiiiiiiiiiiiiiiiii i!i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4iGiViWiXiYiZi[i\i]i^i_i`iaibicidieifigihiiijikiliminiiiiiiiiiiiiiiiiiiiiiiiiiiicCs"tt|}|dk r|S|S)N) b3_exceptionsgetrlower)rrr r r map_table_b3srKcCsHt|}td|}ddd|D}td|}||kr@|S|SdS)NNFKCcSsg|] }t|qSr )rK).0chr r r sz map_table_b2..)rKr normalizejoin)r;Zalrblrr r r map_table_b2s  rTcCs|dkS)N r )rr r r in_table_c11srVcCst|dko|dkS)NZsrU)rr)rr r r in_table_c12srXcCst|dkS)NrW)rr)rr r r in_table_c11_c12srYcCst|dkot|dkS)NCc)rrr)rr r r in_table_c21sr\iiii( i) id ij ip iiisi{cCs.t|}|dkrdSt|dkr&dS|tkS)NrZFr[T)rrr c22_specials)rrr r r in_table_c22s r^cCst|dkpt|tkS)Nr[)rrrr])rr r r in_table_c21_c22sr_cCst|dkS)NCo)rr)rr r r in_table_c3sracCs0t|}|dkrdS|dkr dSt|d@dkS)NiFiTi)ii)r)rrr r r in_table_c4s rbcCst|dkS)NCs)rr)rr r r in_table_c5srdicCs t|tkS)N)rc6_set)rr r r in_table_c6srfi/i/cCs t|tkS)N)rc7_set)rr r r in_table_c7srhi@iAi i i* i/ cCs t|tkS)N)rc8_set)rr r r in_table_c8srjii icCs t|tkS)N)rc9_set)rr r r in_table_c9srlcCst|dkS)N)RAL)r bidirectional)rr r r in_table_d1 srpcCst|dkS)NL)rro)rr r r in_table_d2srrN)"__doc__rrunidata_versionAssertionErrorr setlistranger rrHrKrTrVrXrYr\r]r^r_rarbrdrerfrgrhrirjrkrlrprrr r r r s| ,  P,