Commit 8ba3acc4 authored by Bernd Brassel's avatar Bernd Brassel
Browse files

murks

parent 1d985e14
......@@ -15,13 +15,14 @@ Description: This package builds the Curry to Haskell compiler "kics".
Stability: experimental
extra-source-files:
src/lib/Curry/Module/*.hs.include
Data-Dir: src/lib/Curry/Module/.curry
Data-Files: *.fcy
*.fint
*.efc
*.acy
*.uacy
*.cy
Data-Dir: src/lib/Curry/Module/
Data-Files: .curry/*.fcy
.curry/*.fint
.curry/*.efc
.curry/*.acy
.curry/*.uacy
.curry/*.cy
debugOptions.hs
Executable kics
main-is: kics.hs
......
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Directory where
strict_prim_doesFileExist ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Bool)
strict_prim_doesFileExist x0
= hook_strict_prim_doesFileExist x0
(Prelude.error "not implemented")
strict_prim_doesDirectoryExist ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm
(Curry.DebugModule.Prelude.IO dm
Curry.DebugModule.Prelude.Bool)
strict_prim_doesDirectoryExist x0
= hook_strict_prim_doesDirectoryExist x0
(Prelude.error "not implemented")
strict_prim_fileSize ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Int)
strict_prim_fileSize x0
= hook_strict_prim_fileSize x0 (Prelude.error "not implemented")
strict_prim_getModificationTime ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm
(Curry.DebugModule.Prelude.IO dm
Curry.DebugModule.Time.ClockTime)
strict_prim_getModificationTime x0
= hook_strict_prim_getModificationTime x0
(Prelude.error "not implemented")
strict_getCurrentDirectory ::
(DM.DM dm) =>
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char))
strict_getCurrentDirectory
= hook_strict_getCurrentDirectory (Prelude.error "not implemented")
strict_prim_setCurrentDirectory ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm
(Curry.DebugModule.Prelude.IO dm
Curry.DebugModule.Prelude.Unit)
strict_prim_setCurrentDirectory x0
= hook_strict_prim_setCurrentDirectory x0
(Prelude.error "not implemented")
strict_prim_getDirectoryContents ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.List
(Curry.DebugModule.Prelude.List
Curry.DebugModule.Prelude.Char)))
strict_prim_getDirectoryContents x0
= hook_strict_prim_getDirectoryContents x0
(Prelude.error "not implemented")
strict_prim_createDirectory ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_prim_createDirectory x0
= hook_strict_prim_createDirectory x0
(Prelude.error "not implemented")
strict_prim_removeFile ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_prim_removeFile x0
= hook_strict_prim_removeFile x0 (Prelude.error "not implemented")
strict_prim_removeDirectory ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_prim_removeDirectory x0
= hook_strict_prim_removeDirectory x0
(Prelude.error "not implemented")
strict_prim_renameFile ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_prim_renameFile x0 x1
= hook_strict_prim_renameFile x0 x1
(Prelude.error "not implemented")
strict_prim_renameDirectory ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm
(Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_prim_renameDirectory x0 x1
= hook_strict_prim_renameDirectory x0 x1
(Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Distribution where
strict_curryCompiler ::
(DM.DM dm) =>
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
strict_curryCompiler
= hook_strict_curryCompiler (Prelude.error "not implemented")
strict_curryCompilerMajorVersion ::
(DM.DM dm) => dm Curry.DebugModule.Prelude.Int
strict_curryCompilerMajorVersion
= hook_strict_curryCompilerMajorVersion
(Prelude.error "not implemented")
strict_curryCompilerMinorVersion ::
(DM.DM dm) => dm Curry.DebugModule.Prelude.Int
strict_curryCompilerMinorVersion
= hook_strict_curryCompilerMinorVersion
(Prelude.error "not implemented")
strict_curryRuntime ::
(DM.DM dm) =>
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
strict_curryRuntime
= hook_strict_curryRuntime (Prelude.error "not implemented")
strict_curryRuntimeMajorVersion ::
(DM.DM dm) => dm Curry.DebugModule.Prelude.Int
strict_curryRuntimeMajorVersion
= hook_strict_curryRuntimeMajorVersion
(Prelude.error "not implemented")
strict_curryRuntimeMinorVersion ::
(DM.DM dm) => dm Curry.DebugModule.Prelude.Int
strict_curryRuntimeMinorVersion
= hook_strict_curryRuntimeMinorVersion
(Prelude.error "not implemented")
strict_getStdLibDir ::
(DM.DM dm) =>
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char))
strict_getStdLibDir
= hook_strict_getStdLibDir (Prelude.error "not implemented")
strict_getFrontendCall ::
(DM.DM dm) =>
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char))
strict_getFrontendCall
= hook_strict_getFrontendCall (Prelude.error "not implemented")
strict_installDir ::
(DM.DM dm) =>
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
strict_installDir
= hook_strict_installDir (Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Float where
strict_prim_Float_plus ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_Float_plus x0 x1
= hook_strict_prim_Float_plus x0 x1
(Prelude.error "not implemented")
strict_prim_Float_minus ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_Float_minus x0 x1
= hook_strict_prim_Float_minus x0 x1
(Prelude.error "not implemented")
strict_prim_Float_times ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_Float_times x0 x1
= hook_strict_prim_Float_times x0 x1
(Prelude.error "not implemented")
strict_prim_Float_divide ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_Float_divide x0 x1
= hook_strict_prim_Float_divide x0 x1
(Prelude.error "not implemented")
strict_prim_Float_lt ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Bool
strict_prim_Float_lt x0 x1
= hook_strict_prim_Float_lt x0 x1 (Prelude.error "not implemented")
strict_prim_Float_gt ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Bool
strict_prim_Float_gt x0 x1
= hook_strict_prim_Float_gt x0 x1 (Prelude.error "not implemented")
strict_prim_Float_leq ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Bool
strict_prim_Float_leq x0 x1
= hook_strict_prim_Float_leq x0 x1
(Prelude.error "not implemented")
strict_prim_Float_geq ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Bool
strict_prim_Float_geq x0 x1
= hook_strict_prim_Float_geq x0 x1
(Prelude.error "not implemented")
strict_prim_i2f ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Int -> dm Curry.DebugModule.Prelude.Float
strict_prim_i2f x0
= hook_strict_prim_i2f x0 (Prelude.error "not implemented")
strict_prim_truncate ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float -> dm Curry.DebugModule.Prelude.Int
strict_prim_truncate x0
= hook_strict_prim_truncate x0 (Prelude.error "not implemented")
strict_prim_round ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float -> dm Curry.DebugModule.Prelude.Int
strict_prim_round x0
= hook_strict_prim_round x0 (Prelude.error "not implemented")
strict_prim_sqrt ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_sqrt x0
= hook_strict_prim_sqrt x0 (Prelude.error "not implemented")
strict_prim_log ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_log x0
= hook_strict_prim_log x0 (Prelude.error "not implemented")
strict_prim_exp ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_exp x0
= hook_strict_prim_exp x0 (Prelude.error "not implemented")
strict_prim_sin ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_sin x0
= hook_strict_prim_sin x0 (Prelude.error "not implemented")
strict_prim_cos ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_cos x0
= hook_strict_prim_cos x0 (Prelude.error "not implemented")
strict_prim_tan ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_tan x0
= hook_strict_prim_tan x0 (Prelude.error "not implemented")
strict_prim_atan ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Float ->
dm Curry.DebugModule.Prelude.Float
strict_prim_atan x0
= hook_strict_prim_atan x0 (Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Interactive where
strict_printTerm ::
(DM.DM dm, DI.GenTerm a) =>
a ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_printTerm x0
= hook_strict_printTerm x0 (Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Meta where
instance DI.GenTerm (OrRef dm) where
genTerm x0 = Prelude.error "not implemented"
data (DM.DM dm) => OrRef dm = OrRef
strict_prim_isFree ::
(DM.DM dm, DI.GenTerm a) =>
a ->
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.Either a a))
strict_prim_isFree x0
= hook_strict_prim_isFree x0 (Prelude.error "not implemented")
strict_headNormalFormIO ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b) =>
DM.Func dm a (Curry.DebugModule.Prelude.IO dm b) ->
a -> dm (Curry.DebugModule.Prelude.IO dm b)
strict_headNormalFormIO x0 x1
= hook_strict_headNormalFormIO x0 x1
(Prelude.error "not implemented")
strict_searchTree ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.SearchTree a)
strict_searchTree x0
= hook_strict_searchTree x0 (Prelude.error "not implemented")
strict_gnfIO ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.IO dm a)
strict_gnfIO x0
= hook_strict_gnfIO x0 (Prelude.error "not implemented")
strict_ghnfIO ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.IO dm a)
strict_ghnfIO x0
= hook_strict_ghnfIO x0 (Prelude.error "not implemented")
strict_nfIO ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.IO dm a)
strict_nfIO x0
= hook_strict_nfIO x0 (Prelude.error "not implemented")
strict_hnfIO ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.IO dm a)
strict_hnfIO x0
= hook_strict_hnfIO x0 (Prelude.error "not implemented")
strict_getRichSearchTree ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.IO dm (RichSearchTree a))
strict_getRichSearchTree x0
= hook_strict_getRichSearchTree x0
(Prelude.error "not implemented")
strict_richSearchTree ::
(DM.DM dm, DI.GenTerm a) => a -> dm (RichSearchTree a)
strict_richSearchTree x0
= hook_strict_richSearchTree x0 (Prelude.error "not implemented")
strict_parallelSearch ::
(DM.DM dm, DI.GenTerm a) =>
a ->
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.List a))
strict_parallelSearch x0
= hook_strict_parallelSearch x0 (Prelude.error "not implemented")
strict_cover :: (DM.DM dm, DI.GenTerm a) => a -> dm a
strict_cover x0
= hook_strict_cover x0 (Prelude.error "not implemented")
strict_st ::
(DM.DM dm, DI.GenTerm a) =>
a -> dm (Curry.DebugModule.Prelude.SearchTree a)
strict_st x0 = hook_strict_st x0 (Prelude.error "not implemented")
strict_richST ::
(DM.DM dm, DI.GenTerm a) => a -> dm (RichSearchTree a)
strict_richST x0
= hook_strict_richST x0 (Prelude.error "not implemented")
strict_ors ::
(DM.DM dm, DI.GenTerm a) =>
Curry.DebugModule.Prelude.List a -> dm a
strict_ors x0
= hook_strict_ors x0 (Prelude.error "not implemented")
strict_prim_throw :: (DM.DM dm, DI.GenTerm a) => Exception -> dm a
strict_prim_throw x0
= hook_strict_prim_throw x0 (Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.RandomExternal where
strict_prim_split ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Int ->
dm
(Curry.DebugModule.Prelude.Tuple2 Curry.DebugModule.Prelude.Int
Curry.DebugModule.Prelude.Int)
strict_prim_split x0
= hook_strict_prim_split x0 (Prelude.error "not implemented")
strict_prim_nextInt ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Int ->
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Int)
strict_prim_nextInt x0
= hook_strict_prim_nextInt x0 (Prelude.error "not implemented")
strict_prim_nextIntRange ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Int ->
Curry.DebugModule.Prelude.Int ->
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Int)
strict_prim_nextIntRange x0 x1
= hook_strict_prim_nextIntRange x0 x1
(Prelude.error "not implemented")
strict_getRandomSeed ::
(DM.DM dm) =>
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Int)
strict_getRandomSeed
= hook_strict_getRandomSeed (Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.ReadShowTerm where
strict_prim_showTerm ::
(DM.DM dm, DI.GenTerm a) =>
a ->
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
strict_prim_showTerm x0
= hook_strict_prim_showTerm x0 (Prelude.error "not implemented")
strict_prim_showQTerm ::
(DM.DM dm, DI.GenTerm a) =>
a ->
dm (Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
strict_prim_showQTerm x0
= hook_strict_prim_showQTerm x0 (Prelude.error "not implemented")
strict_prim_readsUnqualifiedTerm ::
(DM.DM dm, DI.GenTerm a) =>
Curry.DebugModule.Prelude.List
(Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
->
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char
->
dm
(Curry.DebugModule.Prelude.List
(Curry.DebugModule.Prelude.Tuple2 a
(Curry.DebugModule.Prelude.List
Curry.DebugModule.Prelude.Char)))
strict_prim_readsUnqualifiedTerm x0 x1
= hook_strict_prim_readsUnqualifiedTerm x0 x1
(Prelude.error "not implemented")
strict_prim_readsQTerm ::
(DM.DM dm, DI.GenTerm a) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
dm
(Curry.DebugModule.Prelude.List
(Curry.DebugModule.Prelude.Tuple2 a
(Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)))
strict_prim_readsQTerm x0
= hook_strict_prim_readsQTerm x0 (Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Socket where
instance DI.GenTerm (Socket dm) where
genTerm x0 = Prelude.error "not implemented"
data (DM.DM dm) => Socket dm = Socket
strict_prim_listenOn ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.Int ->
dm (Curry.DebugModule.Prelude.IO dm Socket)
strict_prim_listenOn x0
= hook_strict_prim_listenOn x0 (Prelude.error "not implemented")
strict_listenOnFresh ::
(DM.DM dm) =>
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.Tuple2 Curry.DebugModule.Prelude.Int
Socket))
strict_listenOnFresh
= hook_strict_listenOnFresh (Prelude.error "not implemented")
strict_prim_socketListen ::
(DM.DM dm) =>
Socket ->
Curry.DebugModule.Prelude.Int ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.Prelude.Unit)
strict_prim_socketListen x0 x1
= hook_strict_prim_socketListen x0 x1
(Prelude.error "not implemented")
strict_prim_socketAccept ::
(DM.DM dm) =>
Socket ->
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.Tuple2
(Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char)
Curry.DebugModule.IO.Handle))
strict_prim_socketAccept x0
= hook_strict_prim_socketAccept x0
(Prelude.error "not implemented")
strict_prim_waitForSocketAccept ::
(DM.DM dm) =>
Socket ->
Curry.DebugModule.Prelude.Int ->
dm
(Curry.DebugModule.Prelude.IO dm
(Curry.DebugModule.Prelude.Maybe
(Curry.DebugModule.Prelude.Tuple2
(Curry.DebugModule.Prelude.List
Curry.DebugModule.Prelude.Char)
Curry.DebugModule.IO.Handle)))
strict_prim_waitForSocketAccept x0 x1
= hook_strict_prim_waitForSocketAccept x0 x1
(Prelude.error "not implemented")
strict_prim_connectToSocket ::
(DM.DM dm) =>
Curry.DebugModule.Prelude.List Curry.DebugModule.Prelude.Char ->
Curry.DebugModule.Prelude.Int ->
dm (Curry.DebugModule.Prelude.IO dm Curry.DebugModule.IO.Handle)
strict_prim_connectToSocket x0 x1
= hook_strict_prim_connectToSocket x0 x1
(Prelude.error "not implemented")
\ No newline at end of file
{- Auto generated stubs for external functions and types
Remove this comment to suppress warnings. -}
module Curry.DebugModule.Time where
strict_getClockTime ::
(DM.DM dm) => dm (Curry.DebugModule.Prelude.IO dm ClockTime)
strict_getClockTime
= hook_strict_getClockTime (Prelude.error "not implemented")
strict_prim_toCalendarTime ::
(DM.DM dm) =>
ClockTime -> dm (Curry.DebugModule.Prelude.IO dm CalendarTime)
strict_prim_toCalendarTime x0
= hook_strict_prim_toCalendarTime x0
(Prelude.error "not implemented")
strict_prim_toUTCTime :: (DM.DM dm) => ClockTime -> dm CalendarTime
strict_prim_toUTCTime x0
= hook_strict_prim_toUTCTime x0 (Prelude.error "not implemented")
strict_prim_toClockTime ::
(DM.DM dm) => CalendarTime -> dm ClockTime
strict_prim_toClockTime x0
= hook_strict_prim_toClockTime x0 (Prelude.error "not implemented")
\ No newline at end of file