o
    Mi\                     @   s\   d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZdS )   )BaseStemmer)Amongc                   @   s&  e Zd ZdZh dZdZdZdd Zdd Zdd	 Z	d
d Z
dd Zdd Zdd Zdd Zd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)gZg 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d4d5ded6dded7d8d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dAddedBdCdedDddedEddedFdGdedHddedIdJdedKddedLddedMddedNddedOddedPddedQdRdedSddedTdUdedVddedWddedXdYdedZd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daddedbddedcdd"eddddededfd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dodpd)edqddedrddedsddedtdGdeduddedvdJdedwdxdedyd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dddedddedddeddYdeddYdedddedddedddeddd"eddd&edddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddeddd"edddedddedddedddedddedddedddedddedddedddedddedddeddd)edddedddedddedddedddedddedddedddedddedddedddedddedddeddd&eddd"edddedddedddedddedddedddedddeddd"edddedddedddedddedddedddedddedddedddedddeddd)edddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddeddd&eddd"edddedddeddd"edddedddedddeddd"edddedddedddedddedddedddeddd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d/d0ded1d0ded2d3ded4dded5dded6dded7dded8d9ded:d9d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dEdded'ddedFdGdedHdIdedJdKdZg edLddedMddedNddedOdded^ddedPddedQddedRddedSddedTd5dedUd5dedVddedWddedXddedwddedYddedZdded[dded\dded]dded^dCded_dCded`dCd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didjdedkddedlddedmddedddednddedoddedpddedqddedrddedsddedtddedudvdedwdvdedxdvdedydvdedzdvded{dvded|dvded}dvded~dvdeddvdeddvdeddvdeddvdedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedːddedddedddedddedϐddedddedddedddedddeddded֐ddedؐddedِddedڐddedېddedܐddedݐddedߐddedddedddedd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ddeddd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ddedddedddedddedd!dedddedddedddedddedd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dIdeddIdeddIdeddId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d0d1ded2d1ded3dded4dded5dded)dded6d7ded*dded8dded9dded:dded6dded7d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dEddedFddedGddedHddedIdJd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dSdTdedUddedVdWdedXdWdedYddedZdded[dded\dded]ddedDdded^dded_dded`dad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d#ddedoddedFddZedpddedqddedrddedsddedtddedddeduddedvddedwddedxdded:ddedyddedzdded{ddedcd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d|S (}  CatalanStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from catalan.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   aeiou   à   á   è   é   í   ï   ò   ó   ú   ü    c                 C   s   | j | _| j | _| j}zJ| tjst |  jd7  _| tjs%t |  jd7  _| j| _| tjs9t |  jd7  _| tjsIt |  jd7  _| j| _W n	 ty^   Y nw || _dS )Nr   T)	limitI_p1I_p2cursorgo_out_groupingr   g_vlab0go_in_grouping)selfv_1 r   S/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/catalan_stemmer.py__r_mark_regions   s*   zCatalanStemmer.__r_mark_regionsc                 C   s  	 | j }zn| j | _| tj}| j | _|dkr | dsW dS nQ|dkr-| ds,W dS nD|dkr:| ds9W dS n7|d	krG| d
sFW dS n*|dkrT| dsSW dS n|dkra| ds`W dS n| j | jkrjt |  j d7  _ W q  ty{   Y nw || _ 	 dS )NTr   r   F   r      r      r      r	      .)	r   bra
find_amongr   a_0ket
slice_fromr   r   )r   r   	among_varr   r   r    __r_cleaning*   sL   





zCatalanStemmer.__r_cleaningc                 C      | j | jkS N)r   r   r   r   r   r    __r_R1M      zCatalanStemmer.__r_R1c                 C   r/   r0   )r   r   r1   r   r   r    __r_R2P   r3   zCatalanStemmer.__r_R2c                 C   s@   | j | _| tjdkrdS | j | _|  sdS |  sdS dS )Nr   FT)r   r+   find_among_br   a_1r(   _CatalanStemmer__r_R1	slice_delr1   r   r   r    __r_attached_pronounS   s   z#CatalanStemmer.__r_attached_pronounc                 C   s   | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS d
S |dkr8|  s0dS |  s6dS d
S |dkrK|  sBdS | 	dsIdS d
S |dkr^|  sUdS | 	ds\dS d
S |  sddS | 	d	skdS d
S )Nr   Fr   r"   r#   logr$   iccT)
r   r+   r5   r   a_2r(   r7   r8   _CatalanStemmer__r_R2r,   r   r-   r   r   r    __r_standard_suffix_   sD   


z"CatalanStemmer.__r_standard_suffixc                 C   sh   | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |  s,dS |  s2dS dS )Nr   Fr   T)	r   r+   r5   r   a_3r(   r7   r8   r>   r?   r   r   r    __r_verb_suffix   s    zCatalanStemmer.__r_verb_suffixc                 C   sj   | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |  s,dS | ds3dS dS )Nr   Fr   r;   T)	r   r+   r5   r   a_4r(   r7   r8   r,   r?   r   r   r    __r_residual_suffix   s    
z"CatalanStemmer.__r_residual_suffixc                 C   s  |    | j| _| j| _| j| j }|   | j| | _| j| j }z5z)| j| j }z
|  s2t t  ty=   Y nw | j| | _|  sKt	 W n	 tyU   Y nw W n	 t	y`   Y nw | j| | _| j| j }| 
  | j| | _| j| _| j}|   || _dS )NT)_CatalanStemmer__r_mark_regionsr   limit_backwardr   #_CatalanStemmer__r_attached_pronoun"_CatalanStemmer__r_standard_suffixlab2lab1_CatalanStemmer__r_verb_suffixr   "_CatalanStemmer__r_residual_suffix_CatalanStemmer__r_cleaning)r   v_2v_3v_4v_5v_6r   r   r    _stem   s>   zCatalanStemmer._stem       ·r&   r
   r   r   r   r"   r      ìr#   r   r   r   r$   r   r   r%   r   laz-laselalemez-mesez-tehiz'hi   liz-li
   z'lz'mz-mz'nz-nhoz'ho   loselo   z'slasselas   lesz-les   z'lsz-lsz'nsz-nsenslosselos   nosz-nos!   vosusz-us$   z'ticau   lógicaencaadaanciaenciau   ènciau   ícialogiainiau   íinia	   eriau   àriau   atòriaallaellau   ívolaimau   íssimau	   quíssima   anainaerasferaoradoraadora   aduraesaosaassaessaissaetaitaotaistaialistaionistaivaativa'   u   nçau   logíar;   u   ístic+   encescudatgebleable1   ibleismeialisme4   ionismeivismeaireicteisteiciu   ícilogiaritorialilallellu   ívolisamissemu   ìssemu   íssemu   íssimu   quíssimI   amenu   ìssinarificarM   egarejaritaritzarferordorT   durdorasicsu   lógicsX   udsncesadesanciesenciesu   ènciesu   ícieslogiesiniesu   ínieseriesu   àriesu   atòriesblesablesg   iblesimesu   íssimesj   u
   quíssimesk   formesismesialismesn   ineseresoresdoresr   idoress   duresesesosesassesictesitesotesistesialistes|   ionistesiquesu	   lógiques   ivesatives   u   logíesu
   allengüesicisu   ícislogisaristorislsals   ellsimsu   íssims   u	   quíssims   ionscions   acions   esosososassosissosersorsdors   adors   idorsatsitats   bilitats   ivitats	ativitats   u   ïtatsetsantsentsments   aments   otsutsiustrius   atiusu   èsu   ésu   ísu   dís   u   ósitatbilitat   ivitatativitat   u   ïtatetantentient   mentament   isament   otisseuu   ìsseuu   ísseutriuu   íssiuatiuu   ió   u   ció   u   ació   abaescaiscau   ïscaidaudau   ïdaiaariairiaaraierairau   ïraavaixaitzau   íau   aríau   eríau   iríau   ïaiscu   ïscadedidieredre   aseieseasteiiiniesquieixiitziamemarem*   iremu   àremu   íremu   àssemu   éssemiguemu   ïguemavemu   àvemu   ávemu   irìemu   íemu   aríem7   u   iríemassimessimissimu   àssimu   èssimu   éssimu   ïmanabanB   arianaranieraniranu   íanu   aríanH   u   eríanu   iríanenienL   arienirienarenerenirenu   àrenu   ïrenaseniesenassenessenissenu   éssenu   ïssenesquenisquenu   ïsquenavenixeneixen`   u   ïxenu   ïenininind   sinisinf   assinessinissinu   ïssinesquineixinaronieronu   aránu   eránu   iránu   iïnadoidoandoiendoioixoeixoy   u   ïxoitzotzar}   ereixeriradorasabas   adasidasarasierasu   íasu   arías   u   eríasu   iríasidsesidesudesu   ïdesatgesiesaries   iriesaresiresadoresu   ïresasesiesesessesissesu   ïssesquesesques   u   ïsquesavesixeseixesu   ïxesu   ïesabaisaraisieraisu   íaisu   aríais   u   eríaisu   iríaisaseisieseisasteisisteisinissisisis   assisessisissisu   ïssisesquiseixisitzisu   áisu   aréisu   eréisu   iréisamsadosidosamosu   ábamosu   áramosu   iéramosu   íamosu   aríamos   u   eríamosu   iríamosaremoseremosiremosu   ásemosu   iésemosimosasserass   essitsu   àsu   aràs   u   iràsu   arásu   erásu   irásu   arés   u   iïsatitintutu   ïtauerau   ieuineuareuireuu   àreuu   íreuasseuesseueresseu   u   àsseuu   ésseuigueuu   ïgueuu   àveuu   áveuitzeuu   ìeuu   irìeu   u   íeuu   aríeu   u   iríeuassiuissiuu   àssiuu   èssiuu   éssiuu   ïuixeixi	  u   ïxitzu   iàu   aràu   iràu   itzàu   aráu   eráu   iráu   irèu   aréu   eréu   iréu   iïr   r   r   u   ïnr   sisosu   ïseuiuiquN)__name__
__module____qualname____doc__r   r   r   rE   rM   r7   r>   rG   rH   rK   rL   rS   r   r*   r6   r=   rA   rC   r   r   r   r    r      s   ##
 




















	























 
!
"
#
$
%
&
'*








	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
 
  
  
  
  
  
  
  
  
	  

  
  
  
  
  
  
                                   !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  
F  G  H  I  L
	

 !"#
$%&'()*+,-./0123456789:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}
~                 	  
                                               !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~                                     	    
                                                                    
            !







r   c                   @      e Zd ZdS )r   Nr  r  r  r   r   r   r    r         r   c                   @   r  )rJ   Nr  r   r   r   r    rJ     r  rJ   c                   @   r  )rI   Nr  r   r   r   r    rI     r  rI   N)	basestemmerr   amongr   r   BaseExceptionr   rJ   rI   r   r   r   r    <module>   s         