B
    _Ҕal                 @   s<  d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8eZG d9d: d:eZ G d;d< d<eZ!G d=d> d>eZ"G d?d@ d@eZ#G dAdB dBeZ$G dCdD dDeZ%G dEdF dFeZ&dGS )H   )BaseStemmer)Amongc               @   sP
  e Zd ZdZedddedddedddedddeddded	dded
ddedddedddedddedddedddedddedddedddedddedddedddeddd ed!dd"ed#dd$ed%dd$ed&dd'ed(dd'ed)dd*ed+dd*ed,dd-ed.dd-ed/dd0ed1dd0ed2dd0ed3dd0ed4dd5ed6dd5ed7dd8ed9dd8ed:dd8ed;dd8ed<dd=ed>dd=ed?dd@edAdd@edBdd@edCdd@edDddEedFddEedGddEedHddEedIddJedKddJedLddJedMddJedNddOedPddOedQddOedRddOedSddTedUddTedVddTedWddTedXddYedZddYed[dd\ed]dd\ed^dd_ed`dd_edaddbedcddbeddddeedfddeedgddeedhddeediddjedkddjedlddjedmddjednddoedpddoedqddoedrddoedsddteduddtedvddtedwddtedxddyedzddyed{ddyed|ddyed}dd~eddd~eddd~eddd~edddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddăedddăgZedddedddedddedddedddgZedddedddedddedddedddgZedddedddedddedddgZedddedddedddedddedddgZ	edddedddgZ
edddedddedddedddgZedddedddedddedddgZedddedddedddedddgZedddedddedddgZedddedddedddedddedddedddedddedddedddedddg
ZedddgZedddedddedddgZedddgZedddgZedddgZedddgZedddedddedddedddedddedddedddedddedddedddedddedddgZedddedddedddedddedddedddedddedddedddedddedddgZedddedddgZedddedddgZedddgZdZdZdZdd  Zdd Zdd Z dd Z!dd Z"d	d
 Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)dd Z*dd Z+dd Z,dd Z-dd  Z.d!d" Z/d#d$ Z0d%d& Z1d'd( Z2d)d* Z3d+S (,  ArabicStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    u   ـr   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   ﺠ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   ﻓ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   ﻵ3   u   ﻶu   ﻷ1   u   ﻸu   ﻹ2   u   ﻺu   ﻻ0   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   ونu   ينu   واu   تمu   تموu   ىFc             C   s  | j }yx| j }y`y@| j }y| j | _| tj}|dkrHt | j | _|dkrh|  sddS n|dkr| ds~dS n|dkr| dsdS nt|dkr| d	sdS nZ|d
kr| dsdS n@|dkr| dsdS n&|dkr| dsdS n|dkr&| dsdS n|dkrD| dsdS n|dkrb| dsdS n|dkr| dsdS n|dkr| dsdS nr|dkr| dsdS nT|dkr| dsdS n6|dkr| dsdS n|d kr| d!sdS n|d"kr4| d#sdS n|d$krR| d%sdS n|d&krp| d'sdS n|d(kr| d)sdS n|d*kr| d+sdS nd|d,kr| d-sdS nF|d.kr| d/sdS n(|d0kr| d1sdS n
|d2kr$| d3sdS n|d4krB| d5sdS n|d6kr`| d7sdS n|d8kr~| d9sdS n|d:kr| d;sdS nt|d<kr| d=sdS nV|d>kr| d?sdS n8|d@kr| dAsdS n|dBkr| dCsdS n|dDkr2| dEsdS n|dFkrP| dGsdS n|dHkrn| dIsdS n|dJkr| dKsdS n|dLkr| dMsdS nf|dNkr| dOsdS nH|dPkr| dQsdS n*|dRkr| dSsdS n|dTkr | dUsdS n|dVkr<| dWsdS n|dXkrX| dYsdS n|dZkrt| d[sdS n|d\kr| d]sdS n|d^kr| d_sdS nd|d`kr| dasdS nH|dbkr| dcsdS n,|ddkr | desdS n| dfsdS t	 W n tk
r.   Y nX || _ | j | j
krJt |  j d7  _ W n t	k
rp   Y nX wW n tk
r   Y nX || _ P qW W n tk
r   Y nX || _ dgS )hNr8   r   Fr   0r   1r   2r	   3r
   4r   5r   6r   7r   8r   9r   u   ءr   u   أr   u   إr   u   ئr   u   آr   u   ؤr   u   اr   u   بr   u   ةr   u   تr   u   ثr   u   جr   u   حr   u   خr   u   دr   u   ذr    u   رr!   u   زr"   u   سr#   u   شr$   u   صr%   u   ضr&   u   طr'   u   ظr(   u   عr)   u   غr*   u   فr+   u   قr,   u   كr-   u   لr.   u   مr/   u   نr0   u   هr1   u   وr2   u   ىr3   u   يr7   u   لاr5   u   لأr6   u   لإu   لآT)cursorbra
