ó
ed›]c           @   sê   d  d l  m Z d  d l m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   i   (   t   BaseStemmer(   t   Amongt   ItalianStemmerc        Z   B   sÈ  e  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 ƒ g Z 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 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 d d ƒ e d1 d d ƒ e d2 d d ƒ e d3 d d ƒ e d4 d d ƒ e d5 d6 d ƒ e d7 d6 d ƒ e d8 d6 d ƒ e d9 d6 d ƒ e d: d6 d ƒ g% Z 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 dA d d ƒ e dB d d ƒ e dC d d ƒ g Z e d@ d d ƒ e dA d d ƒ e dC d d ƒ g Z	 e dD d d ƒ e dE d d ƒ e dF d d ƒ e dG d d ƒ e dH d dI ƒ e dJ d d ƒ e dK d d ƒ e dL d d ƒ e dM d d ƒ e dN d d ƒ e dO d d ƒ e dP d d ƒ e dQ d d ƒ e dR d d ƒ e dS d d
 ƒ e dT d d ƒ e dU d d
 ƒ e dV d d ƒ e dW d d ƒ e dX d d ƒ e dY dZ d ƒ e d[ d d ƒ e d\ d dI ƒ e d] d d ƒ e d^ d d ƒ e d_ d d ƒ e d` da d ƒ e db d d ƒ e dc d d ƒ e dd d d ƒ e de d d ƒ e df d d ƒ e dg d d
 ƒ e dh d d ƒ e di d d
 ƒ e dj d d ƒ e dk d d ƒ e dl d d ƒ e dm d d ƒ e dn d d ƒ e do d dI ƒ e dp d d ƒ e dq d d ƒ e dr d d ƒ e ds d d ƒ e dt d d ƒ e du d dI ƒ e dv d dw ƒ e dx d d ƒ e dy d d ƒ e dz d d ƒ g3 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 dH 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 do 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Ç d d ƒ e dÈ d d ƒ e dÉ d d ƒ e dÊ d d ƒ e du 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 ƒ gW Z dÏ d½ dŒ d d d d d d d d d d d d dÐ dÐ dw d
 d g Z dÏ d½ d d d d d d d d d d d d d dÐ dÐ dw d
 g Z dÏ g 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 dÛ „  Z RS(Ü   s   
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.0.0 - https://snowballstem.org/
    u    iÿÿÿÿi   u   qui    i   u   Ã¡i   u   Ã©i   u   Ã­i   u   Ã³i   u   Ãºi   u   Iu   Uu   lau   celau   glielau   melau   telau   velau   leu   celeu   glieleu   meleu   teleu   veleu   neu   cenei   u   glieneu   meneu   seneu   teneu   veneu   ciu   liu   celii   u   glieliu   meliu   teliu   veliu   gliu   miu   siu   tiu   viu   lou   celoi   u   glielou   melou   telou   velou   andou   endou   aru   eru   iru   icu   abilu   osu   ivu   icau   logiau   osau   istau   ivai	   u   anzau   enzau   iceu   atriceu   icheu   logieu   abileu   ibileu   usioneu   azioneu   uzioneu   atoreu   oseu   anteu   menteu   amentei   u   isteu   iveu   anzeu   enzeu   iciu   atricii   u   ichiu   abiliu   ibiliu   ismiu   usioniu   azioniu   uzioniu   atoriu   osiu   antiu   amentiu   imentiu   istiu   iviu   icou   ismou   osou   amentou   imentou   ivou   itÃ i   u   istÃ u   istÃ¨u   istÃ¬u   iscau   endau   atau   itau   utau   avau   evau   erebbeu   irebbeu   isceu   endeu   areu   ereu   ireu   asseu   ateu   avatei   u   evateu   ivateu   eteu   ereteu   ireteu   iteu   eresteu   iresteu   uteu   eraiu   iraiu   isciu   endiu   ereiu   ireiu   assiu   atiu   itiu   erestiu   irestiu   utiu   aviu   eviu   iscou   Yamou   iamou   avamou   evamou   ivamou   eremou   iremou   assimou   ammou   emmou   eremmoi6   u   iremmou   immou   anou   iscanoi:   u   avanou   evanou   ivanou   erannou   irannou   onou   isconoiA   u   aronou   eronou   ironou   erebberou   irebberou   asserou   esserou   isserou   atou   itou   utou   avou   evou   erÃ u   irÃ u   erÃ²u   irÃ²i   i€   c         C   s›  |  j  } x‚t r|  j  } yQ|  j  |  _ |  j t j ƒ } | d k rT t ƒ  ‚ n  |  j  |  _ | d k r‚ |  j d ƒ sht	 Snæ | d k r¤ |  j d ƒ sht	 SnÄ | d k rÆ |  j d ƒ sht	 Sn¢ | d k rè |  j d	 ƒ sht	 Sn€ | d
 k r
|  j d ƒ sht	 Sn^ | d k r,|  j d ƒ sht	 Sn< | d k rh|  j  |  j
 k rVt ƒ  ‚ n  |  j  d 7_  n  w Wn t k
 rn X| |  _  Pq W| |  _  xýt r–|  j  } yÌy±xªt r[|  j  } yM|  j t j d d ƒ sèt ƒ  ‚ n  |  j  |  _ yó |  j  } yk |  j d ƒ st ƒ  ‚ n  |  j  |  _ |  j t j d d ƒ sNt ƒ  ‚ n  |  j d ƒ sat	 St ƒ  ‚ Wn t k
 r~n X| |  _  |  j d ƒ s£t ƒ  ‚ n  |  j  |  _ |  j t j d d ƒ sÓt ƒ  ‚ n  |  j d ƒ sæt	 SWn t k
 rún X| |  _  t ƒ  ‚ Wn t k
 r!n X| |  _  |  j  |  j
 k rIt ƒ  ‚ n  |  j  d 7_  q²WWn t k
 rpn XwšWn t k
 rˆn X| |  _  PqšWt S(   Ni    i   u   Ã i   u   Ã¨i   u   Ã¬i   u   Ã²i   u   Ã¹i   u   qUi   ia   iù   u   uu   Uu   iu   I(   t   cursort   Truet   brat
   find_amongR   t   a_0t   lab0t   kett
   slice_fromt   Falset   limitt   in_groupingt   g_vt   lab3t   eq_st   lab5t   lab4t   lab2t   lab1(   t   selft   v_1t   v_2t	   among_vart   v_3t   v_4t   v_5(    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_preludeô   s¬    			 							 	 	 	  	c         C   së  |  j  |  _ |  j  |  _ |  j  |  _ |  j } yyk|  j } y*|  j t j d d ƒ sc t ƒ  ‚ n  yå |  j } yd |  j	 t j d d ƒ s– t
 ƒ  ‚ n  |  j t j d d ƒ sº t
 ƒ  ‚ n  |  j d 7_ t ƒ  ‚ Wn t
 k
 ræ n X| |  _ |  j t j d d ƒ st ƒ  ‚ n  |  j t j d d ƒ s8t ƒ  ‚ n  |  j d 7_ Wn t k
 r[n Xt ƒ  ‚ Wn t k
 ryn X| |  _ |  j	 t j d d ƒ s§t ƒ  ‚ n  yß |  j } yd |  j	 t j d d ƒ sÚt ƒ  ‚ n  |  j t j d d ƒ sþt ƒ  ‚ n  |  j d 7_ t ƒ  ‚ Wn t k
 r*n X| |  _ |  j t j d d ƒ sXt ƒ  ‚ n  |  j |  j  k rvt ƒ  ‚ n  |  j d 7_ Wn t k
 r™n XWn t k
 r®n X|  j |  _ Wn t k
 rÏn X| |  _ |  j } yè |  j t j d d ƒ s	t ƒ  ‚ n  |  j d 7_ |  j t j d d ƒ s<t ƒ  ‚ n  |  j d 7_ |  j |  _ |  j t j d d ƒ s{t ƒ  ‚ n  |  j d 7_ |  j t j d d ƒ s®t ƒ  ‚ n  |  j d 7_ |  j |  _ Wn t k
 rÝn X| |  _ t S(   Nia   iù   i   (   R   t   I_pVt   I_p1t   I_p2R   R   R   R   R   t   out_groupingR   t   go_out_groupingR   t   go_in_groupingR   R   t   lab6R   t   lab7R   (   R   R   R   R   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_mark_regionsh  s     			 	  		 	   		 	c         C   s  xú t  rü |  j } yÉ |  j |  _ |  j t j ƒ } | d k rK t ƒ  ‚ n  |  j |  _ | d k ry |  j d ƒ s× t	 Sn^ | d k r› |  j d ƒ s× t	 Sn< | d k r× |  j |  j
 k rÅ t ƒ  ‚ n  |  j d 7_ n  w Wn t k
 rî n X| |  _ Pq Wt  S(   Ni    i   u   ii   u   ui   (   R   R   R   R   R   t   a_1R   R	   R
   R   R   (   R   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_postludeË  s0    		 	c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_RVï  s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_R1ô  s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_R2ù  s    c         C   s«   |  j  |  _ |  j t j ƒ d k r( t S|  j  |  _ |  j t j ƒ } | d k rV t S|  j ƒ  sf t S| d k r… |  j	 ƒ  s§ t Sn" | d k r§ |  j
 d ƒ s§ t Sn  t S(   Ni    i   i   u   e(   R   R	   t   find_among_bR   t   a_2R   R   t   a_3t   _ItalianStemmer__r_RVt	   slice_delR
   R   (   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_attached_pronounþ  s     c         C   s—  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ | d k ri |  j ƒ  sV t S|  j ƒ  s“t Sn*| d k r;|  j ƒ  s… t S|  j ƒ  s• t S|  j	 |  j  } y |  j  |  _ |  j
 d ƒ sß |  j	 | |  _  t ƒ  ‚ n  |  j  |  _ |  j ƒ  s|  j	 | |  _  t ƒ  ‚ n  |  j ƒ  s#t SWq“t k
 r7q“XnX| d k rm|  j ƒ  sWt S|  j d ƒ s“t Sn&| d k rŸ|  j ƒ  s‰t S|  j d ƒ s“t Snô| d	 k rÑ|  j ƒ  s»t S|  j d
 ƒ s“t SnÂ| d k r |  j ƒ  sít S|  j ƒ  s“t Sn“| d k rk|  j ƒ  st S|  j ƒ  s,t S|  j	 |  j  } y|  j  |  _ |  j t j ƒ } | d k r…|  j	 | |  _  t ƒ  ‚ n  |  j  |  _ |  j ƒ  s¹|  j	 | |  _  t ƒ  ‚ n  |  j ƒ  sÉt S| d k rS|  j  |  _ |  j
 d ƒ s|  j	 | |  _  t ƒ  ‚ n  |  j  |  _ |  j ƒ  s@|  j	 | |  _  t ƒ  ‚ n  |  j ƒ  sSt Sn  Wq“t k
 rgq“Xn(| d k rF|  j ƒ  s‡t S|  j ƒ  s—t S|  j	 |  j  } yˆ |  j  |  _ |  j t j ƒ d k rê|  j	 | |  _  t ƒ  ‚ n  |  j  |  _ |  j ƒ  s|  j	 | |  _  t ƒ  ‚ n  |  j ƒ  s.t SWq“t k
 rBq“XnM| d k r“|  j ƒ  sbt S|  j ƒ  srt S|  j	 |  j  } yú |  j  |  _ |  j
 d ƒ s¼|  j	 | |  _  t ƒ  ‚ n  |  j  |  _ |  j ƒ  sð|  j	 | |  _  t ƒ  ‚ n  |  j ƒ  s t S|  j  |  _ |  j
 d ƒ s7|  j	 | |  _  t ƒ  ‚ n  |  j  |  _ |  j ƒ  sk|  j	 | |  _  t ƒ  ‚ n  |  j ƒ  s{t SWq“t k
 rq“Xn  t S(   Ni    i   i   u   ici   u   logi   u   ui   u   entei   i   u   ati   i	   (   R   R	   R+   R   t   a_6R   R   t   _ItalianStemmer__r_R2R/   R   t   eq_s_bR   R
   R.   t   _ItalianStemmer__r_R1t   a_4R   t   a_5R   R   R   (   R   R   R   R   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_standard_suffix  s       c         C   s…   |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j ƒ d k r\ | |  _ t S|  j  |  _ |  j	 ƒ  sx t S| |  _ t
 S(   Ni    (   R   R   R   t   limit_backwardR	   R+   R   t   a_7R   R/   R   (   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_verb_suffixî  s    			c         C   s  |  j  |  j } y|  j |  _ |  j t j d d ƒ sS |  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j ƒ  s‡ |  j  | |  _ t ƒ  ‚ n  |  j	 ƒ  s— t
 S|  j |  _ |  j d ƒ sÎ |  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j ƒ  s|  j  | |  _ t ƒ  ‚ n  |  j	 ƒ  st
 SWn t k
 r&n X|  j  |  j } y³ |  j |  _ |  j d ƒ sq|  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j t j d d ƒ s±|  j  | |  _ t ƒ  ‚ n  |  j ƒ  sÙ|  j  | |  _ t ƒ  ‚ n  |  j	 ƒ  sét
 SWn t k
 rýn Xt S(   Nia   iò   u   iu   hic   ig   (   R   R   R	   t   in_grouping_bR   t   g_AEIOR   R   R.   R/   R   R3   R   t   g_CGR   (   R   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   __r_vowel_suffix  sT      c         C   s  |  j  } |  j ƒ  | |  _  |  j ƒ  |  j  |  _ |  j |  _  |  j |  j  } |  j ƒ  |  j | |  _  |  j |  j  } y yu |  j |  j  } y% |  j ƒ  s© t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rÆ n X|  j | |  _  |  j	 ƒ  sï t
 ƒ  ‚ n  Wn t k
 rn XWn t
 k
 rn X|  j | |  _  |  j |  j  } |  j ƒ  |  j | |  _  |  j |  _  |  j  } |  j ƒ  | |  _  t S(   N(   R   t   _ItalianStemmer__r_preludet   _ItalianStemmer__r_mark_regionsR8   R   t#   _ItalianStemmer__r_attached_pronount"   _ItalianStemmer__r_standard_suffixR   R   t   _ItalianStemmer__r_verb_suffixR   t   _ItalianStemmer__r_vowel_suffixt   _ItalianStemmer__r_postludeR   (   R   R   R   R   R   t   v_6t   v_7(    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   _stemE  sF    	
	

   
	
	(   t   __name__t
   __module__t   __doc__R   R   R&   R,   R-   R5   R6   R1   R9   R   R<   R=   R   R   R   R?   R@   RE   R.   R4   R2   RA   RB   RC   RD   RH   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR      s®  B?		t	c	$					Ò		@R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR   z  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR   }  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR   €  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR   ƒ  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR   †  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR   ‰  s    R#   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR#   Œ  s    R$   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyR$     s    N(   t   basestemmerR    t   amongR   R   t   BaseExceptionR   R   R   R   R   R   R#   R$   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/italian_stemmer.pyt   <module>   s   ÿ ÿ ÿ v