
    -Ph                         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	dS )   )BaseStemmer)Amongc            !          e Zd ZdZh dZh 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          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/d0d           ed1d0d           ed2d3d           ed4d3d           ed5d3d           ed6d7d           ed8d0d           ed9d:d           ed;d0d<           ed=d0d           ed>dd           ed?d@d           edAdd&           eddd          gZ edBdd           edCdd          gZ 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dLdMd           edNdMd           edOd)d          gZdPS )QNorwegianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from norwegian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   aeiouy   å   æ   ê   ò   ó   ô   ø>   bcdfghjlmnr
   ptvr   z    c                    | j         | _        | j        }| j        dz   }|| j         k    rdS || _        | j        | _        || _        |                     t
          j                  sdS | xj        dz  c_        |                     t
          j                  sdS | xj        dz  c_        | j        | _        	 | j        | j        k    rt                      | j        | _        n# t          $ r Y nw xY wdS )N   Fr   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1r   s      a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/snowballstemmer/norwegian_stemmer.py__r_mark_regionsz!NorwegianStemmer.__r_mark_regions   s    J	kK!Otz>>5;##$4$899 	5q""#3#788 	5qK		yDH$$ffDIITTts   4*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 n|dk    r=|                     t
          j	                  }|dk    r|                                 sdS n|dk    r|	 | j
        | j         z
  }	 |                     t
          j                  st                      t                      # t          $ r Y nw xY w| j
        |z
  | _         	 |                     d          st!                      | j
        | j         z
  }	 |                     d          st#                      t!                      # t"          $ r Y nw xY w| j
        |z
  | _         t                      # t           $ r Y nw xY w| j
        |z
  | _         |                     d          sdS |                     t
          j                  sdS n# t          $ r Y nw xY w|                                 sdS n|                     d	          sdS d
S )NFr"   r      r$   rr   kerT)r'   r&   limit_backwardketfind_among_br   a_1bra	slice_dela_0r%   in_grouping_b
g_s_endinglab1r,   eq_s_blab2lab3out_grouping_br*   
slice_from)r-   v_2	among_varv_3v_4s        r/   __r_main_suffixz NorwegianStemmer.__r_main_suffix,   s   ;""5!"i;%%&6&:;;	>>"%D5;!>>>>## u !^^))*:*>??IA~~~~'' ! 5!^^j4;."--.>.IJJ %"ff&&L!!!TT!"j3.";;t,, %"ff*t{2C&#{{400 )"&&&L"ff%%%%"&*s"2DK&&L!!!TT!"j3.{{4(( ! 5**+;+?@@ ! 5!>>## u ??5)) utsr   H0 ,;D' '
D41H0 3D44H0 2G :1F+ +
F85G 7F88 G 
G%"H0 $G%%'H0 H0 0
H=<H=c                    | j         | j        z
  }| j        | j        k     rdS | j        }| j        | _        | j        | _        |                     t          j                  dk    r	|| _        dS | j        | _        || _        | j         |z
  | _        | j        | j        k    rdS | xj        dz  c_        | j        | _        | 	                                sdS dS )NFr"   r   T)
r%   r'   r&   r6   r7   r8   r   a_2r:   r;   )r-   r.   rG   s      r/   __r_consonant_pairz#NorwegianStemmer.__r_consonant_paire   s    j4;&;""5!"i;-122a77"%D5;!j3&;$---5q;~~ 	5t    c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  dk    r	|| _        dS | j         | _        || _        |                                 sdS dS )NFr"   T)	r'   r&   r6   r7   r8   r   a_3r:   r;   )r-   rE   s     r/   __r_other_suffixz!NorwegianStemmer.__r_other_suffix{   s    ;""5!"i;-122a77"%D5;!~~ 	5trM   c                    | j         }|                                  || _         | j         | _        | j        | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | _         dS )NT)r'   !_NorwegianStemmer__r_mark_regionsr6   r%    _NorwegianStemmer__r_main_suffix#_NorwegianStemmer__r_consonant_pair!_NorwegianStemmer__r_other_suffix)r-   r.   rE   rG   rH   s        r/   _stemzNorwegianStemmer._stem   s    k"kjj4;&j3&j4;&!!!j3&j4;&j3&)trM    r   indkknkammommkapskap   ppltastu   østr    hav   givr   r   edeandeendeaneeneheteneerte   enheten	   arr5   hetersr$   as   esedes   endeseneshetenes   enshetens   ersr2   etsethet   ertdtvtlegelegigeigligeligelslovelov   slovhetslovN)__name__
__module____qualname____doc__r*   r>   r(   r&   rR   rS   rT   rU   rV   r   r<   r9   rK   rO    rM   r/   r   r      su        
 `
_
_CqqqJ
CD  .7 7 7r  ,     & 	c2qfaeQeQfafafagq!eQeQfagq"dArfb!fb!C& 	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CCCrM   r   c                       e Zd ZdS )r,   Nr   r   r   r   rM   r/   r,   r,                rM   r,   c                       e Zd ZdS )r?   Nr   r   rM   r/   r?   r?      r   rM   r?   c                       e Zd ZdS )rA   Nr   r   rM   r/   rA   rA      r   rM   rA   c                       e Zd ZdS )rB   Nr   r   rM   r/   rB   rB      r   rM   rB   N)
basestemmerr   amongr   r   BaseExceptionr,   r?   rA   rB   r   rM   r/   <module>r      s    % $ $ $ $ $      X X X X X{ X X Xv      =         =         =         =     rM   