// Path: src/main/java/net/teamtf/launcher/content/FileContent.java
// public class FileContent {
//     public static final int TEMPFILE_NAME_MAX_LENGTH = 18;
//     public static final String[] CRASHREPORTS_ANNOTATION = {
// 	"萌萌萌"
//     };
//     public static final String[] CRASHREPORTS_TEMPLET = {
// 	"--- Trigonometry Launcher - Crash Report ---",
// 	"// ${ANNOTATION}",
// 	"",
// 	"Time: ${TIME}",
// 	"Description: ${DESCRIPTION}",
// 	"",
// 	"${EXCEPTION_TITLE}",
// 	"${EXCEPTION_TEXT}",
// 	"",
// 	"-----------------------------------------------------------------------------",
// 	"${MESSAGE}"
//     };
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/OSType.java
// public enum OSType {
//     WINDOWS,
//     LINUX,
//     MACOSX,
//     OTHER
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/OSUtils.java
// public class OSUtils {
//     /**
//      * Get current OS Type
//      * 
//      * @return the current OS type
//      */
//     public static OSType getCurrentOSType() {
// 	String osname = System.getProperty("os.name").toLowerCase(Locale.ENGLISH);
// 	if(osname.contains("win")) {
// 	    return OSType.WINDOWS;
// 	} else if (osname.contains("linux")) {
// 	    return OSType.LINUX;
// 	} else if (osname.contains("mac")) {
// 	    return OSType.MACOSX;
// 	} else {
// 	    return OSType.OTHER;
// 	}
//     }
//     
// 
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/RandomUtils.java
// public class RandomUtils {
//     public static String nextString(int length) {
// 	return RandomStringUtils.randomAlphanumeric(length).toLowerCase();
//     }
//     
//     public static int nextInteger(int max) {
// 	return new Random().nextInt(max);
//     }
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/Utils.java
// public class Utils {
//     /**
//      * Get current time (fully)
//      * 
//      * @return current time: yyyy-MM-dd HH:mm:ss
//      */
//     public static String getCurrentFullyTime() {
// 	return new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date());
//     }
// }


import java.io.File;
import net.teamtf.launcher.content.FileContent;
import net.teamtf.launcher.util.OSType;
import net.teamtf.launcher.util.OSUtils;
import net.teamtf.launcher.util.RandomUtils;
import net.teamtf.launcher.util.Utils;
	user = new File(parent, "user");
	temp = new File(parent, "temp");
	crashreport = new File(parent, "crash-report");
	log = new File(parent, "log");
	if(parent.exists()) {
	    isFirstLaunch = false;
	} else {
	    isFirstLaunch = true;
	}
	parent.mkdir();
	client.mkdir();
	user.mkdir();
	temp.mkdir();
	crashreport.mkdir();
	log.mkdir();
    }
    
    public File getGameConfigFile() {
	return new File(user, ".gconfig");
    }
    
    public File getLauncherConfigFile() {
	return new File(user, ".lconfig");
    }
    
    public File createNewCrashReportFile() {
	return new File(crashreport, Utils.getCurrentFullyTime() + ".txt");
    }
    
    public File createNewTempDir() {
// Path: src/main/java/net/teamtf/launcher/content/FileContent.java
// public class FileContent {
//     public static final int TEMPFILE_NAME_MAX_LENGTH = 18;
//     public static final String[] CRASHREPORTS_ANNOTATION = {
// 	"萌萌萌"
//     };
//     public static final String[] CRASHREPORTS_TEMPLET = {
// 	"--- Trigonometry Launcher - Crash Report ---",
// 	"// ${ANNOTATION}",
// 	"",
// 	"Time: ${TIME}",
// 	"Description: ${DESCRIPTION}",
// 	"",
// 	"${EXCEPTION_TITLE}",
// 	"${EXCEPTION_TEXT}",
// 	"",
// 	"-----------------------------------------------------------------------------",
// 	"${MESSAGE}"
//     };
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/OSType.java
// public enum OSType {
//     WINDOWS,
//     LINUX,
//     MACOSX,
//     OTHER
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/OSUtils.java
// public class OSUtils {
//     /**
//      * Get current OS Type
//      * 
//      * @return the current OS type
//      */
//     public static OSType getCurrentOSType() {
// 	String osname = System.getProperty("os.name").toLowerCase(Locale.ENGLISH);
// 	if(osname.contains("win")) {
// 	    return OSType.WINDOWS;
// 	} else if (osname.contains("linux")) {
// 	    return OSType.LINUX;
// 	} else if (osname.contains("mac")) {
// 	    return OSType.MACOSX;
// 	} else {
// 	    return OSType.OTHER;
// 	}
//     }
//     
// 
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/RandomUtils.java
// public class RandomUtils {
//     public static String nextString(int length) {
// 	return RandomStringUtils.randomAlphanumeric(length).toLowerCase();
//     }
//     
//     public static int nextInteger(int max) {
// 	return new Random().nextInt(max);
//     }
// }
// 
// Path: src/main/java/net/teamtf/launcher/util/Utils.java
// public class Utils {
//     /**
//      * Get current time (fully)
//      * 
//      * @return current time: yyyy-MM-dd HH:mm:ss
//      */
//     public static String getCurrentFullyTime() {
// 	return new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date());
//     }
// }


// Path: src/main/java/net/teamtf/launcher/core/TLFileSystem.java
import java.io.File;
import net.teamtf.launcher.content.FileContent;
import net.teamtf.launcher.util.OSType;
import net.teamtf.launcher.util.OSUtils;
import net.teamtf.launcher.util.RandomUtils;
import net.teamtf.launcher.util.Utils;

	user = new File(parent, "user");
	temp = new File(parent, "temp");
	crashreport = new File(parent, "crash-report");
	log = new File(parent, "log");
	if(parent.exists()) {
	    isFirstLaunch = false;
	} else {
	    isFirstLaunch = true;
	}
	parent.mkdir();
	client.mkdir();
	user.mkdir();
	temp.mkdir();
	crashreport.mkdir();
	log.mkdir();
    }
    
    public File getGameConfigFile() {
	return new File(user, ".gconfig");
    }
    
    public File getLauncherConfigFile() {
	return new File(user, ".lconfig");
    }
    
    public File createNewCrashReportFile() {
	return new File(crashreport, Utils.getCurrentFullyTime() + ".txt");
    }
    
    public File createNewTempDir() {
	return new File(temp, RandomUtils.nextString(24));