+
    2j                    8    R t ^ RIHt ^ RIt^ RItR.tR R ltR# )a1  Containment check for a source-tree subdirectory.

The project root inside a materialised source (an extracted archive, a
VCS clone, or a local directory) is selected with ``root / subdirectory``.
An absolute path, a ``..`` component, or a Windows drive letter would make
that join land outside the tree.
)annotationsNsubdirectory_escapesc                    V ^8  d   QhRRRR/# )   subdirectorystrreturnbool )formats   "[/home/user/billing-ledger-validation/.venv/lib/python3.14/site-packages/nab_index/subdir.py__annotate__r      s      s t     c                l   V '       g   R# \         P                  \         P                  \         P                  3\        P                  \        P                  \        P                  33 F4  w  rpV! R4      pV! V! W@4      4      p V! WE34      V8g  pT'       g   K3   R# 	  R#   \
         d      R# i ; i)a  Return True if ``subdirectory`` would resolve outside the source tree.

The materialisation join is native, so the value must stay contained
under both separator conventions. ntpath catches Windows escapes such
as drive letters and backslash separators. posixpath catches an escape
a literal backslash hides from ntpath: ``c\d`` is one segment on POSIX
but two under ntpath, which would then absorb a trailing ``..``.
Fz/source-rootT)ntpathnormpathjoin
commonpath	posixpath
ValueError)r   r   r   r   rootresolvedescapess   &      r   r   r      s      
&++v'8'89			Y^^Y-A-AB'"
 'D45	 $!12d:G 7'   		s   B##B32B3)__doc__
__future__r   r   r   __all__r   r
   r   r   <module>r      s"    #  !
"r   