úÎBÚ?ú      Safe-InferredM7Concatenates two filepaths, for example: | | > "ab" <> "c" | "abc" |XFunction composition, but where the inner function's returnvalue | is inside a functor.7Ternary operator: if the predicate function evalues to 5 | , take the second argument; otherwise, the first.  getFileDirectory "a/b/c/d/e.txt"| "abcd!" | | > getFileDirectory "abcd " | "abcd4" | | > getFiledirectory "file.txt" | "."<Takes a list of filepaths, and removes "." and ".." from it.Creates a file at the specified path with the specified contents. | If intermediate directories do not exist, it creates them. _Removes the oldest ancestor from a path component, e.g. | | > removeFirstPathComponent "abc" | "b/c"!`Removes the k oldest ancestors from a path component, e.g. | | > removePathComponents 2 "ab c" | "c""…Gets paths to all files in or in subdirectories of the | specified directory. Returned paths are relative to the | given directory.#If the parameter has a $! as its first character, drop it.%If the parameter has a $ as its last character, drop it.&KDrops elements from the given list until the predicate function | returns 2 (returned list includes element that passes test)'(intended to be used infix)(assumes a is a prefix of b; errors if false !")#%&'(  !"#%&'( !")#%&'(None)024MDiff between two lists. 3 represents the indices at which to delete, and / represents the indices and contents to add.returns (to delete, to add) !diffSequences "abcdefg" "wabxyze"&SeqDiff {dels = [2,3,5,6], adds = [(0,w),(3,x),(4,y),(5,z)]} !diffSequences "abcdefg" "wabxyze"&SeqDiff {dels = [2,3,5,6], adds = [(0,w),(3,x),(4,y),(5,z)]} applySequenceDiff it "abcdefg" "wabxyze"*¡Compute the longest common (potentially noncontiguous) subsequence between two sequences. Element type is fixed because memoization requires a static type.+When sub2 is a (not necessarily contiguous) subsequence of super,, get the index at which each element of sub appears. E.g. "subsequenceIndices "abe" "abcdefg" 0,1,4,When sub2 is a (not necessarily contiguous) subsequence of super*, get the indices at which elements of sub do *not* appear. E.g. %nonSubsequenceIndices "abe" "abcdefg" 2,3,5,6-O(n). indicesN parameter *must* be sorted in increasing order, and indices must all exist *+,-./ *+,-./None)0Basic error typeData type for a line/A data type for differences between directories 9The types and sets of changes possible between two files.?The basic data type for a difference between two files. The 0ü is the "base" file in the base-comp comparison, and is the file to which the patch will be applied. Deletions: a list of indices at which to remove elements. Additions: each line to add comes with the index at which it will eventually reside. 123456      123456None)MO(mn)ÿ0. Compute the difference between the two files (more specifically, the minimal number of changes to make to transform the file residing at the location specified by the first parameter into the second). Throws an exception if either or both of the parameters point to a directory, not a file.CFiles are allowed to not exist at either or both of the parameters.ÿ9Compute the difference between the two directories (more specifically, the minimal number of changes to make to transform the directory residing at the location specified by the first parameter into the second). Throws an exception if either or both of the parameters point to a file, not a directory.jDiff two directories, ignoring some subdirectories. The first `[FilePath]` parameter refers to the first 03 parameter, and same for the second, respectively.O(n)%. Apply a diff to a directory or file upon success; 7 upon failure8       !"#$%&'()*+,-./0123456789:;<=filediff-0.1.0.6Filediff.SequenceFilediff.TypesFilediffFilediff.UtilsSeqDiffdelsadds diffSequencesapplySequenceDiffErrorLineDiff filediffs FileChangeAddModDelbasecompchange diffFilesdiffDirectories!diffDirectoriesWithIgnoredSubdirs applyToFileapplyToDirectory<.>?:ghc-prim GHC.TypesTruegetFileDirectory removeDotDirscreateFileWithContentsremoveFirstPathComponentremovePathComponents!getDirectoryContentsRecursiveSafedropInitialSlashGHC.Real/dropTrailingSlash dropUntilisPrefix dropPrefix"getDirectoryContentsRecursiveSafe'longestCommonSubsequencesubsequenceIndicesnonSubsequenceIndicesremoveAtIndices$fMonoidSeqDiff$fDefaultSeqDiffGHC.IOFilePath $fMonoidDiff$fMemoTableText $fDefaultDiff$fEqDiff$fMonoidFilediff$fMonoidFileChangeFalse