
    Be              	           d Z ddlZddlZddlmZmZ ddlmZmZm	Z	  ej                  e      Z ej                  d      ZdedefdZd	ed
edee	eef      fdZdededefdZdedefdZy)zGeneral shared utilities.    N)teezip_longest)AnyIterableTuplez[\W_]+stringreturnc                 $    | j                          S )z5Return True iff the string contains only whitespaces.)stripr   s    0lib/python3.12/site-packages/pydocstyle/utils.pyis_blankr      s    ||~    iterabledefault_valuec                 R    t        |       \  }}t        ||      }t        |||      S )ztReturn pairs of items from `iterable`.

    pairwise([1, 2, 3], default_value=None) -> (1, 2) (2, 3), (3, None)
    )	fillvalue)r   nextr   )r   r   ab_s        r   pairwiser      s,     x=DAqQAq!}55r   r   r   c                     t        t        | |            D ]  \  }\  }}||k7  s|c S  t        t        |       t        |            S )ztReturn the length of the longest common prefix of a and b.

    >>> common_prefix_length('abcd', 'abce')
    3

    )	enumeratezipminlen)r   r   commoncacbs        r   common_prefix_lengthr!       sJ     &c!Qi0 R8M s1vs1vr   c                 .    t         j                  d|       S )z2Strip string from any non-alphanumeric characters. )NON_ALPHANUMERIC_STRIP_REsubr   s    r   strip_non_alphanumericr&   -   s    $((V44r   )__doc__loggingre	itertoolsr   r   typingr   r   r   	getLogger__name__logcompiler$   strboolr   r   intr!   r&    r   r   <module>r4      s      	 & ' ' g! 'BJJy1 S T 

6
6
6 eCHo
6
C 
C 
C 
53 53 5r   