
    g                     L    d Z ddlmZ ddlmZ dee   dee   fdZdedefdZy	)
z!Utilities for working with paths.    )Sequence)suppresssegmentsreturnc                     g }| D ]G  }|dk(  r)t        t              5  |j                          ddd       1|dk7  s7|j                  |       I | r| d   dv r|j                  d       |S # 1 sw Y   oxY w)z1Drop '.' and '..' from a sequence of str segments..N.)r	   r    )r   
IndexErrorpopappend)r   resolved_pathsegs      ?/var/www/openai/venv/lib/python3.12/site-packages/yarl/_path.pynormalize_path_segmentsr      s|      "M$; *%!!# &%CZ  %  HRLK/ 	R  &%s   A++A4	pathc                     d}| r| d   dk(  rd}| dd  } | j                  d      }|dj                  t        |            z   S )Nr   r   /   )splitjoinr   )r   prefixr   s      r   normalize_pathr      sM    FQ3 ABxzz#HCHH4X>???    N)	__doc__collections.abcr   
contextlibr   strlistr   r    r   r   <module>r"      s?    ' $ hsm S	 0
@ 
@ 
@r   