module Main where
import Data.List (intercalate, zipWith)
-import Data.String hiding (unlines)
import Data.Text hiding (map, init, length, splitAt, foldl, zipWith)
import Data.Text.IO (putStrLn, putStr, writeFile)
import Data.Text.Lazy (toStrict)
import Prelude hiding (putStrLn, putStr, init, unlines, writeFile, zipWith)
import Prompts
import System.Directory
-import System.Directory (doesFileExist)
import System.Environment
import System.Exit
-import System.File.Tree hiding (map, mapM, mapM_)
import System.Process
import Data.Aeson
-import Data.Aeson.TH
import Data.Aeson.Text
-import Data.Maybe
import Util
import Data.Bool (bool)
import Data.Tuple.Curry (uncurryN)
import qualified Data.ByteString.Lazy as BL
import Config
-import Control.Monad.Trans.Maybe
import Control.Monad.Except (throwError)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Except