
    1 f                     V    d dl mZ d dlmZ  G d de          Z G d de          ZdS )   )BaseStemmer)Amongc                   6   e Zd ZdZg  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'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          Z ed2dd           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	          gZg d?Zg d@Z	dZ
dZdA ZdB ZdC ZdD ZdE ZdFS )GSwedishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ar   arna    ernaheterna   ornaadeade   andearneareasteenanden   arenhetenernarerheter   orsas   arnas   ernasornasesades   andesensarens   hetensernsatandethetastddgdnndtgtktttigligelsfullt   u   löst)   A      r   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
      r
       )w         c                    | j         | _        | j        }| j        dz   }|| j         k    rdS || _        | j        | _        || _        |                     t
          j        dd          sdS |                     t
          j        dd          sdS | xj        dz  c_        | j        | _        	 | j        | j        k     st                      | j        | _        n# t          $ r Y nw xY wdS )NrA   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1cs      U/var/www/equiseq/venv/lib/python3.11/site-packages/snowballstemmer/swedish_stemmer.py__r_mark_regionszSwedishStemmer.__r_mark_regionsN   s    J	kK!Otz>>5;##N$6C@@ 	5"">#5r3?? 	5qK		9tx''ffDIITTts   (*C 
C C c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  }|dk    r	|| _        dS | j         | _        || _        |dk    r|                                 sdS n9| 	                    t
          j
        dd          sdS |                                 sdS dS )NFr
   r   b   y   T)rO   rN   limit_backwardketfind_among_br   a_0bra	slice_delin_grouping_b
g_s_endingrU   v_2	among_vars      rX   __r_main_suffixzSwedishStemmer.__r_main_suffixd   s    ;""5!"i;%%n&899	>>"%D5;!>>>>## u %%n&?SII u>>## ut    c                    | j         | j        k     rdS | j        }| j        | _        | j        | j         z
  }|                     t
          j                  dk    r	|| _        dS | j        |z
  | _         | j         | _        | j         | j        k    r	|| _        dS | xj         dz  c_         | j         | _        | 	                                sdS || _        dS )NFr
   r   T)
rO   rN   r]   rM   r_   r   a_1r^   ra   rb   )rU   rf   v_3s      rX   __r_consonant_pairz!SwedishStemmer.__r_consonant_pair|   s    ;""5!"ij4;&^/00A55"%D5j3&;;$---"%D5q;~~ 	5!tri   c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  }|dk    r	|| _        dS | j         | _        |dk    r|                                 sdS n5|dk    r| 	                    d          sdS n| 	                    d          sdS || _        dS )NFr
   r   r   u   lösfullT)
rO   rN   r]   r^   r_   r   a_2ra   rb   
slice_fromre   s      rX   __r_other_suffixzSwedishStemmer.__r_other_suffix   s    ;""5!"i;%%n&899	>>"%D5;>>>>## u !^^??;// u ??7++ u!tri   c                    | j         }|                                  || _         | j         | _        | j        | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | _         dS )NT)rO   _SwedishStemmer__r_mark_regionsr]   rM   _SwedishStemmer__r_main_suffix!_SwedishStemmer__r_consonant_pair_SwedishStemmer__r_other_suffix)rU   rV   rf   rl   v_4s        rX   _stemzSwedishStemmer._stem   s    k"kjj4;&j3&j4;&!!!j3&j4;&j3&)tri   N)__name__
__module____qualname____doc__r   r`   rk   rp   rR   rd   rP   rN   rt   ru   rv   rw   ry    ri   rX   r   r      s        
&dB&gq!& 	gq!& 	j!Q	&
 	gq!& 	eR& 	dB& 	fa& 	gq!& 	gq!& 	fa& 	gq!& 	eR& 	hA& 	gr1&  	hA!&" 	fb!#&$ 	eR%&& 	eR'&( 	hA)&* 	eR+&, 	dB-&. 	eR/&0 	hA1&2 	hA3&4 	hA5&6 	eR7&8 	gr19&: 	hA;&< 	fb!=&> 	hA?&@ 	iQA&B 	gr1C&D 	eRE&F 	hAG&H 	fb!I&J 	fb!K&CR 	eReReReReReReRC 	eRfafb!hAlB""C I
H
HC J
CD  ,  0  ,  0    ri   r   c                       e Zd ZdS )rT   N)rz   r{   r|   r~   ri   rX   rT   rT      s          ri   rT   N)basestemmerr   amongr   r   BaseExceptionrT   r~   ri   rX   <module>r      s    % $ $ $ $ $      s s s s s[ s s sl      =     ri   