
    zTi)E                         d dl mZ d dlmZ  G d de      Z G d de      Z G d de      Z G d	 d
e      Z G d de      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Zy)   )BaseStemmer)Amongc                      e Zd ZdZh dZh dZh dZdZd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd 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d0       ed1dd2      gZ ed3dd       ed4dd       ed5dd       ed6dd       ed7dd       ed8dd      gZ ed9d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dAd*d       edBdd       edCdd       edDdd       edEd2d       edFdd       edGdd       edHdd       edIdd      gZ edJdd       edKdd       edLdd       edMdd       edNdd       edOdd       edPdd       edQdd       edRdd       edSd,d       edTdd       edUdd       edVdd       edWdd       edXdd       edYdd       edZdd       ed[dd       ed\dd       ed]dd      gZ ed^dd       ed_dd      gZ ed`dd       edadd       edbdd       edcdd       edddd       ededd       edfdd       edgdd       edhdd       edidd       edjdd       edkdd       edldd       edmdd       edndd       edodd       edpdd       edqdd       edrdsd       edtdd       edudd       edvdd       edwdd       edxdd      gZ edydd       edzdd       ed_dd      gZ ed{dd       ed|dd      gZ ed}dd       ed~dd       eddd       eddd       eddd       eddd       eddd      gZ eddd       eddd       ed4dd       eddde       eddd       eddd       eddde       edd%d       edd%d       edd%de       edd.d       edd.d       edd%d       eddd       ed3dd       ed5dd       ed6dd       ed8dd       ed7dd      gZy)EsperantoStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from esperanto.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   aeiou>   r   r
   r   >
   0123456789Fc                 &   d| _         	 | j                  }	 | j                  | _        | j                  t        j
                        }| j                  | _        |dk(  r| j                  d      sey|dk(  r| j                  d      sMy|dk(  r| j                  d      s5y|d	k(  r| j                  d
      sy|dk(  r| j                  d      sy|dk(  r| j                  d      sy|dk(  r| j                  d      syd| _         n|dk(  r| j                  d      syd| _         n|dk(  r| j                  d      syd| _         n|dk(  r| j                  d      syd| _         nq|dk(  r| j                  d      syd| _         nR|dk(  rd| _         nE|dk(  rd| _         n8| j                  | j                  k\  r
t               | xj                  dz  c_        # t        $ r Y nw xY w|| _        	 	 | j                   s
t               y# t        $ r Y yw xY w)NFTr      ĉ   u   ĝ   u   ĥ   u   ĵ   u   ŝ   u   ŭ   r      r   	   r	   
   r
      r         )	B_foreigncursorbra
find_amongr   a_0ket
slice_fromlimitlab0lab1)selfv_1	among_vars      T/home/agent/.local/lib/python3.12/site-packages/snowballstemmer/esperanto_stemmer.py__r_canonical_formz#EsperantoStemmer.__r_canonical_form   s   ++C3;; OO,<,@,@A	;;>??51$!^??51$!^??51$!^??51$!^??51$!^??51$!^??40$%)DN!^??40$%)DN!^??40$%)DN"_??40$%)DN"_??40$%)DN"_%)DN"_%*DN{{djj0"fKK1$KDK	>>fT 	sg   AG /G G G 7G G &G =G G ;G G 9AG 	G! G!-H 	HHc                 .   | j                   | _        | j                  d      sy| j                   | _        | j                  d      sy| j	                  t
        j                        dk(  ry| j                   | j                  k  ry| j                  d      syy)N'Fst    r   T)	r%   r&   eq_sr)   r'   r   a_1r+   r*   r.   s    r1   __r_initial_apostrophez'EsperantoStemmer.__r_initial_apostropheW   su    ;;yy;;yy??+//0A5;;#t$    c                 |   | j                   | _        | j                  | j                   z
  }	 | j                  d      s| j                  |z
  | _         t	               	 | j                   | _        | j                  t        j                        dk(  ry	 | j                  | j                   z
  }	 | j                   | j                  kD  r
t               t               # t        $ r Y w xY w# t        $ r Y nw xY w| j                  |z
  | _         | j                  d      syn# t        $ r Y nw xY w| j                         syy)Nnr6   F-T)r%   r)   r+   eq_s_br,   r&   find_among_br   a_2limit_backwardlab2r-   	slice_delr.   r/   v_2s      r1   __r_pronounzEsperantoStemmer.__r_pronounf   s   ;;jj4;;&	;;t$"jj3.f % ;;-112a7
	**t{{*C;;!4!44&Lf T **s*DK;;t$ %T~~sA   /C D +-C' 	C$#C$'	C30D 2C33(D 	D)(D)c                    | j                   | _        | j                  d      sy| j                   | _        	 | j                  | j                   z
  }	 | j                  d      s
t               | j                   | j                  kD  r
t               | j                  d      syt               # t
        $ r Y nw xY w| j                  |z
  | _         	 | j                  d      s
t               | j                   | j                  kD  r
t               | j                  d      syt               # t        $ r Y nw xY w| j                  |z
  | _         	 | j                  t        j                        dk(  r
t               	 | j                  | j                   z
  }	 | j                   | j                  kD  r
t               t               # t        $ r Y nw xY w| j                  |z
  | _         | j                  d      s
t               n# t        $ r Y nw xY w| j                  d	      syt               # t        $ r Y nw xY w| j                  |z
  | _         | j                  d
      sy	 y# t        $ r Y yw xY w)Nr4   Flr   unr   r6   r>   u   aŭr
   T)r%   r)   r?   r&   r+   r-   rB   r*   r,   rC   r@   r   a_3lab3lab5lab4rE   s      r1   __r_final_apostrophez%EsperantoStemmer.__r_final_apostrophe   s
   ;;{{4 ;;+	**t{{*C{{4(&L;;!4!44&Lt, f**s*DK{{5)&L;;!4!44&Lt, f**s*DK$$%5%9%9:a?&L
"**t{{2C&;;)<)<<"&&L"f%%"&**s"2DK;;t,"f -!T!v. f**s*DK??4( )  T 	s   I! AB*  
B* *	B63I! 5B66I! AD( 
D( (	D41I! 3D44I! ,H* 9G? -G   	G	G? G2G? >H* ?	HH* 
HH*  
H* *	H63I! 5H66(I! !	I-,I-c                 .   | j                   | _        | j                  | j                   z
  }	 | j                  d      s| j                  |z
  | _         t	               	 | j                  | j                   z
  }	 | j                  d      s| j                  |z
  | _         t               	 | j                   | _        | j                  t        j                        dk(  ry	 | j                  | j                   z
  }	 | j                   | j                  kD  r
t               t               # t        $ r Y w xY w# t
        $ r Y w xY w# t        $ r Y nw xY w| j                  |z
  | _         | j                  d      syn# t        $ r Y nw xY w| j                         syy)Nr=   jr6   Fr>   T)r%   r)   r+   r?   r,   r-   r&   r@   r   a_4rB   rL   rC   rD   )r.   r/   rF   v_3s       r1   __r_ujn_suffixzEsperantoStemmer.__r_ujn_suffix   s_   ;;jj4;;&	;;t$"jj3.f % jj4;;&	;;t$"jj3.f % ;;-112a7
	**t{{*C;;!4!44&Lf T T **s*DK;;t$ %T~~sS   /D" 6/D1 E6 5-E  "	D.-D.1	D=<D= 	E	E6 E(E6 6	FFc                 d   | j                  t        j                        dk(  ry	 | j                  | j                  z
  }	 | j                  | j
                  kD  r
t               t               # t        $ r Y nw xY w| j                  |z
  | _        | j                  d      sy	 y# t        $ r Y yw xY wNr6   Fr>   T)	r@   r   a_5r+   r%   rB   r-   r,   r?   r.   r/   s     r1   __r_uninflectedz EsperantoStemmer.__r_uninflected   s    -112a7
	**t{{*C;;!4!44&Lf**s*DK;;t$ %  T 	s.   B# -A, ,	A85B# 7A88(B# #	B/.B/c                     | j                  t        j                        dk(  ry| j                  t        j                        dk(  ryy)Nr6   FT)r@   r   a_6a_7r9   s    r1   __r_merged_numeralz#EsperantoStemmer.__r_merged_numeral   s?    -112a7-112a7r;   c                 V   | j                   | _        | j                   | _        | j                  | j                   z
  }	 | j                  | j                   z
  }	 | j                  | j                   z
  }	 | j	                  d      s| j                  |z
  | _         t               	 | j                   | _        | j	                  d      s
t               t               # t
        $ r Y Aw xY w# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }	 | j	                  d      s| j                  |z
  | _         t               n# t        $ r Y nw xY w| j                  | j                   z
  }	 | j	                  d      s| j                  |z
  | _         t               n# t        $ r Y nw xY w| j                   | _        | j                  t        j                        syn# t        $ r Y nw xY w| j	                  d      sy| j                  | j                   z
  }	 | j                  t        j                        dk(  r| j                  |z
  | _         t               n# t        $ r Y nw xY w	 | j                  | j                   z
  }	 | j                   | j                   kD  r
t#               t%               # t"        $ r Y nw xY w| j                  |z
  | _         | j	                  d      syn# t$        $ r Y nw xY w| j                  |z
  | _         | j'                         syy)	Nr=   r   rQ   Fr	   r6   r>   T)r%   r)   r&   r+   r?   rC   r-   r,   rL   rN   in_grouping_br   g_aour@   a_8rM   rB   lab7lab6rD   )r.   r/   rF   rS   v_4v_5v_6v_7s           r1   __r_correlativez EsperantoStemmer.__r_correlative   s   ;;;;jj4;;&	**t{{*Cjj4;;.";;t,&*jj3&6"f -  ;;{{4(&Lf	 !T!
 **s*DK**t{{*C{{4("&**s"2DK&L ) **t{{*C{{4("&**s"2DK&L ) {{DH%%&6&<&<= >T{{4 jj4;;&	  !1!5!56!;"jj3.f < T
	**t{{*C;;!4!44&Lf**s*DK;;t$ %Tjj3&~~s   G- C& 1/C  7C& 	C# C& "C##C& &	C2/G- 1C220G- #/E G- 	EG- EG- </F, +G- ,	F85G- 7F883G- -	G98G9(A I) )	I54I59K6 -K   	K	K6 K(K6 6	LLc                 p   	 | j                   | j                  z
  }	 dD ]@  }| j                  t        j                        s
t               | xj                  dz  c_        B t               # t
        $ r Y nw xY w| j                   |z
  | _        	 	 	 	 | j                  d      s
t               t               # t        $ r Y nw xY w| j                  | j                  k  r
t               | xj                  dz  c_        n# t        $ r Y nw xY w| j                  | j                  k  r
t               | xj                  dz  c_        t               # t        $ r Y nw xY w| j                   |z
  | _        | j                  t        j                        sy| xj                  dz  c_        y# t        $ r Y yw xY w)N)r6   r6   r   Tr>   F)r+   r%   go_out_grouping_br   g_vowelr-   r,   r?   rN   rL   rB   rC   g_digitrE   s      r1   __r_long_wordzEsperantoStemmer.__r_long_word(  sy    	**t{{*C %C112B2J2JK"fKK1$K	%
 f**s*DK
"*#';;t#4&*f"&&L#)T);;$*=*=="&&Lq(  !T!;;$"5"55&Lq f**s*DK))*:*B*BCKK1K T 	s   F) AA+ +	A74F) 6A77F) C? %B7 7	C C? C<C? ?	DE 
DAE 	EF) E6F) F) )	F54F5c                 *   	 | j                   | j                  z
  }	 | j                  d      s
t               t	               # t        $ r Y nw xY w| j                   |z
  | _        | j                  t        j                        sy	 y# t        $ r Y yw xY w)Nr>   FT)r+   r%   r?   r-   r,   r_   r   rl   rX   s     r1   __r_not_after_letterz%EsperantoStemmer.__r_not_after_letterL  s    
	**t{{*C{{4(&Lf**s*DK%%&6&>&>? @  T 	s.   B %A 	A
B A6B 	BBc                 b   | j                   | _        | j                  t        j                        dk(  ry| j
                  | j                   z
  }	 | j                  d      s| j
                  |z
  | _         t               	 | j                   | _        | j                         syy# t        $ r Y .w xY wrV   )
r%   r)   r@   r   a_9r+   r?   r,   r&   rD   rX   s     r1   __r_standard_suffixz$EsperantoStemmer.__r_standard_suffixZ  s    ;;-112a7jj4;;&	;;t$"jj3.f % ;;~~ Ts   /B" "	B.-B.c                    | j                   }| j                         sy|| _         | j                   }| j                          || _         | j                   | _        | j                  | _         | j                  | j                   z
  }	 | j                         s
t               y# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }	 | j                         s
t               y# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }	 | j                         s
t               y# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }	 | j                         s
t               y# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }	 | j                         s
t               y# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }	| j!                         sy| j                  |	z
  | _         | j#                         sy| j                  | _         y)NFT)r%   #_EsperantoStemmer__r_canonical_form'_EsperantoStemmer__r_initial_apostropherB   r+   _EsperantoStemmer__r_pronounr,   %_EsperantoStemmer__r_final_apostrophe _EsperantoStemmer__r_correlativer-    _EsperantoStemmer__r_uninflectedrC   #_EsperantoStemmer__r_merged_numeralrL   _EsperantoStemmer__r_ujn_suffixrN   _EsperantoStemmer__r_long_word$_EsperantoStemmer__r_standard_suffix)
r.   r/   rF   rS   rd   re   rf   rg   v_8v_9s
             r1   _stemzEsperantoStemmer._stemj  sD   kk&&(kk##%"kkjjjj4;;&	##%fTjj3&jj4;;&!!#jj3&jj4;;&	'')fTjj3&jj4;;&	'')fTjj3&jj4;;&	**,fTjj3&jj4;;&	&&(fTjj3&jj4;;&!!#jj3&'')))sZ   B 	B+*B+D4 4	E ?E 1F 	FF	G$ $	G0/G0!H< <	II    r>   r6   r#   cxr   gxr   hxr   jxr   qr"   sxr   uxr   wxy   ár      ér      ír      ór       úr!   asr	   isosr   uscigihiliiliu   ŝliminionirisiviiviu   ĝiu   ŝiu   iŝiu   malŝiambbaldmalbaldmorgpostmorgadihodianku   ĉirku   tutĉirkpreskalmenapenhieru
   antaŭhiermalgrankorkontranstatkvazaliuunuahahahahalelujaholahosanamaltrahurau   ĥaĥaekdeeldedisdeehemaltre	dirlididimalpliu   malĉimalkajamentamen   ohomaltrominusuhumuutridudekcentkkelknentmultsamtr   r   r   rQ   ajojr=   anenjnajnojnonr
   N)__name__
__module____qualname____doc__rk   r`   rl   r$   rt   ru   rv   rw   r{   ry   rz   rx   r|   %_EsperantoStemmer__r_not_after_letterr}   r   r   r(   r8   rA   rK   rR   rW   r[   r\   ra   rq    r;   r1   r   r      s>   
 -GEJGI?B61fB :x"H 7t 	c2rdAreQeQeQeQdAreQeQdArdArdAreQeQeQeQeQ#C* 	eRdBeQeRdBeQC 	eReReReRfagq"eReRfaeReReRfb"fb"fb"gr2iR #C* 	fb"gr2j!R gr2k1b!fb"gr2fb"hBk1b!hBhBgr2gr2mR$hBhBhBiR gr2)C0 	gr2fb"C 	fb"gq"k2r"gr2iR iR gr2iR gr2gr2hBfb"iR lB#iR iR iR gr2hBfb"iR hBfb"fb"1C8 	fb"eRfb"C 	fb"gr2C 	dBgq"fb"dBgq"gq"eRC 	dBdBdBdB01eQeQdB01eQeQeQ01fafaeQdBeReReReRdB'Cr;   r   c                       e Zd Zy)r,   Nr   r   r   r   r;   r1   r,   r,   7      r;   r,   c                       e Zd Zy)r-   Nr   r   r;   r1   r-   r-   :  r   r;   r-   c                       e Zd Zy)rC   Nr   r   r;   r1   rC   rC   =  r   r;   rC   c                       e Zd Zy)rL   Nr   r   r;   r1   rL   rL   @  r   r;   rL   c                       e Zd Zy)rN   Nr   r   r;   r1   rN   rN   C  r   r;   rN   c                       e Zd Zy)rM   Nr   r   r;   r1   rM   rM   F  r   r;   rM   c                       e Zd Zy)rc   Nr   r   r;   r1   rc   rc   I  r   r;   rc   c                       e Zd Zy)rb   Nr   r   r;   r1   rb   rb   L  r   r;   rb   N)basestemmerr   amongr   r   BaseExceptionr,   r-   rC   rL   rN   rM   rc   rb   r   r;   r1   <module>r      sl    % l{ l^  =   =   =   =   =   =   =   = r;   