
    -Ph6                        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 G d de          Z G d de          Z G d de          Z G d de          ZdS )   )BaseStemmer)Amongc                      e Zd Z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          g	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d0dd           ed1dd           ed2dd           ed3dd           ed4dd           ed5dd           ed6dd          gZ ed'dd           ed7dd           ed8dd           ed9dd           ed:d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g  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dIdJd           edKdJd           edLdd           edMdNd           edOdNd           edPdd           ed#dQd           edRdQd           edSdd           edTdUd           edVdUd           ed'dd           ed(dd           ed*dd           edWdd           edXdYd           edZdd           ed[d\d           ed]d\d           ed^dd           ed_d`d           edad`d           edbdd           edcddd           ededd           edfdd           edgdd           edhdid           edjdd           edkdd           edldmd           edndd           edodpd           edqdpd           edrdd           edsdd           edtdd           ed3dud          Zg  edvdd           edwdd           edxdd           edydd           eddd           edzdd           ed{dd           ed|dd           ed}dd           ed~dd           eddd           eddNd           edPdd           ed#dd           eddQd           ed$dd           ed%dd           eddd           ed'dd           eddd           ed)dd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           edtdd           edddd           edddd           eddd           eddd           eddd          Z eddd           eddd          gZ eddd           edWdd           eddd           eddd          gZdS )RussianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from russian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >	      э   а   е   и   о   у   ы   ю   я    c                    | j         | _        | j         | _        | j        }	 |                     t
          j                  st                      | xj        dz  c_        | j        | _        |                     t
          j                  st                      | xj        dz  c_        |                     t
          j                  st                      | xj        dz  c_        |                     t
          j                  st                      | xj        dz  c_        | j        | _        n# t          $ r Y nw xY w|| _        dS )Nr   T)	limitI_pVI_p2cursorgo_out_groupingr   g_vlab0go_in_grouping)selfv_1s     _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/snowballstemmer/russian_stemmer.py__r_mark_regionszRussianStemmer.__r_mark_regions   s   J	J	k	''(:;; ffKK1KKDI&&~'9:: ffKK1KK''(:;; ffKK1KK&&~'9:: ffKK1KKDIITTts   DD. .
D;:D;c                 "    | j         | j        k    S )N)r   r   r   s    r   __r_R2zRussianStemmer.__r_R2*   s    yDK''    c                    | j         | _        |                     t          j                  }|dk    rdS | j         | _        |dk    r	 | j        | j         z
  }	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _         |                     d          sdS n# t          $ r Y nw xY w| 
                                sdS n| 
                                sdS dS Nr   Fr   r   r   T)r   ketfind_among_br   a_0brar   eq_s_blab1r   	slice_delr   	among_varr   s      r   __r_perfective_gerundz$RussianStemmer.__r_perfective_gerund-      ;%%n&899	>>5;>>
j4;.";;u-- %"ff&&L!!!TT!"j3.{{5)) ! 5!>>## u >>## ut0   B? 1B 
BB? B'B? ?
CCc                     | j         | _        |                     t          j                  dk    rdS | j         | _        |                                 sdS dS Nr   FT)r   r$   r%   r   a_1r'   r*   r   s    r   __r_adjectivezRussianStemmer.__r_adjectiveH   Q    ;^/00A555;~~ 	5tr!   c                    |                                  sdS | j        | j        z
  }	 | j        | _        |                     t
          j                  }|dk    r| j        |z
  | _        t                      | j        | _        |dk    r	 | j        | j        z
  }	 | 	                    d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        | 	                    d          s| j        |z
  | _        t                      n# t          $ r Y nw xY w|                                 sdS n|                                 sdS n# t          $ r Y nw xY wdS )NFr   r   r   r   T)_RussianStemmer__r_adjectiver   r   r$   r%   r   a_2r   r'   r(   lab2r)   r*   )r   r   r,   v_2s       r   __r_adjectivalzRussianStemmer.__r_adjectivalR   s}   !!## 	5j4;&	{DH)).*<==IA~~"j3.ff{DHA~~"*t{2C&#{{511 )"&&&L"ff%%%%"&*s"2DK;;u-- %&*j3&6"ff% !!!TT!~~'' ! 5! ~~'' ! 5TTts[   A E D 1C	 	
