!J7      SafembugConvert  value into arbitrary ! instance, mapping Nothing into .  !"#$% Safe%`&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe_ |mbugoCache file is stale if is does not exist or if its modification time is more than 15 minutes from now in past.mbug$Perform IO action labeled with some & value, if no actions with same label were executed for last 15 minutes; return path to file, containing cached value and value itself.mbugSame as *, but ignore information about cache file.Safe mbug@Brief information about bug, that is extracted from request pagembug bug number.mbug+bug severity (FIXME: should be enumeration)mbug package to which bug assigned tombug bug subjectSafe_ mbugConvert   value into String. The output is formatted like programs from mh(7) suite would expect, and does not look like automatically generated  instance.' datatype is used, since it is part of Options.Applicative module API.mbugParse  8 value from String. That string must begin with either + character (absolute folder) or @+ (relative folder) for parsing to succeed.' datatype is used, since it is part of Options.Applicative module API.   Safe_mbugXThin wrapper around mhpath(1) to get filepath to directory, corresponding to MH folder. Safe      !"Safe_#,mbugThis datatype represent contains all information, that control operation of program: what information to input, how to process it, where to output it.mbugMH folder to store bug emails.mbugMQuery to Debian bug system. Something that can be meaningfully placed after  https://bugs.debian.org/ url is expected here.#mbugParse  field of  datatype from command line.$mbugParser  field of  datatype from command line.%mbugParser for whole < datatype, combining smaller parsers for individual fields.mbugParse  datatype from command line.  Safe#&'()*+,-None$mbug/Skip chroots at index, not satisfying predicate ./0123456789:;<=>?@ABCDEFGHIJKLNone(Mmbug)Parse string in format #nnn into integer.Nmbug8Extract bug severity from "Severity: important;" string.Ombug+Extract bugs information from BTS response. None"#_7PmbugQ0 value, representing Debian Bugs System. Adjust R and query as needed.Smbug2Request to download mbox of bug with given number.TmbugGet cached response from  https://bugs.debian.org/<query>.. Cache is assumed to stale 15 minutes after.This could result to missing bugs, but greatly improve user experience, eliminating the slowest code path -- network. Even if user's network connection is very fast, BTS still takes seconds to respond.UmbugKDownload mbox of given bug, store it in file and return path to that file.VmbuglDowload mailbox, corresponding to bug of given name and incorporate it into specified folder in MH storage.WmbugReturn list of #s, matching specified search query.XmbugRemove MH folder and all its subfolders. Unfortunately, rmf(1) utility is not designed to handle this case, so this function is implemented by manipulating file system directory directly, beyond mh(7) toolkit.YmbugIncorporate specified # with fancy visual clues on stdout.Z  ! "#$%#&'#&(#$)#$*#+,#+-#+.#+/#+0#+1#+2#+3#+456758958:58;58<58=58>58?58@58A58B58C58D58E58F58G58H58I58J58K58L58M58N58O58P58Q58R58S58T58U58V58W58X58Y58Z58[58\58]58^58_58`58a58b58c58d58e58f58g58h58i58j58k58l58m58n58o58p58q58r58s58t58u58v58w58x58y58z58{58|58}58~58585858585858585858585858585858585858585855556(##&#&#&#&#&#&#&#&#&###############&#&#&#&#&#&                               ! " # $ % & ' ( ( ) * * + , - . /0101020304050607 89:; < = > ? @ A B CDEFDGHDGIDGJDGKDGLDGMDGNDGODGPDGQDGRDGSDGTDUVDUWDUXDUYDUZDU[DU\D]^D]_D]`D]aD]bD]cD]dD]eD]fD]ghij klmnlmo p q r s t u vw!mbug-1.3.2-BpAAoVGFYhV6MAy4VI2zGfData.Maybe.Extended MBug.Cache MBug.Data.BugMBug.Data.FolderMHMBug.MH MBug.OptionsText.HTML.Scalpel.Core.Extended MBug.Scrape MBug.MainData.Text.CompatOptions.Applicative.Compat Paths_mbugmaybeToAlternativecachedIO cachedIO_Bug_number _severity_package_subject $fShowBugFolderMHAbsoluteRelative showFolderMH readFolderMHresolveOptions_folder_queryoptionsguardPos parseBugsmainbase GHC.MaybeMaybeGHC.Base AlternativeemptyNothingJust Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybe text-1.2.3.1Data.Text.InternalText Data.Textcopy stripSuffixcommonPrefixes stripPrefix isInfixOf isSuffixOf isPrefixOfunwordsunlineslineswordszipWithzipcount findIndexindex breakOnAll breakOnEndbreakOnfilter partitionfindchunksOfsplitsplitOntailsinitsgroupgroupBybreakspansplitAtstripstripEnd stripStart dropAround dropWhileEnd dropWhile takeWhileEnd takeWhiledropEnddroptakeEndtakeunfoldrNunfoldr replicate mapAccumR mapAccumLscanr1scanrscanl1scanlminimummaximumallany concatMapconcatfoldr1foldrfoldl1'foldl1foldl'foldl transposecenter justifyRight justifyLefttoTitletoUppertoLower toCaseFoldreplacereverse intersperse intercalatemap compareLengthlengthnullunsnocinittaillastunconsheadappendsnocconspackData.Text.Show singletonunpackCString#unpackisCacheFileStaleGHC.ShowShowString<$ Applicativepure<*>*>liftA2<*mappendControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.ConstConstgetConst Data.Functor<$>liftA3liftA<**><|>somemany4optparse-applicative-0.14.3.0-HRfnB1BeLMdGVkCUzXjeWOOptions.Applicative.Extra renderFailure parserFailureexecParserPuregetParseResulthandleParseResultcustomExecParser execParser hsubparserhelperOptions.Applicative.Builder defaultPrefsidmprefscolumns noBacktrackshowHelpOnEmptyshowHelpOnError disambiguate multiSuffixinfoforwardOptions noIntersperse failureCode progDescDocprogDesc footerDocfooter headerDocheader briefDescfullDescoption strOption infoOption abortOptionswitchflag'flagargument subparser completeraction completeWith commandGroupcommandstylehiddenmetavar noArgErrorhelpDochelp showDefaultshowDefaultWithvaluelongshortdisabled maybeReader eitherReaderstrautoInfoModPrefsMod%Options.Applicative.Builder.Completer bashCompleter listCompleterlistIOCompleter$Options.Applicative.Builder.Internalinternal OptionFields FlagFields CommandFieldsArgumentFieldsHasName HasCompleterHasValue HasMetavarModOptions.Applicative.Types overFailure mkCompleter readerError readerAbort ParseErrorErrorMsgInfoMsg ShowHelpText UnknownError MissingErrorExpectsArgErrorUnexpectedError ParserInfo infoParser infoFullDesc infoProgDesc infoHeader infoFooterinfoFailureCode infoPolicy ParserPrefsprefMultiSuffixprefDisambiguateprefShowHelpOnErrorprefShowHelpOnEmpty prefBacktrack prefColumnsReadMParser CompleterCompletionResultexecCompletion ParserFailure execFailure ParserResultFailureSuccessCompletionInvokedOptions.Applicative.Help.Types ParserHelp helpErrorhelpSuggestions helpHeader helpUsagehelpBody helpFooter strArgument folderParser queryParser optionsParserversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName)scalpel-core-0.5.1-G5E6TIanBFoItUR7E40lsS,Text.HTML.Scalpel.Internal.Scrape.StringLikescrapeStringLike!Text.HTML.Scalpel.Internal.Scrapepositionattrsattr innerHTMLs innerHTMLhtmlshtmltextstextchrootschrootscrapeScraper-Text.HTML.Scalpel.Internal.Select.CombinatorsmatchnotPhasClass//@=~@=@:'Text.HTML.Scalpel.Internal.Select.Types anySelector tagSelector AttributeName AnyAttributeAttributeStringAttributePredicateSelectorTagNameAnyTag TagString bugNumber bugSeverity bugsScraperdebbugsRequest)http-client-0.5.14-K62nHhCrJbQDRgi9GpHjrRNetwork.HTTP.Client.TypesRequestpath mboxRequestcachedResponse downloadMBox incorporatelistBugs cleanFolderMHincorporateBug