+
    O(i              	       \  a  R$ t*0 t R t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
HtHt ^RIHt ^RIHtHt ]P$                  ! R4      t] ^ k R%R R lltR	 R
 ltR R ltR R ltR R ltR R lt]! ]! 4       4      t] ^k R R lt]! ]! 4       4      t] ^k ]P$                  ! RP=                  ]P>                  ! RPA                  ]4      4      4      ]PB                  4      t"] ^k ]P$                  ! R4      t#] ^k R R lt$R&R R llt%R&R R llt&R R lt'R  R! lt(R" R# lt)R# )'zA
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
N)PurePath)AnyFinalOptional)Platform)PathTypePlatformTypez^[\s]+$c                V    V ^8  d   QhR\         R\        R\        \        ,          RR/# )   textallow_whitespaces	error_msgreturnN)r   boolr   str)formats   "Z/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pathvalidate/_common.py__annotate__r      s6     C C
C'+C@HC	C    c                 6   ^RI HpHp \        V 4      '       g   \	        V \
        4      '       d   R# V'       d'   \        P                  \        V 4      4      '       d   R# \        V 4      '       d   V! VP                  R7      h\        R\        V 4       24      h)   )ErrorReasonValidationErrorN)reasonztext must be a string: actual=)errorr   r   _is_not_null_string
isinstancer   _re_whitespacessearchr   is_null_string	NULL_NAME	TypeErrortype)r   r   r   r   r   s   &&&  r   validate_pathtyper#      sn     44  JtX$>$>_33CI>>d[%:%:;;
4T$ZLA
BBr   c                0    V ^8  d   QhR\         R\        /# r
   namer   )r   r   )r   s   "r   r   r   %   s       c r   c                 H    \        V \        4      '       d   \        V 4      # V # )N)r   r   r   )r&   s   &r   to_strr(   %   s    $!!4yKr   c                0    V ^8  d   QhR\         R\        /# r
   valuer   )r   r   )r   s   "r   r   r   ,   s     
2 
2 
2 
2r   c                 4   \         P                  R ,          pVR8:  d   V P                  R4      '       d   R# MVR8  d   \        P                  ! V 4      # \        P
                  ! V 4      w  r#\        P                  ! V 4      ;'       d    \        V4      ^ 8  # ):Nr
   Nz\\T)   
   )r-      )sysversion_info
startswithntpathisabs
splitdrivelen)r+   ver_infodrive_tails   &   r   is_nt_abspathr:   ,   s{    #H7F## $	W	||E""$$U+LE<<113u:>1r   c                0    V ^8  d   QhR\         R\        /# r*   r   r   )r   s   "r   r   r   9   s      # $ r   c                 l    V f   R#  \        V P                  4       4      ^ 8H  #   \         d     R# i ; i)NTFr6   stripAttributeErrorr+   s   &r   r   r   9   s7    }5;;=!Q&& s   $ 33c                0    V ^8  d   QhR\         R\        /# r*   r<   )r   s   "r   r   r   C   s      s t r   c                 `     \        V P                  4       4      ^ 8  #   \         d     R# i ; i)    Fr>   rA   s   &r   r   r   C   s/    5;;=!A%% s    --c                :    V ^8  d   QhR\         \        ,          /# r
   r   listr   )r   s   "r   r   r   J   s     J Jd3i Jr   c                      \        ^4       U u. uF.  p \        V 4      \        P                  9  g   K#  \        V 4      NK0  	  up # u up i    )rangechrstring	printable)cs    r   _get_unprintable_ascii_charsrQ   J   s5    !#JIJq#a&8H8H*HFCFJIIIs
    AAc                :    V ^8  d   QhR\         \        ,          /# rF   rG   )r   s   "r   r   r   Q   s      DI r   c                      . p \        ^4       FV  p\        V4      pV\        9   g+   V\        P                  \        P
                  ,           9   d   KE  V P                  V4       KX  	  V # rJ   )rL   rM   unprintable_ascii_charsrN   digitsascii_lettersappend)symbol_listirP   s      r   _get_ascii_symbolsrZ   Q   sV    K3ZF''1@T@T0T+T1  r   z[{}] zG(?:\x1B[@-Z\\-_]|[\x80-\x9A\x9C-\x9F]|(?:\x1B\[|\x9B)[0-?]*[ -/]*[@-~])c                (    V ^8  d   QhR\         RR/# )r
   r   r   Nr   )r   s   "r   r   r   i   s     M MC MD Mr   c                 t    ^RI Hp \        P                  \	        V 4      4      pV'       d   V! RV 24      hR# )r   )InvalidCharErrorzunprintable character found: N)r   r_   __RE_UNPRINTABLE_CHARSfindallr(   )r   r_   
