????
Your IP : 3.141.244.160
�
� f�Pc@spdZddlZddlZddlZddlZddlZddlZddlZddlm Z dddddd d
ddd
ddgZ
ejjej
dd�ZejdejejB�Zdd�Zdd�ZdNZd$d%�eed&�D�Zid'd6d(d6d)d"6ZdOd*d+�Zd,d-�Zd.d/�Zd0d1�ZGd2d�d�ZGd3d�de�ZdddPd4d�Z iZ!ddddPdd5d�Z"dddd6d �Z#ia$ia%d7a&dd8d
�Z'dd9d�Z(dd:d;�Z)d<d�Z*d=d>�Z+d?d
�Z,d@dA�Z-dBd�Z.dCdD�Z/dEd�Z0dFdG�Z1e"Z2dS(Qu�Internationalization and localization support.
This module provides internationalization (I18N) and localization (L10N)
support for your Python programs by providing an interface to the GNU gettext
message catalog library.
I18N refers to the operation by which a program is made aware of multiple
languages. L10N refers to the adaptation of your program, once
internationalized, to the local language and cultural habits.
iN(uENOENTuNullTranslationsuGNUTranslationsuCatalogufindutranslationuinstallu
textdomainubindtextdomainudgettextu dngettextugettextungettextushareulocaleu�
(?P<WHITESPACES>[ \t]+) | # spaces and horizontal tabs
(?P<NUMBER>[0-9]+\b) | # decimal integer
(?P<NAME>n\b) | # only n is allowed
(?P<PARENTHESIS>[()]) |
(?P<OPERATOR>[-*/%+?:]|[><!]=?|==|&&|\|\|) | # !, *, /, %, +, -, <, >,
# <=, >=, ==, !=, &&, ||,
# ? :
# unary and bitwise ops
# not allowed
(?P<INVALID>\w+|.) # invalid token
ccstxhtjt|�D]T}|j}|dkr4qn|j|�}|dkrbtd|��n|VqWdVdS(NuWHITESPACESuINVALIDu invalid token in plural form: %su(ureufinditeru_token_patternu lastgroupugroupu
ValueError(upluralumoukinduvalue((u,/opt/alt/python33/lib64/python3.3/gettext.pyu _tokenizeRs u _tokenizecCs"|rtd|�Std�SdS(Nu#unexpected token in plural form: %suunexpected end of plural form(u
ValueError(uvalue((u,/opt/alt/python33/lib64/python3.3/gettext.pyu_error]su_erroru||u&&u==u!=u<u>u<=u>=u+u-u*u/u%cCs,i|]"\}}|D]}||�qqS(((u.0uiuopsuop((u,/opt/alt/python33/lib64/python3.3/gettext.pyu
<dictcomp>ks u
<dictcomp>iuoruandu//cCsQd}t|�}x&|dkr:|d7}t|�}qW|dkr�t|�\}}d||f}|dkr�td��q�nf|dkr�d ||f}nGyt|d
�}Wn!tk
r�t|�d�YnXd||f}t|�}d}x�|tkr�t|}||kr(Pn|dkrM|dkrMd|}ntj||�}t||d�\} }d||| f}|}qW||ko�dknr�d|}n|dkrG|dkrGt|d�\}
}|dkrt|��nt|�\}}d|
||f}|dkrGd|}qGn||fS(Nuu!unot u(u%s(%s)u)u%unbalanced parenthesis in plural formunu%s%si
u%s%didiiu(%s)iu%s %s %su?iu:u%s if %s else %s(ii(ii( unextu_parseu
ValueErroruintu_erroruNoneu_binary_opsu _c2py_opsuget(utokensupriorityuresultunexttokusubuvalueujuiuopurightuif_trueuif_false((u,/opt/alt/python33/lib64/python3.3/gettext.pyu_parsensP
u_parsecCsEyt|�}Wn.tk
r@td|jjf�d�YnX|S(Nu'Plural value must be an integer, got %s(uroundu TypeErroru __class__u__name__uNone(unui((u,/opt/alt/python33/lib64/python3.3/gettext.pyu_as_int�s
u_as_intcCst|�dkr!td��ny�tt|��\}}|rQt|��nd}x[|D]S}|dkr�|d7}|dkr�td��q�q^|dkr^|d8}q^q^Witd 6}td
||�|dSWntk
r�td��YnXdS(
u�Gets a C expression as used in PO files for plural forms and returns a
Python function that implements an equivalent expression.
i�u"plural form expression is too longiu(iiu%plural form expression is too complexu)u_as_intu�if True:
def func(n):
if not isinstance(n, int):
n = _as_int(n)
return int(%s)
ufuncN(ulenu
ValueErroru_parseu _tokenizeu_erroru_as_intuexecuRuntimeError(upluraluresultunexttokudepthucuns((u,/opt/alt/python33/lib64/python3.3/gettext.pyuc2py�s(
uc2pyc
Cs�tj|�}d}d }d
}d}|jd�}|dkro||d�}|d|�}||O}nd}|jd�}|dkr�||d�}|d|�}||O}nd}|jd�}|dkr||d�}|d|�}||O}nd}|} g}
x~t|d�D]l}||@s.| }||@r\||7}n||@rs||7}n||@r�||7}n|
j|�q.q.W|
j�|
S(Niiiu@uu.u_iii(ulocaleu normalizeufindurangeuappendureverse(
ulocuCOMPONENT_CODESETuCOMPONENT_TERRITORYuCOMPONENT_MODIFIERumaskuposumodifierucodesetu territoryulanguageuretuiuval((u,/opt/alt/python33/lib64/python3.3/gettext.pyu_expand_lang�sJ
u_expand_langcBs�|EeZdZddd�Zdd�Zdd�Zdd�Zd d
�Zdd�Z d
d�Z
dd�Zdd�Zdd�Z
dd�Zddd�ZdS(uNullTranslationscCsDi|_d|_d|_d|_|dk r@|j|�ndS(N(u_infouNoneu_charsetu_output_charsetu _fallbacku_parse(uselfufp((u,/opt/alt/python33/lib64/python3.3/gettext.pyu__init__�s uNullTranslations.__init__cCsdS(N((uselfufp((u,/opt/alt/python33/lib64/python3.3/gettext.pyu_parse�suNullTranslations._parsecCs)|jr|jj|�n ||_dS(N(u _fallbackuadd_fallback(uselfufallback((u,/opt/alt/python33/lib64/python3.3/gettext.pyuadd_fallbacks uNullTranslations.add_fallbackcCs|jr|jj|�S|S(N(u _fallbackugettext(uselfumessage((u,/opt/alt/python33/lib64/python3.3/gettext.pyugettexts uNullTranslations.gettextcCs|jr|jj|�S|S(N(u _fallbackulgettext(uselfumessage((u,/opt/alt/python33/lib64/python3.3/gettext.pyulgettexts uNullTranslations.lgettextcCs7|jr|jj|||�S|dkr/|S|SdS(Ni(u _fallbackungettext(uselfumsgid1umsgid2un((u,/opt/alt/python33/lib64/python3.3/gettext.pyungettexts
uNullTranslations.ngettextcCs7|jr|jj|||�S|dkr/|S|SdS(Ni(u _fallbacku lngettext(uselfumsgid1umsgid2un((u,/opt/alt/python33/lib64/python3.3/gettext.pyu lngettexts
uNullTranslations.lngettextcCs|jS(N(u_info(uself((u,/opt/alt/python33/lib64/python3.3/gettext.pyuinfo!suNullTranslations.infocCs|jS(N(u_charset(uself((u,/opt/alt/python33/lib64/python3.3/gettext.pyucharset$suNullTranslations.charsetcCs|jS(N(u_output_charset(uself((u,/opt/alt/python33/lib64/python3.3/gettext.pyuoutput_charset'suNullTranslations.output_charsetcCs
||_dS(N(u_output_charset(uselfucharset((u,/opt/alt/python33/lib64/python3.3/gettext.pyuset_output_charset*su#NullTranslations.set_output_charsetcCs�ddl}|j|jd<t|d�r�d|krN|jd|jd<nd|krm|j|jd<nd|kr�|j|jd<nd|kr�|j|jd<q�ndS(Niu_u__contains__ugettextungettextulgettextu lngettext(ubuiltinsugettextu__dict__uhasattrungettextulgettextu lngettext(uselfunamesubuiltins((u,/opt/alt/python33/lib64/python3.3/gettext.pyuinstall-suNullTranslations.installN(u__name__u
__module__u__qualname__uNoneu__init__u_parseuadd_fallbackugettextulgettextungettextu lngettextuinfoucharsetuoutput_charsetuset_output_charsetuinstall(u
__locals__((u,/opt/alt/python33/lib64/python3.3/gettext.pyuNullTranslations�scBs\|EeZdZdZdZdd�Zdd�Zdd�Zd d
�Zdd�Z d
S(uGNUTranslationsl�*l�$<c Cs�tj}t|dd�}i|_}dd�|_|j�}t|�}|d|dd��d}||jkr�|d |dd
��\}} }
}d}nO||jkr�|d|dd
��\}} }
}d
}nt dd|��x�t
d| �D]�}
||||
|
d��\}}||}|||||d��\}}||}||kr�||kr�|||�}|||�}nt dd|��|dkr�d}}x |jdj
d��D]}|j�j�}|sq�nd|kr`|jdd�\}}|j�j�}|j�}||j|<|}n|r~|j|d|7<n|dkr�|jd�d|_q�|dkr�|jd�}|djd�d}t|�|_q�q�Wn|jp�d}d|kru|jd�\}}|jd�}t||�}xRt|�D]%\}
}t||�|||
f<qIWnt||�|t||�<|
d7}
|d7}qWdS(u8Override this method to support alternative .mo formats.unameucSst|dk�S(Ni(uint(un((u,/opt/alt/python33/lib64/python3.3/gettext.pyu<lambda>Gsu(GNUTranslations._parse.<locals>.<lambda>u<INiiu<4Iiu<IIu>4Iu>IIuBad magic numberiuFile is corruptu
uasciiu:iucontent-typeucharset=uplural-formsu;uplural=s(ustructuunpackugetattru_catalogupluralureadulenuLE_MAGICuBE_MAGICuIOErrorurangeuNoneusplituencodeudecodeustripuloweru_infou_charsetuc2pyustru enumerate( uselfufpuunpackufilenameucatalogubufubuflenumagicuversionumsgcountu masteridxutransidxuiiuiumlenumoffumendutlenutoffutendumsgutmsgulastkukub_itemuitemuvupluralucharsetumsgid1umsgid2ux((u,/opt/alt/python33/lib64/python3.3/gettext.pyu_parse@sj
% % #
#
uGNUTranslations._parsecCsst�}|jj||�}||krG|jrC|jj|�S|S|jr`|j|j�S|jtj��S(N( uobjectu_catalogugetu _fallbackulgettextu_output_charsetuencodeulocaleugetpreferredencoding(uselfumessageumissingutmsg((u,/opt/alt/python33/lib64/python3.3/gettext.pyulgettext�s uGNUTranslations.lgettextcCs�yL|j||j|�f}|jr8|j|j�S|jtj��SWnEtk
r�|jr{|jj|||�S|dkr�|S|SYnXdS(Ni( u_catalogupluralu_output_charsetuencodeulocaleugetpreferredencodinguKeyErroru _fallbacku lngettext(uselfumsgid1umsgid2unutmsg((u,/opt/alt/python33/lib64/python3.3/gettext.pyu lngettext�s
uGNUTranslations.lngettextcCsKt�}|jj||�}||krG|jrC|jj|�S|S|S(N(uobjectu_catalogugetu _fallbackugettext(uselfumessageumissingutmsg((u,/opt/alt/python33/lib64/python3.3/gettext.pyugettext�s uGNUTranslations.gettextcCssy |j||j|�f}WnLtk
rn|jrO|jj|||�S|dkrd|}n|}YnX|S(Ni(u_catalogupluraluKeyErroru _fallbackungettext(uselfumsgid1umsgid2unutmsg((u,/opt/alt/python33/lib64/python3.3/gettext.pyungettext�s
uGNUTranslations.ngettextN(
u__name__u
__module__u__qualname__uLE_MAGICuBE_MAGICu_parseulgettextu lngettextugettextungettext(u
__locals__((u,/opt/alt/python33/lib64/python3.3/gettext.pyuGNUTranslations;sM cCsT|dkrt}n|dkr�g}x9dD]1}tjj|�}|r.|jd�}Pq.q.Wd|kr�|jd�q�ng}xA|D]9}x0t|�D]"}||kr�|j|�q�q�Wq�W|r�g} nd} xl|D]d}|dkr�Pntjj ||dd|�}
tjj
|
�r�|rE| j|
�qL|
Sq�q�W| S( NuLANGUAGEuLC_ALLuLC_MESSAGESuLANGu:uCu%s.mo(uLANGUAGEuLC_ALLuLC_MESSAGESuLANG(uNoneu_default_localediruosuenvironugetusplituappendu_expand_langupathujoinuexists(udomainu localediru languagesualluenvaruvalunelangsulangunelanguresultumofile((u,/opt/alt/python33/lib64/python3.3/gettext.pyufind�s8
cCs|dkrt}nt|||dd�}|sU|r@t�Sttd|��nd}x�|D]�}|tjj |�f} t
j| �}
|
dkr�t|d��}t
j
| ||��}
WdQXntj|
�}
|r�|
j|�n|dkr|
}qb|j|
�qbW|S(Nuallu$No translation file found for domainurbT(uNoneuGNUTranslationsufinduTrueuNullTranslationsuIOErroruENOENTuosupathuabspathu
_translationsugetuopenu
setdefaultucopyuset_output_charsetuadd_fallback(udomainu localediru languagesuclass_ufallbackucodesetumofilesuresultumofileukeyutufp((u,/opt/alt/python33/lib64/python3.3/gettext.pyutranslation�s*
! cCs,t||ddd|�}|j|�dS(NufallbackucodesetT(utranslationuTrueuinstall(udomainu localedirucodesetunamesut((u,/opt/alt/python33/lib64/python3.3/gettext.pyuinstallsumessagescCs|dk r|antS(N(uNoneu_current_domain(udomain((u,/opt/alt/python33/lib64/python3.3/gettext.pyu
textdomains cCs)|dk r|t|<ntj|t�S(N(uNoneu_localedirsugetu_default_localedir(udomainu localedir((u,/opt/alt/python33/lib64/python3.3/gettext.pyubindtextdomains
cCs&|dk r|t|<ntj|�S(N(uNoneu_localecodesetsuget(udomainucodeset((u,/opt/alt/python33/lib64/python3.3/gettext.pyubind_textdomain_codeset s
ubind_textdomain_codesetcCsTy.t|tj|d�dtj|��}Wntk
rF|SYnX|j|�S(Nucodeset(utranslationu_localedirsugetuNoneu_localecodesetsuIOErrorugettext(udomainumessageut((u,/opt/alt/python33/lib64/python3.3/gettext.pyudgettext's
cCsTy.t|tj|d�dtj|��}Wntk
rF|SYnX|j|�S(Nucodeset(utranslationu_localedirsugetuNoneu_localecodesetsuIOErrorulgettext(udomainumessageut((u,/opt/alt/python33/lib64/python3.3/gettext.pyu ldgettext/s
u ldgettextcCsjy.t|tj|d�dtj|��}Wn&tk
rV|dkrN|S|SYnX|j|||�S(Nucodeseti(utranslationu_localedirsugetuNoneu_localecodesetsuIOErrorungettext(udomainumsgid1umsgid2unut((u,/opt/alt/python33/lib64/python3.3/gettext.pyu dngettext7s
cCsjy.t|tj|d�dtj|��}Wn&tk
rV|dkrN|S|SYnX|j|||�S(Nucodeseti(utranslationu_localedirsugetuNoneu_localecodesetsuIOErroru lngettext(udomainumsgid1umsgid2unut((u,/opt/alt/python33/lib64/python3.3/gettext.pyu
ldngettextBs
u
ldngettextcCs
tt|�S(N(udgettextu_current_domain(umessage((u,/opt/alt/python33/lib64/python3.3/gettext.pyugettextMscCs
tt|�S(N(u ldgettextu_current_domain(umessage((u,/opt/alt/python33/lib64/python3.3/gettext.pyulgettextPsulgettextcCstt|||�S(N(u dngettextu_current_domain(umsgid1umsgid2un((u,/opt/alt/python33/lib64/python3.3/gettext.pyungettextSscCstt|||�S(N(u
ldngettextu_current_domain(umsgid1umsgid2un((u,/opt/alt/python33/lib64/python3.3/gettext.pyu lngettextVsu lngettext(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%i����F(3u__doc__ulocaleucopyuiouosureustructusysuerrnouENOENTu__all__upathujoinubase_prefixu_default_localedirucompileuVERBOSEuDOTALLu_token_patternu _tokenizeu_erroru_binary_opsu enumerateu _c2py_opsu_parseu_as_intuc2pyu_expand_languNullTranslationsuGNUTranslationsuNoneuFalseufindu
_translationsutranslationuinstallu_localedirsu_localecodesetsu_current_domainu
textdomainubindtextdomainubind_textdomain_codesetudgettextu ldgettextu dngettextu
ldngettextugettextulgettextungettextu lngettextuCatalog(((u,/opt/alt/python33/lib64/python3.3/gettext.pyu<module>sX&T 1$*F�&