
    Ri                          G d  de       Zy)c                       e 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d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)BaseStemmerc                 &    | j                  d       y N )set_currentselfs    S/home/agent/.friday_env/lib/python3.12/site-packages/snowballstemmer/basestemmer.py__init__zBaseStemmer.__init__   s        c                     || _         d| _        t        | j                         | _        d| _        | j                  | _        | j                  | _        y)z.
        Set the self.current string.
            N)currentcursorlenlimitlimit_backwardbraket)r	   values     r
   r   zBaseStemmer.set_current   s@     &
;;::r   c                     | j                   S )z.
        Get the self.current string.
        )r   r   s    r
   get_currentzBaseStemmer.get_current   s     ||r   c                     |j                   | _         |j                  | _        |j                  | _        |j                  | _        |j                  | _        |j
                  | _        y N)r   r   r   r   r   r   )r	   others     r
   	copy_fromzBaseStemmer.copy_from   sG     % % %
 % 4 4 %		 %		r   c                     | j                   | j                  k\  ry| j                  | j                      |vry| xj                   dz  c_         yNF   Tr   r   r   r	   ss     r
   in_groupingzBaseStemmer.in_grouping   s>    ;;$**$<<$A-qr   c                     | j                   | j                  k  rK| j                  | j                      |vry| xj                   dz  c_         | j                   | j                  k  rKyNTr   Fr    r!   s     r
   go_in_groupingzBaseStemmer.go_in_grouping&   sO    kkDJJ&||DKK(1KK1K kkDJJ& r   c                     | j                   | j                  k  ry| j                  | j                   dz
     |vry| xj                   dz  c_         yr   r   r   r   r!   s     r
   in_grouping_bzBaseStemmer.in_grouping_b-   sD    ;;$---<<a(1qr   c                     | j                   | j                  kD  rN| j                  | j                   dz
     |vry| xj                   dz  c_         | j                   | j                  kD  rNyNr   TFr(   r!   s     r
   go_in_grouping_bzBaseStemmer.go_in_grouping_b5   sW    kkD///||DKK!O,A5KK1K kkD/// r   c                     | j                   | j                  k\  ry| j                  | j                      |vr| xj                   dz  c_         yyr   r    r!   s     r
   out_groupingzBaseStemmer.out_grouping<   s>    ;;$**$<<$A-KK1Kr   c                     | j                   | j                  k  rK| j                  | j                      |v ry| xj                   dz  c_         | j                   | j                  k  rKyr%   r    r!   s     r
   go_out_groupingzBaseStemmer.go_out_groupingD   sO    kkDJJ&||DKK(A-KK1K kkDJJ& r   c                     | j                   | j                  k  ry| j                  | j                   dz
     |vr| xj                   dz  c_         yyr   r(   r!   s     r
   out_grouping_bzBaseStemmer.out_grouping_bK   sD    ;;$---<<a(1KK1Kr   c                     | j                   | j                  kD  rN| j                  | j                   dz
     |v ry| xj                   dz  c_         | j                   | j                  kD  rNyr+   r(   r!   s     r
   go_out_grouping_bzBaseStemmer.go_out_grouping_bS   sW    kkD///||DKK!O,1KK1K kkD/// r   c                     | j                   | j                  z
  t        |      k  ry| j                  | j                  | j                  t        |      z    |k7  ry| xj                  t        |      z  c_        yNFT)r   r   r   r   r!   s     r
   eq_szBaseStemmer.eq_sZ   sZ    ::#c!f,<<DKK#a&$89Q>s1vr   c                     | j                   | j                  z
  t        |      k  ry| j                  | j                   t        |      z
  | j                    |k7  ry| xj                   t        |      z  c_         yr6   )r   r   r   r   r!   s     r
   eq_s_bzBaseStemmer.eq_s_bb   s\    ;;,,,s1v5<<c!f,T[[9Q>s1vr   c                 
   d}t        |      }| j                  }| j                  }d}d}d}	 |||z
  dz	  z   }	d}
t        ||      }||	   }t	        |t        |j
                              D ]N  }||z   |k(  rd}
 nBt        | j                  ||z            t        |j
                  |         z
  }
|
dk7  r n|dz  }P |
dk  r|	}|}n|	}|}||z
  dk  r|dkD  rn||k(  rn|rnd}	 ||   }|t        |j
                        k\  rq|t        |j
                        z   | _        |j                  |j                  S |j                  |       }|t        |j
                        z   | _        |r|j                  S |j                  }|dk  ry)Nr   FTr   )r   r   r   minranger"   ordr   methodresultsubstring_i)r	   vijclcommon_icommon_jfirst_key_inspectedkdiffcommonwi2ress                  r
   
