AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.118.195.162
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python2.7/site-packages/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /lib/python2.7/site-packages/langtable.pyc
�
��L]c@s�ddlZddlZddlZddlZddlZddlmZdZej	dddddd	ddd
ddd
�Z
idd
6dd6dd6dd6ZiZiZ
iZiZiZddMd��YZddNd��YZddOd��YZddPd��YZddQd��YZdeefd��YZdefd ��YZd!efd"��YZd#efd$��YZd%efd&��YZd'efd(��YZd)�Zd*�Zd+�Zd,�Z d-�Z!d.�Z"d/�Z#d0�Z$e%d1�Z&d2�Z'd3d4�Z(dddd5�Z*ddddd6�Z+ddddddd7�Z,ddd8�Z-ddd9�Z.ddddd:�Z/d;d<�Z0d;d=�Z1d>Z2e%e3dddd?�Z4e%e3dddd@�Z5e%e3ddddA�Z6e%e3ddddB�Z7e%e3ddddC�Z8e%e3ddddD�Z9ddE�Z:dF�Z;e3ddddG�Z<e3dHedI�Z=dJdRdK��YZ>e>�Z?e@dLkr�ddlAZAe=�eAjB�ndS(Si����N(tContentHandlers/usr/share/langtables^(?P<language>[a-z]{2,3}s(?=$|@s'|_[A-Z][a-z]{3}(?=$|@|_[A-Z]{2}(?=$|@))s|_[A-Z]{2}(?=$|@)s))s(?:_(?P<script>[A-Z][a-z]{3})s)){0,1}s(?:_(?P<territory>[A-Z]{2})tLatntlatintiqteliftCyrltcyrillictDevat
devanagaritterritory_db_itemc	Bs)eZddddddddd�ZRS(c		CsL||_||_||_||_||_||_||_||_dS(N(tnamestscriptstlocalest	languagest	keyboardstinputmethodstconsolefontst	timezones(	tselfR	R
RRR
RRR((s-/usr/lib/python2.7/site-packages/langtable.pyt__init__Ys							N(t__name__t
__module__tNoneR(((s-/usr/lib/python2.7/site-packages/langtable.pyRXstlanguage_db_itemcBs2eZdddddddddddd�ZRS(cCsg||_||_||_||_||_||_||_||_|	|_|
|_	||_
dS(N(tiso639_1t
iso639_2_tt
iso639_2_bR	R
RtterritoriesR
RRR(RRRRR	R
RRR
RRR((s-/usr/lib/python2.7/site-packages/langtable.pyRds										N(RRRR(((s-/usr/lib/python2.7/site-packages/langtable.pyRcstkeyboard_db_itemcBs eZdedddd�ZRS(cCs1||_||_||_||_||_dS(N(tdescriptiontasciitcommentRR(RRRRRR((s-/usr/lib/python2.7/site-packages/langtable.pyRrs
				N(RRRtTrueR(((s-/usr/lib/python2.7/site-packages/langtable.pyRqsttimezone_db_itemcBseZdd�ZRS(cCs
||_dS(N(R	(RR	((s-/usr/lib/python2.7/site-packages/langtable.pyRzsN(RRRR(((s-/usr/lib/python2.7/site-packages/langtable.pyR ysttimezoneIdPart_db_itemcBseZdd�ZRS(cCs
||_dS(N(R	(RR	((s-/usr/lib/python2.7/site-packages/langtable.pyR~sN(RRRR(((s-/usr/lib/python2.7/site-packages/langtable.pyR!}stLangtableContentHandlercBs eZdZd�Zd�ZRS(s�
    A base class inherited from the xml.sax.handler.ContentHandler class
    providing handling for SAX events produced when parsing the langtable data
    files.

    cCs
d|_dS(N(Rt_save_to(R((s-/usr/lib/python2.7/site-packages/langtable.pyR�scCsU|jdkrdSt||j�}|r8||}n|}t||j|�dS(s Handler for the text data event.N(R#Rtgetattrtsetattr(Rtcontentt	old_valuet	new_value((s-/usr/lib/python2.7/site-packages/langtable.pyt
characters�s
(RRt__doc__RR)(((s-/usr/lib/python2.7/site-packages/langtable.pyR"�s	tTerritoriesContentHandlercBs2eZdZd�Zd�Zd�Zd�ZRS(sFHandler for SAX events produced when parsing the territories.xml file.cCs�tt|�j�d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_dS(N(tsuperR+RRt_territoryIdt_item_idt
_item_rankt
_item_namet_namest_scriptst_localest
_languagest
_keyboardst
_inputmethodst
_consolefontst
_timezones(R((s-/usr/lib/python2.7/site-packages/langtable.pyR�s											cCs�|dkrot�|_t�|_t�|_t�|_t�|_t�|_t�|_t�|_n`|dkr�d|_	nH|dkr�d|_	n0|dkr�d
|_	n|dkr�d|_	ndS(Nu	territoryuterritoryIdR-u
languageIduscriptIdulocaleIdu
keyboardIdu
inputmethodIdu
consolefontIdu
timezoneIdR.utrNameR0urankR/(u
languageIduscriptIdulocaleIdu
keyboardIdu
inputmethodIdu
consolefontIdu
timezoneId(
tdictR1R2R3R4R5R6R7R8R#(Rtnametattrs((s-/usr/lib/python2.7/site-packages/langtable.pytstartElement�s$	cCs�d|_|dkr�td|jd|jd|jd|jd|jd|jd|j	d	|j
�tt|j
�<d|_
d|_d|_d|_d|_d|_d|_d|_	d|_
n�|d
kr�|j|jt|j�<|j�n�|dkr1t|j�|jt|j�<|j�nP|dkrit|j�|jt|j�<|j�n|d
kr�t|j�|jt|j�<|j�n�|dkr�t|j�|jt|j�<|j�n�|dkrt|j�|jt|j�<|j�np|dkrIt|j�|j	t|j�<|j�n8|dkr�t|j�|j
t|j�<|j�ndS(Nu	territoryR	R
RRR
RRRunameuscriptulocaleulanguageukeyboarduinputmethoduconsolefontutimezone(RR#RR1R2R3R4R5R6R7R8t_territories_dbtstrR-R0R.t_clear_itemtintR/(RR:((s-/usr/lib/python2.7/site-packages/langtable.pyt
endElement�sX																






cCsd|_d|_d|_dS(N(RR.R0R/(R((s-/usr/lib/python2.7/site-packages/langtable.pyR?s		(RRR*RR<RAR?(((s-/usr/lib/python2.7/site-packages/langtable.pyR+�s
			5tKeyboardsContentHandlercBs2eZdZd�Zd�Zd�Zd�ZRS(sDHandler for SAX events produced when parsing the keyboards.xml file.cCs_tt|�j�d|_d|_d|_d|_d|_d|_	d|_
d|_dS(N(R,RBRRt_keyboardIdt_descriptiont_asciit_commentR.R/R4t_territories(R((s-/usr/lib/python2.7/site-packages/langtable.pyR
s							cCs�|dkr't�|_t�|_n�|dkr?d|_nx|dkrWd|_n`|dkrod|_nH|dkr�d	|_n0|dkr�d|_n|d
kr�d|_ndS(Nukeyboardu
keyboardIdRCudescriptionRDuasciiREucommentRFu
languageIduterritoryIdR.urankR/(u
languageIduterritoryId(R9R4RGR#(RR:R;((s-/usr/lib/python2.7/site-packages/langtable.pyR<scCsd|_|dkr�td|jd|jdkd|jd|jd|j�tt	|j
�<d|_
d|_d|_d|_d|_d|_np|dkr�t|j�|jt	|j
�<|j�n8|d	krt|j�|jt	|j
�<|j�ndS(
NukeyboardRRuTrueRRRulanguageu	territory(RR#RRDRERFR4RGt
_keyboards_dbR>RCR@R/R.R?(RR:((s-/usr/lib/python2.7/site-packages/langtable.pyRA3s(									
cCsd|_d|_dS(N(RR.R/(R((s-/usr/lib/python2.7/site-packages/langtable.pyR?Ps	(RRR*RR<RAR?(((s-/usr/lib/python2.7/site-packages/langtable.pyRB
s
			tLanguagesContentHandlercBs2eZdZd�Zd�Zd�Zd�ZRS(sDHandler for SAX events produced when parsing the languages.xml file.cCs�tt|�j�d|_d|_d|_d|_d|_d|_	d|_
t|_d|_
d|_d|_d|_d|_d|_d|_d|_dS(N(R,RIRRt_languageIdt	_iso639_1t_iso639_2_tt_iso639_2_bR.R/R0tFalset	_in_namesR1R2R3RGR5R6R7R8(R((s-/usr/lib/python2.7/site-packages/langtable.pyRWs"															c	Cs^|dkrot�|_t�|_t�|_t�|_t�|_t�|_t�|_t�|_n�|dkr�|j	r�d|_
n�|dkr�d|_
n�|dkr�d|_
n�|dkr�d	|_
n�|d
kr�t|_	ni|dkr	d|_
nQ|dkr*|j	r*d|_
n0|dkrBd|_
n|dkrZd|_
ndS(Nulanguageu
languageIdRJuiso639-1RKu
iso639-2-tRLu
iso639-2-bRMunamesuscriptIdulocaleIduterritoryIdu
keyboardIdu
inputmethodIdu
consolefontIdu
timezoneIdR.utrNameR0urankR/(uscriptIdulocaleIduterritoryIdu
keyboardIdu
inputmethodIdu
consolefontIdu
timezoneId(R9R1R2R3RGR5R6R7R8ROR#R(RR:R;((s-/usr/lib/python2.7/site-packages/langtable.pyR<rs8	cCs�d|_|dkr�td|jd|jd|jd|jd|jd|jd|j	d	|j
d
|jd|jd|j
�tt|j�<d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
n�|d
krt|_n�|dkrG|j|jt|j�<|j�n�|dkrt|j�|jt|j�<|j�nP|dkr�t|j�|jt|j�<|j�n|dkr�t|j�|j	t|j�<|j�n�|dkr't|j�|j
t|j�<|j�n�|dkr_t|j�|jt|j�<|j�np|dkr�t|j�|jt|j�<|j�n8|dkr�t|j�|j
t|j�<|j�ndS(NulanguageRRRR	R
RRR
RRRunamesunameuscriptulocaleu	territoryukeyboarduinputmethoduconsolefontutimezone(RR#RRKRLRMR1R2R3RGR5R6R7R8t
_languages_dbR>RJRNROR0R.R?R@R/(RR:((s-/usr/lib/python2.7/site-packages/langtable.pyRA�sh																						






cCsd|_d|_d|_dS(N(RR.R0R/(R((s-/usr/lib/python2.7/site-packages/langtable.pyR?�s		(RRR*RR<RAR?(((s-/usr/lib/python2.7/site-packages/langtable.pyRITs
		$	?tTimezonesContentHandlercBs2eZdZd�Zd�Zd�Zd�ZRS(sDHandler for SAX events produced when parsing the timezones.xml file.cCs;tt|�j�d|_d|_d|_d|_dS(N(R,RQRRt_timezoneIdR.R0R1(R((s-/usr/lib/python2.7/site-packages/langtable.pyR�s
			cCsg|dkrt�|_nH|dkr3d|_n0|dkrKd|_n|dkrcd|_ndS(Nutimezoneu
timezoneIdRRu
languageIdR.utrNameR0(R9R1R#(RR:R;((s-/usr/lib/python2.7/site-packages/langtable.pyR<�scCsd|_|dkrItd|j�tt|j�<d|_d|_n2|dkr{|j|jt|j�<|j	�ndS(NutimezoneR	uname(
RR#R R1t
_timezones_dbR>RRR0R.R?(RR:((s-/usr/lib/python2.7/site-packages/langtable.pyRA�s		cCsd|_d|_dS(N(RR.R0(R((s-/usr/lib/python2.7/site-packages/langtable.pyR?s	(RRR*RR<RAR?(((s-/usr/lib/python2.7/site-packages/langtable.pyRQ�s
			tTimezoneIdPartsContentHandlercBs2eZdZd�Zd�Zd�Zd�ZRS(sJHandler for SAX events produced when parsing the timezoneidparts.xml file.cCs;tt|�j�d|_d|_d|_d|_dS(N(R,RTRRt_timezoneIdPartIdR.R0R1(R((s-/usr/lib/python2.7/site-packages/langtable.pyRs
			cCsg|dkrt�|_nH|dkr3d|_n0|dkrKd|_n|dkrcd|_ndS(NutimezoneIdPartutimezoneIdPartIdRUu
languageIdR.utrNameR0(R9R1R#(RR:R;((s-/usr/lib/python2.7/site-packages/langtable.pyR<scCsd|_|dkrItd|j�tt|j�<d|_d|_n2|dkr{|j|jt|j�<|j	�ndS(NutimezoneIdPartR	uname(
RR#R!R1t_timezoneIdParts_dbR>RUR0R.R?(RR:((s-/usr/lib/python2.7/site-packages/langtable.pyRA.s		cCsd|_d|_dS(N(RR.R0(R((s-/usr/lib/python2.7/site-packages/langtable.pyR?@s	(RRR*RR<RAR?(((s-/usr/lib/python2.7/site-packages/langtable.pyRTs
			cCsj|jd�|jd�x<tt�D].}|jd�|jd|d�t|j}|jd�xAt|�D]3}|jdd|d	d
||dd�qvW|jd
�t|j}|jd�xXt|j�dd��D];\}}|jdd|ddt|�dd�q�W|jd�t|j}|jd�xXt|j�dd��D];\}}|jdd|ddt|�dd�qrW|jd�t|j}	|jd�xXt|	j�dd ��D];\}
}|jd!d|
d	dt|�dd"�q�W|jd#�t|j	}|jd$�xXt|j�dd%��D];\}}|jd&d'|d(dt|�dd)�qvW|jd*�t|j
}
|jd+�xXt|
j�dd,��D];\}}|jd-d.|d/dt|�dd0�q�W|jd1�t|j}|jd2�xXt|j�dd3��D];\}}|jd4d5|d6dt|�dd7�qzW|jd8�t|j}|jd9�xXt|j�dd:��D];\}}|jd;d<|d=dt|�dd>�q�W|jd?�|jd@�q'W|jdA�dBS(Cs
    Only for internal use
    s'<?xml version="1.0" encoding="UTF-8"?>
s<territories>
s  <territory>
s    <territoryId>s</territoryId>
s    <names>
s      <name>s<languageId>s
</languageId>s<trName>s	</trName>s</name>
s
    </names>
s    <scripts>
tkeycSsd|d|dfS(Ni����ii((tx((s-/usr/lib/python2.7/site-packages/langtable.pyt<lambda>Xss      <script>s
<scriptId>s</scriptId>s<rank>s</rank>s
</script>
s    </scripts>
s    <locales>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRYass      <locale>s
<localeId>s</localeId>s
</locale>
s    </locales>
s    <languages>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRYjss      <language>s</language>
s    </languages>
s    <keyboards>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRYsss      <keyboard>s<keyboardId>s
</keyboardId>s</keyboard>
s    </keyboards>
s    <inputmethods>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY|ss      <inputmethod>s<inputmethodId>s</inputmethodId>s</inputmethod>
s    </inputmethods>
s    <consolefonts>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <consolefont>s<consolefontId>s</consolefontId>s</consolefont>
s    </consolefonts>
s    <timezones>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <timezone>s<timezoneId>s
</timezoneId>s</timezone>
s    </timezones>
s  </territory>
s</territories>
N(
twritetsortedR=R	R
titemsR>RRR
RRR(tfiletterritoryIdR	R:R
tscriptIdtrankRtlocaleIdRt
languageIdR
t
keyboardIdRt
inputmethodIdRt
consolefontIdRt
timezoneId((s-/usr/lib/python2.7/site-packages/langtable.pyt_write_territories_fileDsp




+


(-


(-


(-


(-


(-


(-


(-

cCs�|jd�|jd�x�tt�D]�}|jd�|jd|d�|jdtt|j�d�|jdtt|j�d	�|jd
tt|j�d�t|j}|jd�xAt|�D]3}|jd
d|dd||dd�q�W|jd�t|j}|jd�xXt|j	�dd��D];\}}|jdd|ddt|�dd�qVW|jd�t|j
}|jd�xXt|j	�dd��D];\}}|jd d!|d"dt|�dd#�q�W|jd$�t|j}	|jd%�xXt|	j	�dd&��D];\}
}|jd'd(|
d)dt|�dd*�qZW|jd+�t|j}|jd,�xXt|j	�dd-��D];\}}|jd.d/|d0dt|�dd1�q�W|jd2�t|j
}
|jd3�xXt|
j	�dd4��D];\}}|jd5d6|d7dt|�dd8�q^W|jd9�t|j}|jd:�xXt|j	�dd;��D];\}}|jd<d=|d>dt|�dd?�q�W|jd@�t|j}|jdA�xXt|j	�ddB��D];\}}|jdCdD|dEdt|�ddF�qbW|jdG�|jdH�q'W|jdI�dJS(Ks
    Only for internal use
    s'<?xml version="1.0" encoding="UTF-8"?>
s<languages>
s
  <language>
s    <languageId>s</languageId>
s    <iso639-1>s</iso639-1>
s    <iso639-2-t>s</iso639-2-t>
s    <iso639-2-b>s</iso639-2-b>
s    <names>
s      <name>s<languageId>s
</languageId>s<trName>s	</trName>s</name>
s
    </names>
s    <scripts>
RWcSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <script>s
<scriptId>s</scriptId>s<rank>s</rank>s
</script>
s    </scripts>
s    <locales>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <locale>s
<localeId>s</localeId>s
</locale>
s    </locales>
s    <territories>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <territory>s
<territoryId>s</territoryId>s
</territory>
s    </territories>
s    <keyboards>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <keyboard>s<keyboardId>s
</keyboardId>s</keyboard>
s    </keyboards>
s    <inputmethods>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <inputmethod>s<inputmethodId>s</inputmethodId>s</inputmethod>
s    </inputmethods>
s    <consolefonts>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <consolefont>s<consolefontId>s</consolefontId>s</consolefont>
s    </consolefonts>
s    <timezones>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�ss      <timezone>s<timezoneId>s
</timezoneId>s</timezone>
s    </timezones>
s  </language>
s
</languages>
N(RZR[RPR>RRRR	R
R\RRR
RRR(R]RbR	R:R
R_R`RRaRR^R
RcRRdRReRRf((s-/usr/lib/python2.7/site-packages/langtable.pyt_write_languages_file�sv


"""

+


(-


(-


(-


(-


(-


(-


(-

cCs�|jd�|jd�x�tt�D]�}|jd�|jd|d�|jdt|jd�|jdtt|j�d	�t|jdkr�|jd
t|jd�nt|j}|jd�xXt|j	�d
d��D];\}}|jdd|ddt|�dd�q�W|jd�t|j
}|jd�xXt|j	�d
d��D];\}}|jdd|ddt|�dd�qwW|jd�|jd�q'W|jd�dS( s
    Only for internal use
    s'<?xml version="1.0" encoding="UTF-8"?>
s<keyboards>
s
  <keyboard>
s    <keyboardId>s</keyboardId>
s    <description>s</description>
s    <ascii>s	</ascii>
s
    <comment>s</comment>
s    <languages>
RWcSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRYss      <language>s<languageId>s
</languageId>s<rank>s</rank>s</language>
s    </languages>
s    <territories>
cSsd|d|dfS(Ni����ii((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY	ss      <territory>s
<territoryId>s</territoryId>s
</territory>
s    </territories>
s  </keyboard>
s
</keyboards>
N(RZR[RHRR>RRRRR\R(R]RcRRbR`RR^((s-/usr/lib/python2.7/site-packages/langtable.pyt_write_keyboards_file�s0


"

(-


(-

cCs�|jd�|jd�x�tt�D]�}|jd�|jd|d�t|j}|jd�xAt|�D]3}|jdd|d	d
||dd�qvW|jd
�|jd�q'W|jd�dS(s
    Only for internal use
    s'<?xml version="1.0" encoding="UTF-8"?>
s<timezones>
s
  <timezone>
s    <timezoneId>s</timezoneId>
s    <names>
s      <name>s<languageId>s
</languageId>s<trName>s	</trName>s</name>
s
    </names>
s  </timezone>
s
</timezones>
N(RZR[RSR	(R]RfR	R:((s-/usr/lib/python2.7/site-packages/langtable.pyt_write_timezones_files




+

cCs�|jd�|jd�x�tt�D]�}|jd�|jd|d�t|j}|jd�xAt|�D]3}|jdd|d	d
||dd�qvW|jd
�|jd�q'W|jd�dS(s
    Only for internal use
    s'<?xml version="1.0" encoding="UTF-8"?>
s<timezoneIdParts>
s  <timezoneIdPart>
s    <timezoneIdPartId>s</timezoneIdPartId>
s    <names>
s      <name>s<languageId>s
</languageId>s<trName>s	</trName>s</name>
s
    </names>
s  </timezoneIdPart>
s</timezoneIdParts>
N(RZR[RVR	(R]ttimezoneIdPartIdR	R:((s-/usr/lib/python2.7/site-packages/langtable.pyt_write_timezoneIdParts_file*s




+

cCsGtjjj�}|j|_|j|_|j|_	|j
|�dS(so
    Only for internal use. Parses a given file object with a given SAX handler
    using an expat parser.
    N(txmltparserstexpattParserCreateR<tStartElementHandlerRAtEndElementHandlerR)tCharacterDataHandlert	ParseFile(R]tsax_handlertparser((s-/usr/lib/python2.7/site-packages/langtable.pyt_expat_parse@s
c	Cs�x�|dgD]�}tjj||�}tjj|�rwt|dd��%}tjd|�t||�WdQXdStjj||d�}tjj|�r
tj|dd��%}tjd|�t||�WdQXdSq
Wtjd�dS(s
    Only for internal use
    t.tmodetrbsreading file=%sNs.gzsno readable file found.(	tostpathtjointisfiletopentloggingtinfoRwtgzip(tdatadirtfilenameRutdirR|R]((s-/usr/lib/python2.7/site-packages/langtable.pyt
_read_fileLsc
Cs6t|d��"}tjd|�t|�WdQXt|d��"}tjd|�t|�WdQXt|d��"}tjd|�t|�WdQXt|d��"}tjd|�t|�WdQXt|d��"}tjd|�t|�WdQXt|d��"}	tjd|	�t|	�WdQXdS(s
    Only for internal use
    twswriting territories file=%sNswriting languages file=%sswriting keyboards file=%sswriting timezones file=%sswriting timezoneidparts file=%s(RR�R�RgRhRiRjRl(
tterritoriesfilenametlanguagesfilenametkeyboardsfilenamettimezonesfilenamettimezoneidpartsfilenametterritoriesfilet
languagesfilet
keyboardsfilet
timezonesfilettimezoneidpartsfile((s-/usr/lib/python2.7/site-packages/langtable.pyt_write_files`s&cs`g}xSt�d�fd�d|�D]0}�|dkr(|j|�|g�q(q(W|S(NRWcs�j|�|fS(N(tget(RX(R9(s-/usr/lib/python2.7/site-packages/langtable.pyRYzstreversei(R[tappend(R9R�tsorted_listtitem((R9s-/usr/lib/python2.7/site-packages/langtable.pyt_dictionary_to_ranked_listxs
(cCsttd�|��S(NcSs|dS(Ni((RX((s-/usr/lib/python2.7/site-packages/langtable.pyRY�s(tlisttmap(tranked_list((s-/usr/lib/python2.7/site-packages/langtable.pyt_ranked_list_to_listsi�cCswt|�dks|SxZtdt|�d�D]?}||d||dd|kr0|d|d!}Pq0q0W|S(Nii(tlentrange(R�tcut_off_factorti((s-/usr/lib/python2.7/site-packages/langtable.pyt_make_ranked_list_concise�s $cCs�|rm|jd�}|jd�}|dkrQ||krQ|| ||}qm|dkrm|| }qmnxltD]d}|r�|j|t|�}n|rt|jd|�r�t|}n|j|t|�}qtqtW|r_tj|�}|rK|jd�}|jd�r'|jd�}n|jd�r\|jd�}q\q_tjd|�n|dkr�|r�|r�|dkr�d}q�|dkr�d}q�n|||fS(s�
    Parses languageId and if it contains a valid ICU locale id,
    returns the values for language, script, and territory found
    in languageId instead of the original values given.

    Before parsing, it replaces glibc names for scripts like “latin”
    with the iso-15924 script names like “Latn”, both in the
    languageId and the scriptId parameter. I.e.  language id like
    “sr_latin_RS” is accepted as well and treated the same as
    “sr_Latn_RS”.
    Rxt@itlanguagetscriptt	territorys(languageId contains invalid locale id=%stzhtCNtSGtHanstHKtMOtTWtHant(R�R�(R�R�R�(	tfindt_glibc_script_idstreplacetendswitht_cldr_locale_patterntmatchtgroupR�R�(RbR_R^t	dot_indextat_indexRWR�((s-/usr/lib/python2.7/site-packages/langtable.pyt_parse_and_split_languageId�s:

	cCs3td|d|d|�\}}}|tkr/|r}|r}|r}|d|d|}|t|jkr}t|j|Sn|r�|r�|d|}|t|jkr�t|j|Sn|r�|r�|d|}|t|jkr�t|j|Sn|r/|}|t|jkr,t|j|Sq/ndS(u|Query translations of territory names

    :param territoryId: identifier for the territory
    :type territoryId: string
    :param languageIdQuery: identifier for the language used in the result
    :type languageIdQuery: string
    :param scriptIdQuery: identifier for the script used in the result
    :type scriptIdQuery: string
    :param territoryIdQuery: identifier for the territory used in the result
    :type territoryIdQuery: string
    :rtype: string

    **Examples:**

    Switzerland is called “Schweiz” in German:

    >>> print(territory_name(territoryId="CH", languageIdQuery="de"))
    Schweiz

    And it is called “Svizzera” in Italian:

    >>> print(territory_name(territoryId="CH", languageIdQuery="it"))
    Svizzera

    And it is called “スイス” in Japanese:

    >>> print(territory_name(territoryId="CH", languageIdQuery="ja"))
    スイス
    RbR_R^t_t(R�R=R	(R^tlanguageIdQueryt
scriptIdQuerytterritoryIdQueryticuLocaleIdQuery((s-/usr/lib/python2.7/site-packages/langtable.pytterritory_name�s,c
Cs�td|d|d|�\}}}td|d|d|�\}}}|sc|}|}|}n|r�|r�|r�|d|d|}|tkr�|r�|r�|r�|d|d|}|t|jkr�t|j|Sn|r#|r#|d|}|t|jkr#t|j|Sn|rb|rb|d|}|t|jkrbt|j|Sn|r�|}|t|jkr�t|j|Sq�q�n|rR|rR|d|}|tkrRtd|d|d|d|�}|rI|rI|rI|d|d|}|t|jkrIt|j|}	|rB|	d|d	S|	Sn|r�|r�|d|}|t|jkr�t|j|}	|r�|	d|d	S|	Sn|r�|r�|d|}|t|jkr�t|j|}	|r�|	d|d	S|	Sn|rO|}|t|jkrLt|j|}	|rE|	d|d	S|	SqOqRn|r�|r�|d|}|tkrw|r�|r�|r�|d|d|}|t|jkr�t|j|Sn|r|r|d|}|t|jkrt|j|Sn|rC|rC|d|}|t|jkrCt|j|Sn|rw|}|t|jkrtt|j|Sqwntd|d|d|d|�}	td|d|d|d|�}|	r�|r�|	d|d	Sn|r�|}|tkr�|r=|r=|r=|d|d|}|t|jkr=t|j|Sn|r||r||d|}|t|jkr|t|j|Sn|r�|r�|d|}|t|jkr�t|j|Sn|r�|}|t|jkr�t|j|Sq�q�nd
S(u�Query translations of language names

    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :param languageIdQuery: identifier for the language used in the result
    :type languageIdQuery: string
    :param scriptIdQuery: identifier for the script used in the result
    :type scriptIdQuery: string
    :param territoryIdQuery: identifier for the territory used in the result
    :type territoryIdQuery: string
    :rtype: string

    **Examples:**

    >>> print(language_name(languageId="sr"))
    српски

    I.e. the endonym for “Serbian” in the default Cyrillic script is
    “српски”.

    If the script “Cyrl” is supplied as well, the name of the
    script is added for clarity:

    >>> print(language_name(languageId="sr", scriptId="Cyrl"))
    српски (Ћирилица)

    And in Latin script the endonym is:

    >>> print(language_name(languageId="sr", scriptId="Latn"))
    Srpski (Latinica)

    And “Serbian” translated to English is:

    >>> print(language_name(languageId="sr", languageIdQuery="en"))
    Serbian

    And with adding the script information:

    >>> print(language_name(languageId="sr", scriptId="Cyrl", languageIdQuery="en"))
    Serbian (Cyrillic)

    >>> print(language_name(languageId="sr", scriptId="Latn", languageIdQuery="en"))
    Serbian (Latin)

    RbR_R^R�R�R�R�s (t)R�(R�RPR	R�t
language_name(
RbR_R^R�R�R�ticuLocaleIdR�tcnametlname((s-/usr/lib/python2.7/site-packages/langtable.pyR��s�2		
		cCs�|o	|sdS|jd�}g}x�|D]�}|tkrQ|j|�q,n|t|jkr�t|j|}|r�|j|�q�q,|dkr,|jdd�}|j|�q,q,Wt|�t|�kr�dj|�SdS(s�Query translation of timezone IDs by querying translations
    for each part of the ID seperately and putting the results together
    R�t/tenR�t u/(tsplitRVR�R	R�R�R}(RfR�ttimezoneId_partst
part_namesttimezoneId_partR:((s-/usr/lib/python2.7/site-packages/langtable.pyt_timezone_name_from_id_parts�s$


cCsd|o	|sdS|tkrA|t|jkrAt|j|Sntd|d|�}|r`|SdS(s<
    Internal helper function to translate timezone IDs
    R�RfR�(RSR	R�(RfR�tname_from_parts((s-/usr/lib/python2.7/site-packages/langtable.pyt_timezone_name�sc
Cstd|d|d|�\}}}|rh|rh|rhtd|d|d|d|�}|rh|Sn|r�|r�td|d|d|�}|r�|Sn|r�|r�td|d|d|�}|r�|Sn|r�td|d|�}|r�|Sn|S(uQuery translations of timezone IDs

    :param timezoneId: identifier for the time zone
    :type timezoneId: string
    :param languageIdQuery: identifier for the language used in the result
    :type languageIdQuery: string
    :param scriptIdQuery: identifier for the script used in the result
    :type scriptIdQuery: string
    :param territoryIdQuery: identifier for the territory used in the result
    :type territoryId: string
    :rtype: string

    **Examples:**

    >>> print(timezone_name(timezoneId='US/Pacific', languageIdQuery='ja'))
    アメリカ合衆国/太平洋時間

    If no translation can be found, the timezone ID is returned
    unchanged:

    >>> print(timezone_name(timezoneId='Pacific/Pago_Pago', languageIdQuery='xxx'))
    Pacific/Pago_Pago
    RbR_R^RfR�R�(R�R�(RfR�R�R�R:((s-/usr/lib/python2.7/site-packages/langtable.pyt
timezone_name�s:	ucCs||s
dSt|�td�kr4|jd�}nxAtD]9}x0t|jD]!}|t|j|krO|SqOWq;WdS(s�Query the territoryId from a translated name of a territory.

    :param territoryName: the translated name of a language
    :type territoryName: string
    :rtype: string

    The translated name given should be a Python Unicode string or an
    UTF-8 encoded string.

    The translated name can be in any language. But there will be only
    a result if the translation matches exactly.

    **Examples:**

    >>> territoryId("India")
    'IN'

    >>> territoryId("भारत")
    'IN'

    >>> territoryId("インド")
    'IN'

    >>> territoryId("Latin America")
    '419'

    >>> territoryId("Latinoamérica")
    '419'

    R�usUTF-8(ttypetdecodeR=R	(t
territoryNameR^R�((s-/usr/lib/python2.7/site-packages/langtable.pyR^�s
c	Cs�|s
dSt|�td�kr4|jd�}nxMtD]E}x<t|jD]-}|j�t|j|j�krO|SqOWq;WtjdtjtjB�}|j	|�}|r}|j
d�}|j
d�}x�tD]�}x�t|jD]�}|j�t|j|j�kr�xXtD]M}xDt|jD]5}|j�t|j|j�kr2|d|Sq2WqWq�q�Wq�WndS(s)Query the languageId from a translated name of a language.

    :param languageName: the translated name of a language
    :type languageName: string
    :rtype: string

    The translated name given should be a Python Unicode string or an
    UTF-8 encoded string.

    The translated name can be in any language. But there will be only
    a result if the translation matches exactly.

    **Examples:**

    >>> languageId("Marathi")
    'mr'

    >>> languageId("मराठी")
    'mr'

    >>> languageId("マラーティー語")
    'mr'

    R�usUTF-8s?^(?P<language_name>[^()]+)[\s]+[(](?P<territory_name>[^()]+)[)]R�R�R�(R�R�RPR	tlowertretcompilet	MULTILINEtUNICODEtsearchR�R=(	tlanguageNameRbR�tlanguage_territory_patternR�R�R�R^ticuLocaleId_territory((s-/usr/lib/python2.7/site-packages/langtable.pyRbs.
#
#
#"i@BcCsqi}t}td|d|d|�\}}}|r}|r}|r}|d|d|tkr}|d|d|}t}nh|r�|r�|d|tkr�|d|}n7|r�|r�|d|tkr�|d|}t}nd}|tkr�x�t|jD]}t|j|dkr||krFt|j|||<n+||ct|j|9<||ct9<||c|9<qqWnd}	|tkr8|r8x�t|jD]}t|j|dkr�||kr�t|j|||<n+||ct|j|9<||ct9<||c|	9<q�q�Wnt|�}
|rYt|
�}
n|rc|
St	|
�SdS(	s�List suitable glibc locales

    :param concise: if True, return only to highly ranked results
    :type concise: boolean
    :param show_weights: Also return the weights used in the ranking
    :type show_weights: boolean
    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :rtype: a list of strings

    **Examples:**

    List the suitable locales for the language “German”:

    >>> list_locales(languageId="de")
    ['de_DE.UTF-8', 'de_AT.UTF-8', 'de_CH.UTF-8', 'de_BE.UTF-8', 'de_LU.UTF-8']

    So this returns a list of locales for German. These lists are
    sorted in order of decreasing likelyhood, i.e. the most common
    value comes first.

    One can also list the possible locales for the territory “Switzerland”:

    >>> list_locales(territoryId="CH")
    ['de_CH.UTF-8', 'fr_CH.UTF-8', 'it_CH.UTF-8', 'wae_CH.UTF-8']


    If one knows both, the language “German” and the territory
    “Switzerland”, the result is unique:

    >>> list_locales(languageId="de", territoryId="CH")
    ['de_CH.UTF-8']

    RbR_R^R�idiiN(
RNR�RPRRtextra_bonusR=R�R�R�(tconcisetshow_weightsRbR_R^tranked_localest
skipTerritorytlanguage_bonustlocaletterritory_bonusR�((s-/usr/lib/python2.7/site-packages/langtable.pytlist_localesMsL'.	  	c	Csi}t}td|d|d|�\}}}|r=|gS|rt|rt|d|tkrt|d|}t}nd}|tkrx�t|jD]}t|j|dkr�||kr�t|j|||<n+||ct|j|9<||ct9<||c|9<q�q�Wnd}	|tkr�|r�x�t|jD]}t|j|dkrA||kr�t|j|||<n+||ct|j|9<||ct9<||c|	9<qAqAWnt|�}
|r�t|
�}
n|r�|
St	|
�SdS(	s_List scripts used for a language and/or in a territory

    :param concise: if True, return only to highly ranked results
    :type concise: boolean
    :param show_weights: Also return the weights used in the ranking
    :type show_weights: boolean
    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :rtype: a list of strings

    Returns a list of ISO-15924 script ids:

    https://en.wikipedia.org/wiki/ISO_15924

    **Examples:**

    List the suitable scripts for the language “Serbian”:

    >>> list_scripts(languageId="sr")
    ['Cyrl', 'Latn']

    So this returns a list of scripts which are in use for
    Serbian. These lists are sorted in order of decreasing likelyhood,
    i.e. the most common value comes first.

    List the suitable scripts for the language “Punjabi”:

    >>> list_scripts(languageId="pa")
    ['Guru', 'Arab']

    One can also list the possible scripts for a territory like
    “Pakistan”:

    >>> list_scripts(territoryId="PK")
    ['Arab']

    If one knows both, the language “Punjabi” and the territory
    “Pakistan” or “India”, one can find out which script is the
    preferred one:

    >>> list_scripts(languageId="pa", territoryId="PK")
    ['Arab']

    So the preferred script for Punjabi in Pakistan is “Arab”

    >>> list_scripts(languageId="pa", territoryId="IN")
    ['Guru', 'Arab']

    and the preferred script for Punjabi in India is “Guru”.

    RbR_R^R�idiiN(
RNR�RPRR
R�R=R�R�R�(R�R�RbR_R^tranked_scriptsR�R�R�R�R�((s-/usr/lib/python2.7/site-packages/langtable.pytlist_scripts�sF8 	cCswi}t}td|d|d|�\}}}|r}|r}|r}|d|d|tkr}|d|d|}t}nn|r�|r�|d|tkr�|d|}t}n7|r�|r�|d|tkr�|d|}t}nd}|tkr�x�t|jD]}t|j|dkr||krLt|j|||<n+||ct|j|9<||ct9<||c|9<qqWnd}	|tkr>|r>x�t|jD]}t|j|dkr�||kr�t|j|||<n+||ct|j|9<||ct9<||c|	9<q�q�Wnt|�}
|r_t|
�}
n|ri|
St	|
�SdS(	s�List suitable input methods

    :param concise: if True, return only to highly ranked results
    :type concise: boolean
    :param show_weights: Also return the weights used in the ranking
    :type show_weights: boolean
    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :rtype: a list of strings

    **Examples:**

    List the suitable input methods for the language “Japanese”:

    >>> list_inputmethods(languageId="ja")
    ['ibus/kkc', 'ibus/anthy']

    So this returns a list of input methods for Japanese. These lists are
    sorted in order of decreasing likelyhood, i.e. the most common
    value comes first.

    One can also list the possible input methods for the territory “Japan”:

    >>> list_inputmethods(territoryId="JP")
    ['ibus/kkc', 'ibus/anthy']
    RbR_R^R�idiiN(
RNR�RPRRR�R=R�R�R�(R�R�RbR_R^tranked_inputmethodsR�R�tinputmethodR�R�((s-/usr/lib/python2.7/site-packages/langtable.pytlist_inputmethods�sN.	 	 	c
Csji}t}td|d|d|�\}}}|r}|r}|r}|d|d|tkr}|d|d|}t}nh|r�|r�|d|tkr�|d|}n7|r�|r�|d|tkr�|d|}t}nd}|tkr�x�t|jD]}t|j|dkr||krFt|j|||<n+||ct|j|9<||ct9<||c|9<qqWnd}	|tkr1x�t|jD]}t|j|dkr�||kr�t|j|||<n+||ct|j|9<||ct9<||c|	9<q�q�Wnt|�}
|rRt|
�}
n|r\|
St	|
�SdS(s�List likely X11 keyboard layouts

    :param concise: if True, return only to highly ranked results
    :type concise: boolean
    :param show_weights: Also return the weights used in the ranking
    :type show_weights: boolean
    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :rtype: a list of strings

    **Examples:**

    Listing likely X11 keyboard layouts for “German”:

    >>> list_keyboards(languageId="de")
    ['de(nodeadkeys)', 'de(deadacute)', 'at(nodeadkeys)', 'ch', 'be(oss)']

    Listing likely X11 keyboard layouts for “Switzerland”:

    >>> list_keyboards(territoryId="CH")
    ['ch', 'ch(fr)', 'it']

    When specifying both “German” *and* “Switzerland”, the
    returned X11 keyboard layout is unique:

    >>> list_keyboards(languageId="de", territoryId="CH")
    ['ch']
    RbR_R^R�iiN(
RNR�RPRR
R�R=R�R�R�(R�R�RbR_R^tranked_keyboardsR�R�tkeyboardR�R�((s-/usr/lib/python2.7/site-packages/langtable.pytlist_keyboardsHsL!.	  	c
Csji}t}td|d|d|�\}}}|r}|r}|r}|d|d|tkr}|d|d|}t}nh|r�|r�|d|tkr�|d|}n7|r�|r�|d|tkr�|d|}t}nd}|tkr�x�t|jD]}t|j|dkr||krFt|j|||<n+||ct|j|9<||ct9<||c|9<qqWnd}	|tkr1x�t|jD]}t|j|dkr�||kr�t|j|||<n+||ct|j|9<||ct9<||c|	9<q�q�Wnt|�}
|rRt|
�}
n|r\|
St	|
�SdS(	u�List likely Linux Console fonts

    :param concise: if True, return only to highly ranked results
    :type concise: boolean
    :param show_weights: Also return the weights used in the ranking
    :type show_weights: boolean
    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :rtype: a list of strings

    **Examples:**

    Listing likely console fonts  for English:

    >>> list_consolefonts(languageId="en")
    ['latarcyrheb-sun16']

    Listing likely console fonts for Greek:

    >>> list_consolefonts(languageId="el")
    ['iso07u-16', 'LatGrkCyr-8x16']

    Listing likely console fonts for Greece:

    >>> list_consolefonts(territoryId="GR")
    ['iso07u-16', 'LatGrkCyr-8x16']

    Listing likely console fonts for Greek in Greece:

    list_consolefonts(languageId="el", territoryId="GR")
    ['iso07u-16']

    Listing likely console fonts for Greek in a non-Greek country like
    the UK (the language has higher weight):

    >>> list_consolefonts(languageId="el", territoryId="GB")
    ['iso07u-16', 'LatGrkCyr-8x16', 'latarcyrheb-sun16']

    RbR_R^R�idiiN(
RNR�RPRRR�R=R�R�R�(R�R�RbR_R^tranked_consolefontsR�R�tconsolefontR�R�((s-/usr/lib/python2.7/site-packages/langtable.pytlist_consolefonts�sL,.	  	c
Csji}t}td|d|d|�\}}}|r}|r}|r}|d|d|tkr}|d|d|}t}nh|r�|r�|d|tkr�|d|}n7|r�|r�|d|tkr�|d|}t}nd}|tkr�x�t|jD]}t|j|dkr||krFt|j|||<n+||ct|j|9<||ct9<||c|9<qqWnd}	|tkr1x�t|jD]}t|j|dkr�||kr�t|j|||<n+||ct|j|9<||ct9<||c|	9<q�q�Wnt|�}
|rRt|
�}
n|r\|
St	|
�SdS(	svList likely timezones

    :param concise: if True, return only to highly ranked results
    :type concise: boolean
    :param show_weights: Also return the weights used in the ranking
    :type show_weights: boolean
    :param languageId: identifier for the language
    :type languageId: string
    :param scriptId: identifier for the script
    :type scriptId: string
    :param territoryId: identifier for the territory
    :type territoryId: string
    :rtype: a list of strings

    **Examples:**

    >>> list_timezones(territoryId="DE")
    ['Europe/Berlin']

    >>> list_timezones(languageId="de")
    ['Europe/Berlin', 'Europe/Vienna', 'Europe/Zurich', 'Europe/Brussels', 'Europe/Luxembourg']

    >>> list_timezones(territoryId="CH")
    ['Europe/Zurich']

    >>> list_timezones(languageId="fr", territoryId="CH")
    ['Europe/Zurich']

    >>> list_timezones(languageId="fr")
    ['Europe/Paris', 'America/Montreal', 'Europe/Brussels', 'Europe/Zurich', 'Europe/Luxembourg']

    The territory gets more weight than the language:

    >>> list_timezones(languageId="ja", territoryId="CH")
    ['Europe/Zurich', 'Asia/Tokyo']
    RbR_R^R�iiidN(
RNR�RPRRR�R=R�R�R�(R�R�RbR_R^tranked_timezonesR�R�ttimezoneR�R�((s-/usr/lib/python2.7/site-packages/langtable.pytlist_timezones�sL%.	  	cCs|tkrt|jStS(s�Check whether a keyboard layout supports ASCII

    :param keyboardId: identifier for the keyboard
    :type keyboardId: string
    :rtype: string

    Returns True if the keyboard layout with that id can be used to
    type ASCII, returns false if the keyboard layout can not be used
    to type ASCII or if typing ASCII with that keyboard layout is
    difficult.

    **Examples:**

    >>> supports_ascii("jp")
    True
    >>> supports_ascii("ru")
    False
    (RHRR(Rc((s-/usr/lib/python2.7/site-packages/langtable.pytsupports_ascii8scCsWtj|�}|rOd|jd�fd|jd�fd|jd�fgSgSdS(s2
    Internal test function, do not use this.
    R�R�R�N(R�R�R�(RaR�((s-/usr/lib/python2.7/site-packages/langtable.pyt_test_cldr_locale_patternOs:cCst|�dttd|d|��dt|�dttd|d|��ddttd|d|d|d|��dt|�dttd|d|��dt|�dttd|d|��ddttd|d|d|d|��GHdS(	s2
    Internal test function, do not use this.
    s: R�Rbs
R^s +: R_N(R>treprR�R�(R�RbR_R^((s-/usr/lib/python2.7/site-packages/langtable.pyt_test_language_territoryYs�s	/dev/nullc	Cs�tj}|rtj}ntjd|ddddd|�t|dt��t|dt��t|d	t��t|d
t��t|dt	��dS(NR�tfilemodeR�tformats%(levelname)s: %(message)stlevelsterritories.xmls
languages.xmls
keyboards.xmls
timezones.xmlstimezoneidparts.xml(
R�tINFOtDEBUGtbasicConfigR�R+RIRBRQRT(tdebugtlogfilenameR�t	log_level((s-/usr/lib/python2.7/site-packages/langtable.pyt_initqs	t__ModuleInitializercBseZd�Zd�ZRS(cCst�dS(N(R�(R((s-/usr/lib/python2.7/site-packages/langtable.pyR�scCsdS(N((R((s-/usr/lib/python2.7/site-packages/langtable.pyt__del__�s(RRRR(((s-/usr/lib/python2.7/site-packages/langtable.pyR�s	t__main__(((((((CR{R�R�R�txml.parsers.expatRmtxml.sax.handlerRt_datadirR�R�R�R=RPRHRSRVRRRR R!tobjectR"R+RBRIRQRTRgRhRiRjRlRwR�R�RR�R�R�RR�R�R�R�R�R�R^RbR�RNR�R�R�R�R�R�R�R�R�R�Rt
__module_initRtdoctestttestmod(((s-/usr/lib/python2.7/site-packages/langtable.pyt<module>(s�5
jJ�55	U	X	#							-5�6)2Q`JKVO	
	

Anon7 - 2022
AnonSec Team