fu2c @sdZddlmZejdks+tddZedddd d d d d dddg eeddZ ddZ idd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d)d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dVdf6dXdg6dZdh6d\di6d^dj6d`dk6dbdl6dddm6dndo6dpdq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6dnd~6dpd6drd6dtd6dvd6dxd6dzd6d|d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d!d6dd6dd6dd6dd6dd6dd6dd6d%d6dd6dd6dd6d'd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d7d6dd6dd6dd 6d d 6d d 6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d9d=6d>d?6d@dA6dBdC6dDdE6dFdG6dDdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dqds6dtdu6dvdw6dxdy6dzd{6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd 6dd 6dd 6dd 6dd 6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd 6dd!6dd"6dd#6dd$6dd%6dd&6dd'6dd(6dd)6dd*6d~d+6dd,6dd-6dd.6dd/6dd06dd16dd26dd36dd46dd56dd66dd76dd86dd96dd:6dd;6dd<6dd=6dd>6dd?6dd@6ddA6ddB6ddC6ddD6d~dE6ddF6ddG6ddH6ddI6ddJ6ddK6ddL6ddM6ddN6ddO6ddP6ddQ6ddR6ddS6ddT6ddU6ddV6ddW6ddX6ddY6ddZ6dd[6dd\6dd]6dd^6d~d_6dd`6dda6ddb6ddc6ddd6dde6ddf6ddg6ddh6ddi6ddj6ddk6ddl6ddm6ddn6ddo6ddp6ddq6ddr6dds6ddt6ddu6ddv6ddw6ddx6d~dy6ddz6dd{6dd|6dd}6dd~6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d+d6dd6dd6d>d6dd6dd6d-d6d!d6d9d6dd6dd6dd6dd6dd6d7d6d;d6d-d6d)d6dd6d/d6d5d6dd6dd6dd6d)d6dd6d+d6dd6dd6d>d6dd6dd6d-d6d!d6d9d6dd6dd6dd6dd6dd6d7d6d;d6d-d6d)d6dd6d/d6d5d6dd6dd6dd6d)d6dd6d+d6dd 6dd 6d>d 6dd 6dd 6d-d6d!d6d9d6dd6dd6dd6dd6dd6d7d6d;d6d-d6d)d6dd6d/d6d5d6dd6dd6dd6d)d 6dd!6d+d"6dd#6dd$6d>d%6dd&6dd'6d-d(6d!d)6d9d*6dd+6dd,6dd-6dd.6dd/6d7d06d;d16d-d26d)d36dd46d/d56d5d66dd76dd86dd96d)d:6dd;6d+d<6dd=6dd>6d>d?6dd@6ddA6d-dB6d!dC6d9dD6ddE6ddF6ddG6ddH6ddI6d7dJ6d;dK6d-dL6d)dM6ddN6d/dO6d5dP6ddQ6ddR6ddS6d)dT6Z dUdVZ dWdXZ dYdZZd[d\Zd]d^Zd_d`Zedadbdcd ddddedgeeddfeedgdheedidjeedkdlZdmdnZdodpZdqdrZdsdtZdudvZeedidwZdxdyZeedzd{Zd|d}Zed~dddgeeddeedgdhZddZedgeeddZddZddZ ddZ!dS(uLibrary 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. i(u ucd_3_2_0u3.2.0cCsStj|dkrdSt|}d|ko<dknrEdS|d@dkS(NuCniiiiF(ii(u unicodedataucategoryuFalseuord(ucodeuc((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_a1 s  u in_table_a1iiOii i i i i i i` iiicCst|tkS(N(uordub1_set(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_b1su in_table_b1uμiussiui̇i0uʼniIusiuǰiuιiEu ιizuΐiuΰiuσiuβiuθiuυiuύiuϋiuφiuπiuκiuρiiuεiuեւiuẖiuẗiuẘiuẙiuaʾiuṡiuὐiPuὒiRuὔiTuὖiVuἀιiuἁιiuἂιiuἃιiuἄιiuἅιiuἆιiuἇιiiiiiiiiiuἠιiuἡιiuἢιiuἣιiuἤιiuἥιiuἦιiuἧιiiiiiiiiiuὠιiuὡιiuὢιiuὣιiuὤιiuὥιiuὦιiuὧιiiiiiiiiiuὰιiuαιiuάιiuᾶiuᾶιiiiuὴιiuηιiuήιiuῆiuῆιiiuῒiiuῖiuῗiuῢiiuῤiuῦiuῧiuὼιiuωιiuώιiuῶiuῶιiiursi uci!u°ci!uɛi!u°fi !uhi !i !i !uii!i!uli!uni!unoi!upi!uqi!uri!i!i!usmi !uteli!!utmi"!uzi$!i(!ubi,!i-!uei0!ufi1!umi3!uγi>!i?!udiE!uhpaiq3uauis3uoviu3upai3unai3uμai3umai3ukai3ukbi3umbi3ugbi3upfi3unfi3uμfi3uhzi3ukhzi3umhzi3ughzi3uthzi3i3ukpai3umpai3ugpai3upvi3unvi3uμvi3umvi3ukvi3i3upwi3unwi3uμwi3umwi3ukwi3i3ukωi3umωi3ubqi3uc∕kgi3uco.i3udbi3ugyi3uhpi3ukki3ukmi3uphi3uppmi3upri3usvi3uwbi3uffiufiiufliuffiiuffliustiiuմնiuմեiuմիiuվնiuմխiuaiiiiiiugiiiuji uki i i i uoiiiiiutiuuiuviuwiuxiuyiii4i5i6i7i8i9i: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~iiiiiiiiiiiuαiiiuδiiuζiuηiiiiuλiiuνiuξiuοiiiiiuτiiiuχiuψiuωiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4iGiViWiXiYiZi[i\i]i^i_i`iaibicidieifigihiiijikiliminiiiiiiiiiiiiiiiiiiiiiiiiiiicCs/tjt|}|dk r%|S|jS(N(u b3_exceptionsugetuorduNoneulower(ucodeur((u//opt/alt/python33/lib64/python3.3/stringprep.pyu map_table_b3s u map_table_b3cCsdt|}tjd|}djdd|D}tjd|}||kr\|S|SdS(NuNFKCucSsg|]}t|qS((u map_table_b3(u.0uch((u//opt/alt/python33/lib64/python3.3/stringprep.pyu s u map_table_b2..(u map_table_b3u unicodedatau normalizeujoin(uaualububluc((u//opt/alt/python33/lib64/python3.3/stringprep.pyu map_table_b2s  u map_table_b2cCs |dkS(Nu ((ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c11su in_table_c11cCstj|dko|dkS(NuZsu (u unicodedataucategory(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c12su in_table_c12cCstj|dkS(NuZs(u unicodedataucategory(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyuin_table_c11_c12suin_table_c11_c12cCs%t|dko$tj|dkS(NiuCc(uordu unicodedataucategory(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c21su in_table_c21iiii( i) id ij ip iiisi{cCs?t|}|dkrdStj|dkr5dS|tkS(NiuCcFT(uorduFalseu unicodedataucategoryuTrueu c22_specials(ucodeuc((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c22s   u in_table_c22cCs%tj|dkp$t|tkS(NuCc(u unicodedataucategoryuordu c22_specials(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyuin_table_c21_c22suin_table_c21_c22cCstj|dkS(NuCo(u unicodedataucategory(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c3su in_table_c3cCs@t|}|dkrdS|dkr,dSt|d@dkS(NiiiiFT(ii(uorduFalseuTrue(ucodeuc((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c4s    u in_table_c4cCstj|dkS(NuCs(u unicodedataucategory(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c5su in_table_c5icCst|tkS(N(uorduc6_set(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c6su in_table_c6i/i/cCst|tkS(N(uorduc7_set(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c7su in_table_c7i@iAi i i* i/ cCst|tkS(N(uorduc8_set(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c8su in_table_c8ii icCst|tkS(N(uorduc9_set(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_c9su in_table_c9cCstj|dkS(NuRuAL(uRuAL(u unicodedatau bidirectional(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_d1 su in_table_d1cCstj|dkS(NuL(u unicodedatau bidirectional(ucode((u//opt/alt/python33/lib64/python3.3/stringprep.pyu in_table_d2su in_table_d2N("u__doc__u unicodedatau ucd_3_2_0uunidata_versionuAssertionErroru in_table_a1usetulisturangeub1_setu in_table_b1u b3_exceptionsu map_table_b3u map_table_b2u in_table_c11u in_table_c12uin_table_c11_c12u in_table_c21u c22_specialsu in_table_c22uin_table_c21_c22u in_table_c3u in_table_c4u in_table_c5uc6_setu in_table_c6uc7_setu in_table_c7uc8_setu in_table_c8uc9_setu in_table_c9u in_table_d1u in_table_d2(((u//opt/alt/python33/lib64/python3.3/stringprep.pyus~ @      p       > "