match_lists   &  r   validate_unprintable_charrc   i   s4    ''//t=J!>zlKLL r   c                <    V ^8  d   QhR\         R\         R\         /# r
   r   replacement_textr   r]   )r   s   "r   r   r   q   s!     1 13 1# 1s 1r   c                 n     \         P                  W4      #   \        \        3 d    \        R 4      hi ; iztext must be a string)r`   subr!   r@   r   rf   s   &&r   replace_unprintable_charrk   q   s9    1%))*:AA~& 1/001    4c                <    V ^8  d   QhR\         R\         R\         /# re   r]   )r   s   "r   r   r   x   s!     1 1c 1S 1# 1r   c                 n     \         P                  W4      #   \        \        3 d    \        R 4      hi ; irh   )__RE_ANSI_ESCAPEri   r!   r@   rj   s   &&r   replace_ansi_escaperp   x   s9    1##$4;;~& 1/001rl   c                F    V ^8  d   QhR\         \        ,          R\        /# r%   )r   r   r   )r   s   "r   r   r      s      Xl3  r   c                    \        V \        4      '       d   V # V '       g   \        P                  # V P                  4       P	                  4       pVR 8X  d   \        P
                  # VR8X  d$   \        P                  ! 4       P	                  4       pVR9   d   \        P                  # V'       d(   VP                  R4      '       d   \        P                  # VR9   d   \        P                  # \        P                  # )posixautowin)linux)macmacosdarwin)r   r   	UNIVERSALr?   casefoldPOSIXplatformsystemLINUXr2   WINDOWSMACOS)r&   platform_strs   & r   normalize_platformr      s    $!!!!!::<((*Lw~~v(113y ~~//6611~~r   c                F    V ^8  d   QhR\         \        ,          R\        /# )r
   matchr   )rH   r   r   )r   s   "r   r   r      s        $s)    r   c                 b    V  Uu0 uF  p\        V4      kK  	  ppR P                  V4      # u upi )z, )reprjoin)r   r   	uniq_lists   &  r   findall_to_strr      s.    (-.dI.99Y /s   ,c                H    V ^8  d   QhR\         R\         R\        R\         /# )r
   r   encoding	max_bytesr   )r   int)r   s   "r   r   r      s(     0 0s 0c 0c 0c 0r   c                 R    V P                  V4      pVR V pVP                  VR4      # )Nignore)encodedecode)r   r   r   	str_bytess   &&& r   truncate_strr      s/    H%I*9%IHh//r   c                    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   # )r
   r   rT   ascii_symbolsr`   ro   )__conditional_annotations__r   )r   s   "r   r   r      sw        0 / /!Z G F F[| 3 2u 2}@  AF % Gr   )FN)r[   )+r   __doc__r3   r}   rerN   r0   pathlibr   typingr   r   r   _constr   _typesr   r   compiler   r#   r(   r:   r   r   rQ   tuplerT   rZ   r   r   escaper   UNICODEr`   ro   rc   rk   rp   r   r   r   r   )r   s   @r   <module>r      s      	  
  ' '  * J/ /C"
2J "''C'E!F  F /12 2 "


MM"))BGG$;<=>

!   **N  
M116 
0r   