CD CAD E 
D(%E 'D((E E 
E&%E&c                     | j         | _        |                     t          j                  dk    rdS | j         | _        |                                 sdS dS r1   )r   r$   r%   r   a_3r'   r*   r   s    r   __r_reflexivezRussianStemmer.__r_reflexivet   r4   r!   c                    | j         | _        |                     t          j                  }|dk    rdS | j         | _        |dk    r	 | j        | j         z
  }	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _         |                     d          sdS n# t          $ r Y nw xY w| 
                                sdS n| 
                                sdS dS r#   )r   r$   r%   r   a_4r'   r   r(   r)   r   r*   r+   s      r   __r_verbzRussianStemmer.__r_verb~   r.   r/   c                     | j         | _        |                     t          j                  dk    rdS | j         | _        |                                 sdS dS r1   )r   r$   r%   r   a_5r'   r*   r   s    r   __r_nounzRussianStemmer.__r_noun   r4   r!   c                     | j         | _        |                     t          j                  dk    rdS | j         | _        |                                 sdS |                                 sdS dS r1   )r   r$   r%   r   a_6r'   _RussianStemmer__r_R2r*   r   s    r   __r_derivationalzRussianStemmer.__r_derivational   sf    ;^/00A555;{{}} 	5~~ 	5tr!   c                 
   | j         | _        |                     t          j                  }|dk    rdS | j         | _        |dk    rs|                                 sdS | j         | _        |                     d          sdS | j         | _        |                     d          sdS |                                 sdS nJ|dk    r.|                     d          sdS |                                 sdS n|                                 sdS dS )Nr   Fr      н   T)r   r$   r%   r   a_7r'   r*   r(   )r   r,   s     r   __r_tidy_upzRussianStemmer.__r_tidy_up   s   ;%%n&899	>>5;>>>>## u{DH;;u%% u{DH;;u%% u>>## u !^^;;u%% u>>## u >>## utr!   c                 T   | j         }	 	 | j         }	 	 	 | j         }	 | j         | _        |                     d          st                      | j         | _        || _         t                      # t          $ r Y nw xY w|| _         | j         | j        k    rt                      | xj         dz  c_         # t
          $ r Y nw xY w|                     d          sdS # t          $ r Y nw xY w|| _         n# t          $ r Y nw xY w|| _         | 
                                 | j         | _        | j        | _         | j         | j        k     rdS | j        }| j        | _        | j        | j         z
  }	 	 | j        | j         z
  }	 |                                 st                      t                      # t          $ r Y nw xY w| j        |z
  | _         | j        | j         z
  }	 |                                 s| j        |z
  | _         t#                      n# t"          $ r Y nw xY w	 | j        | j         z
  }	 |                                 st'                      t)                      # t&          $ r Y nw xY w| j        |z
  | _         	 |                                 st-                      t)                      # t,          $ r Y nw xY w| j        |z
  | _         |                                 st1                      n# t(          $ r Y nw xY wn# t          $ r Y nw xY wn# t0          $ r Y nw xY w| j        |z
  | _         | j        | j         z
  }		 | j         | _        |                     d          s| j        |	z
  | _         t5                      | j         | _        |                                 sdS n# t4          $ r Y nw xY w| j        | j         z
  }
|                                  | j        |
z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         || _        | j        | _         dS )NTu   ёr   r	   Fr
   )r   r'   eq_slab3r$   r8   r   r)   
slice_fromr   _RussianStemmer__r_mark_regionslimit_backwardr   $_RussianStemmer__r_perfective_gerundlab6lab5_RussianStemmer__r_reflexivelab7_RussianStemmer__r_adjectivallab9lab8_RussianStemmer__r_verblab10_RussianStemmer__r_nounlab4r(   lab11r*   _RussianStemmer__r_derivational_RussianStemmer__r_tidy_up)r   r   r9   v_3v_6v_7v_8v_9v_10v_11v_12v_13s               r   _stemzRussianStemmer._stem   sj   k	k"&-"&+C.+/;'+yy'7'7 !1*.&&L+/;.1&*ff#'----*-DK#{dj88&*ff KK1,KK-  %%%%??511 %$u!!!TT!!TT"kj;""5!"ij4;&!	j4;."5577 %"ff&&L!!!TT!"j3.j4;."--// %&*j3&6"ff% !!!TT!":3D&#2244 )"&&&L"ff%%%%"&*t"3DK'#}} *"'''M"ff &&&$$&"&*t"3DK==?? %"ff%!!!TT!TTj3&zDK'		{DH;;u%% "j4/gg{DH>>## u ddzDK'j4'zDK'j4'!)tsO  C2 B2 AA, ,
A96B2 8A999B2 2
B?<C >B??C C2 
C'$C2 &C''
C2 2
C?>C?+L  ;0F+ +
F85L  7F88!L  1H L  
HL  HL  K/ -0I 
I*'K/ )I**K/ =0J- -
J:7K/ 9J::4K/ .L  /
K<9L  ;K<<L  ?L  
L
L LL 
LL AN! !
N.-N.u   вr   u   ивrJ   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   ылrI   u   ен   u   лоu   ило   u   ылоu   ноu   ено   u   нноu   етu   ует   u   итu   ытu   ютu   уют"   u   ятu   ныu   ены%   u   тьu   ить'   u   ытьu   ешьu   ишьr   ,   r   u   евu   овr	   u   ьеr
   u   еиu   ииu   амиu   ямиu   иями   u   иейu   амu   ием   u   ямu   иям   r   r   u   ахu   яхu   иях   r   u   ьu   июu   ьюr   u   ия!   u   ьяu   остu   остьu   ейшеu   ейшN)__name__