find_amongzBaseStemmer.find_amongj   s   FKKJJ#a!e\"AD8,F!AFCH- v:?D4<<F
34s133r7|C19! ax!!1uzq56 '&*#; < !A3qss8##acc(l88#88Ohhtn#acc(l88OA1u r   c                    d}t        |      }| j                  }| j                  }d}d}d}	 |||z
  dz	  z   }	d}
t        ||      }||	   }t	        t        |j
                        dz
  |z
  dd      D ]Q  }||z
  |k(  rd}
 nEt        | j                  |dz
  |z
           t        |j
                  |         z
  }
|
dk7  r n|dz  }S |
dk  r|	}|}n|	}|}||z
  dk  r|dkD  rn||k(  rn|rnd}	 ||   }|t        |j
                        k\  rq|t        |j
                        z
  | _        |j                  |j                  S |j                  |       }|t        |j
                        z
  | _        |r|j                  S |j                  }|dk  ry)zO
        find_among_b is for backwards processing. Same comments apply
        r   FTr   r;   )r   r   r   r<   r=   r"   r>   r   r?   r@   rA   )r	   rB   rC   rD   rE   lbrG   rH   rI   rJ   rK   rL   rM   rN   rO   s                  r
   find_among_bzBaseStemmer.find_among_b   s    FKK  #a!e\"AD8,F!ACHqL612r: v:#D4<<A783qss2w<G19! ax!!1uzq56&&*#5 6 !A3qss8##acc(l88#88Ohhtn#acc(l88OA1u r   c                    t        |      ||z
  z
  }| j                  d| |z   | j                  |d z   | _        | xj                  |z  c_        | j                  |k\  r| xj                  |z  c_        |S | j                  |kD  r|| _        |S )z
        to replace chars between c_bra and c_ket in self.current by the
        chars in s.

        @type c_bra int
        @type c_ket int
        @type s: string
        r   N)r   r   r   r   r	   c_brac_ketr"   
adjustments        r
   	replace_szBaseStemmer.replace_s   s     Vuu}-
||Ae,q04<<3GG

j 
;;%KK:%K  [[5 DKr   c                     | j                   dk  sT| j                   | j                  kD  s;| j                  | j                  kD  s"| j                  t        | j                        kD  ryy)Nr   FT)r   r   r   r   r   r   s    r
   slice_checkzBaseStemmer.slice_check   sI    88a<488dhh.$((TZZ2G4::X[\`\h\hXiKir   c                 |    d}| j                         r)| j                  | j                  | j                  |       d}|S )z 
        @type s string
        FT)r[   rY   r   r   )r	   r"   r@   s      r
   
slice_fromzBaseStemmer.slice_from   s7     NN488TXXq1Fr   c                 $    | j                  d      S r   )r]   r   s    r
   	slice_delzBaseStemmer.slice_del   s    r""r   c                     | j                  |||      }|| j                  k  r| xj                  |z  c_        || j                  k  r| xj                  |z  c_        yy)zQ
        @type c_bra int
        @type c_ket int
        @type s: string
        N)rY   r   r   rU   s        r
   insertzBaseStemmer.insert   sO     ^^E5!4
DHHHH
"HDHHHH
"H r   c                 p    d}| j                         r#| j                  | j                  | j                   }|S )z/
        Return the slice as a string.
        r   )r[   r   r   r   )r	   r@   s     r
   slice_tozBaseStemmer.slice_to  s2     \\$((4884Fr   c                 4    | j                   d| j                   S )z<
        Return the current string up to the limit.
        r   )r   r   r   s    r
   	assign_tozBaseStemmer.assign_to  s     ||Adjj))r   c                 d    | j                  |       | j                          | j                         S r   )r   _stemr   )r	   words     r
   stemWordzBaseStemmer.stemWord  s(    

!!r   c                 J    |D cg c]  }| j                  |       c}S c c}w r   )ri   )r	   wordsrh   s      r
   	stemWordszBaseStemmer.stemWords   s    056d#666s    N)__name__
__module____qualname__r   r   r   r   r#   r&   r)   r,   r.   r0   r2   r4   r7   r9   rP   rS   rY   r[   r]   r_   ra   rc   re   ri   rl    r   r
   r   r      s    	*7r7r$
#
#*"
7r   r   N)objectr   rp   r   r
   <module>rr      s   `7& `7r   