úÎLeHt+      !"#$%&'()*portablejmillikin@gmail.com+,-Parse a strict ., such as those received from  OS libraries, into a .  Check if a  is valid; it must not contain A any illegal characters, and must have a root appropriate to the  current . Split a search path, such as $PATH or  $PYTHONPATH, into  a list of s. /0123456789:1A file path with no root, directory, or filename ;+,-/0123456789:;+,-+,-/0123/0123476556789:;portablejmillikin@gmail.com null p = (p == )Retrieves the  s root. Retrieves the  &s directory. If the path is already a & directory, it is returned unchanged. Retrieves the  s parent directory.  Retrieve a  s filename component.   filename "foo/bar.txt" == "bar.txt"   Retrieve a  s basename component.   basename "foo/bar.txt" == "bar"  !Test whether a path is absolute. !Test whether a path is relative.  Appends two 2s. If the second path is absolute, it is returned  unchanged.  An alias for .  A fold over . 2Find the greatest common prefix between a list of s. Remove "." and ".." directories from a path. 5Note that if any of the elements are symbolic links,  may change " which file the path resolves to.  Since: 0.2 Get a  s last extension, or < if it has no  extensions. Get a  s full extension list. Get whether a  #s last extension is the predicate. $Append an extension to the end of a . 'Append many extensions to the end of a .  An alias for .  Remove a  s last extension. Remove all extensions from a .  Replace a  s last extension. Remove all extensions from a , and replace them with a new  list.  splitExtension p = ( p,  p) splitExtensions p = ( p,  p)=>   portablejmillikin@gmail.com Convert a  into a strict ., suitable for passing  to OS libraries. Attempt to convert a  to human readable text. 5If the path is decoded successfully, the result is a ? containing J the decoded text. Successfully decoded text can be converted back to the  original path using !. /If the path cannot be decoded, the result is a @ containing an J approximation of the original path. If displayed to the user, this value D should be accompanied by some warning that the path has an invalid L encoding. Approximated text cannot be converted back to the original path. This function ignores the user %s locale, and assumes all file paths K are encoded in UTF8. If you need to display file paths with an unusual or  obscure encoding, use  and then decode them manually.  Since: 0.2 ! Convert human readable text into a . This function ignores the user %s locale, and assumes all file paths J are encoded in UTF8. If you need to create file paths with an unusual or 5 obscure encoding, encode them manually and then use .  Since: 0.2 ABCD"ALinux, BSD, OS X, and other UNIX or UNIX-like operating systems. EFGH#Windows and DOS IJK  !"# "# ! !"#portablejmillikin@gmail.com$% Convert a L into a strict ., suitable for passing  to OS libraries. &Parse a strict .-, such as those received from OS libraries,  into a L. 'Attempt to convert a L to human readable text. 5If the path is decoded successfully, the result is a ? containing J the decoded text. Successfully decoded text can be converted back to the  original path using (. /If the path cannot be decoded, the result is a @ containing an J approximation of the original path. If displayed to the user, this value D should be accompanied by some warning that the path has an invalid L encoding. Approximated text cannot be converted back to the original path. This function ignores the user %s locale, and assumes all file paths K are encoded in UTF8. If you need to display file paths with an unusual or  obscure encoding, use % and then decode them manually.  Since: 0.2 ( Convert human readable text into a L. This function ignores the user %s locale, and assumes all file paths J are encoded in UTF8. If you need to create file paths with an unusual or 5 obscure encoding, encode them manually and then use &.  Since: 0.2 ) Check if a L+ is valid; it must not contain any illegal = characters, and must have a root appropriate to the current . *Split a search path, such as $PATH or  $PYTHONPATH, into a list  of Ls. " $%&'()*$%&'()*$%&'()*M      !"#$%&'()$%&*+,-. /0123456789:;<=>?;@A;@BCDEFGHIJKLM;N Osystem-filepath-0.2System.FilePath.RulesSystem.FilePathSystem.FilePath.CurrentOSSystem.FilePath.InternalRules fromBytesvalidsplitSearchPathFilePathemptynullroot directoryparentfilenamebasenameabsoluterelativeappendconcat commonPrefixcollapse extension extensions hasExtension addExtension addExtensions<.> dropExtensiondropExtensionsreplaceExtensionreplaceExtensionssplitExtensionsplitExtensionstoBytestoTextfromTextposixwindows currentOS rulesName toByteChunksbytestring-0.9.1.10Data.ByteString.Internal ByteStringpathRootpathDirectories pathBasenamepathExtensionsRootRootWindowsCurrentVolumeRootWindowsVolume RootPosix ExtensionBasename Directory filenameBytesbase Data.MaybeNothingsafeInitsafeHead Data.EitherRightLeft rootBytesbyteDirectories upperBytesmaybeDecodeUtf8posixToByteChunksposixFromBytes posixValidposixSplitSearchwinToByteChunks winFromByteswinValidGHC.IO