a0bi pSSKrSSKrSSKJr \\\R 4rSrS\S\S\4Sjr S\S\4S jr g) N)Unioncl[RRU5n[R"USS9 g)z1Ensure that the parent directory of `path` existsT)exist_okN)ospathdirnamemakedirs)rrs ډ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/_path.pyensure_directoryr s"ggood#GKK$'p1p2returnc0[U5[U5:H$)aYDiffers from os.path.samefile because it does not require paths to exist. Purely string based (no comparison between i-nodes). >>> same_path("a/b", "./a/b") True >>> same_path("a/b", "a/./b") True >>> same_path("a/b", "././a/b") True >>> same_path("a/b", "./a/b/c/..") True >>> same_path("a/b", "../a/b/c") False >>> same_path("a", "a/b") False )normpath)r rs r same_pathrs B<8B< ''r filenamec[RS:Xa[RR U5OUn[RR [RR [RRU555$)z2Normalize a file/dir name for comparison purposes.cygwin)sysplatformrrabspathnormcaserealpathr)rfiles r rr!sV), (@277??8 $hD 77  BGG,,RWW-=-=d-CD EEr ) rrtypingrstrPathLike_Pathr boolrrr r r"sV  c2;;( (%(U(t(&FuFFr