find_amongr   a_0lab3ket	slice_del
slice_fromlab2limitlab1lab0)selfv_1v_2v_3	among_var rT   =lib/python3.7/site-packages/snowballstemmer/arabic_stemmer.pyZ__r_Normalize_pre5  sn   

















































   
 zArabicStemmer.__r_Normalize_prec             C   s  | j }yP| j | _| j| _ | j | _| tjdkr6t | j | _| 	dsLdS | j| _ W n tk
rj   Y nX || _ | j }yx| j }yy| j }yr| j | _| 
tj}|dkrt | j | _|dkr| 	dsdS n&|dkr| 	dsdS n| 	dsdS t W n tk
r   Y nX || _ | j | jkr4t |  j d7  _ W n tk
rZ   Y nX wW n tk
rv   Y nX || _ P qW W n tk
r   Y nX || _ d	S )
Nr8   u   ءFr   u   اr   u   وu   يT)rC   limit_backwardrL   rH   find_among_br   a_1rN   rD   rJ   rE   a_2lab4rG   rK   rM   )rO   rP   rQ   rR   v_4rS   rT   rT   rU   Z__r_Normalize_post  sj    
 



   
 z ArabicStemmer.__r_Normalize_postc             C   s~   | j | _| tj}|dkr dS | j | _|dkrVt| jdksBdS d| _d| _	d| _
n$t| jdkshdS d| _d| _	d| _
dS )Nr8   Fr   r   Tr   )rC   rD   rE   r   a_3rH   lencurrent	B_is_noun	B_is_verbB_is_defined)rO   rS   rT   rT   rU   Z__r_Checks1  s"    zArabicStemmer.__r_Checks1c             C   s   | j | _| tj}|dkr dS | j | _|dkrRt| jdksBdS | dsdS nt|dkr|t| jdksldS | dsdS nJ|dkrt| jdksdS | dsdS n t| jdksdS | d	sdS d
S )Nr8   Fr   r   u   أr   u   آu   اu   إT)	rC   rD   rE   r   a_4rH   r]   r^   rJ   )rO   rS   rT   rT   rU   Z__r_Prefix_Step13  s2    



zArabicStemmer.__r_Prefix_Step1c             C   s|   | j | _| tjdkrdS | j | _t| jdks6dS | j }y| dsNt	 dS  t	k
rd   Y nX || _ | 
 sxdS dS )Nr8   Fr   u   اT)rC   rD   rE   r   a_5rH   r]   r^   Zeq_srN   rI   )rO   rP   rT   rT   rU   Z__r_Prefix_Step2O  s"    
 zArabicStemmer.__r_Prefix_Step2c             C   sr   | j | _| tj}|dkr dS | j | _|dkrPt| jdksBdS |  sndS nt| jdksbdS |  sndS dS )Nr8   Fr   r	   r   T)	rC   rD   rE   r   a_6rH   r]   r^   rI   )rO   rS   rT   rT   rU   Z__r_Prefix_Step3a_Nounb  s    z$ArabicStemmer.__r_Prefix_Step3a_Nounc             C   s   | j | _| tj}|dkr dS | j | _|dkrPt| jdksBdS |  sdS nR|dkrzt| jdksjdS | 	dsdS n(|dkrt| jdksdS | 	dsdS dS )	Nr8   Fr   r   r   u   بu   كT)
rC   rD   rE   r   a_7rH   r]   r^   rI   rJ   )rO   rS   rT   rT   rU   Z__r_Prefix_Step3b_Nounv  s*    

z$ArabicStemmer.__r_Prefix_Step3b_Nounc             C   s   | j | _| tj}|dkr dS | j | _|dkrRt| jdksBdS | dsdS nt|dkr|t| jdksldS | dsdS nJ|dkrt| jdksdS | d	sdS n t| jdksdS | d
sdS dS )Nr8   Fr   r   u   يr   u   تr   u   نu   أT)	rC   rD   rE   r   a_8rH   r]   r^   rJ   )rO   rS   rT   rT   rU   Z__r_Prefix_Step3_Verb  s2    



