úÎRÖHö1      !"#$%&'()*+,-./0SafeQV ‚ (_cmdspec :: Lens' CreateProcess CmdSpec  *_ShellCommand :: Traversal' CmdSpec String 5_RawCommand :: Traversal' CmdSpec (FilePath,[String]) ,_cwd :: Lens' CreateProcess (Maybe FilePath) 5_env :: Lens' CreateProcess (Maybe [(String,String)])~An improper lens to get and insert values in an association list. It assumes that there are no duplicate keys in the list.A lens for the (std_in,std_out,std_err) triplet. Bstd_streams :: Lens' CreateProcess (StdStream,StdStream,StdStream)  None %13;=CQVF!)The type of handlers that write to piped stdin, consume piped stdout and stderrP, and work with the process exit code, eventually returning a value of type r, except when an error e interrups the execution.Example of a complex handler::{D execute (piped (shell "{ cat ; sleep 1 ; echo eee 1>&2 ; }")) $ 2 (\_ _ ob eb et oet c -> (ob,eb,et,oet,c)) <$> feedBytes (Just "aaa") <*>  feedBytes (Just "bbb") <*>  foldOut intoLazyBytes <*> foldErr intoLazyBytes <*>, foldErr (PT.asUtf8x PT.intoLazyText) <*>F foldOutErr (PT.bothAsUtf8x (PT.combinedLines PT.intoLazyText)) <*> exitCode :}6("aaabbb","eee\n","eee\n","aaabbb\neee\n",ExitSuccess)-Execute an external program described by the 1 record. The U Applicative specifies how to handle the standard streams and the exit code. Since - is an Applicative, a simple invocation of  could be,execute (piped (shell "echo foo")) (pure ())owhich would discard the program's stdout and stderr, and ignore the exit code. To actually get the exit code:+execute (piped (shell "echo foo")) exitCode ExitSuccessTo collect stdout as a lazy 2 along with the exit code:Pexecute (piped (shell "echo foo")) (liftA2 (,) (foldOut intoLazyBytes) exitCode)("foo\n",ExitSuccess) respects all the fields of the 1k record. If stdout is not piped, but a handler is defined for it, the handler will see an empty stream:Iexecute ((shell "echo foo"){ std_out = Inherit }) (foldOut intoLazyBytes)foo"">No effort is made to catch exceptions thrown during execution:Zexecute (piped (shell "echo foo")) (foldOut (withCont (\_ -> throwIO (userError "oops")))) *** Exception: user error (oops)řHowever, care is taken to automatically terminate the external process if an exception (including asynchronous ones) or other type of error happens. This means we can terminate the external process by killing the thread that is running :JforkIO (execute (piped (shell "sleep infinity")) (pure ())) >>= killThreadLike , but 3 will be unbuffered if piped. Like !, but allows the handlers in the O Applicative to interrupt the execution of the external process by returning a 4N value, in addition to throwing exceptions. This is sometimes more convenient:hexecuteFallibly (piped (shell "sleep infinity")) (foldOut (withFallibleCont (\_ -> pure (Left "oops")))) Left "oops"9executeFallibly (piped (shell "exit 1")) validateExitCodeLeft 1The first type parameter of S is the error type. If it is never used, it remains polymorphic and may unify with 5 (as required by ).Like , but 3 will be unbuffered if piped. Sets 3, 6 and 7 in the 1 record to 8. &Any unpiped stream will appear to the  handlers as empty.  Feed any 9 container of strict s to stdin.  Feed a lazy  to stdin.  Feed any 9 container of strict s to stdin#, encoding the texts as UTF8.  Feed a lazy  to stdin, encoding it as UTF8. Feed stdin by running a pipes :,. This allows bracketing functions like ; inside the handler. Consume standard output. !Consume standard error. "eConsume standard output and error together. This enables combining them in a single stream. See also   and  .#Simply returns the <. $Fails with the error code when < is not =.&> writes nothing to stdin. ? sequences the writes to stdin.*@ is useful to massage errors.,> writes nothing to stdin , discards the data coming from stdout and stderr, and ignores the exit code.?/ combines handlers by sequencing the writes to stdin#, and making concurrent reads from stdout and stderr.-@ is useful to massage errors. xABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ1‰Š‹Œ367Ž‘’“”•–—˜™š›8œ !"#$% !"#$%žŸ Ą˘ŁNoneH°¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´  !"#$%&'()*+,-./0123456789:;<=>?@AB>?CDEFDGH>?I>?J>?KDLMNOPDQRDSTDSUDVWDVXDYZ[\]N^_ `a `b `c de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d€ d d‚ dƒ d„ d… d† d‡ dˆ d‰ dŠ d‹ dŒ[\>Ž>ސ>Ž‘>Ž’>Ž“>Ž”>Ž•>Ž–>Ž—>Ž˜>Ž™>Žš>Ž›>Žœ>Ž>Žž>ŽŸ>Ž >ŽĄ>Ž˘>ŽŁ>ޤ>ĽŚ>Ľ§>Ľ¨>ĽŠ>?@>?Ş>?Ť>?Ź>?­>?Ž>?Ż>?°>?ą>?˛>?ł>?´>?ľ>?ś>?ˇ>?¸>?š>?ş>?ť>?ź>?˝žžżŔŔ Á Á ÁĂ ÁÄ ÁĹ ÁĆ ÁÇ ÁČ ÁÉ ÁĘ ÁË Á ÁĚ ÁÍ ÁÎ ÁĎĐ0process-streaming-0.9.2.1-FiZsLdOD0FcIxgsRHYEIVkSystem.Process.StreamingSystem.Process.LensData ByteString Data.LazyTextsTextSystem.Process.Streaming.Text bothAsUtf8x combinedLines+pipes-transduce-0.4.1-Ii2ckF6us6l2NhlZmMpPyPipes.Transduce.ByteString intoLazyBytes_cmdspec _ShellCommand _RawCommand_cwd_envenvAt std_streams_std_in_std_out_std_err _close_fds _create_group_delegate_ctlc_detach_console_create_new_console _new_sessionStreamsexecuteexecuteInteractiveexecuteFalliblyexecuteInteractiveFalliblypiped feedBytes feedLazyBytesfeedUtf8 feedLazyUtf8 feedProducer feedProducerMfeedSafeProducerfeedFallibleProducerfeedContfoldOutfoldErr foldOutErrexitCodevalidateExitCode withExitCode$fApplicativeFeed1_$fBifunctorFeed1_ $fMonoidFeed1$fApplicativeFeed1$fBifunctorFeed1$fMonoidStreams$fApplicativeStreams$fBifunctorStreams$fFunctorFeed1_$fFunctorFeed1$fFunctorStreamsprocess-1.6.1.0System.Process.Common CreateProcessbytestring-0.10.8.2Data.ByteString.Lazy.Internalstd_inbase Data.EitherLeft Data.VoidVoidstd_outstd_err CreatePipe Data.FoldableFoldable"pipes-4.3.7-DAmGthNwwHS769XG5WH9YJ Pipes.CoreConsumer System.IOwithFileGHC.IO.ExceptionExitCode ExitSuccessGHC.Basepure<*>Data.Bifunctorfirsttransformers-0.5.2.0Control.Monad.Trans.Except runExceptTPipesnextPipes.TransduceintoListtripxtripPipes.Transduce.Internalcombined separated liftSecond liftFirstfold2 fold2Fallibly intercalatesconcatsfoldsgroups transduce1delimitfallibleTransducer transducermapperEnumerablemapperFoldablefallibleMappermapperfold1 fold1Fallibly withParserM withParserwithFallibleConsumerwithSafeConsumerwithConsumerM' withConsumerM withConsumer' withConsumerwithFallibleFold withFoldIOwithFold withCont'withContwithFallibleCont'withFallibleContFold1 Transducer Delimited ContinuousFold2throwESystem.Process rawSystemsystemrunInteractiveProcessrunInteractiveCommand runProcess runCommandterminateProcessgetProcessExitCodewaitForProcessshowCommandForUserreadCreateProcessWithExitCodereadProcessWithExitCodereadCreateProcess readProcess callCommand callProcess spawnCommand spawnProcesswithCreateProcess createProcessshellprocSystem.Process.InternalsinterruptProcessGroupOf createPipeFd createPipecreateProcess_envcmdspeccwd close_fds create_group delegate_ctlcdetach_consolecreate_new_console new_session child_group child_useruse_process_jobsCmdSpec ShellCommand RawCommand StdStreamInherit UseHandleNoStream ProcessHandleFeed1_ runFeed1_Feed1Pipes.Transduce.Text intoLazyTextasUtf8xasUtf8utf8xutf8decoderxdecoderlineslines_combinedLinesPrefixingeachLine asFoldedLines foldedLinesLine