{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE NoImplicitPrelude #-}

module Control.Process.CreateProcess(
  HasCreateProcess(..)
, AsCreateProcess(..)
, streams
, streams1
) where

import Control.Applicative ( Applicative((<*>)) )
import Control.Category ( Category(id, (.)) )
import Control.Lens
    ( Traversable(traverse),
      _Just,
      only,
      Field1(_1),
      Field2(_2),
      Lens',
      Prism',
      Traversal',
      Traversal1' )
import Control.Process.UserID ( HasUserID(userIDWord32) )
import Data.Bool ( Bool(True) )
import Data.Functor ( Functor(fmap), (<$>) )
import Data.Functor.Apply ( Apply((<.>)) )
import Data.Maybe ( Maybe(..) )
import Data.String ( String )
import Data.Word ( Word32 )
import System.FilePath ( FilePath )
import System.Process(StdStream(..), CreateProcess(CreateProcess))
import System.Process.Internals(GroupID, UserID)

class HasCreateProcess a where
  create_process ::
    Lens' a CreateProcess
  child_group ::
    Lens' a (Maybe GroupID)
  {-# INLINE child_group #-}
  child_group =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a (Maybe GroupID)
child_group
  child_user ::
    Lens' a (Maybe UserID)
  {-# INLINE child_user #-}
  child_user =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a (Maybe UserID)
child_user
  close_fds ::
    Lens' a Bool
  {-# INLINE close_fds #-}
  close_fds =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
close_fds
  create_group ::
    Lens' a Bool
  {-# INLINE create_group #-}
  create_group =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
create_group
  create_new_console ::
    Lens' a Bool
  {-# INLINE create_new_console #-}
  create_new_console =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
create_new_console
  cwd ::
    Lens' a (Maybe FilePath)
  {-# INLINE cwd #-}
  cwd =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a (Maybe FilePath)
cwd
  delegate_ctlc ::
    Lens' a Bool
  {-# INLINE delegate_ctlc #-}
  delegate_ctlc =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
delegate_ctlc
  detach_console ::
    Lens' a Bool
  {-# INLINE detach_console #-}
  detach_console =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
detach_console
  env ::
    Lens' a (Maybe [(String, String)])
  {-# INLINE env #-}
  env =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a.
HasCreateProcess a =>
Lens' a (Maybe [(FilePath, FilePath)])
env
  new_session ::
    Lens' a Bool
  {-# INLINE new_session #-}
  new_session =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
new_session
  std_err ::
    Lens' a StdStream
  {-# INLINE std_err #-}
  std_err =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a StdStream
std_err
  std_in ::
    Lens' a StdStream
  {-# INLINE std_in #-}
  std_in =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a StdStream
std_in
  std_out ::
    Lens' a StdStream
  {-# INLINE std_out #-}
  std_out =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a StdStream
std_out
  use_process_jobs ::
    Lens' a Bool
  {-# INLINE use_process_jobs #-}
  use_process_jobs =
    forall a. HasCreateProcess a => Lens' a CreateProcess
create_process forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasCreateProcess a => Lens' a Bool
use_process_jobs

  cwd' ::
    Traversal' a FilePath
  cwd' =
    forall a. HasCreateProcess a => Lens' a (Maybe FilePath)
cwd forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a b. Prism (Maybe a) (Maybe b) a b
_Just
  envList ::
    Traversal' a [(String, String)]
  envList =
    forall a.
HasCreateProcess a =>
Lens' a (Maybe [(FilePath, FilePath)])
env forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a b. Prism (Maybe a) (Maybe b) a b
_Just
  envElement ::
    Traversal' a (String, String)
  envElement =
    forall a. HasCreateProcess a => Traversal' a [(FilePath, FilePath)]
envList forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse
  envElementKey ::
    Traversal' a String
  envElementKey =
    forall a. HasCreateProcess a => Traversal' a (FilePath, FilePath)
envElement forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall s t a b. Field1 s t a b => Lens s t a b
_1
  envElementValue ::
    Traversal' a String
  envElementValue =
    forall a. HasCreateProcess a => Traversal' a (FilePath, FilePath)
envElement forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall s t a b. Field2 s t a b => Lens s t a b
_2
  close_fds' ::
    Traversal' a ()
  close_fds' =
    forall a. HasCreateProcess a => Lens' a Bool
close_fds forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True
  create_group' ::
    Traversal' a ()
  create_group' =
    forall a. HasCreateProcess a => Lens' a Bool
create_group forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True
  delegate_ctlc' ::
    Traversal' a ()
  delegate_ctlc' =
    forall a. HasCreateProcess a => Lens' a Bool
delegate_ctlc forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True
  detach_console' ::
    Traversal' a ()
  detach_console' =
    forall a. HasCreateProcess a => Lens' a Bool
detach_console forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True
  create_new_console' ::
    Traversal' a ()
  create_new_console' =
    forall a. HasCreateProcess a => Lens' a Bool
create_new_console forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True
  new_session' ::
    Traversal' a ()
  new_session' =
    forall a. HasCreateProcess a => Lens' a Bool
new_session forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True
  child_group' ::
    Traversal' a GroupID
  child_group' =
    forall a. HasCreateProcess a => Lens' a (Maybe GroupID)
child_group forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a b. Prism (Maybe a) (Maybe b) a b
_Just
  child_user' ::
    Traversal' a UserID
  child_user' =
    forall a. HasCreateProcess a => Lens' a (Maybe UserID)
child_user forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a b. Prism (Maybe a) (Maybe b) a b
_Just
  child_user'' ::
    Traversal' a Word32
  child_user'' =
    forall a. HasCreateProcess a => Traversal' a UserID
child_user' forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. HasUserID a => Lens' a Word32
userIDWord32
  use_process_jobs' ::
    Traversal' a ()
  use_process_jobs' =
    forall a. HasCreateProcess a => Lens' a Bool
use_process_jobs forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. forall a. Eq a => a -> Prism' a ()
only Bool
True

instance HasCreateProcess CreateProcess where
  create_process :: Lens' CreateProcess CreateProcess
create_process =
    forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
  child_group :: Lens' CreateProcess (Maybe GroupID)
child_group Maybe GroupID -> f (Maybe GroupID)
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Maybe GroupID
chg' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg' Maybe UserID
chu Bool
upj) (Maybe GroupID -> f (Maybe GroupID)
f Maybe GroupID
chg)
  child_user :: Lens' CreateProcess (Maybe UserID)
child_user Maybe UserID -> f (Maybe UserID)
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Maybe UserID
chu' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu' Bool
upj) (Maybe UserID -> f (Maybe UserID)
f Maybe UserID
chu)
  close_fds :: Lens' CreateProcess Bool
close_fds Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
clf' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf' Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Bool -> f Bool
f Bool
clf)
  create_group :: Lens' CreateProcess Bool
create_group Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
crg' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg' Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Bool -> f Bool
f Bool
crg)
  create_new_console :: Lens' CreateProcess Bool
create_new_console Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
cnc' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc' Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Bool -> f Bool
f Bool
cnc)
  cwd :: Lens' CreateProcess (Maybe FilePath)
cwd Maybe FilePath -> f (Maybe FilePath)
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Maybe FilePath
cw' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw' Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Maybe FilePath -> f (Maybe FilePath)
f Maybe FilePath
cw)
  delegate_ctlc :: Lens' CreateProcess Bool
delegate_ctlc Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
dct' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct' Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Bool -> f Bool
f Bool
dct)
  detach_console :: Lens' CreateProcess Bool
detach_console Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
dcl' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl' Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Bool -> f Bool
f Bool
dcl)
  env :: Lens' CreateProcess (Maybe [(FilePath, FilePath)])
env Maybe [(FilePath, FilePath)] -> f (Maybe [(FilePath, FilePath)])
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Maybe [(FilePath, FilePath)]
en' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en' StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Maybe [(FilePath, FilePath)] -> f (Maybe [(FilePath, FilePath)])
f Maybe [(FilePath, FilePath)]
en)
  new_session :: Lens' CreateProcess Bool
new_session Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
nss' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss' Maybe GroupID
chg Maybe UserID
chu Bool
upj) (Bool -> f Bool
f Bool
nss)
  std_err :: Lens' CreateProcess StdStream
std_err StdStream -> f StdStream
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\StdStream
ste' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste' Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (StdStream -> f StdStream
f StdStream
ste)
  std_in :: Lens' CreateProcess StdStream
std_in StdStream -> f StdStream
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\StdStream
sti' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti' StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (StdStream -> f StdStream
f StdStream
sti)
  std_out :: Lens' CreateProcess StdStream
std_out StdStream -> f StdStream
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\StdStream
sto' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto' StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) (StdStream -> f StdStream
f StdStream
sto)
  use_process_jobs :: Lens' CreateProcess Bool
use_process_jobs Bool -> f Bool
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Bool
upj' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj') (Bool -> f Bool
f Bool
upj)

class AsCreateProcess a where
  _CreateProcess ::
    Prism' a CreateProcess

instance AsCreateProcess CreateProcess where
  _CreateProcess :: Prism' CreateProcess CreateProcess
_CreateProcess =
    forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id

streams ::
  Traversal' CreateProcess StdStream
streams :: Traversal' CreateProcess StdStream
streams StdStream -> f StdStream
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
  (\StdStream
sti' StdStream
sto' StdStream
ste' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti' StdStream
sto' StdStream
ste' Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> StdStream -> f StdStream
f StdStream
sti forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> StdStream -> f StdStream
f StdStream
sto forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> StdStream -> f StdStream
f StdStream
ste

streams1 ::
  Traversal1' CreateProcess StdStream
streams1 :: Traversal1' CreateProcess StdStream
streams1 StdStream -> f StdStream
f (CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti StdStream
sto StdStream
ste Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) =
  (\StdStream
sti' StdStream
sto' StdStream
ste' -> CmdSpec
-> Maybe FilePath
-> Maybe [(FilePath, FilePath)]
-> StdStream
-> StdStream
-> StdStream
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe GroupID
-> Maybe UserID
-> Bool
-> CreateProcess
CreateProcess CmdSpec
csc Maybe FilePath
cw Maybe [(FilePath, FilePath)]
en StdStream
sti' StdStream
sto' StdStream
ste' Bool
clf Bool
crg Bool
dct Bool
dcl Bool
cnc Bool
nss Maybe GroupID
chg Maybe UserID
chu Bool
upj) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> StdStream -> f StdStream
f StdStream
sti forall (f :: * -> *) a b. Apply f => f (a -> b) -> f a -> f b
<.> StdStream -> f StdStream
f StdStream
sto forall (f :: * -> *) a b. Apply f => f (a -> b) -> f a -> f b
<.> StdStream -> f StdStream
f StdStream
ste