úÎ+ )K    None True if the given Word8 is an end of line character. True if the given Word8 is an equal sign.+Skip an equal sign and any space around it.Skip all whitespace.5Skip all characters up to and including the next EOL.    Safe-InferredPlaylist formats.M3U and M3U8. http://en.wikipedia.org/wiki/M3U .http://en.wikipedia.org/wiki/PLS_(file_format) A list of s.%A single music file or streaming URL.%URL for a file or streaming resource.Optional title. Safe-InferredNone.A parser that will process an entire playlist.~A pls header will at least contain the "[playlist]" bit but some files also include the lines you'd expect in the footer too.)Parse a single track. Tracks begin with FileNR where N is a digit. They are followed by an optional title and optional length.)Skip any line that isn't part of a track.Parser for the FileN  line that contains the track number and URL for the track. The result is a pair where the first member is the track number and the second member is the URL.6Parser for the title line with the given track number. Safe-InferredNone#Parser for a complete M3U playlist.(Parser for a single track in a M3U file. Parser for URL or file name in a M3U file. The URL is the entire line so this parser extracts the entire line and decodes it.!ÿFComment parser with a twist. In the extended M3U format metadata for a track can be placed in a comment that appears just before the URL. This parser succeeds if the current line is a comment, and always skips over the entire comment. If the comment represents a track title then that information will be returned in a Just(. If it's just a regular comment then Nothing is returned. ! !NoneParse a playlist from a  ByteStringC. Parsing may fail in which case an error message is returned in Left. ‰content <- BS.getContents case parsePlaylist M3U content of Left err -> fail $ "failed to parse playlist: " ++ err Right x -> return x Generate a lazy  ByteStringK containing playlist data from the given playlist and in the given format. -BL.putStr $ generatePlaylist M3U somePlaylist ;Try to figure out a file's format from it's file extension.fileNameToFormat "foo.m3u"Just M3UfileNameToFormat "foo.txt"Nothing ŽGiven a file name that does not have a file extension, return a file name with the appropriate extension included based on the given format.appendExtension M3U "foo" "foo.m3u"    "       !"#playlists-0.3.0.0 Text.Playlist!Text.Playlist.Internal.AttoparsecText.Playlist.TypesText.Playlist.PLS.WriterText.Playlist.PLS.ReaderText.Playlist.M3U.WriterText.Playlist.M3U.ReaderFormatM3UPLSPlaylistTracktrackURL trackTitle parsePlaylistgeneratePlaylistfileNameToFormatappendExtensionisEOLisEqskipEq skipSpaceskipLine writePlaylist writeTrack writeFileN writeTitle parseHeader parseTrackskipUnusedLine parseFileN parseTitleparseURLcommentOrTitle