z#ArabicStemmer.__r_Prefix_Step3_Verbc             C   sT   | j | _| tjdkrdS | j | _t| jdks6dS d| _d| _	| 
dsPdS dS )Nr8   Fr   Tu   است)rC   rD   rE   r   a_9rH   r]   r^   r`   r_   rJ   )rO   rT   rT   rU   Z__r_Prefix_Step4_Verb  s    
z#ArabicStemmer.__r_Prefix_Step4_Verbc             C   s   | j | _| tj}|dkr dS | j | _|dkrPt| jdksBdS |  sdS nF|dkrxt| jdksjdS |  sdS nt| jdksdS |  sdS dS )	Nr8   Fr   r   r   r	   r
   T)	rC   rH   rW   r   a_10rD   r]   r^   rI   )rO   rS   rT   rT   rU   Z__r_Suffix_Noun_Step1a  s(    z$ArabicStemmer.__r_Suffix_Noun_Step1ac             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr	   T)	rC   rH   rW   r   a_11rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Noun_Step1b  s    z$ArabicStemmer.__r_Suffix_Noun_Step1bc             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr   T)	rC   rH   rW   r   a_12rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Noun_Step2a  s    z$ArabicStemmer.__r_Suffix_Noun_Step2ac             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr	   T)	rC   rH   rW   r   a_13rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Noun_Step2b  s    z$ArabicStemmer.__r_Suffix_Noun_Step2bc             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr   T)	rC   rH   rW   r   a_14rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Noun_Step2c1  s    z%ArabicStemmer.__r_Suffix_Noun_Step2c1c             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr   T)	rC   rH   rW   r   a_15rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Noun_Step2c2  s    z%ArabicStemmer.__r_Suffix_Noun_Step2c2c             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr   T)	rC   rH   rW   r   a_16rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Noun_Step3  s    z#ArabicStemmer.__r_Suffix_Noun_Step3c             C   s   | j | _| tj}|dkr dS | j | _|dkrPt| jdksBdS |  sdS nF|dkrxt| jdksjdS |  sdS nt| jdksdS |  sdS dS )	Nr8   Fr   r   r   r	   r
   T)	rC   rH   rW   r   a_17rD   r]   r^   rI   )rO   rS   rT   rT   rU   Z__r_Suffix_Verb_Step1  s(    z#ArabicStemmer.__r_Suffix_Verb_Step1c             C   s   | j | _| tj}|dkr dS | j | _|dkrPt| jdksBdS |  sdS nn|dkrxt| jdksjdS |  sdS nF|dkrt| jdksdS |  sdS nt| jdksdS |  sdS d	S )
Nr8   Fr   r   r   r	   r   r
   T)	rC   rH   rW   r   a_18rD   r]   r^   rI   )rO   rS   rT   rT   rU   Z__r_Suffix_Verb_Step2a3  s2    z$ArabicStemmer.__r_Suffix_Verb_Step2ac             C   sF   | j | _| tjdkrdS | j | _t| jdks6dS |  sBdS dS )Nr8   Fr	   T)	rC   rH   rW   r   a_19rD   r]   r^   rI   )rO   rT   rT   rU   Z__r_Suffix_Verb_Step2bS  s    z$ArabicStemmer.__r_Suffix_Verb_Step2bc             C   sr   | j | _| tj}|dkr dS | j | _|dkrPt| jdksBdS |  sndS nt| jdksbdS |  sndS dS )Nr8   Fr   r   r
   T)	rC   rH   rW   r   a_20rD   r]   r^   rI   )rO   rS   rT   rT   rU   Z__r_Suffix_Verb_Step2c_  s    z$ArabicStemmer.__r_Suffix_Verb_Step2cc             C   s6   | j | _| tjdkrdS | j | _| ds2dS dS )Nr8   Fu   يT)rC   rH   rW   r   a_21rD   rJ   )rO   rT   rT   rU   Z__r_Suffix_All_alef_maqsuras  s    
z)ArabicStemmer.__r_Suffix_All_alef_maqsurac             C   s0  d| _ d| _d| _| j}|   || _|   | j| _| j| _| j| j }yy| j| j }y| jsnt y| j| j }y4d}xP| j| j }y| 	 st
 |d8 }wW n t
k
r   Y nX | j| | _P qW |dkrt y| j| j }y|  st t W n tk
r$   Y nX | j| | _y|  sDt t W n tk
rb   Y nX | j| | _| j| jkrt |  jd8  _W n tk
r   Y nX t W n tk
r   Y nX | j| | _y|  st t W n tk
r   Y nX | j| | _|  s&t W n tk
r>   Y nX t W n tk
r^   Y nX | j| | _y| j s~t | j| j }y\y>| j| j }	y|  st t W n tk
r   Y nX | j|	 | _yNy| jst t W n tk
r   Y nX |  s t y| j| j }
y|  s@t t W n tk
r^   Y nX | j|
 | _y|  s~t  t W n t k
r   Y nX | j|
 | _y| ! st" t W n t"k
r   Y nX | j|
 | _| j| jkrt |  jd8  _W n tk
r"   Y nX t W n tk
rB   Y nX | j|	 | _y| # sbt$ y| j| j }y|  st% t& W n t%k
r   Y nX | j| | _y|  st' t& W n t'k
r   Y nX | j| | _| ! st$ W n t&k
r   Y nX t W n t$k
r4   Y nX | j|	 | _yJy| jsTt( t) W n t(k
rr   Y nX |  st) t W n t)k
r   Y nX | j|	 | _|  s| j| | _t* W n tk
r   Y nX W n t*k
r   Y nX | + st t W n tk
r.   Y nX | j| | _| , sLt- W n tk
rd   Y nX W n t-k
r~   Y nX | j| | _| j| _| j}yj| j}y| . s|| _t/ W n t/k
r   Y nX | j}y| 0 s|| _t1 W n t1k
r   Y nX y| j}y| 2 s(t3 t4 W n t3k
rF   Y nX || _y(| j s^t5 | 6 snt5 t4 W n t5k
r   Y nX || _| jst7 | j}y| 8 s|| _t9 W n t9k
r   Y nX | : st7 W n t4k
r   Y nX W n t7k
r   Y nX || _| ;  dS )NTFr   r8   )<r_   r`   ra   rC   _ArabicStemmer__r_Checks1_ArabicStemmer__r_Normalize_prerV   rL   rK   #_ArabicStemmer__r_Suffix_Verb_Step1lab5rZ   $_ArabicStemmer__r_Suffix_Verb_Step2alab7lab6$_ArabicStemmer__r_Suffix_Verb_Step2clab8rG   $_ArabicStemmer__r_Suffix_Verb_Step2blab9rM   lab10%_ArabicStemmer__r_Suffix_Noun_Step2c2lab13lab12lab15lab14$_ArabicStemmer__r_Suffix_Noun_Step1a$_ArabicStemmer__r_Suffix_Noun_Step2alab17lab16$_ArabicStemmer__r_Suffix_Noun_Step2blab18%_ArabicStemmer__r_Suffix_Noun_Step2c1lab19$_ArabicStemmer__r_Suffix_Noun_Step1blab20lab22lab21lab23lab25lab24lab11#_ArabicStemmer__r_Suffix_Noun_Step3)_ArabicStemmer__r_Suffix_All_alef_maqsurarN   _ArabicStemmer__r_Prefix_Step1lab27_ArabicStemmer__r_Prefix_Step2lab28$_ArabicStemmer__r_Prefix_Step3a_Nounlab30lab29lab31$_ArabicStemmer__r_Prefix_Step3b_Nounlab26#_ArabicStemmer__r_Prefix_Step3_Verblab32#_ArabicStemmer__r_Prefix_Step4_Verb _ArabicStemmer__r_Normalize_post)rO   rP   rR   r[   Zv_5Zv_6Zv_7Zv_8Zv_9Zv_10Zv_12Zv_13Zv_15Zv_16Zv_17Zv_18Zv_19rT   rT   rU   _stem|  s    

 

  
 

 

 
 

 
 


 

 

  
 


 

 

 
 
 

 

 
 

 

 
 

 

 

 

 

 

 
 zArabicStemmer._stemN)4__name__
