ó
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 e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   i   (   t   BaseStemmer(   t   Amongt   PorterStemmerc           B   sµ  e  Z d  Z 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 ƒ 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 d0 d d. ƒ e d1 d( d2 ƒ e d3 d d2 ƒ e d4 d d. ƒ e d5 d d* ƒ e d6 d d- ƒ e d7 d d# ƒ g Z e d8 d d ƒ e d9 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 dA d 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 dP d ƒ e dQ dR d ƒ e dS d d ƒ g Z	 dT dU dR d g Z
 d dT dU dV d g Z e Z d Z d Z dW „  Z dX „  Z dY „  Z dZ „  Z d[ „  Z d\ „  Z d] „  Z d^ „  Z d_ „  Z d` „  Z da „  Z db „  Z RS(c   s   
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.0.0 - https://snowballstem.org/
    u   siÿÿÿÿi   u   iesi    i   u   ssesi   u   ssu    u   bbu   ddu   ffu   ggu   blu   mmu   nnu   ppu   rru   atu   ttu   izu   edu   eedu   ingu   anciu   enciu   ablii   u   elii   u   allii	   u   ouslii   u   entlii   u   alitiu   bilitii   u   ivitii   u   tionalu   ationali
   i   u   alismu   ationu   izationi   u   izeru   atoru   ivenessu   fulnessu   ousnessu   icateu   ativeu   alizeu   icitiu   icalu   fulu   nessu   icu   anceu   enceu   ableu   ibleu   ateu   iveu   izeu   itiu   alu   ismu   ionu   eru   ousu   antu   entu   menti   u   ementi   u   oui   iA   iÐ   c         C   sX   |  j  t j d d ƒ s t S|  j t j d d ƒ s8 t S|  j  t j d d ƒ sT t St S(   NiY   iy   ia   (   t   out_grouping_bR   t   g_v_WXYt   Falset   in_grouping_bt   g_vt   True(   t   self(    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt
   __r_shortvi   s    c         C   s   |  j  |  j k s t St S(   N(   t   I_p1t   cursorR   R   (   R	   (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_R1s   s    c         C   s   |  j  |  j k s t St S(   N(   t   I_p2R   R   R   (   R	   (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_R2x   s    c         C   s¡   |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ | d k r\ |  j d ƒ s t SnA | d k r~ |  j d ƒ s t Sn | d k r |  j ƒ  s t Sn  t	 S(   Ni    i   u   ssi   u   ii   (
   R   t   kett   find_among_bR   t   a_0R   t   brat
   slice_fromt	   slice_delR   (   R	   t	   among_var(    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_Step_1a}   s    c         C   s2  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ | d k rl |  j ƒ  sV t S|  j d ƒ s.t SnÂ| d k r.|  j	 |  j  } |  j
 t j d d ƒ s¤ t S|  j  d 8_  |  j	 | |  _  |  j ƒ  sÓ t S|  j	 |  j  } |  j t j ƒ } | d k rt S|  j	 | |  _  | d k rO|  j  } |  j |  j  |  j  d ƒ | |  _  q.| d k r«|  j  |  _ |  j  |  j k r}t S|  j  d 8_  |  j  |  _ |  j ƒ  s+t Sq.| d k r.|  j  |  j k rÍt S|  j	 |  j  } |  j ƒ  sít S|  j	 | |  _  |  j  } |  j |  j  |  j  d ƒ | |  _  q.n  t S(	   Ni    i   u   eei   ia   iy   u   ei   (   R   R   R   R   t   a_2R   R   t   _PorterStemmer__r_R1R   t   limitt   go_out_grouping_bR   R   t   a_1t   insertt   limit_backwardR   t   _PorterStemmer__r_shortvR   (   R	   R   t   v_1t   v_2t   ct   v_3(    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_Step_1b™   s\    		c         C   sá   |  j  |  _ ys |  j |  j  } y( |  j d ƒ s= t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rZ n X|  j | |  _  |  j d ƒ s~ t SWn t k
 r’ n X|  j  |  _ |  j t	 j
 d d ƒ s» t S|  j  d 8_  |  j d ƒ sÝ t St S(   Nu   yu   Yia   iy   i   u   i(   R   R   R   t   eq_s_bt   lab1t   lab0R   R   R   R   R   R   R   (   R	   R    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_Step_1cä   s*      c         C   s  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j ƒ  sJ t S| d k rl |  j d ƒ st Sn˜| d k rŽ |  j d ƒ st Snv| d k r° |  j d ƒ st SnT| d k rÒ |  j d	 ƒ st Sn2| d
 k rô |  j d ƒ st Sn| d k r|  j d ƒ st Snî | d k r8|  j d ƒ st SnÌ | d k rZ|  j d ƒ st Snª | d k r||  j d ƒ st Snˆ | d k rž|  j d ƒ st Snf | d k rÀ|  j d ƒ st SnD | d k râ|  j d ƒ st Sn" | d k r|  j d ƒ st Sn  t	 S(   Ni    i   u   tioni   u   encei   u   ancei   u   ablei   u   enti   u   ei   u   izei   u   atei	   u   ali
   u   fuli   u   ousi   u   ivei   u   ble(
   R   R   R   R   t   a_3R   R   R   R   R   (   R	   R   (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt
   __r_Step_2  s^    c         C   s±   |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j ƒ  sJ t S| d k rl |  j d ƒ s­ t SnA | d k rŽ |  j d ƒ s­ t Sn | d k r­ |  j	 ƒ  s­ t Sn  t
 S(   Ni    i   u   ali   u   ici   (   R   R   R   R   t   a_4R   R   R   R   R   R   (   R	   R   (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt
   __r_Step_3Q  s"    c         C   s  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j ƒ  sJ t S| d k ri |  j ƒ  st Sn¦ | d k rys |  j	 |  j  } y( |  j
 d ƒ s¦ t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rÃ n X|  j	 | |  _  |  j
 d ƒ sç t SWn t k
 rû n X|  j ƒ  st Sn  t S(   Ni    i   i   u   su   t(   R   R   R   R   t   a_5R   R   t   _PorterStemmer__r_R2R   R   R%   R&   R'   R   (   R	   R   R    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt
   __r_Step_4p  s6      c         C   s  |  j  |  _ |  j d ƒ s t S|  j  |  _ yÁ |  j |  j  } y% |  j ƒ  sY t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rv n X|  j | |  _  |  j	 ƒ  s— t S|  j |  j  } y  |  j
 ƒ  sÂ t ƒ  ‚ n  t SWn t k
 rÚ n X|  j | |  _  Wn t k
 rÿ n X|  j ƒ  st St S(   Nu   e(   R   R   R%   R   R   R   R.   R&   R'   R   R   t   lab2R   R   (   R	   R    R!   (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_Step_5a™  s8       c         C   sb   |  j  |  _ |  j d ƒ s t S|  j  |  _ |  j ƒ  s; t S|  j d ƒ sN t S|  j ƒ  s^ t St S(   Nu   l(   R   R   R%   R   R   R.   R   R   (   R	   (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   __r_Step_5bÀ  s    c         C   sÔ  t  |  _ |  j } yS |  j |  _ |  j d ƒ s< t ƒ  ‚ n  |  j |  _ |  j d ƒ s[ t  St |  _ Wn t k
 rx n X| |  _ |  j } y@x9t rÉ|  j } yyÑ xÊ t rr|  j } ym |  j	 t
 j d d ƒ sß t ƒ  ‚ n  |  j |  _ |  j d ƒ st ƒ  ‚ n  |  j |  _ | |  _ t ƒ  ‚ Wn t k
 r8n X| |  _ |  j |  j k r`t ƒ  ‚ n  |  j d 7_ q© WWn t k
 r‡n X|  j d ƒ s›t  St |  _ w‘ Wn t k
 r»n X| |  _ Pq‘ WWn t k
 rÞn X| |  _ |  j |  _ |  j |  _ |  j } yè |  j t
 j d d ƒ s0t ƒ  ‚ n  |  j d 7_ |  j t
 j d d ƒ sc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| |  _ |  j |  _ |  j |  _ |  j |  j } |  j ƒ  |  j | |  _ |  j |  j } |  j ƒ  |  j | |  _ |  j |  j } |  j ƒ  |  j | |  _ |  j |  j }	 |  j ƒ  |  j |	 |  _ |  j |  j }
 |  j ƒ  |  j |
 |  _ |  j |  j } |  j ƒ  |  j | |  _ |  j |  j } |  j ƒ  |  j | |  _ |  j |  j } |  j ƒ  |  j | |  _ |  j |  _ |  j } y(|  j s£t ƒ  ‚ n  xt r±|  j } yÛ y­ x¦ t rc|  j } yI |  j |  _ |  j d ƒ s÷t  ƒ  ‚ n  |  j |  _ | |  _ t! ƒ  ‚ Wn t  k
 r)n X| |  _ |  j |  j k rQt" ƒ  ‚ n  |  j d 7_ q¾WWn t! k
 rxn X|  j d ƒ sŒt  Sw¦Wn t" k
 r£n X| |  _ Pq¦WWn t k
 rÆn X| |  _ t S(   Nu   yu   Yia   iy   i   (#   R   t	   B_Y_foundR   R   t   eq_sR'   R   R   R   t   in_groupingR   R   t   lab4t   lab3R   R0   R&   R   R   t   go_out_groupingt   lab5t   go_in_groupingR   t   _PorterStemmer__r_Step_1at   _PorterStemmer__r_Step_1bt   _PorterStemmer__r_Step_1ct   _PorterStemmer__r_Step_2t   _PorterStemmer__r_Step_3t   _PorterStemmer__r_Step_4t   _PorterStemmer__r_Step_5at   _PorterStemmer__r_Step_5bt   lab6t   lab9t   lab8t   lab7(   R	   R    R!   R#   t   v_4t   v_5t   v_6t   v_7t   v_8t   v_9t   v_10t   v_11t   v_12t   v_13t   v_14t   v_15t   v_16(    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   _stemÕ  s
   		 							 	 	 		 		 	







							 	  		 	(   t   __name__t
   __module__t   __doc__R   R   R   R   R)   R+   R-   R   R   R   R3   R   R   R   R   R.   R;   R<   R=   R>   R?   R@   RA   RB   RT   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR      s¨   	
				K		P		)	'	R'   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR'   ‹  s    R&   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR&   Ž  s    R0   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR0   ‘  s    R7   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR7   ”  s    R6   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR6   —  s    R9   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyR9   š  s    RC   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyRC     s    RF   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyRF      s    RE   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyRE   £  s    RD   c           B   s   e  Z RS(    (   RU   RV   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyRD   ¦  s    N(   t   basestemmerR    t   amongR   R   t   BaseExceptionR'   R&   R0   R7   R6   R9   RC   RF   RE   RD   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/porter_stemmer.pyt   <module>   s   ÿ ÿ †