__module____qualname____doc__r   r   r   rQ   rF   rS   r6   rX   rV   r[   r]   r`   ra   rk   r   r&   r2   r7   r<   r?   rB   rE   rK    r!   r   r   r      sS        
 J
I
ICDD  .( ( (  6       D    6  
 
 
  >\ \ \~ 	eRgq!gq!iQk1a  k1a  mR##oq!$$oq!$$
C 	gr1gr1gr1gr1iQiQgr1gr1gr1gr1gr1gr1gr1gr1iQiQiQiQgr1gr1gr1gr1gr1gr1gr1gr15C< 	gr1gr1gr1iAiAeRgq!iA	C 	gr1gr1C
/gr1/iA/ 	iA/ 	gr1	/
 	iA/ 	iQ/ 	iQ/ 	iQ/ 	k1a  / 	k1a  / 	gr1/ 	iQ/ 	iQ/ 	eR/ 	gr1/  	gr1!/" 	eR#/$ 	gr1%/& 	gr1'/( 	gr1)/* 	gr1+/, 	gr1-/. 	eR//0 	gr11/2 	gr13/4 	iQ5/6 	iQ7/8 	gr19/: 	iQ;/< 	iQ=/> 	gr1?/@ 	iQA/B 	gr1C/D 	gr1E/F 	gr1G/H 	iQI/J 	gr1K/L 	gr1M/N 	iQO/P 	gr1Q/R 	iQS/T 	iQU/V 	iQW/X 	iQY/Z 	eR[/\ 	gr1]/Cb%eR%gr1% 	gr1% 	eR	%
 	gq!% 	gq!% 	eR% 	gq!% 	gq!% 	iA% 	iA% 	k2q!!% 	eR% 	gr1% 	iQ%  	gr1!%" 	gr1#%$ 	gr1%%& 	gr1'%( 	iQ)%* 	gr1+%, 	gr1-%. 	iQ/%0 	eR1%2 	eR3%4 	gr15%6 	gr17%8 	iQ9%: 	eR;%< 	eR=%> 	eR?%@ 	gr1A%B 	gr1C%D 	eRE%F 	gr1G%H 	gr1I%CP 	iQk2q!!C 	k2q!!eRiQeR	CCCr!   r   c                       e Zd ZdS )r   Nr   r   r   r   r!   r   r   r               r!   r   c                       e Zd ZdS )r)   Nr   r   r!   r   r)   r)     r   r!   r)   c                       e Zd ZdS )r8   Nr   r   r!   r   r8   r8     r   r!   r8   c                       e Zd ZdS )rO   Nr   r   r!   r   rO   rO     r   r!   rO   c                       e Zd ZdS )r^   Nr   r   r!   r   r^   r^     r   r!   r^   c                       e Zd ZdS )rU   Nr   r   r!   r   rU   rU     r   r!   rU   c                       e Zd ZdS )rT   Nr   r   r!   r   rT   rT     r   r!   rT   c                       e Zd ZdS )rW   Nr   r   r!   r   rW   rW     r   r!   rW   c                       e Zd ZdS )rZ   Nr   r   r!   r   rZ   rZ     r   r!   rZ   c                       e Zd ZdS )rY   Nr   r   r!   r   rY   rY     r   r!   rY   c                       e Zd ZdS )r\   Nr   r   r!   r   r\   r\     r   r!   r\   c                       e Zd ZdS )r_   Nr   r   r!   r   r_   r_     r   r!   r_   N)basestemmerr   amongr   r   BaseExceptionr   r)   r8   rO   r^   rU   rT   rW   rZ   rY   r\   r_   r   r!   r   <module>r      s   % $ $ $ $ $          [   D      =         =         =         =         =         =         =         =         =         =    !        M       !        M          r!   