// Path: client/src/main/java/com/github/e13mort/stf/console/commands/EmptyDevicesException.java
// public class EmptyDevicesException extends Exception { }
// 
// Path: client/src/main/java/com/github/e13mort/stf/console/commands/HelpCommandCreator.java
// class HelpCommandCreatorImpl implements HelpCommandCreator {
//     @Override
//     public CommandContainer.Command createHelpCommand(JCommander commander) {
//         return new HelpCommand(commander);
//     }
// }
// 
// Path: client/src/main/java/com/github/e13mort/stf/console/commands/UnknownCommandException.java
// public class UnknownCommandException extends Exception {
//     public UnknownCommandException(String message) {
//         super(message);
//     }
// }


import com.github.e13mort.stf.console.commands.EmptyDevicesException;
import com.github.e13mort.stf.console.commands.HelpCommandCreator.HelpCommandCreatorImpl;
import com.github.e13mort.stf.console.commands.UnknownCommandException;
import java.io.IOException;
import java.util.logging.*;
package com.github.e13mort.stf.console;



public class App {

    private static ErrorHandler errorHandler = throwable -> {};

    public static void main(String... args) throws IOException {
        final Logger logger = createLogger();
        errorHandler = new StfErrorHandler(logger);
        StfCommanderContext.create(logger)
// Path: client/src/main/java/com/github/e13mort/stf/console/commands/EmptyDevicesException.java
// public class EmptyDevicesException extends Exception { }
// 
// Path: client/src/main/java/com/github/e13mort/stf/console/commands/HelpCommandCreator.java
// class HelpCommandCreatorImpl implements HelpCommandCreator {
//     @Override
//     public CommandContainer.Command createHelpCommand(JCommander commander) {
//         return new HelpCommand(commander);
//     }
// }
// 
// Path: client/src/main/java/com/github/e13mort/stf/console/commands/UnknownCommandException.java
// public class UnknownCommandException extends Exception {
//     public UnknownCommandException(String message) {
//         super(message);
//     }
// }


// Path: client/src/main/java/com/github/e13mort/stf/console/App.java
import com.github.e13mort.stf.console.commands.EmptyDevicesException;
import com.github.e13mort.stf.console.commands.HelpCommandCreator.HelpCommandCreatorImpl;
import com.github.e13mort.stf.console.commands.UnknownCommandException;
import java.io.IOException;
import java.util.logging.*;

package com.github.e13mort.stf.console;



public class App {

    private static ErrorHandler errorHandler = throwable -> {};

    public static void main(String... args) throws IOException {
        final Logger logger = createLogger();
        errorHandler = new StfErrorHandler(logger);
        StfCommanderContext.create(logger)
                .map(context -> StfCommander.create(context, new HelpCommandCreatorImpl(), errorHandler, args))