__module____qualname____doc__r   rF   rX   rY   r\   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   ra   r`   r_   ru   r   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   rx   r}   r{   r   r   rT   rT   rT   rU   r      s  












































































































































































































 83 	r   c               @   s   e Zd ZdS )rN   N)r   r   r   rT   rT   rT   rU   rN   O  s    rN   c               @   s   e Zd ZdS )rM   N)r   r   r   rT   rT   rT   rU   rM   R  s    rM   c               @   s   e Zd ZdS )rK   N)r   r   r   rT   rT   rT   rU   rK   U  s    rK   c               @   s   e Zd ZdS )rG   N)r   r   r   rT   rT   rT   rU   rG   X  s    rG   c               @   s   e Zd ZdS )rZ   N)r   r   r   rT   rT   rT   rU   rZ   [  s    rZ   c               @   s   e Zd ZdS )rw   N)r   r   r   rT   rT   rT   rU   rw   ^  s    rw   c               @   s   e Zd ZdS )rz   N)r   r   r   rT   rT   rT   rU   rz   a  s    rz   c               @   s   e Zd ZdS )ry   N)r   r   r   rT   rT   rT   rU   ry   d  s    ry   c               @   s   e Zd ZdS )r|   N)r   r   r   rT   rT   rT   rU   r|   g  s    r|   c               @   s   e Zd ZdS )r~   N)r   r   r   rT   rT   rT   rU   r~   j  s    r~   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r   m  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r   p  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r   s  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r   v  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r   y  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r   |  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   c               @   s   e Zd ZdS )r   N)r   r   r   rT   rT   rT   rU   r     s    r   N)'Zbasestemmerr   Zamongr   r   BaseExceptionrN   rM   rK   rG   rZ   rw   rz   ry   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   rT   rT   rU   <module>   sV           P