
    gB                     ^    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y	)
   )BaseStemmer)Amongc            !       F   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d      gZ ed+dd       ed,dd      gZ ed-dd       ed.d/d       ed0dd       ed1dd       ed2dd       ed3d4d       ed5dd       ed6dd       ed7d8d       ed9d8d       ed:dd      gZg d;Zg d<Z	d/Z
d/Zd= Zd> Zd? Zd@ ZdA ZyB)CNorwegianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ar   eedeandeendeaneenehetene   erte   enheten	   arerheter   s   as   esedes   endeseneshetenes   enshetens   ersetsethet   ertastdtvtlegeleg    igeigligelig   elslovelov   slovhetslov)   A   r    r   r3   r3   r3   r3   r3   r3   r3   r3   r3   r3   r3   r3   0   r3      )w   }      r   c                    | j                   | _        | j                  }| j                  dz   }|| j                   kD  ry|| _        | j                  | _        || _        | j	                  t
        j                  dd      sy| j                  t
        j                  dd      sy| xj                  dz  c_        | j                  | _        	 | j                  | j                  k  s
t               | j                  | _        y# t        $ r Y yw xY w)Nr   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1cs      V/var/www/openai/venv/lib/python3.12/site-packages/snowballstemmer/norwegian_stemmer.py__r_mark_regionsz!NorwegianStemmer.__r_mark_regionsG   s    JJ	kkKK!Otzz>;;##$4$8$8"cB""#3#7#7SAqKK		99txx'fDI T 	s   4C< <	DDc                 
   | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                        }|dk(  r|| _        y| j                   | _        || _        |dk(  r| j                         syy|dk(  rP	 | j                  | j                   z
  }	 | j                  t
        j                  dd      s
t               t               | j#                  d
      syy# t        $ r Y nw xY w| j                  |z
  | _         | j                  d      sy| j                  t
        j                   dd	      syn# t        $ r Y nw xY w| j                         syy)NFr3   r   r   b   z   krG   rH   r   T)rK   rJ   limit_backwardketfind_among_br   a_0bra	slice_delrI   in_grouping_b
g_s_endinglab1rP   eq_s_bout_grouping_brN   
slice_from)rQ   v_2	among_varv_3s       rT   __r_main_suffixz NorwegianStemmer.__r_main_suffix]   s[   ;;"!!"ii;;%%&6&:&:;	>"%D;;!>>>#, ) !^jj4;;."--.>.I.I2sS"f&L ??5) !T!"jj3.{{4( **+;+?+?SI  J>>#
 s6   *E$ 5D 	DE$ D(E$ !E$ $	E0/E0c                    | j                   | j                  z
  }| j                  | j                  k  ry| j                  }| j                  | _        | j                  | _        | j                  t        j                        dk(  r|| _        y| j                  | _        || _        | j                   |z
  | _        | j                  | j                  k  ry| xj                  dz  c_        | j                  | _        | j                         syy)NFr3   r   T)
rI   rK   rJ   rZ   r[   r\   r   a_1r^   r_   )rQ   rR   rh   s      rT   __r_consonant_pairz#NorwegianStemmer.__r_consonant_pair   s    jj4;;&;;"!!"ii;;-112a7"%D;;!jj3&;;$---q;;~~    c                 :   | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                        dk(  r|| _        y| j                   | _        || _        | j                         syy)NFr3   T)	rK   rJ   rZ   r[   r\   r   a_2r^   r_   )rQ   rf   s     rT   __r_other_suffixz!NorwegianStemmer.__r_other_suffix   s    ;;"!!"ii;;-112a7"%D;;!~~rm   c                    | j                   }| j                          || _         | j                   | _        | j                  | _         | j                  | j                   z
  }| j	                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | _         y)NT)rK   !_NorwegianStemmer__r_mark_regionsrZ   rI    _NorwegianStemmer__r_main_suffix#_NorwegianStemmer__r_consonant_pair!_NorwegianStemmer__r_other_suffix)rQ   rR   rf   rh   v_4s        rT   _stemzNorwegianStemmer._stem   s    kk"kkjjjj4;;&jj3&jj4;;&!jj3&jj4;;&jj3&))rm   N)__name__
__module____qualname____doc__r   r]   rk   ro   rN   ra   rL   rJ   rr   rs   rt   ru   rw    rm   rT   r   r      sL    	dBdBfagq!gq!fafaiAgq!eRh1eReRhAdBeReRgr1hAgr1j"a fb!iQfb!fb!eRfb!fb!fb!;CB 	eReRC 	fb!gq!eRfafagq!fb!fb!gq!gq!j!QC JC#J
CD,$L, rm   r   c                       e Zd Zy)rP   Nrx   ry   rz   r|   rm   rT   rP   rP          rm   rP   c                       e Zd Zy)rb   Nr~   r|   rm   rT   rb   rb      r   rm   rb   N)basestemmerr   amongr   r   BaseExceptionrP   rb   r|   rm   rT   <module>r      s0    % r{ rj  =   = rm   