!32     None2 file-embed(Embed a single file in your source code. oimport qualified Data.ByteString myFile :: Data.ByteString.ByteString myFile = $(embedFile "dirName/fileName") file-embedWEmbed a single existing file in your source code out of list a list of paths supplied. import qualified Data.ByteString myFile :: Data.ByteString.ByteString myFile = $(embedOneFileOf [ "dirName/fileName", "src/dirName/fileName" ]) file-embed2Embed a directory recursively in your source code. qimport qualified Data.ByteString myDir :: [(FilePath, Data.ByteString.ByteString)] myDir = $(embedDir "dirName")  file-embed:Embed a directory listing recursively in your source code. <myFiles :: [FilePath] myFiles = $(embedDirListing "dirName") file-embed%Get a directory tree in the IO monad.This is the workhorse of  file-embed(Embed a single file in your source code. \import Data.String myFile :: IsString a => a myFile = $(embedStringFile "dirName/fileName") Since 0.0.9 file-embed^Embed a single existing string file in your source code out of list a list of paths supplied. Since 0.0.9  file-embedeAllocate the given number of bytes in the generate executable. That space can be filled up with the   and  functions.  file-embedLike  j, but takes a postfix for the magic string. In order for this to work, the same postfix must be used by   / /. This allows an executable to have multiple  ByteString4s injected into it, without encountering collisions. Since 0.0.8  file-embedInject some raw data inside a  ByteString0 containing empty, dummy space (allocated with  dummySpace). Typically, the original  ByteString, is an executable read from the filesystem.  file-embedLike  +, but takes a postfix for the magic string. Since 0.0.8 file-embedSame as  , but instead of performing the injecting in memory, read the contents from the filesystem and write back to a different file on the filesystem. file-embedLike +, but takes a postfix for the magic string. Since 0.0.8  file-embedLTake a relative file path and attach it to the root of the current project.The idea here is that, when building with Stack, the build will always be executed with a current working directory of the root of the project (where your .cabal file is located). However, if you load up multiple projects with  stack ghci7, the working directory may be something else entirely.This function looks at the source location of the Haskell file calling it, finds the first parent directory with a .cabal file, and uses that as the root directory for fixing the relative path. 5$(makeRelativeToProject "data/foo.txt" >>= embedFile)  file-embed bs to inject file-embedoriginal BS containing dummy file-embed7new BS, or Nothing if there is insufficient dummy space  file-embedpostfix of magic string file-embed bs to inject file-embedoriginal BS containing dummy file-embed7new BS, or Nothing if there is insufficient dummy space file-embed bs to inject file-embed template file file-embed output file file-embedpostfix of magic string file-embed bs to inject file-embed template file file-embed output file         *file-embed-0.0.11.2-3jOmZboyLwT9kkrPWOtBO7Data.FileEmbed embedFileembedOneFileOfembedDirembedDirListinggetDirbsToExp stringToBsembedStringFileembedOneStringFileOfstrToExp dummySpacedummySpaceWithinject injectWith injectFileinjectFileWithmakeRelativeToProject