From 73c1cc8526ae9fae93600ba449b466cdfe19f1ef Mon Sep 17 00:00:00 2001 From: Alessandro Autiero Date: Thu, 21 Sep 2023 16:48:31 +0200 Subject: [PATCH] Final version --- common/lib/common.dart | 1 + common/lib/src/constant/supabase.dart | 4 +- common/lib/src/model/archive.dart | 18 + common/lib/src/util/build.dart | 192 ++++--- common/lib/src/util/reboot.dart | 22 +- common/pubspec.yaml | 1 + ...e my server available to other players.md} | 0 gui/README.md | 16 + gui/assets/build/7zip.exe | Bin 0 -> 1292288 bytes .../images/{auth.png => authenticator.png} | Bin .../images/{browse.png => server_browser.png} | Bin gui/assets/images/tutorial_else_1.png | Bin 3037 -> 0 bytes gui/assets/images/tutorial_else_2.png | Bin 5080 -> 0 bytes gui/assets/images/tutorial_else_3.png | Bin 2741 -> 0 bytes gui/assets/images/tutorial_else_4.png | Bin 3080 -> 0 bytes gui/assets/images/tutorial_else_5.png | Bin 1595 -> 0 bytes gui/assets/images/tutorial_else_6.png | Bin 1034 -> 0 bytes gui/assets/images/tutorial_else_7.png | Bin 35726 -> 0 bytes gui/assets/images/tutorial_own_1.png | Bin 3037 -> 0 bytes gui/assets/images/tutorial_own_10.png | Bin 1034 -> 0 bytes gui/assets/images/tutorial_own_11.png | Bin 35726 -> 0 bytes gui/assets/images/tutorial_own_2.png | Bin 2388 -> 0 bytes gui/assets/images/tutorial_own_3.png | Bin 2741 -> 0 bytes gui/assets/images/tutorial_own_4.png | Bin 3080 -> 0 bytes gui/assets/images/tutorial_own_5.png | Bin 1909 -> 0 bytes gui/assets/images/tutorial_own_6.png | Bin 1034 -> 0 bytes gui/assets/images/tutorial_own_7.png | Bin 2270 -> 0 bytes gui/assets/images/tutorial_own_8.png | Bin 9108 -> 0 bytes gui/assets/images/tutorial_own_9.png | Bin 1595 -> 0 bytes gui/assets/misc/udp.ps1 | 40 -- gui/l10n.yaml | 3 + gui/lib/l10n/reboot_en.arb | 268 +++++++++ gui/lib/l10n/reboot_pl.arb | 251 +++++++++ gui/lib/main.dart | 117 ++-- .../controller/authenticator_controller.dart | 7 +- gui/lib/src/controller/game_controller.dart | 5 - .../src/controller/hosting_controller.dart | 25 +- .../src/controller/matchmaker_controller.dart | 7 +- gui/lib/src/controller/server_controller.dart | 13 +- .../src/controller/settings_controller.dart | 21 +- gui/lib/src/controller/update_controller.dart | 9 +- gui/lib/src/dialog/abstract/dialog.dart | 25 +- .../src/dialog/abstract/dialog_button.dart | 3 +- gui/lib/src/dialog/abstract/info_bar.dart | 112 ++-- gui/lib/src/dialog/implementation/data.dart | 24 + gui/lib/src/dialog/implementation/error.dart | 10 +- gui/lib/src/dialog/implementation/game.dart | 69 --- .../src/dialog/implementation/profile.dart | 17 +- gui/lib/src/dialog/implementation/server.dart | 80 +-- gui/lib/src/page/abstract/page.dart | 78 +++ gui/lib/src/page/abstract/page_setting.dart | 26 + gui/lib/src/page/abstract/page_type.dart | 9 + gui/lib/src/page/authenticator_page.dart | 142 ----- gui/lib/src/page/browse_page.dart | 265 --------- gui/lib/src/page/hosting_page.dart | 263 --------- .../implementation/authenticator_page.dart | 155 ++++++ .../page/{ => implementation}/home_page.dart | 229 ++++---- .../src/page/implementation/info_page.dart | 130 +++++ .../page/implementation/matchmaker_page.dart | 165 ++++++ .../src/page/implementation/play_page.dart | 143 +++++ .../implementation/server_browser_page.dart | 247 +++++++++ .../page/implementation/server_host_page.dart | 289 ++++++++++ .../page/implementation/settings_page.dart | 317 +++++++++++ gui/lib/src/page/info_page.dart | 161 ------ gui/lib/src/page/matchmaker_page.dart | 151 ----- gui/lib/src/page/pages.dart | 43 ++ gui/lib/src/page/play_page.dart | 137 ----- gui/lib/src/page/settings_page.dart | 189 ------- gui/lib/src/util/checks.dart | 27 +- gui/lib/src/util/matchmaker.dart | 43 +- gui/lib/src/util/translations.dart | 18 + gui/lib/src/widget/common/file_selector.dart | 2 - gui/lib/src/widget/common/setting_tile.dart | 35 +- gui/lib/src/widget/game/start_button.dart | 520 +++++++++--------- gui/lib/src/widget/home/pane.dart | 338 ------------ gui/lib/src/widget/os/border.dart | 27 - gui/lib/src/widget/os/mouse.dart | 11 +- gui/lib/src/widget/server/start_button.dart | 10 +- gui/lib/src/widget/server/type_selector.dart | 20 +- .../src/widget/version/add_local_version.dart | 13 +- .../widget/version/add_server_version.dart | 99 ++-- .../version/version_build_selector.dart | 17 +- .../widget/version/version_name_input.dart | 20 +- .../src/widget/version/version_selector.dart | 38 +- .../widget/version/version_selector_tile.dart | 48 ++ gui/pubspec.yaml | 4 + .../flutter/generated_plugin_registrant.cc | 3 + gui/windows/flutter/generated_plugins.cmake | 1 + gui/windows/runner/main.cpp | 17 +- gui/windows/runner/win32_window.cpp | 2 +- 90 files changed, 3204 insertions(+), 2608 deletions(-) create mode 100644 common/lib/src/model/archive.dart rename documentation/{PortForwarding.md => en/How can I make my server available to other players.md} (100%) create mode 100644 gui/README.md create mode 100644 gui/assets/build/7zip.exe rename gui/assets/images/{auth.png => authenticator.png} (100%) rename gui/assets/images/{browse.png => server_browser.png} (100%) delete mode 100644 gui/assets/images/tutorial_else_1.png delete mode 100644 gui/assets/images/tutorial_else_2.png delete mode 100644 gui/assets/images/tutorial_else_3.png delete mode 100644 gui/assets/images/tutorial_else_4.png delete mode 100644 gui/assets/images/tutorial_else_5.png delete mode 100644 gui/assets/images/tutorial_else_6.png delete mode 100644 gui/assets/images/tutorial_else_7.png delete mode 100644 gui/assets/images/tutorial_own_1.png delete mode 100644 gui/assets/images/tutorial_own_10.png delete mode 100644 gui/assets/images/tutorial_own_11.png delete mode 100644 gui/assets/images/tutorial_own_2.png delete mode 100644 gui/assets/images/tutorial_own_3.png delete mode 100644 gui/assets/images/tutorial_own_4.png delete mode 100644 gui/assets/images/tutorial_own_5.png delete mode 100644 gui/assets/images/tutorial_own_6.png delete mode 100644 gui/assets/images/tutorial_own_7.png delete mode 100644 gui/assets/images/tutorial_own_8.png delete mode 100644 gui/assets/images/tutorial_own_9.png delete mode 100644 gui/assets/misc/udp.ps1 create mode 100644 gui/l10n.yaml create mode 100644 gui/lib/l10n/reboot_en.arb create mode 100644 gui/lib/l10n/reboot_pl.arb create mode 100644 gui/lib/src/dialog/implementation/data.dart delete mode 100644 gui/lib/src/dialog/implementation/game.dart create mode 100644 gui/lib/src/page/abstract/page.dart create mode 100644 gui/lib/src/page/abstract/page_setting.dart create mode 100644 gui/lib/src/page/abstract/page_type.dart delete mode 100644 gui/lib/src/page/authenticator_page.dart delete mode 100644 gui/lib/src/page/browse_page.dart delete mode 100644 gui/lib/src/page/hosting_page.dart create mode 100644 gui/lib/src/page/implementation/authenticator_page.dart rename gui/lib/src/page/{ => implementation}/home_page.dart (52%) create mode 100644 gui/lib/src/page/implementation/info_page.dart create mode 100644 gui/lib/src/page/implementation/matchmaker_page.dart create mode 100644 gui/lib/src/page/implementation/play_page.dart create mode 100644 gui/lib/src/page/implementation/server_browser_page.dart create mode 100644 gui/lib/src/page/implementation/server_host_page.dart create mode 100644 gui/lib/src/page/implementation/settings_page.dart delete mode 100644 gui/lib/src/page/info_page.dart delete mode 100644 gui/lib/src/page/matchmaker_page.dart create mode 100644 gui/lib/src/page/pages.dart delete mode 100644 gui/lib/src/page/play_page.dart delete mode 100644 gui/lib/src/page/settings_page.dart create mode 100644 gui/lib/src/util/translations.dart delete mode 100644 gui/lib/src/widget/home/pane.dart delete mode 100644 gui/lib/src/widget/os/border.dart create mode 100644 gui/lib/src/widget/version/version_selector_tile.dart diff --git a/common/lib/common.dart b/common/lib/common.dart index 8646a2c..2812459 100644 --- a/common/lib/common.dart +++ b/common/lib/common.dart @@ -5,6 +5,7 @@ export 'package:reboot_common/src/constant/os.dart'; export 'package:reboot_common/src/constant/supabase.dart'; +export 'package:reboot_common/src/model/archive.dart'; export 'package:reboot_common/src/model/fortnite_build.dart'; export 'package:reboot_common/src/model/fortnite_version.dart'; export 'package:reboot_common/src/model/game_instance.dart'; diff --git a/common/lib/src/constant/supabase.dart b/common/lib/src/constant/supabase.dart index 6e6378f..02fc1cb 100644 --- a/common/lib/src/constant/supabase.dart +++ b/common/lib/src/constant/supabase.dart @@ -1,2 +1,2 @@ -const String supabaseUrl = 'https://drxuhdtyigthmjfhjgfl.supabase.co'; -const String supabaseAnonKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRyeHVoZHR5aWd0aG1qZmhqZ2ZsIiwicm9sZSI6ImFub24iLCJpYXQiOjE2ODUzMDU4NjYsImV4cCI6MjAwMDg4MTg2Nn0.unuO67xf9CZgHi-3aXmC5p3RAktUfW7WwqDY-ccFN1M'; \ No newline at end of file +const String supabaseUrl = 'https://pocjparoguvaeeyjapjb.supabase.co'; +const String supabaseAnonKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBvY2pwYXJvZ3V2YWVleWphcGpiIiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTUzMTM4NTUsImV4cCI6MjAxMDg4OTg1NX0.BffJtbQvX1NVUy-9Nj4GVzUJXPK_1GyezDE0V5MRiao'; \ No newline at end of file diff --git a/common/lib/src/model/archive.dart b/common/lib/src/model/archive.dart new file mode 100644 index 0000000..c292fb3 --- /dev/null +++ b/common/lib/src/model/archive.dart @@ -0,0 +1,18 @@ +import 'dart:io'; +import 'dart:isolate'; + +class ArchiveDownloadProgress { + final double progress; + final int? minutesLeft; + final bool extracting; + + ArchiveDownloadProgress(this.progress, this.minutesLeft, this.extracting); +} + +class ArchiveDownloadOptions { + String archiveUrl; + Directory destination; + SendPort port; + + ArchiveDownloadOptions(this.archiveUrl, this.destination, this.port); +} diff --git a/common/lib/src/util/build.dart b/common/lib/src/util/build.dart index b03e92e..a731c78 100644 --- a/common/lib/src/util/build.dart +++ b/common/lib/src/util/build.dart @@ -1,22 +1,29 @@ import 'dart:async'; +import 'dart:convert'; import 'dart:io'; import 'dart:isolate'; -import 'package:http/http.dart' as http; import 'package:path/path.dart' as path; import 'package:reboot_common/common.dart'; +import 'package:dio/dio.dart'; -final Uri _manifestSourceUrl = Uri.parse( - "https://raw.githubusercontent.com/simplyblk/Fortnitebuilds/main/README.md"); +final Dio _dio = Dio(); +final String _manifestSourceUrl = "https://raw.githubusercontent.com/simplyblk/Fortnitebuilds/main/README.md"; +final RegExp _rarProgressRegex = RegExp("^((100)|(\\d{1,2}(.\\d*)?))%\$"); Future> fetchBuilds(ignored) async { - var response = await http.get(_manifestSourceUrl); + var response = await _dio.get( + _manifestSourceUrl, + options: Options( + responseType: ResponseType.plain + ) + ); if (response.statusCode != 200) { throw Exception("Erroneous status code: ${response.statusCode}"); } var results = []; - for (var line in response.body.split("\n")) { + for (var line in response.data?.split("\n") ?? []) { if(!line.startsWith("|")) { continue; } @@ -44,77 +51,118 @@ Future downloadArchiveBuild(ArchiveDownloadOptions options) async { var stopped = _setupLifecycle(options); var outputDir = Directory("${options.destination.path}\\.build"); outputDir.createSync(recursive: true); - try { - options.destination.createSync(recursive: true); - var fileName = options.archiveUrl.substring(options.archiveUrl.lastIndexOf("/") + 1); - var extension = path.extension(fileName); - var tempFile = File("${outputDir.path}\\$fileName"); - if(tempFile.existsSync()) { - tempFile.deleteSync(recursive: true); - } - - await _download(options, tempFile, stopped); - await _extract(stopped, extension, tempFile, options); - delete(outputDir); - } catch(message) { - throw Exception("Cannot download build: $message"); - } -} - -Future _download(ArchiveDownloadOptions options, File tempFile, Completer stopped) async { - var client = http.Client(); - var request = http.Request("GET", Uri.parse(options.archiveUrl)); - request.headers['Connection'] = 'Keep-Alive'; - var response = await client.send(request); - if (response.statusCode != 200) { - throw Exception("Erroneous status code: ${response.statusCode}"); + options.destination.createSync(recursive: true); + var fileName = options.archiveUrl.substring(options.archiveUrl.lastIndexOf("/") + 1); + var extension = path.extension(fileName); + var tempFile = File("${outputDir.path}\\$fileName"); + if(tempFile.existsSync()) { + tempFile.deleteSync(recursive: true); } var startTime = DateTime.now().millisecondsSinceEpoch; - var length = response.contentLength!; - var received = 0; - var sink = tempFile.openWrite(); - var subscription = response.stream.listen((data) async { - received += data.length; - var now = DateTime.now(); - var progress = (received / length) * 100; - var msLeft = startTime + (now.millisecondsSinceEpoch - startTime) * length / received - now.millisecondsSinceEpoch; - var minutesLeft = (msLeft / 1000 / 60).round(); - options.port.send(ArchiveDownloadProgress(progress, minutesLeft, false)); - sink.add(data); - }); + var response = _downloadFile(options, tempFile, startTime); + await Future.any([stopped.future, response]); + if(!stopped.isCompleted) { + var awaitedResponse = await response; + if (!awaitedResponse.statusCode.toString().startsWith("20")) { + throw Exception("Erroneous status code: ${awaitedResponse.statusCode}"); + } - await Future.any([stopped.future, subscription.asFuture()]); - if(stopped.isCompleted) { - await subscription.cancel(); - }else { - await sink.flush(); - await sink.close(); - await sink.done; + await _extract(stopped, extension, tempFile, options); } + + delete(outputDir); +} + +Future _downloadFile(ArchiveDownloadOptions options, File tempFile, int startTime, [int? byteStart = null]) { + var received = byteStart ?? 0; + return _dio.download( + options.archiveUrl, + tempFile.path, + onReceiveProgress: (data, length) { + received = data; + var now = DateTime.now(); + var progress = (received / length) * 100; + var msLeft = startTime + (now.millisecondsSinceEpoch - startTime) * length / received - now.millisecondsSinceEpoch; + var minutesLeft = (msLeft / 1000 / 60).round(); + options.port.send(ArchiveDownloadProgress(progress, minutesLeft, false)); + }, + deleteOnError: false, + options: Options( + headers: byteStart == null ? null : { + "Range": "bytes=${byteStart}-" + } + ) + ).catchError((error) => _downloadFile(options, tempFile, startTime, received)); } Future _extract(Completer stopped, String extension, File tempFile, ArchiveDownloadOptions options) async { - if(stopped.isCompleted) { - return; - } - - options.port.send(ArchiveDownloadProgress(0, -1, true)); + var startTime = DateTime.now().millisecondsSinceEpoch; Process? process; switch (extension.toLowerCase()) { - case '.zip': + case ".zip": process = await Process.start( - 'tar', - ['-xf', tempFile.path, '-C', options.destination.path], - mode: ProcessStartMode.inheritStdio + "${assetsDirectory.path}\\build\\7zip.exe", + ["a", "-bsp1", '-o"${options.destination.path}"', tempFile.path] ); + process.stdout.listen((bytes) { + var now = DateTime.now().millisecondsSinceEpoch; + var data = utf8.decode(bytes); + if(data == "Everything is Ok") { + options.port.send(ArchiveDownloadProgress(100, 0, true)); + return; + } + + var element = data.trim().split(" ")[0]; + if(!element.endsWith("%")) { + return; + } + + var percentage = int.parse(element.substring(0, element.length - 1)); + if(percentage == 0) { + options.port.send(ArchiveDownloadProgress(percentage.toDouble(), null, true)); + return; + } + + _onProgress(startTime, now, percentage, options); + }); break; - case '.rar': + case ".rar": process = await Process.start( - '${assetsDirectory.path}\\build\\winrar.exe', - ['x', tempFile.path, '*.*', options.destination.path], - mode: ProcessStartMode.inheritStdio + "${assetsDirectory.path}\\build\\winrar.exe", + ["x", "-o+", tempFile.path, "*.*", options.destination.path] ); + process.stdout.listen((event) { + var now = DateTime.now().millisecondsSinceEpoch; + var data = utf8.decode(event); + data.replaceAll("\r", "") + .replaceAll("\b", "") + .trim() + .split("\n") + .forEach((entry) { + if(entry == "All OK") { + options.port.send(ArchiveDownloadProgress(100, 0, true)); + return; + } + + var element = _rarProgressRegex.firstMatch(entry)?.group(1); + if(element == null) { + return; + } + + var percentage = int.parse(element); + if(percentage == 0) { + options.port.send(ArchiveDownloadProgress(percentage.toDouble(), null, true)); + return; + } + + _onProgress(startTime, now, percentage, options); + }); + }); + process.stderr.listen((event) { + var data = utf8.decode(event); + options.port.send(data); + }); break; default: throw ArgumentError("Unexpected file extension: $extension}"); @@ -123,6 +171,12 @@ Future _extract(Completer stopped, String extension, File tempFil await Future.any([stopped.future, process.exitCode]); } +void _onProgress(int startTime, int now, int percentage, ArchiveDownloadOptions options) { + var msLeft = startTime + (now - startTime) * 100 / percentage - now; + var minutesLeft = (msLeft / 1000 / 60).round(); + options.port.send(ArchiveDownloadProgress(percentage.toDouble(), minutesLeft, true)); +} + Completer _setupLifecycle(ArchiveDownloadOptions options) { var stopped = Completer(); var lifecyclePort = ReceivePort(); @@ -133,20 +187,4 @@ Completer _setupLifecycle(ArchiveDownloadOptions options) { }); options.port.send(lifecyclePort.sendPort); return stopped; -} - -class ArchiveDownloadOptions { - String archiveUrl; - Directory destination; - SendPort port; - - ArchiveDownloadOptions(this.archiveUrl, this.destination, this.port); -} - -class ArchiveDownloadProgress { - final double progress; - final int minutesLeft; - final bool extracting; - - ArchiveDownloadProgress(this.progress, this.minutesLeft, this.extracting); } \ No newline at end of file diff --git a/common/lib/src/util/reboot.dart b/common/lib/src/util/reboot.dart index 43c9730..a49eecb 100644 --- a/common/lib/src/util/reboot.dart +++ b/common/lib/src/util/reboot.dart @@ -13,10 +13,9 @@ final File rebootDllFile = File("${assetsDirectory.path}\\dlls\\reboot.dll"); List createRebootArgs(String username, String password, bool host, String additionalArgs) { if(password.isEmpty) { - username = username.isEmpty ? kDefaultPlayerName : username; - username = host ? "$username${Random().nextInt(1000)}" : username; - username = '$username@projectreboot.dev'; + username = '${_parseUsername(username, host)}@projectreboot.dev'; } + password = password.isNotEmpty ? password : "Rebooted"; var args = [ "-epicapp=Fortnite", @@ -48,6 +47,23 @@ List createRebootArgs(String username, String password, bool host, Strin return args; } +String _parseUsername(String username, bool host) { + if(host) { + return "Player${Random().nextInt(1000)}"; + } + + if (username.isEmpty) { + return kDefaultPlayerName; + } + + username = username.replaceAll(RegExp("[^A-Za-z0-9]"), "").trim(); + if(username.isEmpty){ + return kDefaultPlayerName; + } + + return username; +} + Future downloadRebootDll(String url, int? lastUpdateMs, {int hours = 24, bool force = false}) async { Directory? outputDir; diff --git a/common/pubspec.yaml b/common/pubspec.yaml index e7f0aa9..00a302f 100644 --- a/common/pubspec.yaml +++ b/common/pubspec.yaml @@ -7,6 +7,7 @@ environment: sdk: ">=2.19.0 <=3.3.3" dependencies: + dio: ^5.3.2 win32: 3.0.0 ffi: ^2.1.0 path: ^1.8.3 diff --git a/documentation/PortForwarding.md b/documentation/en/How can I make my server available to other players.md similarity index 100% rename from documentation/PortForwarding.md rename to documentation/en/How can I make my server available to other players.md diff --git a/gui/README.md b/gui/README.md new file mode 100644 index 0000000..75ccbda --- /dev/null +++ b/gui/README.md @@ -0,0 +1,16 @@ +# reboot_launcher + +Launcher for project reboot + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/gui/assets/build/7zip.exe b/gui/assets/build/7zip.exe new file mode 100644 index 0000000000000000000000000000000000000000..18342b383508d94eea317140abc74d7a4c40ab8b GIT binary patch literal 1292288 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%0D0yfMNA0u9c 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

5CClZLPYhnS1RKqG6NktplhL|Ip| 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

8H4>-p=6 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%0D@YayQQ!Ty-G>;G<@XS^FDyoc1HloREtPy2f@e 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 okL3BF@?NnCv_ zN$eKBMqUAfHm$6+8hLAY^I!J7sIeRTgKUr5#8$!cdTyX6;VmC$bF;C+_z4-X#Liv0 z<|E0NRns|(DJ}d9#FUKzrMlP&OJ&xUkY>FKrrz!}R)%}dXTEdAY2oWzI6>`NX~zyz zbRKRySSdQ}=CrPzMzQ8DKIk-tqMh(#5h~|i-CNi+@uGB-z;9pl!@l{_OGw_bIl(LeRz% zr%Joe`OL~tO}KSSl)`=$$I-`u$ZgkB48e+kg+}O`km*%*vekKftO!umH+}O(d}r zBvS}@&x`Ti_lJAdbINp7g()x6dwzLMRsIG&%*IjI!BF{7?-H4T;(=V>jQ&CpODm)` zUJkx9&1S2=u~JFO{-gnoL|Arg6(>oZ2@MEa^xAhl3hT(%{qV2zH#38kM zaVuyQL0SvtqXy%`z3KdV4Fs=wIT|PPpFAn)?)8bip+9j7!1hxRs1HlUJ=QB`+a~^o z&PS8%T4O?e7OHdNrG2kNt(8%$HE6X3EjwtPW$dqJe{r8a;3_`t&C0fV236NOo0srf zMZ-X*lXca0thR9Xw}dc8_~5VARfbG^BkdX3dV3Aa;x$ad^pb(i1HaX42e4+~?S`

%-F1Adq8t*@*R? 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�_vTx5*4P5*snY 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%0D*~Y%Nv7gJ@ZC=i! z>1FN*Q1&HKt~@`Y4Jq1yq75n9fg;}(Z6R{IN&BsJskLl-2HVbM|5@xG$Ntfi_A{1q z4@LW2Ok12M*ADZVz+4U2@>%3_f_*KwpNq(I8~Vpn?(q&Kt3zS83Q(?Kb@_T?0ZB#)|^Y(&hT1eO*!YloAK%wXv{ok-lM?(0S(Er^iN!OWnL*FTfj|6#v+yOIO|^V+sxmh`pr`J_-!Wq%y;5dl`Km+gkmU%8Ij>q4n5PA zb6;a_Ec5!z>u|qdjt6(i^&^VN&xeeaQPCDT=PAN; zdYs!uq=$TaXq@NPsLhN+nf_NSH_Ec?PkLm1L>ToTaz7a>Q@^Q8eWXXR{h*F7Vp+zu zY$tWj8E!1#{T`m1q>wk}ywWafeA4vKcr}bNib%`C>1rYEHi2zqf9E>0pJV@2(mE?B z{hame&B%=9KG&Wn)Az!5e{s6LZ*sqq?N-^LY21fJ(+2ooPoyD{zBHa|RxD-eY;S$j zUFwQhmpUQomAoUZ&M@P;8R|OrPbH1BIERUJ+Q(cG!~D<5_j__@y3Dah5tPq0dU>k8 zBk!2*JJ?3rLlgWS@^95?p&mKIjD%^Fg|1gRPt0~R6sOD5t$Z$*dJq*}MjYm~Yl?TP zXtR;q@%;z(In(V@Y36?X#xFjA;`FlkucEM|P5PlQ^M#=q<~9@IX8!SgOy|B5M*WG1 z-yN;oq(R>Kib#iSJ1NXak73TkrBdyCX}d10Nm6UV)0iWOR*R@Z3n(|~?`BcY6DcSA znVs3sB)L>DnY8P35#Njk^|JVFvs|iImL(0LSaW?u81Y8zC)@eCzjVZH)|DRW$`IFX z$|-^VG5UGx+gUNZ!^ORy-G|zB$7VsSDq#KUa^7k4>T9yxe-1H5o$FH9r&1>_r@uMJ ztAZw%L0o?kAu+TY+j#_IE3>KNN+a(r(%UM*tmF*oFbTYXoVMbYx^$ zZQyb!pNIAGSM>5Pp+Wc`^s;lVZj3f@%Ch-9ZTe}S)yqEiN8*h_M~YA0lV-Er$FU~Q z)2U1=%)VE!=_6eH{ZKv~P~!ceUVcrl|E&)HP>0W0Z0(m0W&3lMS^KYp5??Wt@R)2X zd=`}OOeo=db@(A2Zuc2BlbCy58%|f}4J}lwLW|VOo(%e)Otq|hv0CC^q853xcrRk9 zId_}-HLGvw({YYM&vKnUD4&b;@@Bn!9h7wJ(aX;JwmjlHW!Z7xChP5w#35x6cjct} zHsU?yzD#}>T**0IW^M$mCNj+DyeFzLr8g&8srz`UP5KIx+$`2`x4IF?4MrQ}5n zeVH@d*=P7x)3>5rKil8yQup@EPt1R=2N*2IOqGi^Q`(@d%jhl{{*G}OtcrX?5sK4G|DuUvQ8o0v6QPk z-{}6j)kb_5xKtUEeeZ_yc~>vLua}*D(jfcIGw-8#wn@CnUarYHPFZJvq#cMnS4BSC z_i%40eUThbwzVnsBA0cosDypYYY}4>XP9x$4BiQjRymZxGU}S!ug6G>xrZdL(tBjA zV&#=QN3`#~Ixe)%?|mqrCoYUVd3GzYQf%ey5k6c^@DhcKObm%RDgYHJ@GU zbjo`9NP40)o3=;he}*qI|7CjyA`|7{(|$jc&+U5IKCbgO{+e{YG_g&e-fs1JYror| zq~nBMejmzt+40y+GRM3+->FOXdy*YGZqLP5e7Vr>@9g$Ay1|OGq`=zdJ}Ae0Q!oD$ z{=Ye9S%+2585^zme9%5-(4TrW?Y#}v=WM|FIjONhrYt{DAlf^r>8Pz5E_ za}UpJsOR#&lQVqcnIQE%`eNq&h(pe$3d-jey*zPz#~e}KH>~q$Vw(=VU9aBnt^crJ ziQaFNZ8ABAr_iOAq7g}_-A^-Ca)z6Imp_p)XM!~!H|bfX!TUL@!zpUT&}_9VG)FDz znagvIRK`;CXlL_zPPB;Y_JULAr0o9QrX&CQwz$-NMJ{#ZBcw~lO@ zBs=>FJ1)(P%dI?J59RX-y*!bpj=A*?oi}Z4)2+9ATkp5LII^BO=j8kJem=I5JS~Gq zQNcB&J$t&!_Fkq^doJZ(z9?dy{09B}p+fHCH>>2}7OuTpx%OYKj3?sM6W(;f7!NQm zm??QTk9QAPPG&iQb!M1-os@Isd5W=s`vm&NL>ZUgMIT{4J5A(T&%E4Y_Wa0P)pV6h zeE|(h`phz)YtCaj!|iLc`OJy@Rn*<4?Jo5Y%D9&OR>rB7l*t^{+3!|3*V}DD=W}l4 z`yskdH|KEZho$_yrw@}n?JIGq4^WdFTdwImqjQECa?iyzJ&xyg*0JQ75$|Nv-$);C z*7a++UqJm5hdJjrjW!vjJdSW9m3wyL@puh$pNwl=Y726evd@fYHG}7_@?6##ZtxrN z=|P#(l>NA`i6ZYOw~>W$+|#V!T+gKZmQ#MqbeYa0ES0digfUmQa0c61_jw6^ecx@S zpYLJ}@rziD7Zqb-#aK~!7pk@$F7+x3UPt;Abv(>BKmXh9_#Rxue*A6>%ic1^31&P* zjo*uk^s@N-QJ!8F{{hO7Wf@O#+=#FR(afLl{}D)U#J;jE>5hnB!Z@FZG?-(w%!qUv z>C;s@W99^&Rm|kOX!X0SHu*f1&x_E2Z$XMcW$m_>H^Zr}5fgpDX|7MBx?PvCzkKR- zd~HJeKHctbbh*u=&Lug@ZK566ZFK?fBvZa~^mY^DaP#>*@75CT(sed+j?=2gMn){p z=qJ5Pq2IlVc)!9vo=rQQr(3qeZOXgV9LIW}OSesXoqg_SC#tiVpIG)E<|iid$((1S z{V*0cpC!}A#7n#M)w|RasA>mwN!m8o8fTc1AE)x^*UsV|Ae}k%*}MyuDc`;vqFh4E zvvA+9m}76dn|RQm9ZxvkTyDC@r8*^y?RuC4xP$#t*w4eVi~0FD_KhZ9=l({lp<>^m z9h>(LhBYQjrjM0;w0WgowrPh8=TB4fxn7xbruIJazCds(Z9R+n%RQds-mdRH>g*?J z$7Q5*UNrX+7tp58SI%%FSH3T>mg{RiWpg3d*NeEmuH*XZg>r#T;pYRTmyz}BKOi+7Kzob{n(6MahQ4Mh%NKgmD(P}O4&#ejZ9H@tTBe_16 zThCh5M-tRBl(y4~!?|pva4)mVGnz0s@xO+PV|WSrl(g$QY28aitHE6f>OIt;<8&@h zT#Kx>5U}={uIi~*gXp;4$GL2z%R5QD$H4V3o%~84T`)MWZ*KSO0BN!Fsxm=Ul2_Zw zt1aZ!#gp=?sUSgp8%6K3&eOSUZ02{8!Y=aJt@4@kkN=DHKLIkOy@V2&ujScjQG)v9 zR{qzD-ru=wT$`Y-W&g|A|6;bkknQsv@fh0@)VBY$zJzBQlu;pN6ZVPW&C&RPghQ6edGJPHPp8`acWLb<}Il|UcPfs6JKVPBc6G2mIKB-ezSmWsh<@m^ZhWE&1Xax zQ)X#1%y-e``JnYK(aCqA)Ms331q$z`oTT0Ju9Y*)d?rvHrDk#cPw+A)De+CTVXipA zX~rP?{|Ob+r(~w^8=E1+@bp9(F4o1BM;p=pn22r6zR)|JchzDIBO{K!yr!W9L-FSo8V(GHHlkCFR+9)5F|*pn8dq_#>9(z1X2--tVA~p0us8#HE&mlhmS~6za`9 z-YsMd<=11V*|9tmKFzhuzJ|p{saRvRdCbu-y3~d?(jjRu%YBA&hMC_l2*omn=lkB& zMQh$c&wbnVZi;st<$N+8bE!*E;hvLmJHwpMzRdR)xh}fp8aaPD^Mbr9#5mV2V_Ngw zJjb#*=CsDn_H*u2+Qj5B=;Y;yceW>8oy49Zd7%}=EdPoc~` z+*`Qbp&exKOpJT61&o7dF^6u=Bhm)%V%;@K>KgVfVjmxId5J5Bc$N~6e20BDame@B z?YTtfm}6p&?rHMy8J=tGB_HK|Wy)8+SJdYSH|k5%(vX`kl)A-5W2-@l{i zN~vc&8)OV1V+RTQW+!t#67Ra{Y8~M-377YYBGxgej}G$;(Gia^muDVRJl{7wG0H>w zmN5r7hq@I*-EywCzMn-M_RAcXRoA3G<$j0nH9hN6 zJrn04&pBf!g-_Z}<{#K5hOwG+e`77*(_-wloVnr*^3oc&>gSZ3V$AQMc_z+*w*Ot1 zdiXeF{(YqX%s6#s*v&X4fj*9BF0?)8dgJRe)z^D?<`PVzt|Y4z+HZn9dm(Q_)PsGL zf05s<7Emwb`RfeofV|sh+?LFD@Mfz+yyvl&__K*Wo%rVvm-Brd>z*reylj>=eNo?! zTr}BDt{>OJu*jvE<1X*(H9vt7)j?Tpn4{Qg8DbIl&L znB&jk_*VUrcU)(i`QUrgrGAd0tMqvf8Oj-E__$9A^P9DyD9&RV&#I!;l5*x?{PGNu zI=xFjvm9`#Rlnk1+Kz|zKIjND@))y)W7IkH1!vI@ETxDJqz6%gM7~cUm54#8pycn z?=JPgKU^v#@yqpq{EQ<%o#DpH1hta9UO^r&3of88r>RA}6S{zBlCzj^F@Be%en*{K z5@v2-D2~4FG~cbJUe(WWtIOu{9!53CGy9B~h%ke9F;9>mXOSOL*X27OC*R}ZUCmU! zt3A)Hj>!Jf4|2Y8y?2J2zggnd{h#^$P_|>dB)>V4xt9CR@J1Ckv`Kl=xlS!~t1jX) zmL~8_v5n8WDd&2sL0RJpvXlj1hgrl~Yl zm@zww>wq;k)OW61eQcFmHOjVjJ>Yui3^(#(xaZ{^E9yt|#k2!^>^iyK+vV~lxB3$G z?jiclTe%KplFm7tZ@iy({pc^OzLNL3*0|N@P+SeiPUbm-u7l2SW5zW43ta~@`JP}< z-dEA{KKV&1KOCpdWnN%eh~Lm-UO>JtZGI2U&odS;bMw+}C-v16{n+WQ>65mX@~dCx zRv-1bRfnY2EEC$BBg{CMs1DM9> zFqU%bI%3xOZM-u?nGf0L=w%G<2s7t?=(khpr{uR1%;yPy$90hSny#XbAa9W4%XbMl zej?#^f8|_n))mqvb=15MCT{cn4f?uV@~PuGx4P|m z`a#~o&YUA-o0EC$TxXu&ME=S>Rsnt5X4SOAtqRLHH`$-~B9{Hp%Ktyv&U{7?8JBUU ze9vnm^SYa;A6u9^x|H%Sq#wV;JkHy@_&(Tf&RdSVgzs0;#urlF^1E6wMtly_L;YY&AH)O(bO#&<8#k%w~fhM7pv9<=}XDmiRWaC`9B#vPg=E zpIX=K#nCf@8sNNzf7Lf(zfJTO$uYPMB1ADu9R~-D=qd|Ro=DY95|Ld z3(fc#-z`QtbrPTa)_^q^V?PUZuAjIbE#o>sKeo7>v74X&%R~R4VAdZQ52O-5&-8e{ zTh`!KHKaFwS|vtuFlx-|vv)OM4@qongi~vFaT99r=xcq=`P1aZ{Kw8G=2GRmwf2kNa8T zS@$608GSC3mu20sNYW6E3-eI8>1-`Cu#0L9%(9?5rj2sfYGc)9;{tTXHO zUBqF>uW65=d|!8~&8SG?k?+=WT)B=p!|i?TecIT*9o5S|=5u{(A7{9|&nfw7zB3qY z){|4_LhLl^Jei@FXZjM9L7ngHaI5bk@!uEPc{iDMJW|)`yUqF9$@i4@HmS@TbIy_X z05W&MwLcWAJl|x@joJ@$t{hkVji^qR6%8+adWY*O{^(yHz=AmUNiU(X8KAu&*=D_4fHp z)LZ!u3&*#{_&N=Imw7$;x{7>VM&2zUZx@lb3&_K{P{++N z?k;QWKlr9wZGDTjBXP+1ko$3Gn32hE*O11!+|SSA-aV1~_IU2wpXC>#k)p?YG zylhoh*&pyTV?LI{B5@?mVKqp zkS2+1B22F7#23vq$QhTh+QqwdyrVrN&-N3!H)5`mxm@`kzL}=qy44SV$5=t)-4>^| z>F2<6cn%!rPi7A89wsA)A)c1HL-m*Wt)vr*!#A~+QB>JL+h;U;Ozm*UsT|Q=u-S$FAkXFL!?I-KF=cfd&3Jkpg&x+dPAd@Dh{)sw7V_s>?_LOfsNJAM~2@100H zjFo33axeB5xgJN+*0w0mKPX?+D#s#!B9_hjqR4HG0*@+S?#s*ES2puoSHO+nu0RCGdamk4Slum()YW zbv!bh{+(-zxsG~y>Uy4IM8w1Yf+5c9QH#VY_de_|-_eQ)m){2FcrlZXXa2qp*RM3% zgM4RD=JaPgZ`I{MVuJcA8j*OV%vkRXv+6O|eahN7-(&Ux9^OqsrFYA@(kF&L$@sCE z^LapJM69E~a4s+6yAN#ZVcWP#+Zs!GCwb^o^xgM!4Q-K}I4f7o=$2>9ZX*4B4<B1O!nxXO7?gl0VXdLwz4J1;?fdVYc`|F}L6^4A$= z6eQA)4RzsA6wjEZsnxW%b10kTw712yzu1ed@~dB%pdLlX?08u346~oBTfaemvJdkt zqD`VP*>91H@`&PonBNW$@;fm8ILbw?M~qP&+nK-B9pW9?9=@l4mv#KnES}#puby*{ zJ`X>0g^n=m`1Z3}`+k~s!FGy!fdKp7j_PE8xrPz8g>~k4!D-*l^;SM|9isl4_g6aa z&FjXB1a%wglXwa}sxX+VE+{`oo#{P~XBIhJE6$?q&Q|d~D^;}rTvg`S-bjy9>H4=z za?j8F!hfd9@~-4J5?1hAF|p=v#mIMIC+3!QA1UXl_-;=&YHiT@&34W( z>pNbK-2G>KGOOXJS9O7YkY6Yn=G)JoZg;?0W|HGgqPjGWV78gLPH{HBLY71&aaS~cFIS#Yx#t=-Q<};=Fa@_v3|;9Yg+fEbz*q0;YXI4oy$UpR% z^htf<)a`O>ojIvw1jj$xNml(+9P7lJRt{#fe)30RnY@p^ec5TYFPW5{smjN!M^o%C z$M2dVT(&=584XXdy~Hy%DIJkHB3sbDQR*j8J#Sg(J56}*(a8LsDqgexv;XPhmiSvv z6My~xAbvS!-)Z(AJ5BhB|6#n@pPD*9iYJ8+fBNKhfzQx}p5`|$A2=EIdBU=v;kxeF zucVpv9bE4n+Z}w6?+vnD;r%D~eXKQE6|>#xK5r7Yd8Rnys4mYTlx`N3%%NtC^de8m1@>#HfVlU^UIpYHBV^1r8%q_{g4&^e9f~pFVHN~EYl2X z-lh3@&8Ib=*L+=bSaVD>L7zvCW}fDyn%8I^)I6g3h-Qc8bDDjc1Da-K)BKj^*EQQUKd zUA1lFmG*XNYJK@f57h?!)%zj?>`in2-?20>QKei>X>nP zKsK!2T~S+W?xfU9#+4O&H&j*ER&1%bS&hlk6^ANnZZ>z>SjX|-lQ7wl4J2S?)V7M? zCJwc&V)vn%eZiaA=FjSqQ^JB#+itE6Rvg%L=-}?)zUqUytJbLX1>4sbZ?@C_#i#=n z2X+T;rk_O(#Y|h&p1`4Ct=eI7x7rr9XHV6k+DeAd z63c<=8!Ob0qiTaSyCuHSsGD}znr>Vi!TeUGtgWgbEsx3`wG~1BZvwH`?hFQRR&~aX zz@eIo-6TVOBdVstN={K!McqEOyIt+rRk3&9!C)n8$}8%mTsfZ|wSkJ=`}XYHy`xf} zk~&a(^r!p+UL7!Qy~Et%DP{34Laa1iNeufA?h95NypjLO zxMK&|cVH*SsM%Yq!kj0op1yCwJhumR#w!IH=iPwYBI5$od2=fvBz>{)|NYV z1_C?eGLuo_)#Zn(Dx^MMMl~U{gsmtN*-`yXZK{?OZ>7TT z+$(F>D6_I#)k&Q(P1j}rz5^BfC+!UsRnUy=YL#iPTOSP8?AvuHSW(OVKZv@rLMl$d zJ_rU>tsaDT;tKr!XR5zdzV9l5^Av7hb%HkYfn&As;R-oK&x&_U|# zX2({vM(QmasR{{|)7wmylb!7E3T&b(FACnS8^_L3j8n2X;;&0nZ>2%%9a}smS4WdTDMK&DcD!L zUuw^`z|P&2=tc?CIj(a~tyLSU4+M7Bn6a33=LF|jRUy`2ZS{L*u=$XOFbCo44+)-Oqowmo-)-lH)2i>XNGJT|29`QuAtV-WJ?RL)=Jzk{7kPR!2}> zvx%BZXT)`)mMWtjPzBYs1yp7$Np|9BskZf3JGM~0Cyyz6tgp2%^aym{KyJNE@?hi0=5R8?HQ>!a*L%eXB{E-P}Nt#lWZ zE%l{53cr0{#Z9_MZkl%0!2=N?x0rivypgkH`#dSZDRc3NZcmdF^u;Li0#{s7V^-#a zyDQAfPc>;fWewHfhC>wxci+sl^JHmB2Gy#+%5{(mSX*6Hv4N|El|MD=0@+fBZ`(~h zI(YG+J$ou@%%Wsg-dua&0G)r)zJt`SMRsjnAK1rL`SOihnbVOl9S4ntTD!&(s}-_c z_j41~Zlc5M;L$Ol#OxwP%CU|IP)q3k%`3Za3>>odCm(4bE-!2*T3azE~5H;EC z0hHP(sj(I!D(W`fi`iw7F58(4j4LFLiKS}2<+cjSva-5HdgAZ1MODSlTE-DNP^qO+ zn`s97c2?1hCzsp1a#q_bYHH1~!Iq6zUbeBw9!c2asQ=~vKRFQi_T>=~on2@xo)W%p z{q_x)Rh%5O`Fs)k*>hyhz{z21CLm=RlADV=ir%MS&umVD|C9j{$x?Wq4YzaF`4uWUL^c*AMJkDMmF{xso-PZM6J z!|i;w(-YL;yq#$W{V)GF2mUt){x=8yugrld`u*)!S@#|0m2HakS8dQYmvZCfyfR3S zYWJ#Ri>>SF6#HN8-MI1Kp##3lHZp6lfwA6{*DJ1rI~X%fvH$k<|2cizH^|`hV(#Vk zpG@6l_PA9hemLNHw;X?J89%)=Rs38h*VpW>ELblkByqS~-?S43jS_xhVoo8OWyD;{F;U3SgB zz~r6TKLh=L`Pk)Nw!#_*c-BOY2M)DF#%^yP8Tx;4iHCyEp}KD;st`<1;(Z-_7WAPm zd;u&&9eCk4(ICDH{ymxh@7cvWdi)GV1}ej6Lmw)^7fKi^##h3Rp+fu-I5wMSgZOBE zNi_0r(S?f@OiKprQn4hNA>t7sLtTIFJAab)G6WcC_080{s8sidmvwxQT=$~;$`F&{uul@ z8paPmS2k(F3ok%p_j^Z<59%{o6!y8xd+8Ms>EH*ovbmMd2k5L$Z0?u5?J@#{?6YfPGd?jo~X?Wo< z%Ek+~<&vj(KfDj+;Tz%0$cOKP(dQ^tgcnw#61?ySvW)M6mz+!a;tSztPy@ahzJ{9d zAvkRn=Yo%ho6s@Y9)1yZ;luEJFKq!|2fv9z_%8TQG>BKLmAW2{;LG4A(HOo74x#Ap zQ;zV8HIy0N55Iv@@SX4w54;g|;Ok%?>c$JtTFWv%7v6&g@eNSr zQxEaNJfylg7Q7e5;TvHeO2G@yy^!<8dtnvI!3)2D^6+i&HB^AlyNL9nB784&ujAbD z9(V~V#}~rSqAGj~d=b^j_E7nl6UGZuP$OPgh??=j!>AQ6>_F{!;Sf587rNKeX7L_) zIqJq2!v@rg7j~l%-XwkiAA&0`CN6vq44^Px_yUUl0qKNSY@l7>{qU^<$__7IWgJIU z_~?yFEkfn^EVvGp;(c)LCfX)G72b3S^%h?Te}sncC*YsZ0Dcta7n1+avo9<`sd!;6 z%Et%co2V4ePl~FUn|a!UcfmcV8D9k-K#llgTj*Pg$UA&LeEc%ffX}#`^D5@GcDx_{ z2KC~{Vbc|)2j2?+g+}n|O45VI@WO;`iXW0E&*9m~gU^NkK&kj~SnH?Xzz1R3RrDKp z;kS?v-vyU$r~crx;Vx8y?}pQ_CO`3U@Xx3UABGtvv=_YaAZoz3!6DRw7hd!c>IvQl z8&M}-_z%>BABUl9IA6T*@U^6$_vnwnRuqSChsTk^3mZ#G8(!Fsie(#k{dF7{Uk(qW zCcJPI_2b83%JsA{yzpj}`Xi17TagDZ{MQcJ0^U`|wF@1_=fF!)5MKoMqAGkP{QFMg z$H(m=Pf#CTScAs!L3kHW1bsi|Sg;l4;oISHl#3Uta{48_@Ih3EZ-GlHICXqBEI`Nc zg|G~D;)Smw*H7p-;4q5D3ybzp?s#Dj%Eb#W*~|WTKdeF}c;OdNJ-!X@s3foPW$-v^ z#S2&LqrKyE;QoW`e}aAC5mb(Egzcyle+>2@KfV_Zp(6YUjIQQ<@GiIv<>PZC40-Xw zKGcIBfFGg|-V@+?9U8y~;aAWwz6YLh1Lcj+gDd&I(fB@G0;RYQ@*V_fa=~3@$uGd&g(M z(i=%9z6{=vhVf1CGdI!CzexVWE|i5A7S@plys!*a;)8G;9m7Z8%oqW+a5#*H@Ivn= zINevd=E7psgD-&rbR1s?n@}gd1$Llg_%7Io+VMhlFKxCj(d5hcI(#1-MgjaNjJuDr z#tZ9EA70pmPT)u2+(y!gPlX=73Xt*|9_At!Uidij;ya<|Q{)L==((Tx#lvh=h8NzB z8u0b-N2nQp0&Z=hKI2PZ0CnMoFQ5T@FO2^*d4+eutI&vSFGOSbFr4)OW%@ep1>XHR z^6CxB1s)UOJ7F(s$A{nuYQ=}4>+_@sp8|7GBi;*(&=I^JR-?oCAZ$cIyfE`&_6gAz zU;)a)3xA2q@k4MNmEwh!t<*_;6+D7k@WMr3pwGu=!F<$*7e4X`@&1&45B>z@<9p!{ z^5REe>=#J`J`Q?OJzls2HQ>u&4{E{-7qxNj_zd_YI*LCA2T>PZIPX!)1)mEaK_~ES z@H?m0{J0d^Y?z8pSujKO^-f`3%=QPW`~=!Dmq#{y2Q9oxBzgL#O~R z9QzXaj2EsxN`B$<;P+88z8k)a+VCUL^%c$qFU&<9c;VHk3ts{oP&Z!qHadYHf(O6K zvGD=;78=42!0#WU9{-FyheId>KLVq_MxT$*fQcQX2k(K|s1ctF3(*n0@RQ%5ZuHZB zVFyaXcfmJM3O)pPK206NmkUu4FAP0Hx&NH>z%cUS$6-n*<&IB-UX+Cw?nVK8GkhD> z;q$(!)UQxIzW7_*2cbrM(YN^@1*jRH+NIQ&Q7ir^toaV@1s@bXOFP25zRR2m>cV%! zZ+Fx7e}RYnC=Wjf$51X_{eXNz+4u~YhcfU!Sb|dVWv~u;@b$0-#o^mv7gG3c*pJ5E zVyp`nK2Mqm&w!7j4tzVjyN7%q;N0Oc03F3Q!xvGfYy+cC&{yN5p%?Ywg%6=#d<*;*3gNq8<_q+1_$+t; z4dVl_4TbT--=cB+FpPc?{gU|M0_4J{!8(+J7ru@%@F95SOVkZ~4!jQK;mcqnD!>cB zi;D5b;d`hQKMJ#Y>8J3*Z@xl3#GinlewF;eH^Wy@BfbxQtdG3LH^Jkm9WQ(b_2NgM z?={XHFC0e$__WuR+JHvz1@Iv>hHrs`Nd1a)hmX8LeZaTD-=b6rhfjn!U;I({cfprXGrkuNp+>y0sGs_S7vA=B`UiYHym5d$|1};yjK&FXgD;{m zz89AMiul<^7)0gx!>}2Z;)S>Wn)AXRfvsp1-wwOcFun&4nj$@L9Q6|(JxD)+`tZVQ z-llB~ax54`P58sG88zTrVJE7`ABQ1ShZl~a6L?|KJH&|>{u&L4{|)UOjo|BtIPPyb zN4&5a#l21aguTdv7e4$u@*m#{ulYT7244z;s0@D?Hlq@}a2z$^h0hL4`beh`_2LI$ z81>+VXa9k8yhA&JMJNR?d>wi5A-L^bj)(WdDiJ;i8&Nr4_$$1#u zg;$|ed>sspatwSw97UD*G3fa-d5BMixu^tR0DDk3UO0%l@WP(IP-i3@mi!lK!wct! zNe?~^UXP-O=m+31a^Zz{{FQvh*TWY-ps&XF!jJroegj_$A3;8R8~hh4#H%sR9r^JA z_%tfRcft=)C4LMx{hf2f_rsOr)K7dayc#v*J^$qX5w+q=;E&Kz{0TUUI`P5>l%bB} zo8fCHgb%?e!%&0xXehtsJuDvn5{=>qpB%WG>UJA&!Ay^Cwv19;zRJiP(MBlXC)Y_51#^8p%Zv7+=jaG zeprjT@Im+))PZk?&!D6D%0xpwh)RA(K6^+5D#IUz8A*n!#0xJ&L3}a11=ZsZ!*SGr z7j8{9REul_A4Bc;gj#;M-sq z3gLU;yJ#Fg0^`#t>tWh2+=N{CLfDK_@xr<3lr=sT-iEyRdiW~x;rn3nLPHhdQ{Y9Y z1n+|#s0=S0LP5MRV-b0d7rurX@gaD72I3Z>zLuo0!;kHdeXGQ3)Ds9RAb{xD2Blk&xJ?61MAQj;q|ZujpEzjchNAu8~y?f;s@av z>c^{dI40`D3w^7o+r(K2%g_+M64s*ud;@GlA^cI;je7AX;BQb5eh9{{rYzs%{tFJH z0A9%JjH(hZY(yRSCU{gN+raD3j+*epP_3n{;e~1Wv>ki~%tK+k50;=2yzowx^*(h5 z{_8^8H9qo-tO{>(P83XKt72OmVk_!jsl)W+O$Ts-nupf2c2VfW-#gD_3&7@7Xhv%Udd>;HW8o`I*$}QwG zJ{R7NT>nKKg9E4#KMZ4vCUs1#oX8&M@**oy*q;fJUWKMq%4Nn6I}!N*Y( zz8$`XTJRzGpr1U!x4@sHPW%9@yNb4nKMb2uKmI5@w4F5lm2!klC>7rdr(bQT0(=}i ziv0L~m|8-b@xppkju)nXggSxGfOnw7_(u31YQT>|?=>77?}Lw`R(v~r2OY%^!3VD; z&+#qrL)4AWD>c*()Qc~J?I?s7zKI6${qTb8sE7D`*owyR!dFn-2b2-K`FhfUuZJxt z2QPd9`SHClcL(Q)_rYVR5-)rk)!~QW>@vczLipP~@HAN~Uk;N!{-bpZMQM*Oe|72#W8Cn~^q!4S&F_royq;>Tc0 z1?PxQg8Ry_fP|V6#nS|{mI|)Fzz7z3El&j^c$c*0Am$oFg1XW%x1Zsin`wr$YG-dNE#j32MO?!t;Wp0iOqp z(Fwfp!b9Z4hvWk+L239hScg*Z!naWaei*77$#;Al%s_Q`VJA9<7cRVs^22Ard^CbD zfTd^%FZ?+w9w!fB7!~5jVM-m>AiQwe&6F=b8m6H}ym0!hfj;Qp=V=RUQv!d7itxiQ;bD%8_rUW} zrTA9HMPHzd41Qw`jv*gjJ;HgQJbVVsN4a<(EJfM)GFXQ)@b$0-rQ%27_AgSt_!79h zjW&zVfv-GD{81h?0K+H`KMqqKBYu1#yd9O}>){VjE4~lDhZ^ytu=jEHnMOE#4@Kig z;oNq%!Dqk=(P6v~CVq)+qB&ofjm8NV-iLgIx4;gRhZk0Sne^iWumLsVo8VD&1TU<9 zf^)#v!6r0^ z)_zE4~>%g_`l5 zuopGrLvREg!H1#eIqC^M1?Hk4-V2LR6H*ozdt z55AAa5{Mrr_Hw>>4_t|c@wxDFG>9*T)uMoxpd%S5Y^<55AAO@S`yC zW!e?q16QJ>_*{57YQq=9YSe-c!23}Xz6l;h4S3!)OTK3crg6@Wg#uvf8D3@(2 zVeBs{(^(!B2QyF{J{$Uw!WY7FG$z}_BWM)g0NcQ|I0Uigh) zlV;-VhW)4$KM2RrF}xb2uAz3k(Eko?Foo*{44@#s4mP1Gd<*PA<#^%ae^9P!2v9Zb4c2Vt4?h-~;eGf9JgL-LM}W#|vZsLH)$X z!IfwfUj>h#F}(1{D0cyU8vHZLz=z?Q56L@x0o;jN@a6E#f71V?(U-y^l#BPn8&C#5 z2tSV+@U8I7e~~794lF=@_#(Iub>pkxFv>|MJ^wb;b0`nr4U<)rD!`|}Oe0D)0E8pSOlPWTAFljg;@!{aCiFZ>NE z!4JW`@ob+-e!@ni@XhcT8p|La*o#K-Avl7D@nM+gic*946u1)gRb8LJWd<%8q2jH9p;=!lFCs7DL2Dc`X2K*?j^^i9F z2)sFoG~*9Ll^mtU@xpTCSxkL^pO_V;GVqOXHUD2G2j4d*N-dvDx!}FNg2`_vCwc?M$k7khP_$nAiU3lST znNg}6UkuM&Oxfde;0tF*skCgyrEmzP;74HeO6ob@1(%^{d=9(>jV~ilU^xootKdCo z1m6gsKtuRrum=s`dnF8o@FOrfmo(r#unRR3zp(rq+5=wr0BXlK!vWNXAA;lP1YX#B zE_DMhymb}%j6V!B`903)<+MBKT}|D<``~_*hOdI(Kw0=sn74-Q@WOc)k?&{HKf?_u zfG>o*Q6;_-ehii28{p%p1b-BEqhkCCIEV`I!rB7r%nI5&Y(dBHZLkZq*n&FotwMARe;oFs zcKiSwL#_C6nChnw#izkM)QHcACFlsg6xN}`_`|RT1@W!03svEd!=IsY`~VE2Qv5hf zxr(-pPlH}mgcr`+&bo7`Comtm@WOARJbV|t=^FAAUk95|3%&(DBg^hV<)hU)N*@F)u4kHNQ4C4K<9ucMCP)8JZEg3pK7qGEh0ycHGV z55tF%58n#k+(EvrA|CiRbQnJl7nG52_%wJPs>0{Pt5G?=6yAhN@pbU^os^xIItin8 zQFiz^n1x#L*{}dL;|pOqYQ$H<&!Qvv7We`>jPHkkLqYr)oV%Me;8Wpws2raMuSTW# z5_l8x#wE-oj0HRTBNQ2|~UK$Upmb2pN2=hN2UFHj+V5dIta@aiV= z2j$^2geVv9gV&;Ld>OnIW#H@K!zdNs2EU6u_-^gT0mrxzP5B?Da@S`yP8Pb6Fz!j(rp9{C35_~b-kBadDcpoan zH^HwWAHD;=g!1rx@Q)}LKMLbJ$!EL=u0R?1T(||L;)~&as1F~2_n{N`CiqpqQ4>A@??VmvCiqoUkMDplp*nmYd>;kyqcHy4A5hv7pggl~bKSE%R2DLjM*@pbUG$g`C)g6dV;7hX7witwWn*7yH#bjNX#RR!b5 zZ|&^D?oNqGNkvIDCFPWpl46ZXMJ=_MQ&NseiHS+=q?nYHl$e;jzoi_LUa6Ooa%?H7 z#YDx#q*qFE#~c%r5|fgW+9@e1DJg&7^ZxOCp2zXdopaAQ_YT`9S=XzBuSZ^w^DG8+ z@ZS5~zwfrUc^ox*l8dO)B`%{frGO>wSu`@hs}~JTIe82cNj;{>oHEO`JuS?%-Z@=zbnSR*&)R$mm&KM2lYL z4K(TKSDy1|)U|x(qptD2?m-?vq=&eGjrZ6;d^gr~kyo&)%N$!aRvrB8zge&MX+8q; zI>Bko>SjI@)4G%UFsTQ46yv(UGZ@ozyo3?G!p|VDV^7+T7}N<)qhB}kndsG>+=p&G zz@zBW1)f2Np5sT6)hoP-j1GR*-+k8m{rQ3u7}UZ0Fs;Y=_5U)zr}=q+GbrgScVk}n zavrmKgm1#Mp5_uJ^&+ofTyOAUPrG(q!zqmDMm`mJo#hKLsC#(g->yCDXACZ)S1)iG z-8wk&ALrM>6PVJ$_hCktxaAq^sx#b$CEdd>jJEi1)V!C|Xw=Qzft2p#e$?yWqo1`U z8q_InLB9_E0w(kz?|Al>Xj;d459V}^4`5vvc?D%1eEya#QRfGYhlkLvhj|ihdWuVE z)eF3aW*vM}Y)iDEXL%88dYLz|s-vy`?pZABI!bRq$YWU5<9rvE^*ld@MZL;f4s}jl$*;h?uIIO5R=4oknATl<87B20@58tr=esec z=lL;==vChGye&~)SMn<`sO$M{=-17BTb(uiu>H@EqEWB#Gf3&!%eF*Epk62VB-H6< zJ`**%lP^J)9^h+HsSA83B0a}T*f`7i`5CO~*vp+CtGdLQSGZos2S1KEy~-CP>;c`& z-@u9<q#!6O~>Bg+EECv^WDcguP*T_ z=5=s?qjk~2KScBq-|2kF3D#6s@fXpk^E{4}4*uvH&9m<1Vf5({oSmSzDr0-fC@hhM)7cEm60w;(B!H6t|!w91~tcRtNtH z3wndAo2`eg;Rej<;16P5ckuPt)Z;w-c5C-hbI6lu)ze%;vtHyUk=E;c&o1Zvn0eze zl6sxvE%vRh=A%)oQ~W>3>oL9q{d$(a^-kBj$3EdADs_p=h;;Cc@A6rCk$3Ml9^J~H zMUNih0&+U|cbL#CyorMTKew8Pa17U-Y_4?hw@{rk1}-A5OI$`w2fzJ&#(AF4mDA$tRCk5nATJL04DVUKY?+*&hbv)FS?qK#)xj< zR^)XX=P;;ycnJM^m?zMygTHm2V?L?*ZuILSKaO5q=8E&(UpmeSbm=5FqeHjyxyb4q z4N3Z=J+E}|>gC3Bv1{Z*zF<7MnvX`WZs1mQ>o(4zOZV^) zI`lA4Agiaih>Tv~GFtRHA9989=xRP1jk$pO0SM!&jnP5A%L>=_$Ss z9eRPEKvu7F{5tcmt2v1l-N3DA(rtV`8g&m}g?e4&Y{8!Ryq_QVL2T+pe&zMfdztTL zz6Z6s$S?Y~_v%`{9Nl_|3+U1lJckbbe;#+=>Q3%MSr70iR&;@9uoR9D#)1z1)pv|< zK=V2>I{1$7Sw}s`OIXw^{0vGu_I*EJVO}TrB+Tk2z8)Qyd&Y7RSzY2XGJ1{U`^}*a zelrI3C|6EeN8QK;jOyUCZVdO8YvevG>q-9158T6F@N)%^AgzNRLx*1Bqi-^YI>pbu z#s0s-_bk_=MyI$1RXW36sMOs&h)4(5-0GaVo_~g%E^_y@eHD)9Gk@qhbqDuiMfdXv zmUQs8+kFQO`uUmfLWiE`6=d})$7ak`IEE8w(ZR!*(7}@^=-}Zytc9NAgILsMF8|1U z{+H(1ovug6xgPyG$t~#Bt=xrfo#Vmq&w7Z*(V-`J9$8)FRb+ITcg{MOj&nVlbnvH; z_|PG9a~>l)_=ErJ9?>1#i}i2}-*%UO-fOOS8QnU#YR;H+@M|%x zQ+yt(hO7$@qechcggQONe?z@q=SzR$nW^(!`BUT9!8anKi~PpBw?rK}&EG}0p5T9@ zUq|y>qSJonUjCx-b1$lOKaV1=$9M)YJIt61vM%xp7IpCMCF2R_ z;qM`%Cpqzm>(wc4L9Y(}JjV0@pZ6Q*)IB_eMLo>>QPPwAG-AVkUggjK*8J!pE}%nC z@Eo!__%pvZK0UyrSkl2?`h#o#iv7TkqE0V!Diw>GzGIxc8;v@{dyvxIychL4&o`h> zPx1lO=n}7@O0V(G*ZX^Wbrm0lNT+x=HpZQw_h3zT^Ioj#Jda~pPx3q#b%_t6q}O=o zG5(#d;(E;L6z|5g&hQ>g>TVvyxX$wp7}Jw{03*7@2a(rnyz^M^(N%mD`gM}O@CN7q zuKDKzCiMi*VO$q^1!KC*vE!Uy$2oz#PI5B_b?`aI$D)oK>;WD^RuA(8GJ1-OXwkvD z8l6YC@NsX9MKijQGnmp{{F*n#qP7XI2cuPIxd+Xcm)d3u?aSUgjlK>1EzTrHrU>&q#odFF|NnBh{TQNnV&&Q zr&?pt_LGf4$9W%`^f(`Oignc0yc=2F%H!{Gz2O+%{$6XW0J@LlNF^Sq2+ zy~!Ky1oh<&!^TPwEVR2DN&C zzmH};#U-S5@LSHbC&KaEg(2O|gBZ}kJstLk?&Um+I(P-~n>{!91!oz9uHhV-bT5Ac zje3k<{$c0RDSkh4I?Ib7N7zZsxPltvmT1l=VU|R&?-VU9Ry~@8y?$%%0W>PNPRRb31an zll#!Ai+s!;bEVVVhB+O4Im&vFYjVasZQeMAxDNgyGJ2L5(V~NMA2((ld|bC@&TY=m zZHRO`_hQ2_eLR9SJ<3y9)ib<+Wxd2_Uf{F5w}XHCCC|WFYs!^Zx|ehnAB9?-;uciv z40j=}yLm5SI?vV8I+I5O|qfKYH3$41F_o7)3acSOs-f#Z-DOBrCKKy6qQ`hqGi0L$+hRu@o<%_Vc z`}i7^^(fzp6+OcbVM#CXQ&`ZOeE2=)Q`hqGnA2%K4Kuo(FT#}W<7+UXNBLG1^b9|Q zQN6@ZVOVeS;Rnp8uI1w~pwoOB`gA*AgdW|;*C3}y`Brr58GZ=udWoMxo8IKZi{?|; z^6_ZaX+8~U-Od-ILHF@BNa|6(9SJ?d5202s@l&YQn|%1a=3m$H@rda(pMlN$oS!eo zy6)ruL0OOT?O4$>{4kdE5KDG7Ic{_eqqjaoR7quPVz3y=vF=#Q#!|2U_uY^J{0r>-;GgSUA%VVp5OuPcWuSeCR`tc_{oD zGZvkQ8r{wRM7Q4L^M7US7TpUxf|wrVX>2-Xh9AbdUgD=w4)5g`|JvH=T7DCjbehk= zf^O%FQPh3>!-xHB-dOq>Lj;dM7MGm@;bQcH@*jT4Zi`ax{+tm@+;r1{I^Ga z_vv+>`kn6*9bCk$Uf?pO!!aCx%v|ZeZ73?K3rd+8Bt!42rqX+9mDx}7%ydXuZ4@Nzx{~JHsa1LX-hlenthj~Bp zdW!Eyzh2;<{?)ZS>gQy>;cu>2Pw)ds>IMG7hI1`D4^Ln~PjL}_dV!xnk6!2aKaE3I z^U>(k4SWjPbsL|LHr>NRXw}2KAI*A-??;2K|5q&fGSa_w3|BnuJi3~bXw$*pK(8L- z>P_Pe$ME^c>uz4fm=1pH)~){gB|r1?*=W^Wd>NYcAYX^H9_Lv!=y_g7Qm^usZCj&+ zj`5dJ(0Q(`-0Hu1GB!R3b9#_}j-p=XE!(%+-5RaxdcOa#t$q)cb?0lVxBA^v=A5s7{?@2Q5A%T+7^g1s;fEWiuHoa5){T56 zhV%$eVn9#xgXqzVyuZd=>q-993(e{8ji2`;(vuv2k+smlA4H?>;NPNIukgQWw?>0H z_L8kpE&6qW)9BT~$G&u{-|wWk4f8s<_vKrosz3Pi5s#u$2ghHrHEPnqpFykcpFN_{nn`N zar>N;sL{bkyv8+#=4SNjR_;W%4t^r(di6TTU+a2x@Q&A6uT{+n)axWSqfQ4Gk=4PK zDRUc+=LGt7iZdwa;Ll=0_w)Z^O3(4%Fss-3jMp23Zs*@%Q7?0JjJ>CW`?02jn~ycN zKRQ2mp-u-M*I@tXM$RA?j^VE$uSfXXZ`kU0D7mkB7E?O-6? zDo4BBBf667(5HjEPeL+y2yLt~|xQ z)p1T>R42I^!#emWZ0cCXoMBxD--`4Tu8|kepo0(pm~*X%|LtOHbP{THGoOuW-N~0B zt_S!!#B_o0#O9Ok7k(7$dWD}sS;zLc-?5?-d=i#)GoOtG-N~1rs0a93%;^H(i5We| zk77!%@Rpo8(J_7n3Od0jVN^GBJBD@elUO(AO|JR4vFYGORQ=sr^AKuu@Sl;;Yy9+i z)=O{lZRgw1dWIK})xn?tgf-Ixd>!(7l3#qGy{BtA-eU|pxE^JlfG=Ph4=Mm^6*f68-Sr}%%-s^_@vBG<2j8+zTFI(P|VdWAPJqJuBJ*!QL$ z;sVz61kYhr2S1L)Q}#T+qt7#4xA0|1>jC~9n)M35>T|}S>v6PxC`q)r$;Esg!Dh%j~p8?zdFtdBz5px(W#sHo5<+`Kl=)6pkrKz zg>XDKp%{+m4$SFJz6>*ZfUm=pE^zmMnTLP*8I|)`)WbZ9lAa32yk6iZF{{`4u>a?| zqpSH?OzH+c72~>%FT|Mc;j1yChxsPt^%OsVLA}6V{f>F~kFoKcNa{I$6bZe;&!ASv zzU!HQYMtPd5ZBFoCStmiFTv)&T{~ZkbzR^)QPy+(C|2|eKZ7M5yTSRfpc8x&in^K4 z#GLNrOE9Ac_*zWq0^f-VJ;#rtpjY@AjOy5g^J7>i_#_PJWFYr#MGzJAuB(G=f@2ED-lK|;s&Z;f7u zYTdw}Lrf3wk(2JP$m`sSRo%u@SkS>+ZZuaq#;0Rack(S5)pK0+1J|yrc>ujS`1|P6 zwKv(rXn(fXxqwa`eB_jQ&>1eHR|j8qvvY>yx#AYjp)eEgk0OE+=`eLDCLnAK}sIqS1^@MnK) zpX+{}MOg>G@qexLR%75S;yU;XcNvc!dHg?Z=3cZ;(CVvUa~*+ zCRg9@zSF^n{K9_FHT+%->NXz3q%QCb#&z)XAMm^l$MXlUpxgQTSk{w#(u3AwyEWo0 z>U9VAqD~L;^MC2z=@fqzU3!$C^^kSZaZX@J2fqzdx;eatO+Cz$Sl3frLRl~H8dh}h z$&1!$hyBJmwCipjLYvO>1X^|QmS34?9pg`6MECGA3Oe|6zxLUBkWYWu9@Xs}Uos9I zybnuyod1dyz0P+&V$8b4uXxmT?lceFf?6Fsk0u@bu6^8RJjeODcGb^Rp}7HR9sCq>dV??jlRcmZ zc?=VJoM%zc!O1`4x#p8wkkG-sf3^1xagTEzHF|_6QKhH3gi0M;@lWer<(bL#Skx(Q zK}l!03-h|02QjPjd;_NSB+p|~m-ryY^%__H%QfiWBhi1TXDpwJZr#QwJmdNGJbRwc z#D>>9`4X(@e*WUKw)s6pK9_5sy)Ej~b=-&^-Naesba3^SZGK0!eZ_~wwnY=+cy7V8 z?&bK_ZGL}|{l;&>s&3(Pv8=oJYn9ugnridUccDtp^D-*+Do5L)E4dCEhq*>>!kP|l z-r;i{li@B*>TVvyxDM{v>AX6)F7CZLxCPPkjg9vru7~*e=NOxAk^Pp=ug_sWh z4qEjzzpBRd>tX&4a(bB`c%eO`7x=^%8Cy7>Kk?#i(TMKhUt&xz@`<(9NVoDjR`e#n z@Fm-#1zpQ$A@xG@&j*m!MSgjmYkQGvI`%4Shf$s2YhLYo{l&Hgp23)& z<0Xvf72ZT%$6jNM7}N<)qhB|3J9>2|_n})4@Hf$+3w-QR&ht{wK+a%Lw{bW6bq^1r zR}b?fy7d$n(WMvp1<7quS=Vq1D?0crB#v;e@gQn-@cl^Z$=7X*{)lE>=Ch8re{?5b zg{&UtDRk&$%6MLHf9l`@X7vQmVOkgYj~Lgr$5`KE-J5l;oeypB%+hsy6W6XJY2x0*C%)m>$=E)#7a1x|Lcw36OQNa zpifWm%iiRE)Cs=yB-i^2W9Ct0b%F0hM$hr1XwfUYi6$LuGRJ7t2~H!Wo4FnJI=E(+ zewF#*2Gr>^XHlcuxd&CckFPDqi&D|caC2Ve0npK+w`Bi@gM9^7qzBB_I)-)bIo4ZjUd zx|wf7m!9J#bm-vQPqs#ShJS|zUFPlYww5~1TTV0n*Jw_lq?5c0^SYJK#jMWp6`0mT zJdQ~{!E@oCb&>y$5xvPT%(_o>Js)$rbxHbu;WpIhEcc*F_wqHU)FXT={K7>4y|Hm& z<0$tguVYPbaMcH_iw=GeImfT@IcInl>24lELFaitM)f5B7Hi>nu55Q69sCZ|zt;C7 zcc4xOe-2H$@k8bWExL=R(XWF`=+%q7j&2?N#F?IZdW}EZVczr*$3JXtb?_A^>OsC2 z3%bO|o^8MB2L2Svx|eUqx}M>eblO+Cj!!`4>+Dbd-*a4pF7gVpy3DbUxbJkF6KK)F z|3F@E@YlMmqaNjNo@bp>)|%&#(?xz9ox04i^WBp=&PSq6C%GA|x|KhQw9fGa)^)mj zTlB08+~=?NUQVD|2fq!Cx|zR+COyeVeZrV^lE00Np60br+Hc1gKUaOqy675Cp;tF@ z2HiRvj4s{FUqM!n@GCDepSpoB>-Wq(&a;cJMV~J440`k&FCnK_coUsEcByMZyH0Q# zZMr$UhF0CleQ4GLd@a(tz%yvjbNnchdWAQU(6P^Ni;h68uH!S1KHgsC&myV&xr~xt zf2Hy3BL6&ZYAl<`X$C57aU0Bd_{1}RQ zh3Bs~rY6r8?%3~p`mLTDJb(#3#D##K;5m%yB0r8{UFM2O-vK(#2@L2Yx1dkAawmFp zjt7v_L%a{2dV=ppyDswMXwzkm-DuD2I3I~-o#b6e>sJ0Kk~+srKX5H?v)}liDCkYz zf0OT>X3uk8M4b-aKIQs#4X2RR!RKK_ck>|fI(R=O^)kQnX6vh4`IDH_z5F8-^(?>a z7W1zg_(iw6H+3zaiB;XfhfTXDbv2J6_I7)fCvUSxI{M+Z=uJrIG+%?H?!SFobmfdW z)p@=ReR`H3MUP(Q4dit2TkbGFx|wsB(ZMJD+V#K7`MC}Cx}7gVo$ljnP@_lrR#fR3 zeh8I%iJwBGH~H{~efB$DFCULJo#r;I>UQqIvhL$yEb397LP^i?0_OD+KZRMn$<<5d zU)S>SnAB-*!?Fs{)lIhuHiv6?zRW`derN2 zuKA7m*TL^YUT68+7!Akpjz^70*Kq;UI`}@!=~D2rJ)?u4z=~eu`0woVR^KUHj|QFM z79@4>AJDH?*)NlgdUf!dFs9S|jTK|iV|+iR^#XtL_vTag@-2U|C*JM5i620xUgR~j z>kY0tXnu7Kr_ib!IfG`MPFJFxYJ;FC3si(PwgkIz)QL8t&s%%|#4IhiRZsZJN zI?LVIJlXj^!=U5B-a|)7AVzq;&_s@(E+s_55{o>v5h%mk$2W zn&(?Mo}c@ay{N0W9z~tv7R>43`=4=*?{!`LBocaq4~r_IT3y2_RO?30Ag;4~A!53h zug2zk%p2c?bv?}`l=UL7VMT9n)w3$1C0)bEVnH|X)z7Yonoso|!IMbqDK4TxFYp?Y zdY!AbRQPXo%oV3ls~h-KRO>dr5OLkZS0ko}`6g@{{}lfT1+SO+tgXhTb3A|r9sCHQ zHe=pa5q$)4-Njc__$)ohKS8~o=VWC?)TSGQ(W--ok<-EdKCHr@pZxq*T@f9D0iEEJ z(5IXEO!VkZz63cvz}KQv7x+%J>p6ZDZF+^DL932Ezasho8g(aMfrQQ+UJ)JoLhsF* zL#}(VYu5=*V?j4_JBqrK`!J`2-&wNJ`oJ;rdy{OkE-u+U0NN2bU zExL!d9O1fjjQ<#J5Z;)xF0ookZ(h!p6B0V!+BQu<;S=NuP69YEb0M%0+k;$w;Vs#KGeaF zphK6rvcWZm*ZC-9bdqoQlIM~kJ;8Gr)?=LZtH|i!mwnXU)(QR)I&_I&m-8&pDQ-bt2j7TUy~MR2HzzuHH)_9$RS)nZ$m(V8 zyU?>w2fv`lvt8HlcQK}?xr7lN{PabxMQ`#)dOZ_#7vJ}3&w-D5*6|uPydKV?2#cJazG?y@^gRdVnCwiQp8uI=h6 zOlSE*jObpz8hJg;XI*1HKW;v`50!d=uSKK_d?z+?zRP$CYkGw@v8rPu)&a{p!6#u+ zH}jb&=}x``^SYm_zTw$>o_)ymsM0BJL8Z=c7a|?Jf=Ru~RoA*MUBgYt>)?-~>U{SO zzhcb!b%Jk0y`JG!H0aJx^5<{$xq68AVL^}co2SD)>6ySCsMWzgxx@ay(6#d_+VmP% z{>ZxMDo&zVr?>@ao#8!b(A_+Uq|Wm=5_*ykpjMaoAgXoSo#qpBdY)f2Yp?2B9>$^$ z-u7c-(v|!{q}|M{8y zqpR-m+{L&KKJkD(uba58Xq-Cut60>d{Mvi1wNCMmv8IQ9UJEK>8=zbpmwfjg<@&OF%62~6)^NbG8EIF?Z{uDNJFV7%# zk?Z9Z)azA_J>s);@CY(G_=CT(7j*}}Z`m5@EdS}Zu0?Nf)$d%RuHh7Bbnr0Nb@0<@ z=ym?btP7I5fipjEFS;y%*#d^NiDFyD?oJ;U|Cw=Urr{t<@sEdLe5 zdY$+D!M&z?`0FU@0?%SD93T2|&xKEGUPMMO^Cnt!wCc}3Xwr3j5*l?ApNW+2;Qt`` z8OQ(8vlabtUlkNJPLndO;q4nY&a&k{#}*P;MMjI??%7Q@E-K) zZr+P-o#z|Sr6>6SI&_H-BCFSU=k7|stH(2hk3x%1@oqHf4DUgs?&iHn={(AQtr+?>xCO zD(Nad3iCR}r(jlR_}- zMqUSh43m11Z+>rOG^3|^%c+%7QOEcMEQaIx3@qzqetVni`fuamF4XI89zvbY^Ehhs z6u+tV%4W}@#8~J^h)>*y@*{_-tKICkBQde^ly*l{EDCjx9_9H$^7x>30h1dD0b1S2U zuQ{H-f_6R1Q)tt{4PBK{pAP3B|J zPB(A{GdlPSsQ#Ay#^Z?V;1dR%N4IbX+I1KAqfG}ti3uHDZl9u{gRe(fkMk^6bnv&n zo*{^bLR>k_Xbrq_7qmG zdX0DHUAwO0dQ9mQw_rkNcn=D?oA+W==lKQ<>q)*B1G>boxysm#Kgl1$y6)g%Z0g{@ zeAzYb^Jl%Q?LowK@X5pOcb(zuzhd9(aem1)o`<@QUp!*YbuHiXRqLXQe9qVGdELbq zj(S$>9{%ig)@PXNa|Rn;&vFmebns75=a_lEV4wY}H~7SH-vzpf zU-BK#9bL!oK$p%0qeBOmF{L-S>burd2Y&?%dW64pgJ*)ybH(?)NB8mqq8r?I{Jj01 zp}Lxn`+;-mMm~Ucy~yim(;HlUQ)SeuYq$Z;I{4EV(0##Eo|QWIt2g^xUEo=)=s8}- zl3wBH7Gu&eu0v4=e-q6U_94$Bt%F~Bt9j6Md^N`O7*AtF&+;PjdX0a0r#1MV*Le{+ zz04cv)X}W_8tuA{8_}kl_=9NH9sJPG?Da|S3eL$0L~4qkKE2^$b6ZNxj5R zV_a80SQ%~qr8&9Dp5X@c=tgcsPG`ew=+wP@4chex--AYX?G zJ}F?q&Kt@N<@}*RAd~P9mloxD}g@Y2zH$!+ZHFXmZR5@A|Ft=oaoo zx9;Krbm`#O@7y~&xDInV!A+RaBm8fy>FBY_=mTZv`Jw&Ez39^YJc15A#?#2^Szbg& zFY^Xkbo6KYA5FTBPee+ObK_qer-Ls->~`zR6;GH4UCHl6wQl7HP^%aC*frlJt;kS=p<=k{no2cLyy-N}7e)WHX^sf+v{RQ||X#J5N9MzzlHudB943BAOn!?#Dp z(7cX0y~&5yY>#GiEjM6Fr@0LiI(Q!OJKa-!(hIlyUCH(#cc4iJ&%J27-{x)S zYh3wa|4vtNJ!W+9KD5l*Cp?QL9sC43^%{Suc6*f59sGuuZ1=m9tu=SQ*IfMEUgE3K zqeu8w0tzt8U~|(X6w4A=0{+uSSC&;hT`u)BFGudXd*q zt2el+&HU>cP9d%v`BcPomM_HSz0S{9V_lE%O(^SWegG?afw#WTnD4WHIEhvr{4osa z91jF^@Uzl`E-dOSuV7hMXSe%17+j|gz7d;x ziXS@N+?ITgbMyh@)G@9@t4?qensqa`BdvS*S!WnSIG*b;9ggQFOzPloVObaWn08~( zt^AP>`n>y%hcEk(dDjEHai0D0pmUzTJvstiI>Bjl=w@z5R(EnAGJ1eV(V`1HgC;%4 zOK8+9yor>Kbz5`P>jbA!r<=JQHM*1gP^Aa>n}~FQi>Uvl`{0p?`1#bSt z_GnNCx1(Qo@@44N16+6EcE8ihvzPZ^TIcxG9&@YPcm`DuxfWhRrC#AJpEMpF<5ytA z@ku@tjb88Ii_xUl_#2-xHl4c2_|X<#=Y75AR*&;>pEm!xk>7)UJ-|0(P*3ydXSPRq zUF7FqY|Ofr--=1y%u9$b8Yf46?j0TDT5N{nc?GF(41e{r#;Hen3K<=|fvgVh|D1b7 z5AqoLbZ`j;oxWsy^kYouIlg|tv*lOL!$suu0+-RL*ExQMFujOrd9!mu9Z{o$YW z6c;g|7x)SE>2*HjHhWuF^U=uZ20jIyx-GnhcHP56Xw$F93bLA|cy6T?62 zCSF0+pY0`%&)dhkij#I{3%P>N)=T{pMen_?%U9y6$IV z9z?g!^EkTnBp*PBF7Ya|dW|dpXr6Ty*P}(JcsH7KhP%+HyLm5CI?p$tUQhA?)aeqh zqDHUr&OeziUBySCQm1$~BAwwbY&_}wyccUa&ofxov-}83dYK0gT8qEC$N9~FcI~?P zFP^JU*grbKS7S&I^BsS)_Wv+%ycEzYyom)Jd(s|9Q71T!IUW2sYM=7IJMme6w-&mS z-}eu5qO<%RH0ud|?o;k1UBzj%>)=b!sr&gc^yn4-#D?d9?%^Z<i5KmNqD^zobJ*~Dk^hKQ zUFP-|?}&yR6Z~oP={`P)4PE9~t$EYIpMB|$sNvtf(|Ht09sKYS&ZU>Q^X1O3b3A}$ zJ;aZoq?fs~aYxh^Jum9!y=c{Wz8#HvmJcGK*Ldd%)Mw=ey*EZW5I>qOpTX*qa(W}?_CGRjVx{fcvuLSPaLs?1)~6Wu4-0VO1CSF|6wqKL4HenC|BMyLR|JHs+t_P_2XC zwcDKNR(|AU^Prdco$q$-;dO3$&yFaogD*eT_3AuVwC#unbrruG!#cyC!sgDbP$vXcW6tndx{0&s(j9y;I&>f3j8Q$!zePc> z@L?aczPg%U{~^x--M|AV>EOR%QLl5ynLDDYZO@B3xgV8!fX5K&;6pohL@8az1*G*f zKaE~pd6xA=x31@Abm`z5u%V~8h&84n`O*zMilQ#?EavnaFJnfpaP*NK(UgvH9VT>wn^4ff=OR{VKk&|T zt&xuNRcO+qJcULbe9}ifuXGci_%YAx(EL-3>k^kSrh|{$j`c=&$CZA^WQM6*ExQ^=dccb9j0`OZ^n$C<`;AugRbEcHuNH| z1$6M|F0fa3*q{8IPk6rRDo&zPr?>^}I>R}%>EOFCql>(PDII+CrPlbl)`cHMi(cVp z(4=FZ-{HRxb!|GqX{2;BpNV?i$(Nu`5AY~zbb)73rRR7Fm3oCY5$WKEE_01~iPy0j zUgsAN*ekl0e|nei$d?&EuV7r4xnj;b>Np>X5uM~+$m>?_#Guac73kMPybry4g6~GR zF7o5((q*priThK>`AB4Sl6N7aTX_#!bdL9;Ne}TpH0lYy8!27ngQ(YK-uYAWrsI4h zYIKr!p-Q*%xv11Rz5Ll+%Nw@MI%IuFZ-MYw+ zqf3{0=g-W)j`LB->Ll+%Mz``FwCEh~MUx)leQ4AZd;lq3QPQov2lG0|S725T z@eP>P6MO)Zy2y`XT$g!g(fsQ;AB7Q}&p_uZQ>s^y&$|8{N9d2hpX= zyz^f3uj70qvO3ATkkPHY2Q50sd(otacpn<|1Rp@^|F?HO;7yfx-@nniMVgk_;f#-{ zXNVfLg+L1gEf5i17*(S%4T_rnC6!WQTd+FROi`=ijEb`;>S>#{X`8m0;+84y$+Xir zQL~9NDr$60Gp#NvYE|~^`TPQf!eF}Rd9Ukzuj>V`ub&TxJ9qAL|2yZDlH!}-2gHI8 z!tcI7|Kmn@3NhpPa6U2NC2$Eb;5G0zqVP4ahYTG<{qPx*#y7zaND3c>*)P)nxDlR6 z5_mqGPvUq9TuNei4ZN8|@inlAMDP%Nj)d_|@I4a52Vr)c{>P2*6w-|6!>m8io)b6@ zPb4WkAI>F7yaZN|1YQGIlQ_Nx21pDK2}u;+1hq|fCy*eX4;@6uOJD_Q z#%o{`@#AY?Kz@&hV2t>1;g>`|k$Z^*V?vs7;iV*jyI~`V<38wqm2<>RuZ>nyUuP_E zJMFOU$_T)@XGR8N`JuNt} z;Y+0G6y6sOk$l|rDfjB61b0F|S&R$gq(aKW!?)3QxD_rTtMDlN8(D*^&qk~1WG(K7 z_RpCgxNs2(;X0iE1@{cN6IPRrxF5#J04_Xgi2FTUgJonh?u8GNEqD|j^d<8cH^KAC zAnt~(WE&oapOEdi`f9YAL$dODUw9WW;yQeXjK$M%%GW$U;&xa{if}Kyixf+FXx`4+ z!>w>0DZ!o4M;7A3FjT5;VTDctF3qv z9(_nQpE1ulLN6&PplxtHvEjm_zLTvc;KJj{SX^i&S-2fmd^cMy#J%uM1HZ?U@RQtZ zJ`*M{!^%9`DP`bu-=l4K9DX`Bo6mBgKM&7V#}b8Wa5fpDj2&J^(zqKgJA$@R#s?oF zc5!pIy7$OzKI4V{g!dhl&F8w{aDX)7ad_M~>cOpWB~g=jE&TH_ycSPG^Rd*AJ2lRU zY{rFkWFs!TnFMh^)X5fHnEeC#7B|7oCuH+EF!Tc)B1O15FEG{f1+o{tFv-0T&j_dF@1)MuBJZBQ^ z!-ex^WUDCdgafD1pHsLWhR>3GT<9*QUvS~UGZ`=31n-+o+i)E|LZY~EGYR6ttL)kQ zjLp0q#C^CQo_soU4tK-fkj;1$Cg;$fxG;J~wi?9K@UXe`Nnu`wN8<}|;c2887d}KR zxG+r2xbPj4g$oDCHmMVSaVGu4ap6s8(f_z`J!!yo_?CnEi)au0&OG`AH^FIS9Bzjd z#EAP~=Y0Af55pMQhR5NDWGkMAXOv{~^Fs47Z2d9)fD5CdZO`Fb96 z5=O{&jtgHPgHj%TKqgQ|l`+T5X%Fs(k5*)>xp)*FRmHjE8eB#ia4&2ot8pEAme3wK z4*g^R7v_7i`OG=)i{N6i9(Thi*^CRVOIZuJ@RwxOsd*V{HPnj>ZOiBrTzDTT!iC{l z+K&q(WGpU>lPp{~X*q4ft#BpTiVL6j(r>u%j;pizxfgjEuEPVk@L{qRkHY3_X#Z)P zFN~12coe=%R^w?n_FDP}*I*MFSIqppE?edKI8R)IWj|#<#l7(7#EN;yeV5baVv}v4<3b=-9npj;fz~p6E0jz8gVat zg9Py;oO2uX&&tbi6`qd^*REk+;=&C-WByTI_-m5Fg>jO=h0Z$|8(g@KH1JwsfuFUH z3(q7@+zA^<7#F6=dR&-wCu4`3U@b}G!U=aXe{kU(GJrebW5hU{bB9k64=#LuYe)hYzDovh;Sg67cgm4X>MJ#h@4}6u>;7K?{Dsa`8tu7(~+zlJadfW%sl8v|ypC$vi zwLe>3Og2e**g!T*dDua=;Bk0#n7+j|SVjhM9scEE`d^Me!WtoS&tQ$fev*$1Pu#%V zz^!l!R>WG8Pw}9_9Lo z3!NlQd0{z8;$Ha0lk8)Zu?}Rbd&pv37$*)~m?kz{IPG_gFK&k(vI@68&AljDjr*Qq z?T|H69=;yqeDEY3^(^Cv3r{6cT<9cWTzDNx;XZgPF`t#UgTLooa5J=#G-d4Yexh+) zhvS~3A8;qUfjDtL3=#((hJPkacp4fuu|MNhc+~UsC$7PA62|>-6S4eIzQ)46N}M*} z!V^fEGQtWH!-Y#p1oy(PiH-8=58Q9OM0@ZwEZ)qu8Mnh);=#Re>&vWjDFaLY#2k?0 z@O3hT3;#;C;==k@Xdf>83E7AXbrQnu3CfeP4(8RX+&{cVAL06zY<1on>?3n=;d7)2kHh!LCS17S&x{c+ zEF(c&xRR{JeK4_=;7MqEm$Am}@c#FhH$S3n(D7IHGF&+Qebx>xoJC4-;eroYU%2oF zqTzn{-H#bBTzCQr;=(XliwgsvGS;}z@D+0mH^B{L2#><7ulck29EU}u1Q%XIY`CzW zOu&Ut5fdJVYCB_w3vVDXTzD^u;KDx;9T&by*5JaNzjN-mFrRpE;cdi)`(cV`CHx&C zeCxkxD=r)&+bHAy2XlnjI39++QASmQTMsfSA6bYC`$&b9fr}0{sv0~B^(>=mz=d~w z$Ea4}emFqZ<8gT2ca18B3l|%VY6C7@K?1lAvkoT(~IPsO-3~l31lYJkDrTZrl#XE^+fjKkIUjp`yY0e8c9NItF| zVN{oz=}%nv#*y?Vo`gsK2j_(g6GwAixG+r`aN)#b=m*>iKOt#cm^{|V=dDo>9IG)W za1F*tiIcejza+)D`hig$P4aO&eAYsH&Z7)WkrF%&vrjUrxwr|QOSa-pxRPwfeeeM? zfa~z;Q#hCNIS#|bji+HepK-yp0_NaE`W6@dg{;Sgn~$KfE^ zhzrd{%m-XpK-S{I0pi2s@O6^Lg~v=~EOB8W8Nlr@NvsQbFSvL*=Yq6|N_)A9Iflvx?~xTzEVw!mY4>CjE?u;R~}E zGdvDcB#5Ws=d!;8L<3_rmrcvGx~HC;W&M;c4M~ z`W&~zn@9=nhcA$YcpTnV!kFU1zmOVSn0q$;jBDo@)t#gn*P(VUZIa{g=OiY_VT45S zD4gar@^2M*U+5x39CyPYnagou=Xs0=E_{)g@i?5ZfcKTx!t)j~H*h!flQp<-J6VgX z9~;#zBp}D(10;zHCtpC@aN!+fgOq{y676EHvoK8*E*x_qbB;15IFDF3?u7RdE3QL> zi}vFt_#|=Rarim$&RSOhxc4YJH_FPq~Vgh42#^%b6mKDl;FZU zhz%EhPBdKj_fpz}3v#I3+znTe2p)&?momP%6V{O! z?t_n$I39%w37&+v)G&u}KMa#?a{LPVX$5_b3%^>)etH>ou3}zY!#Uz6xc*ws5!Ydn zkLxUMhn=Jb7p}UI`G5<5P8?Dmc9Nu&f&QE6XIyB#h4aOQ_Y)r;hVS3Xd${ROIB*;D z4UfZvZfB0+!XN#Ne!+z+?_iGMVOZ&>o^s9wK1KX^94@$%eFk^KO(ZDC;fA|p>=~oG zxfdeaaA7@3;=-Fr9QVVwh@pahgC7wGF8p9E>jW2`a}V# z7gm#nxNsG*;XZiHLyWOF>>*)145K813*VOC<7s$?F7uwhJAki}1TOr7#BkNZ_!2`E z;|sG|=@VRoKO_!Z_$VpDg|CwdxT%e63R#HzVPk+bjQild?aWs^4LdtHM?4G<>SXQX zCU`dq;5wWYq~CCNmyyp~qd)ODoZU^EaXaiMNnC}D>iItUU&_EWVcNWeHo*6O!L=UO z9%lZKg?Jn~9^rj);hkg^E_|JM@Fe__WO?`+4t#V2*9MLYAA6MRFD^Xfm+VEja2*Na zI=u5&+)MCU9X>(axbX1^_fEL*xL?yY+zN9Z;~a5e4GH1GTgiG{xQ?vGg*s`#h2F>M z2V8jnM)v3GybN=r?1#8;8c9>e4nKO5`NMJlQ_RQTvG#E*e3tm|I6U=f=D_8AT?oEJ zwsBn8{|xVi3pbEBE_{PTap4CfhzoCv(a*Ra{+3v%GYUBym1Nbh)}Ut#W5IFZ z9VCe-Vd0zXhm;Y{dxtT?g;x*@?t`!YnL6<#%-YKP;wE?@(Q!8%ASql}_ZQ|WF1(2h z;KGMU7}w!Hh;>wvoBG{e7cqC2R07 zTr|iWz}?XJ5%U>0!H53FdY3ZrkTi2%j>9L(Mm!F0{Frr%`{9aD7;oGM7kJF-t`szgA2WRIcg&=43dzPhd=p#4&Up_ z`@(aM$l>!U`MYlzC;7Or)|{ip;YpZ%WDftfH7~>YcnvP>CX4YfJoM-sKChDVg-0Hf z!}rPZd<`Gba+Hoo;WK2cH!nle_#8fqlJf8>lE8hii;Sa87|uB^hkqB#7{QY!qOBuf{N4;B2zu{?k%gh{ABFEtm zX3>7!3cn;3xSE}#R+3e?4_({S_|IZD;@^-?&I z402p}1=)i8;NxU0WuoxVxwH*8!TH37JK@9U(Wg=d-g179^5A~>90}vXOBUp)wYczZ zvKrT6-ohNU6&KDSaa=g&$IKbr57&{R2Ko@rzkv4O!WD!sQt@vWa@5UaH7;y$(O0-I zLhN`HzPN~fz~k_ei|8NR4Xa5U7p6%B7tUVH_~LdLyo5P{hv7As(uNg$9TjSqG50tw ztRpGh4;^mWLm6Qu@#4aj#ElD=mr@QFK16J|u#ISV81|NNjw|yrd>bF+xNuoHZN`P? zR?*M6&_i_G3qK(?UMmbQp-x0`6#I3NFRN!9t zF{#1%fu(9rT@IhU$#M7wX~vTmAqO!~PsTS2Hie&v7#@G~7vWVcuQL2g(cQkS)0IEE2_? z@JDwu_b4yCl`O`EgQNsc!`b(+x8lN-1Q&kPoTFm6@KX}Og`?NeC%EtkvKrT5#r=%e z)r=#Yxjsi(a69~%*l_hgj=GW9aX);4IPf@}`CyK6N_qHLfV%J~Jfxkz!cFj%Zq_fJ z>|qXsXajDAE)vGw@HG;VGO)0h{U5i(xy0}j{yhb}jSO;J_zKx9<>8n<+D{o1oK4KQ z9nK>qxbP}cgbUXb4cB3S_;BG%#DfbzCkt`apQBDEO}G=TA%5HsPYJVja4Re$8*ncS zl8ty6K1&AhIGpqg=Bku|_mV+84NrTRdjs4KpCa3(JUs7_96mdN{(<)s6K>r=zY$H2 z!|lX^n;zvFO9HrXC27QkbAQRW;KC}h5EtG|ig7=Dl5E3;#$R#0$A!m}I4-=LY{Z3E zkPz;Jn~3om+7RJfh#eQMB>A}TF)|L1!Xtmp+{1;1Pq44z!Ue>MyWui2fD2nl2p7gk zGaiRW{f0WP<@-Y6`Txm0!G)hi>08POzam?3;rD(^TX7BE@;l}O<=s!yH)Jg?{0(Wq zg|CyvcoL3(hIxZq;aU>Fb?Esc^A?Z7;?49MZijP8{&n;@3=ktO9P={$Oc@hAhIlzH zy!lVeRb2QdQiLbr*{|_>To@;QTzJM7<}L1ojc>4T;68ZYTa?3fI6g`HeC)UIq_^o? zTo@q5xbPPw9~UObI9zz{U$}nZ!b*~sI^k3AGS4|Kyyvg<1ulGytj448-S?U2xbWD& z(dW1ZuOpV9@^=>SBVxjZHEG@p_d?glv<-K|H;E4yKKBXdf(t(;E?j-ey&Tc;B>dqv z`T=*sK@!K)u>CXIgNNZ;WWx3Q-6eeBbH)W1{+ev3jOmLUb;l5G;J6=-`HDG!o8Shr z9v7bfU+f9E@GjDb3p+>!9)~mkL3?mJoJ+>tzZKa~O5v!fS~Y7f$(JE}!GV_nE_Dl7%~=m#oKy zEu;w-zDgSLBs^^_=ZM?kdnAIVVe#R)d=DSr3k`d|PupkuW(@j@#9wLBHMA{CX&L1Ns_>Y?-%AOQxoG-#JnXF@HiYll{Vw1X}N0h zX}PKhx5G<|=_A|?A0}R0&14>t^|){mX~Koql1AJQKO-BY{H$Cxn}l#XjFLfI_&(W+ zr=fQ??YV{ife(;zcoZINXFlU5_`B07hsWU{@!-}uyf1O#KKK9`x{P%M4?Tl*T zOp=c~;f+MY{jisq@i2UznD989HJ9%ap79x#C2GG zG4F+Y;is1{N2Q)ibJgLOQHFXn_(CcD!|^ywmN70I7k)^Zc&%_;Idc^k=92*KtDrpD zhzpOaWNqWZ*(8B$Rk`YE4{f5a^y*yo7763Y%X8H)mNM7zculUVT1Gv%7v|S8_jqj_ ze!iTx;ih`#0MWT$H9g4QNE%-rqY@qTA<2K+l%ctk`Hu^2l6OrRy5zWl&-DsY2bqx1 z{Di8Dy#-g@?7hS~hjHnlZ^&2|=LmJO`Xc5zG=_53T#gHGA^Etljf}(p|M+!~GI63B zcQ1D|2Nm&~ z3)BL28UH_1osZ2^=c;q~{XG7E7B0V@$okuVNxh@g5t-i)b9Ux;N@ek%w0-2S3B2zp z>T6JSs#?{mCDc}}YE&gP*QzSDTncB(SXGg-su`q6mGOV+8~zSdok5vp%BxB#e-*7M z<#&~tx0pw5%c)nRw@TGYYF*C%`73&LB(EEOpShH-SLK=a_tK7PO4VjwKV212wwk)N zObg{5DyT{7spVB#=Dllq_3})MkF1um)9+?UtZNvP`-TGsipPHCa#=3URzdL zTU}LI-*7=?U48ZP+L_}gPqdDol{0!*Rr4w;Ya6N?uF_VHC^6AWDa~8Ayu7l$etF&L zb>*JwhRX7W6?K&}$Dcf2t1VrIOuu@()^L>-8yYorUmaa8swF5@$+xYX;dsV=9E<+W1b4+;vj3##iIN;OR@D43-c*RSw; zm)CLj=PuCZRm>d!lgcU9$&-twPA`}|wP;#FQDOPig3_r~l?7I-t)jBBvaq7C%6iTC zNyC+0SY4}4-*07wQzsYN%4U=nOs$wfWmRPr1-8m56$PbJii)gLrcAAxQCPZHWw!lR zR#ZBrYKpD0uwZIo*^GjsqN2$KWu-I93o53~s33df;*}A_zvsGHFrk75hQczY^R>)~q z+6p-7sRc#0s*0)B(#caxXAGa_q>%$sJZX;+lRh2s$KO2OnN?VrnQ|o~{ue7!8zJ*VET#XF15=->Ml<{5@p_ySD2Fyq&(z=1#pc*ctAObVfU4 zo$<~@XRV!^)7+!?1bf0gk)C8v zy2lVQh0Gx>WC>YAwvavK2suNpkcx6|K8lY3(3@NI7H6x!wYgPq4Yr0`BdyWaSZlmB z(VA>cwWeE#S}h&c4jXN9bT~U)9qtZKhqt4#!`IQ&;qPef&^v-1;f_d0v?JCL??`kc zJ5n9#j-d|KY3MX{nme^lOQ*Hd)@ko_bUHg-o$gLgr?<0_^K0t#@8=xTokN{`j8M=N zGzYbyC1?%Wg7%;z=nT4o?w}{=4K@aS!KR=;*c{Y@!C*KT2}XmlU_6)zCWEP9I_U25 zba}fPyL?@du2@&1E7iqMOXxOtTe@xCj&4`Cr@OJcsk^y5*d6JPbtk%0-9z-MnI5(E z7k&Pw$Mm?K(385M#nhs;SX=BZ&K582@X-=KZP95> znD#`wcf3!qFWeXDi}uC(BX|=Z6TJ5clR%ffL)!pi8_5aiCjWGX)+Rcoyi*apcEE9~MnK5%Q zPR-1}1mj_544m}6k3J96*U8{e(9~t_8gBFMSr_ez^~8G;%)S)!Pi7qbl;$~-`8GVO z%mFQ630MQRfSolI-^U6XULV8r<$pdG_SdqZ9u+c#e7#M*{@&(Zy*Jn!?v3FD^Yn!dj-sWg?wz=Be zZJsu7TVtEAt*Oo5*4(DI1>3@Hk+x`?JKza;1C0USx7ex7>{2#%C>Og^BRf+wyHbQ5 zDZy?u)Nbf7cUYJe4(5f2nbE}D2r@fj%#Rc^#K7vdFiRYndD6s82{Kn=%$5}M#lYIN zFlQXBSr6;AiFp%boyJ(BDdvu$%iOQ^Tl#nOqB4!)vm{wYd-QV}*bF zaf`LZ+Y)Wbwp3fXZKzEJ3;|PMzh-x*!g|N1&)?$DS4`yYiMb0Nh%uyh7P z;ZP(L4aGw7kg|^9^Cfw9+PS`^<;p%r9uU;-o^i1Ixmw&Uo)&LQV~ek)X~d2e-S>XR zD)@G5V7M>$--FGWEBMfetJKh5R~*^DcAQTllnkXp>CjL}^%^qQ26wM#AA5$a&%SG? z-g^&F&M_*&`ODrf^JB;C@bBEi_uiwut&Od|)+VmX`hKp->Kk@};T}k}4bLNMX0LU8 z!`+C9H7{fC|F^H~NmhM&pVw{Yey`g0E=QM}>$JbCxhvci?NZ%_ZWCAO{jbK|S4oX) zwSCu}&Ystt9Xq=zbKm0&HHG}4=8zsTa8x-4DRE?bwqYww-bnz`q7aM$bVacAy)_rCAl zJsWJj_TC+LYdcn?@^PKnyGT7$2hppJ8jiAa_o0p z>)l-EgFCP7yH~YbBMe+0EUan=*98w({3h<~f;^MNxSLAxEaLlL-l0cFJaz1QWjnsr z9eI4$z2NY=)b@HBafdu1Z>TZk3(3yvWo;Vz&Dj#m;N!T zS*|5}+-vU`yWv&1W0$q;^BOa9J<1(ZZ0A+ix8FOaZ`w6u`*?=iv5)S!b~-apNs-L+ zk=!{co{Y4e_fAfph`iiq%l(ti)87BA*Y%zER`JYzx#}`>nYcIKy@sSuzx|!=@NVeH z?1%21Pe7{Q&~IW~v|V>?JMMku9ycN5qK{D(d>z=s4(ZG68NofCdt?QT+&3IMN5`L; zw?jNToBplm=Jc-T<&k~u_`m*?>e}ZM=}_>WN5#?Q>~e7h^z3|AZOU8;^{yaS!wA>I zSXZ29*JS1nb!Z<~N9TxV##s0M?o9uAziiy~m4Yx|CD^@Nrg&Z(UZZB#s4KL4We#6O zN8afrcHS8cUrmENKgIU*^tA6e<=gdC9n3uK?mf5Uxhg*L`6)a`HI2A7?Y#&1c0O_M z`5ckpsXL|1o?yw`Yx-ME`*}LveI<77_ZiFEDRZ6gYs|F6%=4R{rGjFM>}~wlCS1OxI41)wF_V7YZWr~Qo(^=2YTQ@4;<)$13hq{2M+YWfgU)} U0|$EGKo1<~fdf78|56Y9H|$84K>z>% literal 0 HcmV?d00001 diff --git a/gui/assets/images/auth.png b/gui/assets/images/authenticator.png similarity index 100% rename from gui/assets/images/auth.png rename to gui/assets/images/authenticator.png diff --git a/gui/assets/images/browse.png b/gui/assets/images/server_browser.png similarity index 100% rename from gui/assets/images/browse.png rename to gui/assets/images/server_browser.png diff --git a/gui/assets/images/tutorial_else_1.png b/gui/assets/images/tutorial_else_1.png deleted file mode 100644 index 7b8d8e889435b6151fa7b6c77049bb2fd0d5d2f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3037 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 diff --git a/gui/assets/images/tutorial_else_2.png b/gui/assets/images/tutorial_else_2.png deleted file mode 100644 index fc158c752bdba6c5afb8dc1b95d652e704609d37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5080 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 diff --git a/gui/assets/images/tutorial_else_3.png b/gui/assets/images/tutorial_else_3.png deleted file mode 100644 index b025c32b4ad1abc58dc1beb716c6c75b1de1da5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2741 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 F{{`tq7!d#f diff --git a/gui/assets/images/tutorial_else_5.png b/gui/assets/images/tutorial_else_5.png deleted file mode 100644 index cc315692698870a5248a3921c98a73c114d3cae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1595 zcma)6X)qgT82(&!w2IZOHiWJo*j_BFCY3EkHMXI;7IiN>&Y~Gtl6AMH!Zc}jr_`-l zl$5MeDT(Nm3e`%m8bxR+62zIfDzcy5Kl`uy9@O^e38A4FVvDr}ppLS8>lY|W z6ZiP^nnRu{a;}%Cx63p&6~D3c!aPxwWoepi;K?ytmfP1X3;tLu%JtDX!7vZezC9pX zoWpQBJ3ABQ0m$MOl*oZpd6ifIj5BSNL2CLJVS^M~M$tz*wY9Yoo^b~UJrM>5oZ|qL zsv>38vaYVK*tL0ntaMYtQ~Ee+$etY z&uF%v^>`fBibSIg_$vcI_4P>8$Dz^amVlAT#gA=a;o&pWKAZD=Mt{MX=)T6t;cE7( zXqXzRp|$Qv)~lKtoEU1mrO{vhV{UZ>0DtDkp~siUUu8GMO!qLI!q{Y_P}pBdxL55- z(WE)tj2>#JA|?sA55#lt>r2f1TRA4EouIrleOF`xp7gj@fg!P%POvE(10}Cif1Azh z{_r7Sh)IZH!9i2|pZ;(JQTfSi=xGS2SUfX8WquB^v$KN{TnLg0`xgC_Dua1V1@I!A z{=|lIH|K!&`{%fz{QLJi8Ryzn3FxO^aq4Ov0|Kp&1#@BNGjfs)#Dgho^S-F$E&M2E z0O=jresroYDE4SOi76JD*0SFK#cxeX@sk5DX8yvJ%HEc|Y}qTW58+H9Vc)g8 z5xA;{BXd@;-4CfYl)UBVD^73jQpn^fUjPD{a?s;&)D|IE51#_Srd|=2yU)H<0od50 z@@*GHBCJ#@t*WdvT7Znq&MPT#F*i34i;6n6a3ZSL#-ASL>&1wV+*}oTOW<@s5lLab zx%^zpc45MB#M$xhOieEr6?1xevLKN?%R&XA!qAz}S?30IF^k0#OFyqMVen=xEHaW$ zYD|lo(gPsBH_V%ny~B%t)A&zD|AFpDxD@2soMT2tI@W=wN19@c_)J1QF=_JkJtZEj z>sf>~_b`jy(a|?R_2?G}LM53z<-K~H3+t`jxu-pN3uCP%3C#)HTN~o_r3sits;uII z0@|>Ny!=i;=1un$bwkz~57+uKlAV*b-sYKyRFm#he2)+;-DvN0s+@7X?~YURqr7Uj zx^yymU0FllO?J7}kJ181U741aHpbcuK+ep@%Cr#DFGch^b4A<8`4NdkV)hqaP)Ne# zt*}_^gtmo@FNq|$7ZuV ztb6Pprfn}zb~hv}j558NiT33ZoLJDC_%#6ANG+k+>y|#8K0;l*p3OE%C`_hjY1}xq zYBH#MCd!SI-9jr`zhex*lbfOZd*l`F`W|8-o=&c6pLm(E8_5sGjj@sjstB{Zj%!3C z!^NOuXjX@>4*=`5nS%!p=5c5#+AI9}`g#J~hOtx{jn*7D5t!Aq!;M2w9;L?ekl<>D zJMhpyu+Ne^JuM^N(18R{MMcgwrs>l?ed>d;P#b`sSurnOos3jKCrh?RMttHp9mU1P zOz14u5P|YS<)en0wIfqpU2Ev{Gm^EnY`FD2(+@=C<>gh$xBP@ug34IrT-Sll|L-#V e(zXnIBtAz9+T)ZkVsR9T2VfkW?Q72mr2h>hP2L&+ diff --git a/gui/assets/images/tutorial_else_6.png b/gui/assets/images/tutorial_else_6.png deleted file mode 100644 index 1ff494fd94a192b623e2b508bec8b24fae9f4ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1034 zcmeAS@N?(olHy`uVBq!ia0y~yV0r{(TX3)e$sIT6#sewF;vjb?hIQv;UIIBR>5jgR z3=A9lx&I`x0{NT;9+AZi419+{nDKc2iWCM0=J}p3jv*CsZ|~T8sdzIS_&Dpix|P-n zj%93oatdfJvdtpQLG7*)HW*mcM&9 z#iq_aW7(?R>32T(=Z8+$n(Czsw9@yh|1TB>hFKmR%nS}}PBIJ(Mgl-bPiPciXK3JQ zv0z|GQ8>cLpunui$G{-TQOLk>!hwL&=AflPE0=!cep+O?W$V_Zk_-$V0?W(G7e=jJ zcJp-{@5g`t{uR{M%V%v3mzHH-J>~c-`GR?cl+K^_O>CxO!Do zPEPI;PlJ78e!hN5Sy|iNyLU^})&s4+aQpV}+<&$V|HD7pKDvJWdgixD>d0Z>kXAU; zBW9OSzs0)f$VkrY?Ci{M8gcP4F*?US78e(9-m(7Q-}v|QXU(eGCDvc@zWDt5qt%QV za*BKtF5bBlbK~AUzQ>OrA1$n`yeV+{y`-F+p55c}>C>hidhsITMdANk1nYdsqqTi5v?*3X|mKl;NoJv}}1%ZeDi<$?@nfzfT$mAz;2FQJJN zkL!bMPci@qcl%!-f2?+D$3vqyX-P@V zYc2I5G1YR{8?Wz|@0a+_P{Y5}YiW@8W2Zm)XKvrVZNkjJuy57gy?@XCwVH=J-CYoP zwDnf^^cBDa9seaR+Pvk*)vKW&XNfW}Jb0ZHe0*D-_u=Xzi~IWeF5JB<3pC#fXlzYL zjgXx3pJ&h1=4O7$0-DWGKmF`1l9K*~62(6(k`tMfGiql86C?wJr>mdKI;Vst03nsF A*8l(j diff --git a/gui/assets/images/tutorial_else_7.png b/gui/assets/images/tutorial_else_7.png deleted file mode 100644 index 0e96942fc735f04c7b2193de32c4a932c001178b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35726 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 diff --git a/gui/assets/images/tutorial_own_1.png b/gui/assets/images/tutorial_own_1.png deleted file mode 100644 index 7b8d8e889435b6151fa7b6c77049bb2fd0d5d2f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3037 zcmb7Gc~lbW5+`#nHB+gdRa= z1(~o4vb;fwp)@VZ?YhAqz;~?rU!{~Wp9uy_dUpZ+mPn^@2GAj=^=h6m6lV~gwtc`5 zimQ^fuqZNs;`VlR1xeIb09)fE%K9z;Qz@pD-}@98)p38Y#I~6i@dt|_1h!l`!ymAuT=JBELNJ&^a32m1zte%KBkqf#I}_zRcdH8Rp{R(qJ2UzBSgcEs+zz ze=Da$n5i>604w>RgV_+U=06@N7k97B3>I@C)^g6w<;h+yCw;4FG@vJufare^G5#h& zV6P;*o*B9BL~_^^bLoBeO#|Z$pie`lf8*wZgvL5vKhz5|5yQ82Ut+guni0;H08 zJKmbidulfey6XcID(X)!k~Yz0n;vQ4F31Hu3RtO};9sjKg&es9vP)TuCPvU-jtni# zGA4-r+jr4#>hP#3v3<}Glgzm-PxBu7I0{({<83IN9`0eJ`rOfPQ>oWUZ_oz}>UGW$ zf%5_Q+_W1Tj+^7wOJ+W`#V6Bk1uv%jU%EtTMq5rK@#pFG=4!(TEq4$TExLB~WXHGT z9- zC*leDK1(T`1lT}6t0(hLyg#YZ_ulwW^{M8@PT^Bt#8d>7;NC_wHA7Z48VmJ=^{-)L z7=mLXHQbiQepy?V{IsQN&ufvQX0jVhAmq(K%z;%FgZ7@c-o*4iIIMR9$ai__BRcGW zB$uS@3ln~B3Ki(fFHE-SFm^oYpn*&x_1U7P+yt8M!}!36K7P;mxv|HoW35Sx!5$`% zQguoY*p7Qb)FGHD7DO3ykF_9%Rj5&f7+~nJaih>Z)h4O?q4%6?zqRL8{B}QXfF5)2 zFQ@(g)^mNa^d*imO=G5T2OpNYYM7pVwtGArd?6UCrS?ibm-bEvBVN{t41a&D)}x$U z#B4`dVzk^cDnaQ`IK(FEYddvRw9vNreqO%#X7kSZ%O){5pM-?B(TMEXxn>H;Zp@}6 z&zz`5p-sC|9{^c5-m${8v>!n*>JT%9lM~j^h6{zZpGKdl^>5}P!=5Oy8z+b(4XG$H ze+TDP!rX{hb$Btc=;66wlwspO9{YwmbFnn(>z?L8w+_EoCU13LfuCLcFrCP(oXQsh^k7DXKHppHw^u)>x(`4s-Iry+oArt1XB77 ztuS2tW4b7WoN1s)OE|$;A87~-&8Q_bRJvDkyK>VG z6^1i|+gHEdXs9pnI``amOY0b0wEThFRhs!^)6>3AM;%?;r~R4FNK7ymF?!P@R$Nt? z_v0Dg(L!oI4j)xF*n{I>jn3{Z8PzDP^oEmF)_!m7#CtTWeQrilE=TXqM&;twfU*1c z&YhOdnAdYFm>{Niz_V=Ja&KXnDECWyVP~Xeq^k- zf|87Mc8(8+vjYqaZohuoNpnawS+P;A@wN_n?Xk7B9!Ev^=Hsm9f)A`sbxqZPD$8Y2 zDBEZQp?ebQ7<0tqcU>iTjehxLOO!eGZLqk~R9m6b?z?3TTP-04GS}s(f)y3k%E#Za zxi)4s^9||QC+5e%$Cc#zshTMsPjn2eL)x|(F*Mv^_ocWhj$#XsJ#ZFfQZiw%%q#ECfiq4*@N(5mX6Mn@Ig8-rFc+LJ4Bv^XX<7N*8xFH*3hm7kKi_Fj>~Fag z98i1o-C4QBn%uqBw%_KD?kVLY^!g86h};|7-U`3#b;cX=`sh8U^mkTVKR2x(d{ejJ z@T(cYV|K#B4hZG31>R^#l*2xSsn9B|6$Lwt8%wI*b;@8hLw$$aciQSKuf<4_;ru0X zsaFRxfL`Z~rhvAzZx<2YMgE;)e@}E%%?zfvR9hluU42; z&U|seVzmFzs>YVzW{DSX?vAh9#{kM9(lZH9tada`zRI^WWuGrv`+5S`XF5};8Ald* z2_`%;c8el&vFX|FHCkd2a9=-E;b30Q;ee9>O03jvE5Cei8~3!W(r%fw z;mSnK5*wNIxBlB>`;nBgQq7u2qgO+yojtx9ZUg!<;qClsJGD88#mUq$s}5oX@T*qxBZN#j*hU`8wS$}w|X)z^5%J|D!7_)xf6ePW5m1>cda zVCYa~R@aU8w6@cwFbM_Y9gQ%m1IX$!@6Jy!mzG zne~}`(C9{-Ox~ySFaYWb13y0w&%i0N9M9pZP*%isPVyBC zegvte3}R@n+CZg5sHT(&o?)e?ajrIIx2se%5r{2`+hpV s;2)-ubQ#Sccyg`;@_m7r8*M!Dx2LebAwuDX%5<`QepK(-=6^otKN|)6WdHyG diff --git a/gui/assets/images/tutorial_own_10.png b/gui/assets/images/tutorial_own_10.png deleted file mode 100644 index 1ff494fd94a192b623e2b508bec8b24fae9f4ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1034 zcmeAS@N?(olHy`uVBq!ia0y~yV0r{(TX3)e$sIT6#sewF;vjb?hIQv;UIIBR>5jgR z3=A9lx&I`x0{NT;9+AZi419+{nDKc2iWCM0=J}p3jv*CsZ|~T8sdzIS_&Dpix|P-n zj%93oatdfJvdtpQLG7*)HW*mcM&9 z#iq_aW7(?R>32T(=Z8+$n(Czsw9@yh|1TB>hFKmR%nS}}PBIJ(Mgl-bPiPciXK3JQ zv0z|GQ8>cLpunui$G{-TQOLk>!hwL&=AflPE0=!cep+O?W$V_Zk_-$V0?W(G7e=jJ zcJp-{@5g`t{uR{M%V%v3mzHH-J>~c-`GR?cl+K^_O>CxO!Do zPEPI;PlJ78e!hN5Sy|iNyLU^})&s4+aQpV}+<&$V|HD7pKDvJWdgixD>d0Z>kXAU; zBW9OSzs0)f$VkrY?Ci{M8gcP4F*?US78e(9-m(7Q-}v|QXU(eGCDvc@zWDt5qt%QV za*BKtF5bBlbK~AUzQ>OrA1$n`yeV+{y`-F+p55c}>C>hidhsITMdANk1nYdsqqTi5v?*3X|mKl;NoJv}}1%ZeDi<$?@nfzfT$mAz;2FQJJN zkL!bMPci@qcl%!-f2?+D$3vqyX-P@V zYc2I5G1YR{8?Wz|@0a+_P{Y5}YiW@8W2Zm)XKvrVZNkjJuy57gy?@XCwVH=J-CYoP zwDnf^^cBDa9seaR+Pvk*)vKW&XNfW}Jb0ZHe0*D-_u=Xzi~IWeF5JB<3pC#fXlzYL zjgXx3pJ&h1=4O7$0-DWGKmF`1l9K*~62(6(k`tMfGiql86C?wJr>mdKI;Vst03nsF A*8l(j diff --git a/gui/assets/images/tutorial_own_11.png b/gui/assets/images/tutorial_own_11.png deleted file mode 100644 index 0e96942fc735f04c7b2193de32c4a932c001178b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35726 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 diff --git a/gui/assets/images/tutorial_own_2.png b/gui/assets/images/tutorial_own_2.png deleted file mode 100644 index 13813aec70310548a11e1c1eea13998f2d4e0c5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2388 zcmbuBX;@Ro9>#}75pk;v$o|+0h>BbZ!cAEsn}8sx#*H1Sf*K&m5|#)-Tda616pf&O zNmT?F2uLJIfCNQFmJn=^Ko*cKVM_u8f+QsL*!#6l?}z*0EOVa!ne)DLW`6JF{1D*1 zey!130Kj@*AJ1a|Xih`-$JeZe&i$4@GNFq`;xTV`K<+Y`fEwD-Zb#ezc#)^K9JvZ= z>&E*8CIYabI-lzcV{SWY83@gHZ?fO9M$=%( zee1*PyKX$m-sD;NGuF*Gc+B#=!OO#%ud_ED${&8V=7#2@6On7YynOflJl$L7j=%gq zO?uyHvBX(~t)kE2%(hD!VWLJ@v_vSQi<}apsF=ab#~J`Uv!^7A0u=@Z{1lgj=L4t?tCrP7bBmG%6(x%%;TwoM80^^bW1ubxY>6G22_#@jtWnmiKr7jTW3^bE5*;e)+s&}mUhk; zp_*Z2DCOB1X&I|Gcr1m$qvVLC(c6OF#|b5<@_<^^C}m#RHcO4=QR7RbbS1edV8v3Y zjCAtrdSI&(2Iu}EecfvDu%M~pY3TeG3l#5c# zicn=}G9SInP%EY^S|vI&35|AV%u@!^L~lMnz`J@F{+pm0qZDLrewJsB7$AGgqko&j z)G)NgHKQg9JD>5z;@1J>U~+f}E$KpAv^d-YfH+r_j(l9_ZD<4bfEAJ$!}&#Fu|v1W z*dbcqJm@xQu+msm$%><%Bg0cQO+)5z8|k z4Rr1`m5_D^UHsaoS5{A;1HfNCxwUUg_m&aNxn*^*44X=ZpH8=SSY(6mYq1 z{wYx`l+m%S*j*H^b@W8x$BJt!b|1#4HtzeDV*{J=qQ`y^wL9vKtpL!>yx?`kMZ?9- zg(9>@8d?n5C-dGtDesuqQk)9U_$24p9tjjTn^>p#w)q>L{k7N&c|WBq`myL=6%-`m z`8R!RDKwnCT5@J^_X=X3=?wdW}yh`;b@KZh5=Q$D)|p z%xS;z&d!v{9+)z8K*n?&OsWcVfd^>f;D_Q4np#n2;H`HE1*P^Dk@Y54mwjL^5o>SHiqY$f!UXYrsiJcyW&i7+nZsus>+9T{J5V9&l?2>C1>@C+$Tj%Wm z`e5aV-NMVopJ=$P5a9laSuqd8zZcMw(K4l!ky6=K0#7XKZ^ET;Xp$Q zWkjG4z-gDd!AzX2!kK z3)x77IOs^?=!g8M)?Cw2^wV`_cGtH%`T&q+9C<jEG3$St@P4m z-&NYWgm^F|xJN)h(Wx;|__*+t#V{6LMow+>P_Nn0i7`xJTaR~H|3Bpfnh-L)(7 ziN(cPGO0cvq?|@k^11Mfqonl7r&yP;)S>Kb+EOM7Qu%yJzYn&DD0*DJvy4HAH|0@d zjo~QQq%Si=+4MR7{7Y}&o0rp$pDDPMEc;r1K=~L2Kt#Q<+OHg11(V^jbL0} zN`S#&>{{p#-0>+3pc3DEUU5N)7;yp`8OrJk&;QPI#ZYN~f4{uY3ug2M!aA)I>bo?q zeyqUZ6v;Is{aK(KS{t2A<^d<{^m&I^ZjTvc`mVoalWoYW?h>aI@;wqsN)3n_{+jn8 nc;aTQ|2y{oevfdHy}WTNlQnkzoc>2>Cj@-G0zAp?5m)~NC`6-} diff --git a/gui/assets/images/tutorial_own_3.png b/gui/assets/images/tutorial_own_3.png deleted file mode 100644 index b025c32b4ad1abc58dc1beb716c6c75b1de1da5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2741 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 F{{`tq7!d#f diff --git a/gui/assets/images/tutorial_own_5.png b/gui/assets/images/tutorial_own_5.png deleted file mode 100644 index 79461fe4c01947333297cef9e2971baf2e106867..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1909 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 A*8l(j diff --git a/gui/assets/images/tutorial_own_7.png b/gui/assets/images/tutorial_own_7.png deleted file mode 100644 index e4dbf8ad908d18d3f70b3c2519cf42cf9abb1c57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2270 zcmbVOc|6qX8vj|su^cLws3fJvFp5E;EJN9%$(n5(+t^8CIkriEUKro-(lq{J1)0RWJ) zvNX2`0D*Fz>?YhV1o+2DzYHJDrH8~Pn-g|iZFV`$xQ2_93 z8-EGBizxR405O!6xvAsth}B6-h@8cNzZgl=XN;?EE5)m=zW*c*a|i1wXSF4(S><&!Vf#zDVu zdx(a0%oXBvj-=tySB8e8bEAuKi<3HbgVIlzp`^r_ zOuFj(8QN1Ciwetf<8X z_3=SZ8mUwkHlne0O*_n~*xI_R1Kz-fp({g?ZllBrcElJb{k+j5EtZ+c9zf%pxuInfUb*t_PZxPLGAZs&U`0j8G@&vTk0zOqtSRK7f231c1sYrb6ndbKlAfa zu~4BKDYRmE128dIkECrE#3#agEySd{^{_q2&PCr$KR5v7itz!w7iUC@I}-*Z&zSPP zS@|V%Xxp*<3-|TUbGC=#q2Hwec+$`N=Az{YRYQlNmW}n%b-i!DVm%_3j@5A+id|CK z)W!6pyOb;T33NZS%GDJxY0Whi0L)cPcu?t>to@7_E^$((v%SV9=$7&R1lDt@wh(U) z5tZ>qFB<_7{*mFU`G$$~wKgB@j7n4))$9&qFAe}yc0o601?$$EbV}3fY+m@rYSE=8 zUWd}0YZ1Olr|OmP6c5%+!RsJgCfg_YR3h~7?v>5c2`my zP~Io73*e_-qhAIXIUGIUnpUK5uuY!%+s)m4ra+)g5K1*6meu+!;h+Hp+OBeU#0KqY z>6UW%e^?kj%paHaRK(7sye^hA>1qG zbQhzxESXg@I091v2V(rEB49`AGK-L>Er~y`fZ1Hj(VE+YkspKSoUHF*8!vlayb zsr$TQF`LQafjR}vic23@OlNYSj$$D(rned2<19L*U2cH9RMdqdpp<;C?ESLCq{pre z3`T`OHx_LtGnA=^2-gjWMvcpnNmJV`E9$b)&M!Mt&5CyvgQk)6kB~`qc?DSj#}b2^ zDBIX%cpijfAPH^=MD?KVLTmd5gL#WK6gVC4x^aJQEH{MUGT{TP}Vn%${6Ieu*` z<8l-wo5!%nR|D)52mXSNE!xtW96PtOoK3$V6ZxyB{$Z~pX2I7Q6AsH8goxgR$kcm)OWlOT{Ja46r2^#o^kn_r z>yW2>bJ5NMgvcfhZd#>t4jQhcL#_cT&As2Ii=;( zS(xVi&l~l(RbnR_lU`_J;#0)Bi?OaFilc5*2j>>8e}vwrqe#Y*;cBh%tGY~%x^*q< z@9=f{LY8Pvg=D+VbSSscbAOKp*Ni>zjk~!QPBjbinC@>E@|>-CFqKFmsk)~@xz6+E z4QI<7a(xSzZ9Q!;o767EWqvLiOhrxR5aQ9+az9)YXIH$d+(-VQPXCcHlhV0FRHyc+gf%D(`r8#$5y diff --git a/gui/assets/images/tutorial_own_8.png b/gui/assets/images/tutorial_own_8.png deleted file mode 100644 index 11f8b419fbc043b7fa37316e65095c9a668489c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9108 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 diff --git a/gui/assets/images/tutorial_own_9.png b/gui/assets/images/tutorial_own_9.png deleted file mode 100644 index cc315692698870a5248a3921c98a73c114d3cae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1595 zcma)6X)qgT82(&!w2IZOHiWJo*j_BFCY3EkHMXI;7IiN>&Y~Gtl6AMH!Zc}jr_`-l zl$5MeDT(Nm3e`%m8bxR+62zIfDzcy5Kl`uy9@O^e38A4FVvDr}ppLS8>lY|W z6ZiP^nnRu{a;}%Cx63p&6~D3c!aPxwWoepi;K?ytmfP1X3;tLu%JtDX!7vZezC9pX zoWpQBJ3ABQ0m$MOl*oZpd6ifIj5BSNL2CLJVS^M~M$tz*wY9Yoo^b~UJrM>5oZ|qL zsv>38vaYVK*tL0ntaMYtQ~Ee+$etY z&uF%v^>`fBibSIg_$vcI_4P>8$Dz^amVlAT#gA=a;o&pWKAZD=Mt{MX=)T6t;cE7( zXqXzRp|$Qv)~lKtoEU1mrO{vhV{UZ>0DtDkp~siUUu8GMO!qLI!q{Y_P}pBdxL55- z(WE)tj2>#JA|?sA55#lt>r2f1TRA4EouIrleOF`xp7gj@fg!P%POvE(10}Cif1Azh z{_r7Sh)IZH!9i2|pZ;(JQTfSi=xGS2SUfX8WquB^v$KN{TnLg0`xgC_Dua1V1@I!A z{=|lIH|K!&`{%fz{QLJi8Ryzn3FxO^aq4Ov0|Kp&1#@BNGjfs)#Dgho^S-F$E&M2E z0O=jresroYDE4SOi76JD*0SFK#cxeX@sk5DX8yvJ%HEc|Y}qTW58+H9Vc)g8 z5xA;{BXd@;-4CfYl)UBVD^73jQpn^fUjPD{a?s;&)D|IE51#_Srd|=2yU)H<0od50 z@@*GHBCJ#@t*WdvT7Znq&MPT#F*i34i;6n6a3ZSL#-ASL>&1wV+*}oTOW<@s5lLab zx%^zpc45MB#M$xhOieEr6?1xevLKN?%R&XA!qAz}S?30IF^k0#OFyqMVen=xEHaW$ zYD|lo(gPsBH_V%ny~B%t)A&zD|AFpDxD@2soMT2tI@W=wN19@c_)J1QF=_JkJtZEj z>sf>~_b`jy(a|?R_2?G}LM53z<-K~H3+t`jxu-pN3uCP%3C#)HTN~o_r3sits;uII z0@|>Ny!=i;=1un$bwkz~57+uKlAV*b-sYKyRFm#he2)+;-DvN0s+@7X?~YURqr7Uj zx^yymU0FllO?J7}kJ181U741aHpbcuK+ep@%Cr#DFGch^b4A<8`4NdkV)hqaP)Ne# zt*}_^gtmo@FNq|$7ZuV ztb6Pprfn}zb~hv}j558NiT33ZoLJDC_%#6ANG+k+>y|#8K0;l*p3OE%C`_hjY1}xq zYBH#MCd!SI-9jr`zhex*lbfOZd*l`F`W|8-o=&c6pLm(E8_5sGjj@sjstB{Zj%!3C z!^NOuXjX@>4*=`5nS%!p=5c5#+AI9}`g#J~hOtx{jn*7D5t!Aq!;M2w9;L?ekl<>D zJMhpyu+Ne^JuM^N(18R{MMcgwrs>l?ed>d;P#b`sSurnOos3jKCrh?RMttHp9mU1P zOz14u5P|YS<)en0wIfqpU2Ev{Gm^EnY`FD2(+@=C<>gh$xBP@ug34IrT-Sll|L-#V e(zXnIBtAz9+T)ZkVsR9T2VfkW?Q72mr2h>hP2L&+ diff --git a/gui/assets/misc/udp.ps1 b/gui/assets/misc/udp.ps1 deleted file mode 100644 index 6e2d71c..0000000 --- a/gui/assets/misc/udp.ps1 +++ /dev/null @@ -1,40 +0,0 @@ - [cmdletbinding( - DefaultParameterSetName = '', - ConfirmImpact = 'low' - )] - Param( - [Parameter( - Mandatory = $True, - Position = 0, - ParameterSetName = '', - ValueFromPipeline = $True)] - [String]$computer, - [Parameter( - Position = 1, - Mandatory = $True, - ParameterSetName = '')] - [Int16]$port - ) - Process { - $udpobject = new-Object system.Net.Sockets.Udpclient - $udpobject.client.ReceiveTimeout = 2000 - $udpobject.Connect("$computer", $port) - $a = new-object system.text.asciiencoding - $byte = $a.GetBytes("$( Get-Date )") - [void]$udpobject.Send($byte, $byte.length) - $remoteendpoint = New-Object system.net.ipendpoint([system.net.ipaddress]::Any, 0) - Try - { - $receivebytes = $udpobject.Receive([ref]$remoteendpoint) - [string]$returndata = $a.GetString($receivebytes) - If ($returndata) - { - exit 0 - } - } - Catch - { - $udpobject.close() - exit 1 - } - } diff --git a/gui/l10n.yaml b/gui/l10n.yaml new file mode 100644 index 0000000..84b5ef2 --- /dev/null +++ b/gui/l10n.yaml @@ -0,0 +1,3 @@ +arb-dir: lib/l10n +template-arb-file: reboot_en.arb +output-localization-file: reboot_localizations.dart \ No newline at end of file diff --git a/gui/lib/l10n/reboot_en.arb b/gui/lib/l10n/reboot_en.arb new file mode 100644 index 0000000..a02e302 --- /dev/null +++ b/gui/lib/l10n/reboot_en.arb @@ -0,0 +1,268 @@ +{ + "find": "Find a setting", + "on": "On", + "off": "Off", + "resetDefaultsContent": "Reset", + "resetDefaultsDialogTitle": "Do you want to reset all the setting in this tab to their default values? This action is irreversible", + "resetDefaultsDialogSecondaryAction": "Close", + "resetDefaultsDialogPrimaryAction": "Reset", + "authenticatorName": "Authenticator", + "authenticatorConfigurationName": "Authenticator configuration", + "authenticatorConfigurationDescription": "This section contains the authenticator's configuration", + "authenticatorConfigurationHostName": "Host", + "authenticatorConfigurationHostDescription": "The hostname of the authenticator", + "authenticatorConfigurationPortName": "Port", + "authenticatorConfigurationPortDescription": "The port of the authenticator", + "authenticatorConfigurationDetachedName": "Detached", + "authenticatorConfigurationDetachedDescription": "Whether the embedded authenticator should be started as a separate process, useful for debugging", + "authenticatorInstallationDirectoryName": "Installation directory", + "authenticatorInstallationDirectoryDescription": "Opens the folder where the embedded authenticator is located", + "authenticatorInstallationDirectoryContent": "Show Files", + "authenticatorResetDefaultsName": "Reset authenticator", + "authenticatorResetDefaultsDescription": "Resets the authenticator's settings to their default values", + "authenticatorResetDefaultsContent": "Reset", + "hostGameServerName": "Game server", + "hostGameServerDescription": "Provide basic information about your game server for the Server Browser", + "hostGameServerNameName": "Name", + "hostGameServerNameDescription": "The name of your game server", + "hostGameServerDescriptionName": "Description", + "hostGameServerDescriptionDescription": "The description of your game server", + "hostGameServerPasswordName": "Password", + "hostGameServerPasswordDescription": "The password of your game server, if you need one", + "hostGameServerDiscoverableName": "Discoverable", + "hostGameServerDiscoverableDescription": "Make your server available to other players on the server browser", + "hostShareName": "Share", + "hostShareDescription": "Make it easy for other people to join your server with the options in this section", + "hostShareLinkName": "Link", + "hostShareLinkDescription": "Copies a link for your server to the clipboard (requires the Reboot Launcher)", + "hostShareLinkContent": "Copy Link", + "hostShareLinkMessageSuccess": "Copied your link to the clipboard", + "hostShareIpName": "Public IP", + "hostShareIpDescription": "Copies your current public IP to the clipboard (doesn't require the Reboot Launcher)", + "hostShareIpContent": "Copy IP", + "hostShareIpMessageLoading": "Obtaining your public IP...", + "hostShareIpMessageSuccess": "Copied your link to the clipboard", + "hostShareIpMessageError": "An error occurred while obtaining your public IP: {error}", + "hostResetName": "Reset game server", + "hostResetDescription": "Resets the game server's settings to their default values", + "hostResetContent": "Reset", + "browserName": "Server Browser", + "noServersAvailableTitle": "No servers are available right now", + "noServersAvailableSubtitle": "Host a server yourself or come back later", + "joinServer": "Join Server", + "noServersAvailableByQueryTitle": "No results found", + "noServersAvailableByQuerySubtitle": "No server matches your query", + "findServer": "Find a server", + "copyIp": "Copy IP", + "hostName": "Host", + "matchmakerName": "Matchmaker", + "matchmakerConfigurationName": "Matchmaker configuration", + "matchmakerConfigurationDescription": "This section contains the matchmaker's configuration", + "matchmakerConfigurationHostName": "Host", + "matchmakerConfigurationHostDescription": "The hostname of the matchmaker", + "matchmakerConfigurationPortName": "Port", + "matchmakerConfigurationPortDescription": "The port of the matchmaker", + "matchmakerConfigurationAddressName": "Game server address", + "matchmakerConfigurationAddressDescription": "The address of the game server used by the matchmaker", + "matchmakerConfigurationDetachedName": "Detached", + "matchmakerConfigurationDetachedDescription": "Whether the embedded matchmaker should be started as a separate process, useful for debugging", + "matchmakerInstallationDirectoryName": "Installation directory", + "matchmakerInstallationDirectoryDescription": "Opens the folder where the embedded matchmaker is located", + "matchmakerInstallationDirectoryContent": "Show Files", + "matchmakerResetDefaultsName": "Reset matchmaker", + "matchmakerResetDefaultsDescription": "Resets the matchmaker's settings to their default values", + "matchmakerResetDefaultsContent": "Reset", + "matchmakerResetDefaultsDialogTitle": "Do you want to reset all the setting in this tab to their default values? This action is irreversible", + "matchmakerResetDefaultsDialogSecondaryAction": "Close", + "matchmakerResetDefaultsDialogPrimaryAction": "Reset", + "playName": "Play", + "playGameServerName": "Game Server", + "playGameServerDescription": "Helpful shortcuts to find the server where you want to play", + "playGameServerContentLocal": "Your server", + "playGameServerContentBrowser": "{owner}'s server", + "playGameServerContentCustom": "{address}", + "playGameServerHostName": "Host a server", + "playGameServerHostDescription": "Do you want to create a game server for yourself or your friends? Host one!", + "playGameServerHostContent": "Host", + "playGameServerBrowserName": "Browse servers", + "playGameServerBrowserDescription": "Find a discoverable server hosted on the Reboot Launcher in the server browser", + "playGameServerBrowserContent": "Browse", + "playGameServerCustomName": "Join a Custom server", + "playGameServerCustomDescription": "Type the address of any server, whether it was hosted on the Reboot Launcher or not", + "playGameServerCustomContent": "Enter IP", + "settingsName": "Settings", + "settingsClientName": "Client settings", + "settingsClientDescription": "This section contains the dlls used to make the Fortnite client work", + "settingsClientConsoleName": "Unreal engine console", + "settingsClientConsoleDescription": "This file is injected to unlock the Unreal Engine Console", + "settingsClientAuthName": "Authentication patcher", + "settingsClientAuthDescription": "This file is injected to redirect all HTTP requests to the launcher's authenticator", + "settingsClientMemoryName": "Memory patcher", + "settingsClientMemoryDescription": "This file is injected to prevent the Fortnite client from crashing because of a memory leak", + "settingsClientArgsName": "Custom launch arguments", + "settingsClientArgsDescription": "Additional arguments to use when launching the game", + "settingsClientArgsPlaceholder": "Arguments...", + "settingsServerName": "Game server settings", + "settingsServerSubtitle": "This section contains settings related to the game server implementation", + "settingsServerFileName": "Implementation", + "settingsServerFileDescription": "This file is injected to create a game server & host matches", + "settingsServerPortName": "Port", + "settingsServerPortDescription": "The port used by the game server dll", + "settingsServerMirrorName": "Update mirror", + "settingsServerMirrorDescription": "The URL used to update the game server dll", + "settingsServerMirrorPlaceholder": "mirror", + "settingsServerTimerName": "Update timer", + "settingsServerTimerSubtitle": "Determines when the game server dll should be updated", + "settingsUtilsName": "Launcher utilities", + "settingsUtilsSubtitle": "This section contains handy settings for the launcher", + "settingsUtilsInstallationDirectoryName": "Installation directory", + "settingsUtilsInstallationDirectorySubtitle": "Opens the installation directory", + "settingsUtilsInstallationDirectoryContent": "Show Files", + "settingsUtilsBugReportName": "Create a bug report", + "settingsUtilsBugReportSubtitle": "Help me fix bugs by reporting them", + "settingsUtilsBugReportContent": "Report a bug", + "settingsUtilsResetDefaultsName": "Reset settings", + "settingsUtilsResetDefaultsSubtitle": "Resets the launcher's settings to their default values", + "settingsUtilsDialogTitle": "Do you want to reset all the setting in this tab to their default values? This action is irreversible", + "settingsUtilsResetDefaultsContent": "Reset", + "settingsUtilsDialogSecondaryAction": "Close", + "settingsUtilsDialogPrimaryAction": "Reset", + "addVersionName": "Version", + "addVersionDescription": "Select the version of Fortnite you want to use", + "addLocalBuildName": "Add a version from this PC's local storage", + "addLocalBuildDescription": "Versions coming from your local disk are not guaranteed to work", + "addLocalBuildContent": "Add build", + "downloadBuildName": "Download any version from the cloud", + "downloadBuildDescription": "Download any Fortnite build easily from the cloud", + "downloadBuildContent": "Download", + "cannotUpdateGameServer": "An error occurred while updating the game server: {error}", + "launchFortnite": "Launch Fortnite", + "closeFortnite": "Close Fortnite", + "updateGameServerDllNever": "Never", + "updateGameServerDllEvery": "Every {name}", + "selectPathPlaceholder": "Path", + "selectPathWindowTitle": "Select a file", + "defaultDialogSecondaryAction": "Close", + "stopLoadingDialogAction": "Stop", + "copyErrorDialogTitle": "Copy error", + "copyErrorDialogSuccess": "Copied error to clipboard", + "defaultServerName": "Reboot Game Server", + "defaultServerDescription": "Just another server", + "updatingRebootDll": "Downloading reboot dll...", + "updatedRebootDll": "The reboot dll was downloaded successfully", + "updateRebootDllError": "An error occurred while downloading the reboot dll: {error}", + "updateRebootDllErrorAction": "Retry", + "uncaughtErrorMessage": "An uncaught error was thrown: {error}", + "launchingHeadlessServer": "Launching the headless server...", + "usernameOrEmail": "Username/Email", + "usernameOrEmailPlaceholder": "Type your username or email", + "password": "Password", + "passwordPlaceholder": "Type your password, if you want to use one", + "cancelProfileChanges": "Cancel", + "saveProfileChanges": "Save", + "startingServer": "Starting the {name}...", + "startedServer": "The {name} was started successfully", + "startServerError": "An error occurred while starting the {name}: {error}", + "stoppingServer": "Stopping the {name}...", + "stoppedServer": "The {name} was stopped successfully", + "stopServerError": "An error occurred while stopping the {name}: {error}", + "missingHostNameError": "Missing hostname in the {name} configuration", + "missingPortError": "Missing port in the {name} configuration", + "illegalPortError": "Invalid port in the {name} configuration", + "freeingPort": "Freeing port {port}...", + "freedPort": "Port {port} was freed successfully", + "freePortError": "An error occurred while freeing port {port}: {error}", + "pingingRemoteServer": "Pinging the remote {name}...", + "pingingLocalServer": "Pinging the {type} {name}...", + "pingError": "Cannot ping the {type} {name}", + "joinSelfServer": "You can't join your own server", + "wrongServerPassword": "Wrong password: please try again", + "offlineServer": "This server isn't online right now: please try again later", + "serverPassword": "Password", + "serverPasswordPlaceholder": "Type the server's password", + "serverPasswordCancel": "Cancel", + "serverPasswordConfirm": "Confirm", + "joinedServer": "You joined {author}'s server successfully!", + "copiedIp": "Copied IP to the clipboard", + "selectVersion": "Select a version", + "noVersions": "Please create or download a version", + "missingVersion": "This version doesn't exist on the local machine", + "deleteVersionDialogTitle": "Are you sure you want to delete this version?", + "deleteVersionFromDiskOption": "Delete version files from disk", + "deleteVersionCancel": "Keep", + "deleteVersionConfirm": "Delete", + "versionName": "Name", + "versionNameLabel": "Type the new version name", + "newVersionNameConfirm": "Save", + "newVersionNameLabel": "Type the new version name", + "gameFolderTitle": "Game folder", + "gameFolderPlaceholder": "Type the new game folder", + "gameFolderPlaceWindowTitle": "Select game folder", + "gameFolderLabel": "Path", + "openInExplorer": "Open in explorer", + "modify": "Modify", + "delete": "Delete", + "build": "Build", + "selectBuild": "Select a fortnite build", + "fetchingBuilds": "Fetching builds and disks...", + "unknownError": "Unknown error", + "downloadVersionError": "Cannot download version: {error}", + "downloadedVersion": "The download was completed successfully!", + "download": "Download", + "downloading": "Downloading...", + "extracting": "Extracting...", + "buildProgress": "{progress}%", + "buildInstallationDirectory": "Installation directory", + "buildInstallationDirectoryPlaceholder": "Type the installation directory", + "buildInstallationDirectoryWindowTitle": "Select installation directory", + "timeLeft": "Time left: {timeLeft, plural, =0{less than a minute} =1{about {timeLeft} minute} other{about {timeLeft} minutes}}", + "localBuildsWarning": "Local builds are not guaranteed to work", + "saveLocalVersion": "Save", + "embedded": "Embedded", + "remote": "Remote", + "local": "Local", + "checkServer": "Check {name}", + "startServer": "Start {name}", + "stopServer": "Stop {name}", + "startHosting": "Start hosting", + "stopHosting": "Stop hosting", + "startGame": "Start fortnite", + "stopGame": "Close fortnite", + "waitingForGameServer": "Waiting for the game server to boot up...", + "gameServerStartWarning": "The headless server was started successfully, but the game server didn't boot", + "gameServerStartLocalWarning": "The game server was started successfully, but other players can't join", + "gameServerStarted": "The game server was started successfully", + "checkingGameServer": "Checking if other players can join the game server...", + "checkGameServerFixMessage": "Other players can't join the game server as port {port} isn't open", + "checkGameServerFixAction": "Fix", + "infoName": "Help", + "emptyVersionName": "Empty version name", + "versionAlreadyExists": "This version already exists", + "emptyGamePath": "Empty game path", + "directoryDoesNotExist": "Directory doesn't exist", + "missingShippingExe": "Invalid game path: missing FortniteClient-Win64-Shipping", + "invalidDownloadPath": "Invalid download path", + "invalidDllPath": "Invalid dll path", + "dllDoesNotExist": "The file doesn't exist", + "invalidDllExtension": "This file is not a dll", + "emptyHostname": "Empty hostname", + "hostnameFormat": "Wrong hostname format: expected ip:port", + "emptyURL": "Empty update URL", + "missingVersionError": "Download or select a version before starting Fortnite", + "missingExecutableError": "Missing Fortnite executable: usually this means that the installation was moved or deleted", + "corruptedVersionError": "Corrupted Fortnite installation: please download it again from the launcher or change version", + "missingDllError": "The dll at {path} doesn't exist", + "corruptedDllError": "Cannot inject dll: {error}", + "tokenError": "Cannot log in into Fortnite: authentication error", + "unknownFortniteError": "An unknown error occurred while launching Fortnite: {error}", + "serverNoLongerAvailable": "{owner}'s server is no longer available", + "serverNoLongerAvailableUnnamed": "The previous server is no longer available", + "noServerFound": "No server found: invalid or expired link", + "settingsUtilsThemeName": "Theme", + "settingsUtilsThemeDescription": "Select the theme to use inside the launcher", + "dark": "Dark", + "light": "Light", + "system": "System", + "settingsUtilsLanguageName": "Language", + "settingsUtilsLanguageDescription": "Select the language to use inside the launcher" +} diff --git a/gui/lib/l10n/reboot_pl.arb b/gui/lib/l10n/reboot_pl.arb new file mode 100644 index 0000000..d820dca --- /dev/null +++ b/gui/lib/l10n/reboot_pl.arb @@ -0,0 +1,251 @@ +{ + "find": "Znajdź ustawienie", + "on": "Wł.", + "off": "Wył.", + "resetDefaultsContent": "Zresetuj", + "resetDefaultsDialogTitle": "Czy chcesz zresetować wszystkie ustawienia na tej karcie do wartości domyślnych? To działanie jest nieodwracalne", + "resetDefaultsDialogSecondaryAction": "Zamknij", + "resetDefaultsDialogPrimaryAction": "Zresetuj", + "authenticatorName": "Uwierzytelniacz", + "authenticatorConfigurationName": "Konfiguracja uwierzytelniacza", + "authenticatorConfigurationDescription": "Ta sekcja zawiera konfigurację uwierzytelniacza.", + "authenticatorConfigurationHostName": "Hostuj", + "authenticatorConfigurationHostDescription": "Nazwa hosta uwierzytelniacza", + "authenticatorConfigurationPortName": "Port", + "authenticatorConfigurationPortDescription": "Port uwierzytelniacza", + "authenticatorConfigurationDetachedName": "Odłączony", + "authenticatorConfigurationDetachedDescription": "Czy wbudowany uwierzytelniacz powinien być uruchamiany jako oddzielny proces, przydatny do debugowania.", + "authenticatorInstallationDirectoryName": "Folder instalacji", + "authenticatorInstallationDirectoryDescription": "Otwiera folder, w którym znajduje się wbudowany uwierzytelniacz.", + "authenticatorInstallationDirectoryContent": "Pokaż pliki", + "authenticatorResetDefaultsName": "Zresetuj uwierzytelniacz", + "authenticatorResetDefaultsDescription": "Przywraca domyślne ustawienia uwierzytelniacza.", + "authenticatorResetDefaultsContent": "Zresetuj", + "hostGameServerName": "Serwer gry", + "hostGameServerDescription": "Podaj podstawowe informacje o serwerze gry dla przeglądarki serwerów.", + "hostGameServerNameName": "Nazwa", + "hostGameServerNameDescription": "Nazwa twojego serwera gry", + "hostGameServerDescriptionName": "Opis", + "hostGameServerDescriptionDescription": "Opis twojego serwera gry", + "hostGameServerPasswordName": "Hasło", + "hostGameServerPasswordDescription": "Hasło do twojego serwera gry, jeśli jest potrzebne.", + "hostGameServerDiscoverableName": "Wykrywalny", + "hostGameServerDiscoverableDescription": "Udostępnij swój serwer innym graczom w przeglądarce serwerów.", + "hostShareName": "Udostępnij", + "hostShareDescription": "Ułatw innym osobom dołączenie do twojego serwera dzięki opcjom dostępnym w tej sekcji.", + "hostShareLinkName": "Link", + "hostShareLinkDescription": "Kopiuje link twojego serwera do schowka (wymaga Reboot Launcher).", + "hostShareLinkContent": "Kopiuj link", + "hostShareLinkMessageSuccess": "Skopiowano twój link do schowka", + "hostShareIpName": "Publiczne IP", + "hostShareIpDescription": "Kopiuje bieżące publiczne IP do schowka (nie wymaga Reboot Launcher).", + "hostShareIpContent": "Kopiuj IP", + "hostShareIpMessageLoading": "Uzyskiwanie publicznego IP...", + "hostShareIpMessageSuccess": "Skopiowano twój link do schowka.", + "hostShareIpMessageError": "Wystąpił błąd podczas uzyskiwania twojego publicznego IP: {error}.", + "hostResetName": "Zresetuj serwer gry", + "hostResetDescription": "Resetuje ustawienia serwera gry do wartości domyślnych.", + "hostResetContent": "Zresetuj", + "browserName": "Przeglądarka serwerów", + "noServersAvailableTitle": "W tej chwili żadne serwery nie są dostępne.", + "noServersAvailableSubtitle": "Hostuj serwer samodzielnie lub wróć później.", + "joinServer": "Dołącz do serwera", + "noServersAvailableByQueryTitle": "Nie znaleziono rezultatów", + "noServersAvailableByQuerySubtitle": "Żaden serwer nie pasuje do Twojego zapytania", + "findServer": "Znajdź serwer", + "copyIp": "Kopiuj IP", + "hostName": "Hostuj", + "matchmakerName": "System dobierania graczy", + "matchmakerConfigurationName": "Konfiguracja systemu dobierania graczy", + "matchmakerConfigurationDescription": "Ta sekcja zawiera konfigurację systemu dobierania graczy.", + "matchmakerConfigurationHostName": "Hostuj", + "matchmakerConfigurationHostDescription": "Nazwa hosta systemu dobierania graczy.", + "matchmakerConfigurationPortName": "Port", + "matchmakerConfigurationPortDescription": "Port systemu dobierania graczy.", + "matchmakerConfigurationAddressName": "Adres serwera gry", + "matchmakerConfigurationAddressDescription": "Adres serwera gry używanego przez system dobierania graczy", + "matchmakerConfigurationDetachedName": "Odłączony", + "matchmakerConfigurationDetachedDescription": "Czy wbudowany system dobierania graczy powinien być uruchamiany jako oddzielny proces, przydatny do debugowania.", + "matchmakerInstallationDirectoryName": "Folder instalacji", + "matchmakerInstallationDirectoryDescription": "Otwiera folder, w którym znajduje się wbudowany system dobierania graczy.", + "matchmakerInstallationDirectoryContent": "Pokaż pliki", + "matchmakerResetDefaultsName": "Zresetuj system dobierania graczy", + "matchmakerResetDefaultsDescription": "Resetuje ustawienia systemu dobierania graczy do wartości domyślnych.", + "matchmakerResetDefaultsContent": "Zresetuj", + "matchmakerResetDefaultsDialogTitle": "Czy chcesz zresetować wszystkie ustawienia na tej karcie do wartości domyślnych? To działanie jest nieodwracalne.", + "matchmakerResetDefaultsDialogSecondaryAction": "Zamknij", + "matchmakerResetDefaultsDialogPrimaryAction": "Zresetuj", + "playName": "Graj", + "playGameServerName": "Server gry", + "playGameServerDescription": "Pomocne skróty do znalezienia serwera, na którym chcesz grać.", + "playGameServerContentLocal": "Twój serwer", + "playGameServerContentBrowser": "Server {owner}", + "playGameServerContentCustom": "{address}", + "playGameServerHostName": "Hostuj serwer", + "playGameServerHostDescription": "Chcesz stworzyć serwer gry dla siebie lub swoich znajomych? Hostuj jeden!", + "playGameServerHostContent": "Hostuj", + "playGameServerBrowserName": "Przeglądaj serwery", + "playGameServerBrowserDescription": "Znajdź wykrywalny serwer hostowany na Reboot Launcher w przeglądarce serwerów.", + "playGameServerBrowserContent": "Przeglądaj", + "playGameServerCustomName": "Dołącz do serwera niestandardowego", + "playGameServerCustomDescription": "Wpisz adres dowolnego serwera, niezależnie od tego, czy był on hostowany poprzez Reboot Launcher, czy nie.", + "playGameServerCustomContent": "Wprowadź IP", + "settingsName": "Ustawienia", + "settingsClientName": "Ustawienia klienta", + "settingsClientDescription": "Ta sekcja zawiera pliki dll używane do działania klienta Fortnite.", + "settingsClientConsoleName": "Konsola Unreal Engine", + "settingsClientConsoleDescription": "Ten plik jest wstrzykiwany w celu odblokowania konsoli Unreal Engine.", + "settingsClientAuthName": "Łatka uwierzytelniacza", + "settingsClientAuthDescription": "Ten plik jest wstrzykiwany w celu przekierowania wszystkich żądań HTTP do uwierzytelniacza programu uruchamiającego.", + "settingsClientMemoryName": "Łatka pamięci", + "settingsClientMemoryDescription": "Ten plik jest wstrzykiwany, aby zapobiec awarii klienta Fortnite z powodu wycieku pamięci.", + "settingsClientArgsName": "Niestandardowe argumenty uruchamiania", + "settingsClientArgsDescription": "Dodatkowe argumenty do użycia podczas uruchamiania gry.", + "settingsClientArgsPlaceholder": "-przykład", + "settingsServerName": "Ustawienia serwera gry", + "settingsServerSubtitle": "Ta sekcja zawiera ustawienia związane z implementacją serwera gry.", + "settingsServerFileName": "Implementacja", + "settingsServerFileDescription": "Ten plik jest wstrzykiwany w celu utworzenia serwera gry i hostowania meczów.", + "settingsServerPortName": "Port", + "settingsServerPortDescription": "Port używany przez dll serwera gry.", + "settingsServerMirrorName": "Aktualizacja linku", + "settingsServerMirrorDescription": "Adres URL używany do aktualizacji dll serwera gry.", + "settingsServerMirrorPlaceholder": "link", + "settingsServerTimerName": "Aktualizacja licznika czasu", + "settingsServerTimerSubtitle": "Określa, kiedy dll serwera gry powininno zostać zaktualizowane.", + "settingsUtilsName": "Narzędzia programu do uruchamiania", + "settingsUtilsSubtitle": "Ta sekcja zawiera przydatne ustawienia programu uruchamiającego.", + "settingsUtilsInstallationDirectoryName": "Katalog instalacji", + "settingsUtilsInstallationDirectorySubtitle": "Otwiera katalog instalacji", + "settingsUtilsInstallationDirectoryContent": "Pokaż pliki", + "settingsUtilsBugReportName": "Utwórz raport o błędzie", + "settingsUtilsBugReportSubtitle": "Pomóż mi naprawić błędy, zgłaszając je.", + "settingsUtilsBugReportContent": "Zgłoś błąd", + "settingsUtilsResetDefaultsName": "Zresetuj ustawienia", + "settingsUtilsResetDefaultsSubtitle": "Resetuje ustawienia programu uruchamiającego do wartości domyślnych.", + "settingsUtilsDialogTitle": "Czy chcesz zresetować wszystkie ustawienia na tej karcie do wartości domyślnych? To działanie jest nieodwracalne.", + "settingsUtilsResetDefaultsContent": "Zresetuj", + "settingsUtilsDialogSecondaryAction": "Zamknij", + "settingsUtilsDialogPrimaryAction": "Zresetuj", + "addVersionName": "Wersja", + "addVersionDescription": "Wybierz wersję Fortnite, której chcesz użyć.", + "addLocalBuildName": "Dodaj wersję z lokalnej pamięci masowej tego komputera.", + "addLocalBuildDescription": "Wersje pochodzące z dysku lokalnego nie mają gwarancji działania.", + "addLocalBuildContent": "Dodaj kompilację", + "downloadBuildName": "Pobierz dowolną wersję z chmury", + "downloadBuildDescription": "Łatwe pobieranie dowolnej wersji Fortnite z chmury.", + "downloadBuildContent": "Pobierz", + "cannotUpdateGameServer": "Wystąpił błąd podczas aktualizacji serwera gry: {error}.", + "launchFortnite": "Uruchom Fortnite", + "closeFortnite": "Zamknij Fortnite", + "updateGameServerDllNever": "Nigdy", + "updateGameServerDllEvery": "Każda {name}", + "selectPathPlaceholder": "Ścieżka", + "selectPathWindowTitle": "Wybierz plik", + "defaultDialogSecondaryAction": "Zamknij", + "stopLoadingDialogAction": "Stop", + "copyErrorDialogTitle": "Kopiuj błąd", + "copyErrorDialogSuccess": "Skopiowano błąd do schowka.", + "defaultServerName": "Serwer gry Reboot", + "defaultServerDescription": "Po prostu kolejny serwer", + "updatingRebootDll": "Pobieranie dll reboot...", + "updatedRebootDll": "Plik dll reboot został pobrany pomyślnie", + "updateRebootDllError": "Wystąpił błąd podczas pobierania dll reboot: {error}.", + "updateRebootDllErrorAction": "Ponów", + "uncaughtErrorMessage": "Wystąpił niewyłapany błąd: {error}.", + "launchingHeadlessServer": "Uruchamianie serwera bezgłowego ...", + "usernameOrEmail": "Nazwa użytkownika/Email", + "usernameOrEmailPlaceholder": "Wpisz swoją nazwę użytkownika lub adres e-mail.", + "password": "Hasło", + "passwordPlaceholder": "Wpisz hasło, jeśli chcesz je użyć.", + "cancelProfileChanges": "Anuluj", + "saveProfileChanges": "Zapisz", + "startingServer": "Uruchamianie {name}...", + "startedServer": "{name} został uruchomiony pomyślnie.", + "startServerError": "Wystąpił błąd podczas uruchamiania {name}: {error}.", + "stoppingServer": "Zatrzymanie {name}...", + "stoppedServer": "{name} został pomyślnie zatrzymany.", + "stopServerError": "Wystąpił błąd podczas zatrzymywania {name}: {error}.", + "missingHostNameError": "Brakująca nazwa hosta w konfiguracji {name}.", + "missingPortError": "Brakujący port w konfiguracji {name}.", + "illegalPortError": "Niepoprawny port w konfiguracji {name}.", + "freeingPort": "Zwalnianie portu {port}...", + "freedPort": "Port {port} został pomyślnie zwolniony.", + "freePortError": "Wystąpił błąd podczas zwalniania portu {port}: {error}.", + "pingingRemoteServer": "Pingowanie zdalnego {name}...", + "pingingLocalServer": "Pingowanie {type} {name}...", + "pingError": "Nie można pingować {type} {name}", + "joinSelfServer": "Nie możesz dołączyć do własnego serwera.", + "wrongServerPassword": "Błędne hasło: spróbuj ponownie.", + "offlineServer": "Ten serwer nie jest teraz online: spróbuj ponownie później.", + "serverPassword": "Hasło", + "serverPasswordPlaceholder": "Wpisz hasło serwera", + "serverPasswordCancel": "Anuluj", + "serverPasswordConfirm": "Potwierdź", + "joinedServer": "Udało ci się dołączyć do serwera {author}!", + "copiedIp": "Skopiowano IP do schowka", + "selectVersion": "Wybierz wersję", + "noVersions": "Proszę utwórzyć lub pobrać wersję.", + "missingVersion": "Ta wersja nie istnieje na lokalnej maszynie.", + "deleteVersionDialogTitle": "Czy na pewno chcesz usunąć tę wersję?", + "deleteVersionFromDiskOption": "Usuń pliki wersji z dysku", + "deleteVersionCancel": "Zachowaj", + "deleteVersionConfirm": "Usuń", + "versionName": "Nazwa", + "versionNameLabel": "Wpisz nazwę nowej wersji", + "newVersionNameConfirm": "Zapisz", + "newVersionNameLabel": "Wpisz nazwę nowej wersji", + "gameFolderTitle": "Folder gry", + "gameFolderPlaceholder": "Wpisz nowy folder gry", + "gameFolderPlaceWindowTitle": "Wybierz folder gry", + "gameFolderLabel": "Ścieżka", + "openInExplorer": "Otwórz w eksploratorze", + "modify": "Modyfikuj", + "delete": "Usuń", + "build": "Kompilacja", + "selectBuild": "Wybierz kompilację fortnite", + "fetchingBuilds": "Pobieranie kompilacji i dysków...", + "unknownError": "Nieznany błąd", + "downloadVersionError": "Nie można pobrać wersji: {error}.", + "downloadedVersion": "Pobieranie zostało zakończone pomyślnie!", + "download": "Pobierz", + "downloading": "Pobieranie...", + "extracting": "Wyodrębnianie...", + "buildProgress": "{progress}%", + "buildInstallationDirectory": "Katalog instalacji", + "buildInstallationDirectoryPlaceholder": "Wpisz katalog instalacji", + "buildInstallationDirectoryWindowTitle": "Wybierz katalog instalacji", + "timeLeft": "Pozostały czas: {timeLeft, plural, =0{mniej niż minuta} =1{około {timeLeft} minuta} other{około {timeLeft} minut}}", + "localBuildsWarning": "Nie ma gwarancji, że lokalne kompilacje będą działać.", + "saveLocalVersion": "Zapisz", + "embedded": "Wbudowany", + "remote": "Zdalny", + "local": "Lokalny", + "checkServer": "Sprawdź {name}", + "startServer": "Uruchom {name}", + "stopServer": "Zatrzymaj {name}", + "startHosting": "Rozpocznij hosting", + "stopHosting": "Zatrzymaj hosting", + "startGame": "Uruchom fortnite", + "stopGame": "Zamknij fortnite", + "waitingForGameServer": "Oczekiwanie na uruchomienie serwera gry...", + "gameServerStartWarning": "Serwer bezgłowy został pomyślnie uruchomiony, ale serwer gry się nie uruchomił.", + "gameServerStartLocalWarning": "Serwer gry został pomyślnie uruchomiony, ale inni gracze nie mogą do niego dołączyć.", + "gameServerStarted": "Serwer gry został pomyślnie uruchomiony.", + "checkingGameServer": "Sprawdzanie, czy inni gracze mogą dołączyć do serwera gry...", + "checkGameServerFixMessage": "Inni gracze nie mogą dołączyć do serwera gry, ponieważ port {port} nie jest otwarty.", + "checkGameServerFixAction": "Napraw", + "infoName": "Help", + "emptyVersionName": "Pusta nazwa wersji", + "versionAlreadyExists": "Ta wersja już istnieje", + "emptyGamePath": "Pusta ścieżka gry", + "directoryDoesNotExist": "Katalog nie istnieje", + "missingShippingExe": "Nieprawidłowa ścieżka do gry: brak FortniteClient-Win64-Shipping", + "invalidDownloadPath": "Nieprawidłowa ścieżka pobierania", + "invalidDllPath": "Nieprawidłowa ścieżka dll", + "dllDoesNotExist": "Plik nie istnieje", + "invalidDllExtension": "Ten plik nie jest plikiem dll", + "emptyHostname": "Pusta nazwa hosta", + "hostnameFormat": "Nieprawidłowy format nazwy hosta: oczekiwano ip:port", + "emptyURL": "Pusty adres URL aktualizacji" +} diff --git a/gui/lib/main.dart b/gui/lib/main.dart index 2c6841e..71ca6d9 100644 --- a/gui/lib/main.dart +++ b/gui/lib/main.dart @@ -3,7 +3,9 @@ import 'dart:async'; import 'package:app_links/app_links.dart'; import 'package:bitsdojo_window/bitsdojo_window.dart'; import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/scheduler.dart'; import 'package:flutter_acrylic/flutter_acrylic.dart'; +import 'package:flutter_localized_locales/flutter_localized_locales.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:reboot_common/common.dart'; @@ -17,42 +19,44 @@ import 'package:reboot_launcher/src/controller/hosting_controller.dart'; import 'package:reboot_launcher/src/controller/authenticator_controller.dart'; import 'package:reboot_launcher/src/controller/settings_controller.dart'; import 'package:reboot_launcher/src/dialog/implementation/server.dart'; -import 'package:reboot_launcher/src/page/home_page.dart'; +import 'package:reboot_launcher/src/page/implementation/home_page.dart'; import 'package:reboot_launcher/src/util/matchmaker.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:reboot_launcher/src/util/watch.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; import 'package:system_theme/system_theme.dart'; import 'package:url_protocol/url_protocol.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:flutter_gen/gen_l10n/reboot_localizations.dart'; const double kDefaultWindowWidth = 1536; const double kDefaultWindowHeight = 1024; const String kCustomUrlSchema = "reboot"; -void main() async { - runZonedGuarded(() async { - await installationDirectory.create(recursive: true); - await Supabase.initialize( - url: supabaseUrl, - anonKey: supabaseAnonKey - ); - WidgetsFlutterBinding.ensureInitialized(); - await SystemTheme.accentColor.load(); - var storageError = await _initStorage(); - var urlError = await _initUrlHandler(); - var windowError = await _initWindow(); - var observerError = _initObservers(); - _checkGameServer(); - runApp(const RebootApplication()); - WidgetsBinding.instance.addPostFrameCallback((timeStamp) => _handleErrors([urlError, storageError, windowError, observerError])); - }, - (error, stack) => onError(error, stack, false), - zoneSpecification: ZoneSpecification( - handleUncaughtError: (self, parent, zone, error, stacktrace) => onError(error, stacktrace, false) - )); -} +void main() => runZonedGuarded(() async { + await installationDirectory.create(recursive: true); + await Supabase.initialize( + url: supabaseUrl, + anonKey: supabaseAnonKey + ); + WidgetsFlutterBinding.ensureInitialized(); + await SystemTheme.accentColor.load(); + _initWindow(); + var storageError = await _initStorage(); + var urlError = await _initUrlHandler(); + var observerError = _initObservers(); + _checkGameServer(); + runApp(const RebootApplication()); + WidgetsBinding.instance.addPostFrameCallback((timeStamp) => _handleErrors([urlError, storageError, observerError])); +}, + (error, stack) => onError(error, stack, false), + zoneSpecification: ZoneSpecification( + handleUncaughtError: (self, parent, zone, error, stacktrace) => onError(error, stacktrace, false) + )); -void _handleErrors(List errors) => errors.where((element) => element != null).forEach((element) => onError(element, null, false)); +void _handleErrors(List errors) { + errors.where((element) => element != null).forEach((element) => onError(element!, null, false)); +} Future _checkGameServer() async { try { @@ -70,7 +74,7 @@ Future _checkGameServer() async { var oldOwner = matchmakerController.gameServerOwner.value; matchmakerController.joinLocalHost(); WidgetsBinding.instance.addPostFrameCallback((_) => showInfoBar( - "$oldOwner's server is no longer available", + oldOwner == null ? translations.serverNoLongerAvailableUnnamed : translations.serverNoLongerAvailable(oldOwner), severity: InfoBarSeverity.warning, duration: snackbarLongDuration )); @@ -105,7 +109,7 @@ void _joinServer(Uri uri) { matchmakerController.joinServer(hostingController.uuid, server); }else { showInfoBar( - "No server found: invalid or expired link", + translations.noServerFound, duration: snackbarLongDuration, severity: InfoBarSeverity.error ); @@ -114,34 +118,30 @@ void _joinServer(Uri uri) { String _parseCustomUrl(Uri uri) => uri.host; -Future _initWindow() async { - try { - await windowManager.ensureInitialized(); - await Window.initialize(); - var settingsController = Get.find(); - var size = Size(settingsController.width, settingsController.height); - appWindow.size = size; - var offsetX = settingsController.offsetX; - var offsetY = settingsController.offsetY; - if(offsetX != null && offsetY != null){ - appWindow.position = Offset( - offsetX, - offsetY - ); - }else { - appWindow.alignment = Alignment.center; - } +void _initWindow() => doWhenWindowReady(() async { + await windowManager.ensureInitialized(); + await Window.initialize(); + var settingsController = Get.find(); + var size = Size(settingsController.width, settingsController.height); + appWindow.size = size; + var offsetX = settingsController.offsetX; + var offsetY = settingsController.offsetY; + if(offsetX != null && offsetY != null){ + appWindow.position = Offset( + offsetX, + offsetY + ); + }else { + appWindow.alignment = Alignment.center; + } - await Window.setEffect( + await Window.setEffect( effect: WindowEffect.acrylic, color: Colors.transparent, - dark: true - ); - return null; - }catch(error) { - return error; - } -} + dark: SchedulerBinding.instance.platformDispatcher.platformBrightness.isDark + ); + appWindow.show(); +}); Object? _initObservers() { try { @@ -190,16 +190,23 @@ class RebootApplication extends StatefulWidget { } class _RebootApplicationState extends State { + final SettingsController _settingsController = Get.find(); + @override - Widget build(BuildContext context) => FluentApp( - title: "Reboot Launcher", - themeMode: ThemeMode.system, + Widget build(BuildContext context) => Obx(() => FluentApp( + locale: Locale(_settingsController.language.value), + localizationsDelegates: const [ + ...AppLocalizations.localizationsDelegates, + LocaleNamesLocalizationsDelegate() + ], + supportedLocales: AppLocalizations.supportedLocales, + themeMode: _settingsController.themeMode.value, debugShowCheckedModeBanner: false, color: SystemTheme.accentColor.accent.toAccentColor(), darkTheme: _createTheme(Brightness.dark), theme: _createTheme(Brightness.light), home: const HomePage() - ); + )); FluentThemeData _createTheme(Brightness brightness) => FluentThemeData( brightness: brightness, diff --git a/gui/lib/src/controller/authenticator_controller.dart b/gui/lib/src/controller/authenticator_controller.dart index 6a3f860..b007f85 100644 --- a/gui/lib/src/controller/authenticator_controller.dart +++ b/gui/lib/src/controller/authenticator_controller.dart @@ -1,11 +1,13 @@ import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/controller/server_controller.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class AuthenticatorController extends ServerController { AuthenticatorController() : super(); @override - String get controllerName => "authenticator"; + String get controllerName => translations.authenticatorName.toLowerCase(); @override String get storageName => "authenticator"; @@ -22,6 +24,9 @@ class AuthenticatorController extends ServerController { @override Future freePort() => freeAuthenticatorPort(); + @override + RebootPageType get pageType => RebootPageType.authenticator; + @override Future startEmbeddedInternal() => startEmbeddedAuthenticator(detached.value); diff --git a/gui/lib/src/controller/game_controller.dart b/gui/lib/src/controller/game_controller.dart index e1e7c92..524c8f3 100644 --- a/gui/lib/src/controller/game_controller.dart +++ b/gui/lib/src/controller/game_controller.dart @@ -14,7 +14,6 @@ class GameController extends GetxController { late final Rx> versions; late final Rxn _selectedVersion; late final RxBool started; - late final RxBool autoStartGameServer; late final Rxn instance; GameController() { @@ -40,9 +39,6 @@ class GameController extends GetxController { customLaunchArgs.addListener(() => _storage.write("custom_launch_args", customLaunchArgs.text)); started = RxBool(false); - autoStartGameServer = RxBool(_storage.read("auto_game_server") ?? true); - autoStartGameServer.listen((value) => - _storage.write("auto_game_server", value)); var serializedInstance = _storage.read("instance"); instance = Rxn(serializedInstance != null ? GameInstance.fromJson(jsonDecode(serializedInstance)) : null); instance.listen((_) => saveInstance()); @@ -56,7 +52,6 @@ class GameController extends GetxController { password.text = ""; customLaunchArgs.text = ""; versions.value = []; - autoStartGameServer.value = true; instance.value = null; } diff --git a/gui/lib/src/controller/hosting_controller.dart b/gui/lib/src/controller/hosting_controller.dart index f13b00a..786df95 100644 --- a/gui/lib/src/controller/hosting_controller.dart +++ b/gui/lib/src/controller/hosting_controller.dart @@ -4,12 +4,10 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; import 'package:uuid/uuid.dart'; -const String kDefaultServerName = "Reboot Game Server"; -const String kDefaultDescription = "Just another server"; - class HostingController extends GetxController { late final GetStorage _storage; late final String uuid; @@ -27,9 +25,9 @@ class HostingController extends GetxController { _storage = GetStorage("hosting"); uuid = _storage.read("uuid") ?? const Uuid().v4(); _storage.write("uuid", uuid); - name = TextEditingController(text: _storage.read("name") ?? kDefaultServerName); + name = TextEditingController(text: _storage.read("name")); name.addListener(() => _storage.write("name", name.text)); - description = TextEditingController(text: _storage.read("description") ?? kDefaultDescription); + description = TextEditingController(text: _storage.read("description")); description.addListener(() => _storage.write("description", description.text)); password = TextEditingController(text: _storage.read("password") ?? ""); password.addListener(() => _storage.write("password", password.text)); @@ -46,25 +44,16 @@ class HostingController extends GetxController { supabase.from('hosts') .stream(primaryKey: ['id']) .map((event) => _parseValidServers(event)) - .listen((event) { - if(servers.value == null) { - servers.value = event; - }else { - servers.value?.addAll(event); - } - }); + .listen((event) => servers.value = event); } - Set> _parseValidServers(event) => event.where((element) => _isValidServer(element)).toSet(); - - bool _isValidServer(Map element) => - element["id"] != uuid && element["ip"] != null; + Set> _parseValidServers(event) => event.where((element) => element["ip"] != null).toSet(); Future saveInstance() => _storage.write("instance", jsonEncode(instance.value?.toJson())); void reset() { - name.text = kDefaultServerName; - description.text = kDefaultDescription; + name.text = ""; + description.text = ""; showPassword.value = false; discoverable.value = false; started.value = false; diff --git a/gui/lib/src/controller/matchmaker_controller.dart b/gui/lib/src/controller/matchmaker_controller.dart index 5fb233c..48716cd 100644 --- a/gui/lib/src/controller/matchmaker_controller.dart +++ b/gui/lib/src/controller/matchmaker_controller.dart @@ -2,6 +2,8 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get_rx/src/rx_types/rx_types.dart'; import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/controller/server_controller.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class MatchmakerController extends ServerController { late final TextEditingController gameServerAddress; @@ -34,7 +36,7 @@ class MatchmakerController extends ServerController { } @override - String get controllerName => "matchmaker"; + String get controllerName => translations.matchmakerName.toLowerCase(); @override String get storageName => "matchmaker"; @@ -51,6 +53,9 @@ class MatchmakerController extends ServerController { @override Future freePort() => freeMatchmakerPort(); + @override + RebootPageType get pageType => RebootPageType.matchmaker; + @override Future startEmbeddedInternal() => startEmbeddedMatchmaker(detached.value); diff --git a/gui/lib/src/controller/server_controller.dart b/gui/lib/src/controller/server_controller.dart index 666c0ba..b70a4bc 100644 --- a/gui/lib/src/controller/server_controller.dart +++ b/gui/lib/src/controller/server_controller.dart @@ -5,6 +5,7 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; import 'package:sync/semaphore.dart'; abstract class ServerController extends GetxController { @@ -15,6 +16,7 @@ abstract class ServerController extends GetxController { late final Semaphore semaphore; late RxBool started; late RxBool detached; + StreamSubscription? worker; int? embeddedServerPid; HttpServer? localServer; HttpServer? remoteServer; @@ -58,6 +60,8 @@ abstract class ServerController extends GetxController { Future get isPortTaken async => !(await isPortFree); + RebootPageType get pageType; + Future freePort(); @protected @@ -196,15 +200,6 @@ abstract class ServerController extends GetxController { } } - Stream restart() async* { - await resetWinNat(); - if(started()) { - yield* stop(); - } - - yield* start(); - } - Stream toggle() async* { if(started()) { yield* stop(); diff --git a/gui/lib/src/controller/settings_controller.dart b/gui/lib/src/controller/settings_controller.dart index 21ef8ab..f9278a4 100644 --- a/gui/lib/src/controller/settings_controller.dart +++ b/gui/lib/src/controller/settings_controller.dart @@ -1,6 +1,9 @@ +import 'dart:io'; + import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; +import 'package:intl/intl.dart'; import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/main.dart'; @@ -10,30 +13,38 @@ class SettingsController extends GetxController { late final TextEditingController gameServerDll; late final TextEditingController unrealEngineConsoleDll; late final TextEditingController authenticatorDll; + late final TextEditingController memoryLeakDll; late final TextEditingController gameServerPort; late final RxBool firstRun; + late final RxString language; + late final Rx themeMode; late double width; late double height; late double? offsetX; late double? offsetY; - late double scrollingDistance; SettingsController() { _storage = GetStorage("settings"); gameServerDll = _createController("game_server", "reboot.dll"); unrealEngineConsoleDll = _createController("unreal_engine_console", "console.dll"); authenticatorDll = _createController("authenticator", "cobalt.dll"); + memoryLeakDll = _createController("memory_leak", "memoryleak.dll"); gameServerPort = TextEditingController(text: _storage.read("game_server_port") ?? kDefaultGameServerPort); gameServerPort.addListener(() => _storage.write("game_server_port", gameServerPort.text)); width = _storage.read("width") ?? kDefaultWindowWidth; height = _storage.read("height") ?? kDefaultWindowHeight; offsetX = _storage.read("offset_x"); offsetY = _storage.read("offset_y"); - scrollingDistance = 0.0; firstRun = RxBool(_storage.read("first_run") ?? true); firstRun.listen((value) => _storage.write("first_run", value)); + themeMode = Rx(ThemeMode.values.elementAt(_storage.read("theme") ?? 0)); + themeMode.listen((value) => _storage.write("theme", value.index)); + language = RxString(_storage.read("language") ?? _defaultLocale); + language.listen((value) => _storage.write("language", value)); } + String get _defaultLocale => Intl.getCurrentLocale().split("_")[0]; + TextEditingController _createController(String key, String name) { var controller = TextEditingController(text: _storage.read(key) ?? _controllerDefaultPath(name)); controller.addListener(() => _storage.write(key, controller.text)); @@ -46,8 +57,10 @@ class SettingsController extends GetxController { } void saveWindowOffset(Offset position) { - _storage.write("offset_x", position.dx); - _storage.write("offset_y", position.dy); + offsetX = position.dx; + offsetY = position.dy; + _storage.write("offset_x", offsetX); + _storage.write("offset_y", offsetY); } void reset(){ diff --git a/gui/lib/src/controller/update_controller.dart b/gui/lib/src/controller/update_controller.dart index e32ced3..265759f 100644 --- a/gui/lib/src/controller/update_controller.dart +++ b/gui/lib/src/controller/update_controller.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class UpdateController { late final GetStorage _storage; @@ -30,7 +31,7 @@ class UpdateController { } showInfoBar( - "Downloading reboot dll...", + translations.updatingRebootDll, loading: true, duration: null ); @@ -43,7 +44,7 @@ class UpdateController { ); status.value = UpdateStatus.success; showInfoBar( - "The reboot dll was downloaded successfully", + translations.updatedRebootDll, severity: InfoBarSeverity.success, duration: snackbarShortDuration ); @@ -53,12 +54,12 @@ class UpdateController { error = error.toLowerCase(); status.value = UpdateStatus.error; showInfoBar( - "An error occurred while downloading the reboot dll: $error", + translations.updateRebootDllError(error.toString()), duration: snackbarLongDuration, severity: InfoBarSeverity.error, action: Button( onPressed: () => update(true), - child: const Text("Retry"), + child: Text(translations.updateRebootDllErrorAction), ) ); } diff --git a/gui/lib/src/dialog/abstract/dialog.dart b/gui/lib/src/dialog/abstract/dialog.dart index 0f683e8..ed99ce8 100644 --- a/gui/lib/src/dialog/abstract/dialog.dart +++ b/gui/lib/src/dialog/abstract/dialog.dart @@ -2,7 +2,8 @@ import 'package:clipboard/clipboard.dart'; import 'package:fluent_ui/fluent_ui.dart'; import 'package:fluent_ui/fluent_ui.dart' as fluent show showDialog; import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; -import 'package:reboot_launcher/src/page/home_page.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'dialog_button.dart'; @@ -92,17 +93,15 @@ class InfoDialog extends AbstractDialog { width: double.infinity, child: Text(text, textAlign: TextAlign.center) ), - buttons: buttons ?? [_createDefaultButton()], + buttons: buttons ?? [_defaultCloseButton], padding: const EdgeInsets.only(left: 20, right: 20, top: 15.0, bottom: 15.0) ); } - DialogButton _createDefaultButton() { - return DialogButton( - text: "Close", - type: ButtonType.only - ); - } + DialogButton get _defaultCloseButton =>DialogButton( + text: translations.defaultDialogSecondaryAction, + type: ButtonType.only + ); } class ProgressDialog extends AbstractDialog { @@ -124,7 +123,7 @@ class ProgressDialog extends AbstractDialog { ), buttons: [ DialogButton( - text: "Close", + text: translations.defaultDialogSecondaryAction, type: ButtonType.only, onTap: onStop ) @@ -211,7 +210,7 @@ class FutureBuilderDialog extends AbstractDialog { return DialogButton( text: snapshot.hasData || snapshot.hasError - || (snapshot.connectionState == ConnectionState.done && snapshot.data == null) ? "Close" : "Stop", + || (snapshot.connectionState == ConnectionState.done && snapshot.data == null) ? translations.defaultDialogSecondaryAction : translations.stopLoadingDialogAction, type: ButtonType.only, onTap: () => Navigator.of(context).pop(!snapshot.hasError && snapshot.hasData) ); @@ -226,11 +225,11 @@ class ErrorDialog extends AbstractDialog { const ErrorDialog({Key? key, required this.exception, required this.errorMessageBuilder, this.stackTrace}) : super(key: key); static DialogButton createCopyErrorButton({required Object error, required StackTrace? stackTrace, required Function() onClick, ButtonType type = ButtonType.primary}) => DialogButton( - text: "Copy error", + text: translations.copyErrorDialogTitle, type: type, onTap: () async { - FlutterClipboard.controlC("An error occurred: $error\nStacktrace:\n $stackTrace"); - showInfoBar("Copied error to clipboard"); + FlutterClipboard.controlC("$error\n$stackTrace"); + showInfoBar(translations.copyErrorDialogSuccess); onClick(); }, ); diff --git a/gui/lib/src/dialog/abstract/dialog_button.dart b/gui/lib/src/dialog/abstract/dialog_button.dart index 8f6ae2a..0c42227 100644 --- a/gui/lib/src/dialog/abstract/dialog_button.dart +++ b/gui/lib/src/dialog/abstract/dialog_button.dart @@ -1,4 +1,5 @@ import 'package:fluent_ui/fluent_ui.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class DialogButton extends StatefulWidget { final String? text; @@ -41,7 +42,7 @@ class _DialogButtonState extends State { Widget get _secondaryButton { return Button( onPressed: widget.onTap ?? _onDefaultSecondaryActionTap, - child: Text(widget.text ?? "Close"), + child: Text(widget.text ?? translations.defaultDialogSecondaryAction), ); } diff --git a/gui/lib/src/dialog/abstract/info_bar.dart b/gui/lib/src/dialog/abstract/info_bar.dart index e2778ea..48158d2 100644 --- a/gui/lib/src/dialog/abstract/info_bar.dart +++ b/gui/lib/src/dialog/abstract/info_bar.dart @@ -1,15 +1,16 @@ import 'dart:collection'; import 'package:fluent_ui/fluent_ui.dart'; -import 'package:reboot_launcher/src/page/home_page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; import 'package:sync/semaphore.dart'; Semaphore _semaphore = Semaphore(); HashMap _overlays = HashMap(); -void restoreMessage(int lastIndex) { - removeMessage(lastIndex); - var overlay = _overlays[pageIndex.value]; +void restoreMessage(int pageIndex, int lastIndex) { + removeMessageByPage(lastIndex); + var overlay = _overlays[pageIndex]; if(overlay == null) { return; } @@ -17,48 +18,62 @@ void restoreMessage(int lastIndex) { Overlay.of(pageKey.currentContext!).insert(overlay); } -void showInfoBar(dynamic text, {InfoBarSeverity severity = InfoBarSeverity.info, bool loading = false, Duration? duration = snackbarShortDuration, Widget? action}) { +OverlayEntry showInfoBar(dynamic text, + {RebootPageType? pageType, + InfoBarSeverity severity = InfoBarSeverity.info, + bool loading = false, + Duration? duration = snackbarShortDuration, + Widget? action}) { try { _semaphore.acquire(); - var index = pageIndex.value; - removeMessage(index); - var overlay = showSnackbar( - pageKey.currentContext!, - SizedBox( - width: double.infinity, - child: Mica( - child: InfoBar( - title: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - if(text is Widget) - text, - if(text is String) - Text(text), - if(action != null) - action - ], + var index = pageType?.index ?? pageIndex.value; + removeMessageByPage(index); + var overlay = OverlayEntry( + builder: (context) => Padding( + padding: EdgeInsets.only( + right: 12.0, + left: 12.0, + bottom: pagesWithButtonIndexes.contains(index) ? 72.0 : 16.0 + ), + child: Align( + alignment: AlignmentDirectional.bottomCenter, + child: Container( + width: double.infinity, + constraints: const BoxConstraints( + maxWidth: 1000 + ), + child: Mica( + child: InfoBar( + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + if(text is Widget) + text, + if(text is String) + Text(text), + if(action != null) + action + ], + ), + isLong: false, + isIconVisible: true, + content: SizedBox( + width: double.infinity, + child: loading ? const Padding( + padding: EdgeInsets.only(top: 8.0, bottom: 2.0), + child: ProgressBar(), + ) : const SizedBox() + ), + severity: severity ), - isLong: false, - isIconVisible: true, - content: SizedBox( - width: double.infinity, - child: loading ? const Padding( - padding: EdgeInsets.only(top: 8.0, bottom: 2.0), - child: ProgressBar(), - ) : const SizedBox() - ), - severity: severity + ), ), ), - ), - margin: EdgeInsets.only( - right: 12.0, - left: 12.0, - bottom: index == 0 || index == 1 || index == 3 || index == 4 ? 72.0 : 16.0 - ), - duration: duration + ) ); + if(index == pageIndex.value) { + Overlay.of(pageKey.currentContext!).insert(overlay); + } _overlays[index] = overlay; if(duration != null) { Future.delayed(duration).then((_) { @@ -73,17 +88,24 @@ void showInfoBar(dynamic text, {InfoBarSeverity severity = InfoBarSeverity.info, }); }); } + return overlay; }finally { _semaphore.release(); } } -void removeMessage(int index) { +void removeMessageByPage(int index) { + var lastOverlay = _overlays[index]; + if(lastOverlay != null) { + removeMessageByOverlay(lastOverlay); + _overlays[index] = null; + } +} + +void removeMessageByOverlay(OverlayEntry? overlay) { try { - var lastOverlay = _overlays[index]; - if(lastOverlay != null) { - lastOverlay.remove(); - _overlays[index] = null; + if(overlay != null) { + overlay.remove(); } }catch(_) { // Do not use .isMounted diff --git a/gui/lib/src/dialog/implementation/data.dart b/gui/lib/src/dialog/implementation/data.dart new file mode 100644 index 0000000..e4767bd --- /dev/null +++ b/gui/lib/src/dialog/implementation/data.dart @@ -0,0 +1,24 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; +import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; + +Future showResetDialog(Function() onConfirm) => showAppDialog( + builder: (context) => InfoDialog( + text: translations.resetDefaultsDialogTitle, + buttons: [ + DialogButton( + type: ButtonType.secondary, + text: translations.resetDefaultsDialogSecondaryAction, + ), + DialogButton( + type: ButtonType.primary, + text: translations.resetDefaultsDialogPrimaryAction, + onTap: () { + onConfirm(); + Navigator.of(context).pop(); + }, + ) + ], + ) +); \ No newline at end of file diff --git a/gui/lib/src/dialog/implementation/error.dart b/gui/lib/src/dialog/implementation/error.dart index 65ad8ec..358afcd 100644 --- a/gui/lib/src/dialog/implementation/error.dart +++ b/gui/lib/src/dialog/implementation/error.dart @@ -1,12 +1,14 @@ import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/foundation.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; -import 'package:reboot_launcher/src/page/home_page.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; String? lastError; -void onError(Object? exception, StackTrace? stackTrace, bool framework) { - if(exception == null){ +void onError(Object exception, StackTrace? stackTrace, bool framework) { + if(!kDebugMode) { return; } @@ -29,7 +31,7 @@ void onError(Object? exception, StackTrace? stackTrace, bool framework) { ErrorDialog( exception: exception, stackTrace: stackTrace, - errorMessageBuilder: (exception) => framework ? "An error was thrown by Flutter: $exception" : "An uncaught error was thrown: $exception" + errorMessageBuilder: (exception) => translations.uncaughtErrorMessage(exception.toString()) ) )); } \ No newline at end of file diff --git a/gui/lib/src/dialog/implementation/game.dart b/gui/lib/src/dialog/implementation/game.dart deleted file mode 100644 index d0852e1..0000000 --- a/gui/lib/src/dialog/implementation/game.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:reboot_common/common.dart'; - -import '../abstract/dialog.dart'; - -const String _unsupportedServerError = "The build you are currently using is not supported by Reboot. " - "If you are unsure which version works best, use build 7.40. " - "If you are a passionate programmer you can add support by opening a PR on Github. "; - -const String _corruptedBuildError = "An unknown occurred while launching Fortnite. " - "Some critical files could be missing in your installation. " - "Download the build again from the launcher, not locally, or from a different source. " - "Alternatively, something could have gone wrong in the launcher. "; - -Future showMissingDllError(String name) async { - showAppDialog( - builder: (context) => InfoDialog( - text: "$name dll is not a valid dll, fix it in the settings tab" - ) - ); -} - -Future showTokenErrorFixable() async { - showAppDialog( - builder: (context) => const InfoDialog( - text: "A token error occurred. " - "The backend server has been automatically restarted to fix the issue. " - "The game has been restarted automatically. " - ) - ); -} - -Future showTokenErrorUnfixable() async { - showAppDialog( - builder: (context) => const InfoDialog( - text: "A token error occurred. " - "This issue cannot be resolved automatically as the server isn't embedded." - "Please restart the server manually, then relaunch your game to check if the issue has been fixed. " - "Otherwise, open an issue on Discord." - ) - ); -} - -Future showCorruptedBuildError(bool server, [Object? error, StackTrace? stackTrace]) async { - if(error == null) { - showAppDialog( - builder: (context) => InfoDialog( - text: server ? _unsupportedServerError : _corruptedBuildError - ) - ); - return; - } - - showAppDialog( - builder: (context) => ErrorDialog( - exception: error, - stackTrace: stackTrace, - errorMessageBuilder: (exception) => "${_corruptedBuildError}Error message: $exception" - ) - ); -} - -Future showMissingBuildError(FortniteVersion version) async { - showAppDialog( - builder: (context) => InfoDialog( - text: "${version.location.path} no longer contains a Fortnite executable. " - "This probably means that you deleted it or move it somewhere else." - ) - ); -} \ No newline at end of file diff --git a/gui/lib/src/dialog/implementation/profile.dart b/gui/lib/src/dialog/implementation/profile.dart index 6d90603..ebd81b8 100644 --- a/gui/lib/src/dialog/implementation/profile.dart +++ b/gui/lib/src/dialog/implementation/profile.dart @@ -4,6 +4,7 @@ import 'package:get/get.dart'; import 'package:reboot_launcher/src/controller/game_controller.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; final GameController _gameController = Get.find(); @@ -20,9 +21,9 @@ Future showProfileForm(BuildContext context) async{ crossAxisAlignment: CrossAxisAlignment.start, children: [ InfoLabel( - label: "Username/Email", + label: translations.usernameOrEmail, child: TextFormBox( - placeholder: "Type your username or email", + placeholder: translations.usernameOrEmailPlaceholder, controller: _gameController.username, autovalidateMode: AutovalidateMode.always, enableSuggestions: true, @@ -32,9 +33,9 @@ Future showProfileForm(BuildContext context) async{ ), const SizedBox(height: 16.0), InfoLabel( - label: "Password", + label: translations.password, child: TextFormBox( - placeholder: "Type your password, if you have one", + placeholder: translations.passwordPlaceholder, controller: _gameController.password, autovalidateMode: AutovalidateMode.always, obscureText: !showPassword.value, @@ -59,16 +60,14 @@ Future showProfileForm(BuildContext context) async{ ), buttons: [ DialogButton( - text: "Cancel", + text: translations.cancelProfileChanges, type: ButtonType.secondary ), DialogButton( - text: "Save", + text: translations.saveProfileChanges, type: ButtonType.primary, - onTap: () { - Navigator.of(context).pop(true); - } + onTap: () => Navigator.of(context).pop(true) ) ] )) diff --git a/gui/lib/src/dialog/implementation/server.dart b/gui/lib/src/dialog/implementation/server.dart index 983124c..75fc680 100644 --- a/gui/lib/src/dialog/implementation/server.dart +++ b/gui/lib/src/dialog/implementation/server.dart @@ -12,29 +12,27 @@ import 'package:reboot_launcher/src/controller/server_controller.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; -import 'package:reboot_launcher/src/page/home_page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; import 'package:reboot_launcher/src/util/cryptography.dart'; import 'package:reboot_launcher/src/util/matchmaker.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; extension ServerControllerDialog on ServerController { - Future restartInteractive() async { - var stream = restart(); - return await _handleStream(stream, false); - } - - Future toggleInteractive([bool showSuccessMessage = true]) async { + Future toggleInteractive(RebootPageType caller, [bool showSuccessMessage = true]) async { var stream = toggle(); - return await _handleStream(stream, showSuccessMessage); + return await _handleStream(caller, stream, showSuccessMessage); } - Future _handleStream(Stream stream, bool showSuccessMessage) async { + Future _handleStream(RebootPageType caller, Stream stream, bool showSuccessMessage) async { var completer = Completer(); - stream.listen((event) { + worker = stream.listen((event) { switch (event.type) { case ServerResultType.starting: showInfoBar( - "Starting the $controllerName...", + translations.startingServer(controllerName), + pageType: caller, severity: InfoBarSeverity.info, loading: true, duration: null @@ -43,7 +41,8 @@ extension ServerControllerDialog on ServerController { case ServerResultType.startSuccess: if(showSuccessMessage) { showInfoBar( - "The $controllerName was started successfully", + translations.startedServer(controllerName), + pageType: caller, severity: InfoBarSeverity.success ); } @@ -51,14 +50,17 @@ extension ServerControllerDialog on ServerController { break; case ServerResultType.startError: showInfoBar( - "An error occurred while starting the $controllerName: ${event.error ?? "unknown error"}", + translations.startServerError( + event.error ?? translations.unknownError, controllerName), + pageType: caller, severity: InfoBarSeverity.error, duration: snackbarLongDuration ); break; case ServerResultType.stopping: showInfoBar( - "Stopping the $controllerName...", + translations.stoppingServer, + pageType: caller, severity: InfoBarSeverity.info, loading: true, duration: null @@ -67,7 +69,8 @@ extension ServerControllerDialog on ServerController { case ServerResultType.stopSuccess: if(showSuccessMessage) { showInfoBar( - "The $controllerName was stopped successfully", + translations.stoppedServer(controllerName), + pageType: caller, severity: InfoBarSeverity.success ); } @@ -75,46 +78,54 @@ extension ServerControllerDialog on ServerController { break; case ServerResultType.stopError: showInfoBar( - "An error occurred while stopping the $controllerName: ${event.error ?? "unknown error"}", + translations.stopServerError( + event.error ?? translations.unknownError, controllerName), + pageType: caller, severity: InfoBarSeverity.error, duration: snackbarLongDuration ); break; case ServerResultType.missingHostError: showInfoBar( - "Missing hostname in $controllerName configuration", + translations.missingHostNameError(controllerName), + pageType: caller, severity: InfoBarSeverity.error ); break; case ServerResultType.missingPortError: showInfoBar( - "Missing port in $controllerName configuration", + translations.missingPortError(controllerName), + pageType: caller, severity: InfoBarSeverity.error ); break; case ServerResultType.illegalPortError: showInfoBar( - "Invalid port in $controllerName configuration", + translations.illegalPortError(controllerName), + pageType: caller, severity: InfoBarSeverity.error ); break; case ServerResultType.freeingPort: showInfoBar( - "Freeing port $defaultPort...", + translations.freeingPort(defaultPort), + pageType: caller, loading: true, duration: null ); break; case ServerResultType.freePortSuccess: showInfoBar( - "Port $defaultPort was freed successfully", + translations.freedPort(defaultPort), + pageType: caller, severity: InfoBarSeverity.success, duration: snackbarShortDuration ); break; case ServerResultType.freePortError: showInfoBar( - "An error occurred while freeing port $defaultPort: ${event.error ?? "unknown error"}", + translations.freePortError(event.error ?? translations.unknownError, controllerName), + pageType: caller, severity: InfoBarSeverity.error, duration: snackbarLongDuration ); @@ -122,7 +133,8 @@ extension ServerControllerDialog on ServerController { case ServerResultType.pingingRemote: if(started.value) { showInfoBar( - "Pinging the remote $controllerName...", + translations.pingingRemoteServer(controllerName), + pageType: caller, severity: InfoBarSeverity.info, loading: true, duration: null @@ -132,7 +144,8 @@ extension ServerControllerDialog on ServerController { case ServerResultType.pingingLocal: if(started.value) { showInfoBar( - "Pinging the ${type().name} $controllerName...", + translations.pingingLocalServer(controllerName, type().name), + pageType: caller, severity: InfoBarSeverity.info, loading: true, duration: null @@ -141,7 +154,8 @@ extension ServerControllerDialog on ServerController { break; case ServerResultType.pingError: showInfoBar( - "Cannot ping ${type().name} $controllerName", + translations.pingError(controllerName, type().name), + pageType: caller, severity: InfoBarSeverity.error ); break; @@ -175,7 +189,7 @@ extension MatchmakerControllerExtension on MatchmakerController { var id = entry["id"]; if(uuid == id) { showInfoBar( - "You can't join your own server", + translations.joinSelfServer, duration: snackbarLongDuration, severity: InfoBarSeverity.error ); @@ -204,7 +218,7 @@ extension MatchmakerControllerExtension on MatchmakerController { if(!checkPassword(confirmPassword, hashedPassword)) { showInfoBar( - "Wrong password: please try again", + translations.wrongServerPassword, duration: snackbarLongDuration, severity: InfoBarSeverity.error ); @@ -227,7 +241,7 @@ extension MatchmakerControllerExtension on MatchmakerController { } showInfoBar( - "This server isn't online right now: please try again later", + translations.offlineServer, duration: snackbarLongDuration, severity: InfoBarSeverity.error ); @@ -246,9 +260,9 @@ extension MatchmakerControllerExtension on MatchmakerController { crossAxisAlignment: CrossAxisAlignment.start, children: [ InfoLabel( - label: "Password", + label: translations.serverPassword, child: Obx(() => TextFormBox( - placeholder: "Type the server's password", + placeholder: translations.serverPasswordPlaceholder, controller: confirmPasswordController, autovalidateMode: AutovalidateMode.always, obscureText: !showPassword.value, @@ -274,12 +288,12 @@ extension MatchmakerControllerExtension on MatchmakerController { ), buttons: [ DialogButton( - text: "Cancel", + text: translations.serverPasswordCancel, type: ButtonType.secondary ), DialogButton( - text: "Confirm", + text: translations.serverPasswordConfirm, type: ButtonType.primary, onTap: () => Navigator.of(context).pop(confirmPasswordController.text) ) @@ -297,7 +311,7 @@ extension MatchmakerControllerExtension on MatchmakerController { FlutterClipboard.controlC(decryptedIp); } WidgetsBinding.instance.addPostFrameCallback((_) => showInfoBar( - embedded ? "You joined $author's server successfully!" : "Copied IP to the clipboard", + embedded ? translations.joinedServer(author) : translations.copiedIp, duration: snackbarLongDuration, severity: InfoBarSeverity.success )); diff --git a/gui/lib/src/page/abstract/page.dart b/gui/lib/src/page/abstract/page.dart new file mode 100644 index 0000000..d2be668 --- /dev/null +++ b/gui/lib/src/page/abstract/page.dart @@ -0,0 +1,78 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart' as messenger; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; + +abstract class RebootPage extends StatefulWidget { + const RebootPage({super.key}); + + String get name; + + String get iconAsset; + + RebootPageType get type; + + int get index => type.index; + + List get settings; + + bool get hasButton; + + @override + RebootPageState createState(); +} + +abstract class RebootPageState extends State with AutomaticKeepAliveClientMixin { + @override + Widget build(BuildContext context) { + super.build(context); + var buttonWidget = button; + if(buttonWidget == null) { + return _listView; + } + + return Column( + children: [ + Expanded( + child: _listView, + ), + const SizedBox( + height: 8.0, + ), + ConstrainedBox( + constraints: const BoxConstraints( + maxWidth: 1000 + ), + child: buttonWidget + ) + ], + ); + } + + OverlayEntry showInfoBar(dynamic text, {InfoBarSeverity severity = InfoBarSeverity.info, bool loading = false, Duration? duration = snackbarShortDuration, Widget? action}) => messenger.showInfoBar( + text, + pageType: widget.type, + severity: severity, + loading: loading, + duration: duration, + action: action + ); + + ListView get _listView => ListView.builder( + itemCount: settings.length * 2, + itemBuilder: (context, index) => index.isEven ? Align( + alignment: Alignment.center, + child: settings[index ~/ 2], + ) : const SizedBox(height: 8.0), + ); + + @override + bool get wantKeepAlive => true; + + List get settings; + + Widget? get button; +} + + + diff --git a/gui/lib/src/page/abstract/page_setting.dart b/gui/lib/src/page/abstract/page_setting.dart new file mode 100644 index 0000000..dce9420 --- /dev/null +++ b/gui/lib/src/page/abstract/page_setting.dart @@ -0,0 +1,26 @@ +class PageSetting { + final String name; + final String description; + final String? content; + final List? children; + final int pageIndex; + + PageSetting( + {required this.name, + required this.description, + this.content, + this.children, + this.pageIndex = -1}); + + PageSetting withPageIndex(int pageIndex) => this.pageIndex != -1 + ? this + : PageSetting( + name: name, + description: description, + content: content, + children: children, + pageIndex: pageIndex); + + @override + String toString() => "$name: $description"; +} diff --git a/gui/lib/src/page/abstract/page_type.dart b/gui/lib/src/page/abstract/page_type.dart new file mode 100644 index 0000000..d936404 --- /dev/null +++ b/gui/lib/src/page/abstract/page_type.dart @@ -0,0 +1,9 @@ +enum RebootPageType { + play, + host, + browser, + authenticator, + matchmaker, + info, + settings +} \ No newline at end of file diff --git a/gui/lib/src/page/authenticator_page.dart b/gui/lib/src/page/authenticator_page.dart deleted file mode 100644 index 1f827ca..0000000 --- a/gui/lib/src/page/authenticator_page.dart +++ /dev/null @@ -1,142 +0,0 @@ -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:flutter/services.dart'; -import 'package:get/get.dart'; -import 'package:reboot_common/common.dart'; -import 'package:reboot_launcher/src/controller/authenticator_controller.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; -import 'package:reboot_launcher/src/widget/server/start_button.dart'; -import 'package:reboot_launcher/src/widget/server/type_selector.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class AuthenticatorPage extends StatefulWidget { - const AuthenticatorPage({Key? key}) : super(key: key); - - @override - State createState() => _AuthenticatorPageState(); -} - -class _AuthenticatorPageState extends State with AutomaticKeepAliveClientMixin { - final AuthenticatorController _authenticatorController = Get.find(); - - @override - bool get wantKeepAlive => true; - - @override - Widget build(BuildContext context) { - super.build(context); - return Obx(() => Column( - children: [ - Expanded( - child: ListView( - children: [ - SettingTile( - title: "Authenticator configuration", - subtitle: "This section contains the authenticator's configuration", - content: const ServerTypeSelector( - authenticator: true - ), - expandedContent: [ - if(_authenticatorController.type.value == ServerType.remote) - SettingTile( - title: "Host", - subtitle: "The hostname of the authenticator", - isChild: true, - content: TextFormBox( - placeholder: "Host", - controller: _authenticatorController.host - ) - ), - if(_authenticatorController.type.value != ServerType.embedded) - SettingTile( - title: "Port", - subtitle: "The port of the authenticator", - isChild: true, - content: TextFormBox( - placeholder: "Port", - controller: _authenticatorController.port, - keyboardType: TextInputType.number, - inputFormatters: [ - FilteringTextInputFormatter.digitsOnly - ] - ) - ), - if(_authenticatorController.type.value == ServerType.embedded) - SettingTile( - title: "Detached", - subtitle: "Whether the embedded authenticator should be started as a separate process, useful for debugging", - contentWidth: null, - isChild: true, - content: Obx(() => Row( - children: [ - Text( - _authenticatorController.detached.value ? "On" : "Off" - ), - const SizedBox( - width: 16.0 - ), - ToggleSwitch( - checked: _authenticatorController.detached(), - onChanged: (value) => _authenticatorController.detached.value = value - ), - ], - )) - ), - ], - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Installation directory", - subtitle: "Opens the folder where the embedded authenticator is located", - content: Button( - onPressed: () => launchUrl(authenticatorDirectory.uri), - child: const Text("Show Files") - ) - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Reset authenticator", - subtitle: "Resets the authenticator's settings to their default values", - content: Button( - onPressed: () => showAppDialog( - builder: (context) => InfoDialog( - text: "Do you want to reset all the setting in this tab to their default values? This action is irreversible", - buttons: [ - DialogButton( - type: ButtonType.secondary, - text: "Close", - ), - DialogButton( - type: ButtonType.primary, - text: "Reset", - onTap: () { - _authenticatorController.reset(); - Navigator.of(context).pop(); - }, - ) - ], - ) - ), - child: const Text("Reset"), - ) - ) - ] - ), - ), - const SizedBox( - height: 8.0, - ), - const ServerButton( - authenticator: true - ) - ], - )); - } - - bool get _isRemote => _authenticatorController.type.value == ServerType.remote; -} diff --git a/gui/lib/src/page/browse_page.dart b/gui/lib/src/page/browse_page.dart deleted file mode 100644 index 92e1531..0000000 --- a/gui/lib/src/page/browse_page.dart +++ /dev/null @@ -1,265 +0,0 @@ - -import 'dart:async'; - -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:get/get.dart'; -import 'package:reboot_common/common.dart'; -import 'package:reboot_launcher/src/controller/hosting_controller.dart'; -import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; -import 'package:reboot_launcher/src/dialog/implementation/server.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; -import 'package:skeletons/skeletons.dart'; - -class BrowsePage extends StatefulWidget { - const BrowsePage({Key? key}) : super(key: key); - - @override - State createState() => _BrowsePageState(); -} - -class _BrowsePageState extends State with AutomaticKeepAliveClientMixin { - final HostingController _hostingController = Get.find(); - final MatchmakerController _matchmakerController = Get.find(); - final TextEditingController _filterController = TextEditingController(); - final StreamController _filterControllerStream = StreamController(); - - @override - Widget build(BuildContext context) { - super.build(context); - return FutureBuilder( - future: Future.delayed(const Duration(seconds: 1)), // Fake delay to show loading - builder: (context, futureSnapshot) => Obx(() { - var ready = futureSnapshot.connectionState == ConnectionState.done; - var data = _hostingController.servers - .value - ?.where((entry) => entry["discoverable"] ?? false) - .toSet(); - if(ready && data?.isEmpty == true) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - "No servers are available right now", - style: FluentTheme.of(context).typography.titleLarge, - ), - Text( - "Host a server yourself or come back later", - style: FluentTheme.of(context).typography.body - ), - ], - ); - } - - return Column( - children: [ - _buildSearchBar(ready), - - const SizedBox( - height: 16, - ), - - Expanded( - child: StreamBuilder( - stream: _filterControllerStream.stream, - builder: (context, filterSnapshot) { - var items = _getItems(data, filterSnapshot.data, ready); - var itemsCount = items != null ? items.length * 2 : null; - if(itemsCount == 0) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - "No results found", - style: FluentTheme.of(context).typography.titleLarge, - ), - Text( - "No server matches your query", - style: FluentTheme.of(context).typography.body - ), - ], - ); - } - - return ListView.builder( - itemCount: itemsCount, - itemBuilder: (context, index) { - if(index % 2 != 0) { - return const SizedBox( - height: 8.0 - ); - } - - var entry = _getItem(index ~/ 2, items); - if(!ready || entry == null) { - return const SettingTile( - content: SkeletonAvatar( - style: SkeletonAvatarStyle( - height: 32, - width: 64 - ), - ) - ); - } - - var hasPassword = entry["password"] != null; - return SettingTile( - title: "${_formatName(entry)} • ${entry["author"]}", - subtitle: "${_formatDescription(entry)} • ${_formatVersion(entry)}", - content: Button( - onPressed: () => _matchmakerController.joinServer(_hostingController.uuid, entry), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if(hasPassword) - const Icon(FluentIcons.lock), - if(hasPassword) - const SizedBox(width: 8.0), - Text(_matchmakerController.type.value == ServerType.embedded ? "Join Server" : "Copy IP"), - ], - ), - ) - ); - } - ); - } - ), - ) - ], - ); - } - ), - ); - } - - Set>? _getItems(Set>? data, String? filter, bool ready) { - if (!ready) { - return null; - } - - if (data == null) { - return null; - } - - return data.where((entry) => _isValidItem(entry, filter)).toSet(); - } - - bool _isValidItem(Map entry, String? filter) => - filter == null || _filterServer(entry, filter); - - bool _filterServer(Map element, String filter) { - String? id = element["id"]; - if(id?.toLowerCase().contains(filter) == true) { - return true; - } - - var uri = Uri.tryParse(filter); - if(uri != null && id?.toLowerCase().contains(uri.host.toLowerCase()) == true) { - return true; - } - - String? name = element["name"]; - if(name?.toLowerCase().contains(filter) == true) { - return true; - } - - String? author = element["author"]; - if(author?.toLowerCase().contains(filter) == true) { - return true; - } - - String? description = element["description"]; - if(description?.toLowerCase().contains(filter) == true) { - return true; - } - - return false; - } - - Widget _buildSearchBar(bool ready) { - if(ready) { - return TextBox( - placeholder: 'Find a server', - controller: _filterController, - onChanged: (value) => _filterControllerStream.add(value), - suffix: _searchBarIcon, - ); - } - - return const SkeletonLine( - style: SkeletonLineStyle( - height: 32 - ) - ); - } - - Widget get _searchBarIcon => Button( - onPressed: _filterController.text.isEmpty ? null : () { - _filterController.clear(); - _filterControllerStream.add(""); - }, - style: ButtonStyle( - backgroundColor: _filterController.text.isNotEmpty ? null : ButtonState.all(Colors.transparent), - border: _filterController.text.isNotEmpty ? null : ButtonState.all(const BorderSide(color: Colors.transparent)) - ), - child: _searchBarIconData - ); - - Widget get _searchBarIconData { - var color = FluentTheme.of(context).resources.textFillColorPrimary; - if (_filterController.text.isNotEmpty) { - return Icon( - FluentIcons.clear, - size: 8.0, - color: color - ); - } - - return Transform.flip( - flipX: true, - child: Icon( - FluentIcons.search, - size: 12.0, - color: color - ), - ); - } - - Map? _getItem(int index, Set? data) { - if(data == null) { - return null; - } - - if (index >= data.length) { - return null; - } - - return data.elementAt(index); - } - - String _formatName(Map entry) { - String result = entry['name']; - return result.isEmpty ? kDefaultServerName : result; - } - - String _formatDescription(Map entry) { - String result = entry['description']; - return result.isEmpty ? kDefaultDescription : result; - } - - String _formatVersion(Map entry) { - var version = entry['version']; - var versionSplit = version.indexOf("-"); - var minimalVersion = version = versionSplit != -1 ? version.substring(0, versionSplit) : version; - String result = minimalVersion.endsWith(".0") ? minimalVersion.substring(0, minimalVersion.length - 2) : minimalVersion; - if(result.toLowerCase().startsWith("fortnite ")) { - result = result.substring(0, 10); - } - - return "Fortnite $result"; - } - - @override - bool get wantKeepAlive => true; -} diff --git a/gui/lib/src/page/hosting_page.dart b/gui/lib/src/page/hosting_page.dart deleted file mode 100644 index 5783924..0000000 --- a/gui/lib/src/page/hosting_page.dart +++ /dev/null @@ -1,263 +0,0 @@ -import 'package:clipboard/clipboard.dart'; -import 'package:dart_ipify/dart_ipify.dart'; -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:flutter/material.dart' show Icons; -import 'package:get/get.dart'; -import 'package:reboot_launcher/main.dart'; -import 'package:reboot_launcher/src/controller/game_controller.dart'; -import 'package:reboot_launcher/src/controller/hosting_controller.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; -import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; -import 'package:reboot_launcher/src/dialog/implementation/server.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; -import 'package:reboot_launcher/src/widget/game/start_button.dart'; -import 'package:reboot_launcher/src/widget/version/version_selector.dart'; -import 'package:sync/semaphore.dart'; - -class HostingPage extends StatefulWidget { - const HostingPage({Key? key}) : super(key: key); - - @override - State createState() => _HostingPageState(); -} - -class _HostingPageState extends State with AutomaticKeepAliveClientMixin { - final GameController _gameController = Get.find(); - final HostingController _hostingController = Get.find(); - final Semaphore _semaphore = Semaphore(); - late final RxBool _showPasswordTrailing = RxBool(_hostingController.password.text.isNotEmpty); - - @override - bool get wantKeepAlive => true; - - @override - Widget build(BuildContext context) { - super.build(context); - return Column( - children: [ - Expanded( - child: ListView( - children: [ - SettingTile( - title: "Game Server", - subtitle: "Provide basic information about your server", - expandedContent: [ - SettingTile( - title: "Name", - subtitle: "The name of your game server", - isChild: true, - content: TextFormBox( - placeholder: "Name", - controller: _hostingController.name, - onChanged: (_) => _updateServer() - ) - ), - SettingTile( - title: "Description", - subtitle: "The description of your game server", - isChild: true, - content: TextFormBox( - placeholder: "Description", - controller: _hostingController.description, - onChanged: (_) => _updateServer() - ) - ), - SettingTile( - title: "Password", - subtitle: "The password of your game server for the server browser", - isChild: true, - content: Obx(() => TextFormBox( - placeholder: "Password", - controller: _hostingController.password, - autovalidateMode: AutovalidateMode.always, - obscureText: !_hostingController.showPassword.value, - enableSuggestions: false, - autocorrect: false, - onChanged: (text) { - _showPasswordTrailing.value = text.isNotEmpty; - _updateServer(); - }, - suffix: Button( - onPressed: () => _hostingController.showPassword.value = !_hostingController.showPassword.value, - style: ButtonStyle( - shape: ButtonState.all(const CircleBorder()), - backgroundColor: ButtonState.all(Colors.transparent) - ), - child: Icon( - _hostingController.showPassword.value ? Icons.visibility_off : Icons.visibility, - color: _showPasswordTrailing.value ? null : Colors.transparent - ), - ) - )) - ), - SettingTile( - title: "Discoverable", - subtitle: "Make your server available to other players on the server browser", - isChild: true, - contentWidth: null, - content: Obx(() => Row( - children: [ - Text( - _hostingController.discoverable.value ? "On" : "Off" - ), - const SizedBox( - width: 16.0 - ), - ToggleSwitch( - checked: _hostingController.discoverable(), - onChanged: (value) async { - _hostingController.discoverable.value = value; - await _updateServer(); - } - ), - ], - )) - ) - ], - ), - const SizedBox( - height: 8.0, - ), - const SettingTile( - title: "Version", - subtitle: "Select the version of Fortnite you want to host", - content: VersionSelector(), - expandedContent: [ - SettingTile( - title: "Add a version from this PC's local storage", - subtitle: "Versions coming from your local disk are not guaranteed to work", - content: Button( - onPressed: VersionSelector.openAddDialog, - child: Text("Add build"), - ), - isChild: true - ), - SettingTile( - title: "Download any version from the cloud", - subtitle: "Download any Fortnite build easily from the cloud", - content: Button( - onPressed: VersionSelector.openDownloadDialog, - child: Text("Download"), - ), - isChild: true - ) - ] - ), - const SizedBox( - height: 8.0 - ), - SettingTile( - title: "Share", - subtitle: "Make it easy for other people to join your server with the options in this section", - expandedContent: [ - SettingTile( - title: "Link", - subtitle: "Copies a link for your server to the clipboard (requires the Reboot Launcher)", - isChild: true, - content: Button( - onPressed: () async { - FlutterClipboard.controlC("$kCustomUrlSchema://${_hostingController.uuid}"); - showInfoBar( - "Copied your link to the clipboard", - severity: InfoBarSeverity.success - ); - }, - child: const Text("Copy Link"), - ) - ), - SettingTile( - title: "Public IP", - subtitle: "Copies your current public IP to the clipboard (doesn't require the Reboot Launcher)", - isChild: true, - content: Button( - onPressed: () async { - try { - showInfoBar( - "Obtaining your public IP...", - loading: true, - duration: null - ); - var ip = await Ipify.ipv4(); - FlutterClipboard.controlC(ip); - showInfoBar( - "Copied your IP to the clipboard", - severity: InfoBarSeverity.success - ); - }catch(error) { - showInfoBar( - "An error occurred while obtaining your public IP: $error", - severity: InfoBarSeverity.error, - duration: snackbarLongDuration - ); - } - }, - child: const Text("Copy IP"), - ) - ) - ], - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Reset game server", - subtitle: "Resets the game server's settings to their default values", - content: Button( - onPressed: () => showAppDialog( - builder: (context) => InfoDialog( - text: "Do you want to reset all the setting in this tab to their default values? This action is irreversible", - buttons: [ - DialogButton( - type: ButtonType.secondary, - text: "Close", - ), - DialogButton( - type: ButtonType.primary, - text: "Reset", - onTap: () { - _hostingController.reset(); - Navigator.of(context).pop(); - }, - ) - ], - ) - ), - child: const Text("Reset"), - ) - ) - ], - ), - ), - const SizedBox( - height: 8.0, - ), - const LaunchButton( - host: true - ) - ], - ); - } - - Future _updateServer() async { - if(!_hostingController.published()) { - return; - } - - try { - _semaphore.acquire(); - _hostingController.publishServer( - _gameController.username.text, - _hostingController.instance.value!.versionName - ); - } catch(error) { - showInfoBar( - "An error occurred while updating the game server: $error", - severity: InfoBarSeverity.success, - duration: snackbarLongDuration - ); - } finally { - _semaphore.release(); - } - } -} \ No newline at end of file diff --git a/gui/lib/src/page/implementation/authenticator_page.dart b/gui/lib/src/page/implementation/authenticator_page.dart new file mode 100644 index 0000000..4a075b2 --- /dev/null +++ b/gui/lib/src/page/implementation/authenticator_page.dart @@ -0,0 +1,155 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/services.dart'; +import 'package:get/get.dart'; +import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/controller/authenticator_controller.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:reboot_launcher/src/widget/server/start_button.dart'; +import 'package:reboot_launcher/src/widget/server/type_selector.dart'; +import 'package:url_launcher/url_launcher.dart'; + +import '../../dialog/implementation/data.dart'; + +class AuthenticatorPage extends RebootPage { + const AuthenticatorPage({Key? key}) : super(key: key); + + @override + String get name => translations.authenticatorName; + + @override + String get iconAsset => "assets/images/authenticator.png"; + + @override + RebootPageType get type => RebootPageType.authenticator; + + @override + bool get hasButton => true; + + @override + List get settings => [ + PageSetting( + name: translations.authenticatorConfigurationName, + description: translations.authenticatorConfigurationDescription, + children: [ + PageSetting( + name: translations.authenticatorConfigurationHostName, + description: translations.authenticatorConfigurationHostDescription + ), + PageSetting( + name: translations.authenticatorConfigurationPortName, + description: translations.authenticatorConfigurationPortDescription + ), + PageSetting( + name: translations.authenticatorConfigurationDetachedName, + description: translations.authenticatorConfigurationDetachedDescription + ) + ] + ), + PageSetting( + name: translations.authenticatorInstallationDirectoryName, + description: translations.authenticatorInstallationDirectoryDescription, + content: translations.authenticatorInstallationDirectoryContent + ), + PageSetting( + name: translations.authenticatorResetDefaultsName, + description: translations.authenticatorResetDefaultsDescription, + content: translations.authenticatorResetDefaultsContent + ) + ]; + + @override + RebootPageState createState() => _AuthenticatorPageState(); +} + +class _AuthenticatorPageState extends RebootPageState { + final AuthenticatorController _authenticatorController = Get.find(); + + @override + List get settings => [ + _configuration, + _installationDirectory, + _resetDefaults + ]; + + @override + Widget get button => const ServerButton( + authenticator: true + ); + + SettingTile get _resetDefaults => SettingTile( + title: translations.authenticatorResetDefaultsName, + subtitle: translations.authenticatorResetDefaultsDescription, + content: Button( + onPressed: () => showResetDialog(_authenticatorController.reset), + child: Text(translations.authenticatorResetDefaultsContent), + ) + ); + + SettingTile get _installationDirectory => SettingTile( + title: translations.authenticatorInstallationDirectoryName, + subtitle: translations.authenticatorInstallationDirectoryDescription, + content: Button( + onPressed: () => launchUrl(authenticatorDirectory.uri), + child: Text(translations.authenticatorInstallationDirectoryContent) + ) + ); + + Widget get _configuration => Obx(() => SettingTile( + title: translations.authenticatorConfigurationName, + subtitle: translations.authenticatorConfigurationDescription, + content: const ServerTypeSelector( + authenticator: true + ), + expandedContent: [ + if(_authenticatorController.type.value == ServerType.remote) + SettingTile( + title: translations.authenticatorConfigurationHostName, + subtitle: translations.authenticatorConfigurationHostDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.authenticatorConfigurationHostName, + controller: _authenticatorController.host + ) + ), + if(_authenticatorController.type.value != ServerType.embedded) + SettingTile( + title: translations.authenticatorConfigurationPortName, + subtitle: translations.authenticatorConfigurationPortDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.authenticatorConfigurationPortName, + controller: _authenticatorController.port, + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly + ] + ) + ), + if(_authenticatorController.type.value == ServerType.embedded) + SettingTile( + title: translations.authenticatorConfigurationDetachedName, + subtitle: translations.authenticatorConfigurationDetachedDescription, + contentWidth: null, + isChild: true, + content: Obx(() => Row( + children: [ + Text( + _authenticatorController.detached.value ? translations.on : translations.off + ), + const SizedBox( + width: 16.0 + ), + ToggleSwitch( + checked: _authenticatorController.detached(), + onChanged: (value) => _authenticatorController.detached.value = value + ), + ], + )) + ) + ], + )); +} diff --git a/gui/lib/src/page/home_page.dart b/gui/lib/src/page/implementation/home_page.dart similarity index 52% rename from gui/lib/src/page/home_page.dart rename to gui/lib/src/page/implementation/home_page.dart index e4e1e63..fc8d9f0 100644 --- a/gui/lib/src/page/home_page.dart +++ b/gui/lib/src/page/implementation/home_page.dart @@ -1,29 +1,21 @@ import 'dart:collection'; +import 'dart:ui'; import 'package:bitsdojo_window/bitsdojo_window.dart'; import 'package:fluent_ui/fluent_ui.dart'; import 'package:flutter/material.dart' show MaterialPage; import 'package:get/get.dart'; import 'package:reboot_launcher/src/controller/settings_controller.dart'; -import 'package:reboot_launcher/src/page/authenticator_page.dart'; -import 'package:reboot_launcher/src/page/browse_page.dart'; -import 'package:reboot_launcher/src/page/hosting_page.dart'; -import 'package:reboot_launcher/src/page/info_page.dart'; -import 'package:reboot_launcher/src/page/matchmaker_page.dart'; -import 'package:reboot_launcher/src/page/play_page.dart'; -import 'package:reboot_launcher/src/page/settings_page.dart'; -import 'package:reboot_launcher/src/widget/home/pane.dart'; +import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; import 'package:reboot_launcher/src/widget/home/profile.dart'; import 'package:reboot_launcher/src/widget/os/title_bar.dart'; import 'package:window_manager/window_manager.dart'; -GlobalKey appKey = GlobalKey(); -const int pagesLength = 7; -final RxInt pageIndex = RxInt(0); -final Queue _pagesStack = Queue(); -final List _pageKeys = List.generate(pagesLength, (index) => GlobalKey()); -GlobalKey get pageKey => _pageKeys[pageIndex.value]; - class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @@ -39,6 +31,8 @@ class _HomePageState extends State with WindowListener, AutomaticKeepA final FocusNode _searchFocusNode = FocusNode(); final TextEditingController _searchController = TextEditingController(); final RxBool _focused = RxBool(true); + final Queue _pagesStack = Queue(); + bool _hitBack = false; @override bool get wantKeepAlive => true; @@ -46,21 +40,26 @@ class _HomePageState extends State with WindowListener, AutomaticKeepA @override void initState() { windowManager.addListener(this); - _searchController.addListener(_onSearch); var lastValue = pageIndex.value; pageIndex.listen((value) { - if(value != lastValue) { - _pagesStack.add(lastValue); - lastValue = value; + if(_hitBack) { + _hitBack = false; + return; } + + if(value == lastValue) { + return; + } + + _pagesStack.add(lastValue); + WidgetsBinding.instance.addPostFrameCallback((_) { + restoreMessage(value, lastValue); + lastValue = value; + }); }); super.initState(); } - void _onSearch() { - // TODO: Implement - } - @override void dispose() { _searchFocusNode.dispose(); @@ -82,18 +81,32 @@ class _HomePageState extends State with WindowListener, AutomaticKeepA @override void onWindowResized() { _settingsController.saveWindowSize(appWindow.size); + _focused.value = true; } @override void onWindowMoved() { _settingsController.saveWindowOffset(appWindow.position); + _focused.value = true; + } + + @override + void onWindowEnterFullScreen() { + _focused.value = true; + } + + @override + void onWindowLeaveFullScreen() { + _focused.value = true; } @override Widget build(BuildContext context) { super.build(context); - windowManager.show(); - return Obx(() => NavigationPaneTheme( + return Obx(() { + _settingsController.language.value; + loadTranslations(context); + return NavigationPaneTheme( data: NavigationPaneThemeData( backgroundColor: FluentTheme.of(context).micaBackgroundColor.withOpacity(0.93), ), @@ -128,13 +141,18 @@ class _HomePageState extends State with WindowListener, AutomaticKeepA items: _items, header: const ProfileWidget(), autoSuggestBox: _autoSuggestBox, - autoSuggestBoxReplacement: const Icon(FluentIcons.search), + indicator: const StickyNavigationIndicator( + duration: Duration(milliseconds: 500), + curve: Curves.easeOut, + indicatorSize: 3.25 + ) ), contentShape: const RoundedRectangleBorder(), onOpenSearch: () => _searchFocusNode.requestFocus(), transitionBuilder: (child, animation) => child ) - )); + ); + }); } Widget get _backButton => Obx(() { @@ -145,7 +163,10 @@ class _HomePageState extends State with WindowListener, AutomaticKeepA backgroundColor: ButtonState.all(Colors.transparent), border: ButtonState.all(const BorderSide(color: Colors.transparent)) ), - onPressed: _pagesStack.isEmpty ? null : () => pageIndex.value = _pagesStack.removeLast(), + onPressed: _pagesStack.isEmpty ? null : () { + _hitBack = true; + pageIndex.value = _pagesStack.removeLast(); + }, child: const Icon(FluentIcons.back, size: 12.0), ); }); @@ -157,89 +178,89 @@ class _HomePageState extends State with WindowListener, AutomaticKeepA ); Widget get _autoSuggestBox => Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: TextBox( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: AutoSuggestBox( key: _searchKey, controller: _searchController, - placeholder: 'Find a setting', + placeholder: translations.find, focusNode: _searchFocusNode, - autofocus: true, - suffix: Button( - onPressed: null, - style: ButtonStyle( - backgroundColor: ButtonState.all(Colors.transparent), - border: ButtonState.all(const BorderSide(color: Colors.transparent)) + selectionHeightStyle: BoxHeightStyle.max, + itemBuilder: (context, item) => Wrap( + children: [ + ListTile( + onPressed: () { + pageIndex.value = item.value.pageIndex; + _searchController.clear(); + _searchFocusNode.unfocus(); + }, + leading: item.child, + title: Text( + item.value.name, + overflow: TextOverflow.clip, + maxLines: 1 + ), + subtitle: item.value.description.isNotEmpty ? Text( + item.value.description, + overflow: TextOverflow.clip, + maxLines: 1 + ) : null ), - child: Transform.flip( - flipX: true, - child: Icon( - FluentIcons.search, - size: 12.0, - color: FluentTheme.of(context).resources.textFillColorPrimary + ], + ), + items: _suggestedItems, + autofocus: true, + trailingIcon: IgnorePointer( + child: IconButton( + onPressed: () {}, + icon: Transform.flip( + flipX: true, + child: const Icon(FluentIcons.search) ), ) - ) - ), + ), + ) ); - List get _items => [ - RebootPaneItem( - title: const Text("Play"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/play.png") + List> get _suggestedItems => pages.mapMany((page) { + var icon = SizedBox.square( + dimension: 24, + child: Image.asset(page.iconAsset) + ); + var outerResults = >[]; + outerResults.add(AutoSuggestBoxItem( + value: PageSetting( + name: page.name, + description: "", + pageIndex: page.index ), - body: const PlayPage() - ), - RebootPaneItem( - title: const Text("Host"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/host.png") - ), - body: const HostingPage() - ), - RebootPaneItem( - title: const Text("Server Browser"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/browse.png") - ), - body: const BrowsePage() - ), - RebootPaneItem( - title: const Text("Authenticator"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/auth.png") - ), - body: const AuthenticatorPage() - ), - RebootPaneItem( - title: const Text("Matchmaker"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/matchmaker.png") - ), - body: const MatchmakerPage() - ), - RebootPaneItem( - title: const Text("Info"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/info.png") - ), - body: const InfoPage() - ), - RebootPaneItem( - title: const Text("Settings"), - icon: SizedBox.square( - dimension: 24, - child: Image.asset("assets/images/settings.png") - ), - body: const SettingsPage() - ), - ]; + label: page.name, + child: icon + )); + outerResults.addAll(page.settings.mapMany((setting) { + var results = >[]; + results.add(AutoSuggestBoxItem( + value: setting.withPageIndex(page.index), + label: setting.toString(), + child: icon + )); + setting.children?.forEach((childSetting) => results.add(AutoSuggestBoxItem( + value: childSetting.withPageIndex(page.index), + label: childSetting.toString(), + child: icon + ))); + return results; + }).toList()); + return outerResults; + }).toList(); - String get searchValue => _searchController.text; -} + List get _items => pages.map((page) => _createItem(page)).toList(); + + NavigationPaneItem _createItem(RebootPage page) => PaneItem( + title: Text(page.name), + icon: SizedBox.square( + dimension: 24, + child: Image.asset(page.iconAsset) + ), + body: page + ); +} \ No newline at end of file diff --git a/gui/lib/src/page/implementation/info_page.dart b/gui/lib/src/page/implementation/info_page.dart new file mode 100644 index 0000000..361c862 --- /dev/null +++ b/gui/lib/src/page/implementation/info_page.dart @@ -0,0 +1,130 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/gestures.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/util/tutorial.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; + +class InfoPage extends RebootPage { + const InfoPage({Key? key}) : super(key: key); + + @override + RebootPageState createState() => _InfoPageState(); + + @override + String get name => translations.infoName; + + @override + String get iconAsset => "assets/images/info.png"; + + @override + bool get hasButton => false; + + @override + RebootPageType get type => RebootPageType.info; + + @override + List get settings => []; +} + +class _InfoPageState extends RebootPageState { + @override + Widget? get button => null; + + @override + List get settings => [ + SettingTile( + title: 'What is Project Reboot?', + subtitle: 'Project Reboot allows anyone to easily host a game server for most of Fortnite\'s seasons. ' + 'The project was started on Discord by Milxnor. ' + 'The project is no longer being actively maintained.', + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ), + SettingTile( + title: 'What is a game server?', + subtitle: 'When you join a Fortnite Game, your client connects to a game server that allows you to play with others. ' + 'You can join someone else\'s game server, or host one on your PC by going to the "Host" tab. ', + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ), + SettingTile( + title: 'What is a client?', + subtitle: 'A client is the actual Fortnite game. ' + 'You can download any version of Fortnite from the launcher in the "Play" tab. ' + 'You can also import versions from your local PC, but remember that these may be corrupted. ' + 'If a local version doesn\'t work, try installing it from the launcher before reporting a bug.', + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ), + SettingTile( + title: 'What is an authenticator?', + subtitle: 'An authenticator is a program that handles authentication, parties and voice chats. ' + 'By default, a LawinV1 server will be started for you to play. ' + 'You can use also use an authenticator running locally(on your PC) or remotely(on another PC). ' + 'Changing the authenticator settings can break the client and game server: unless you are an advanced user, do not edit, for any reason, these settings! ' + 'If you need to restore these settings, go to the "Settings" tab and click on "Restore Defaults". ', + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ), + SettingTile( + title: 'Do I need to update DLLs?', + subtitle: 'No, all the files that the launcher uses are automatically updated. ' + 'You can use your own DLLs by going to the "Settings" tab, but make sure that they don\'t create a console that reads IO or the launcher will stop working correctly. ' + 'Unless you are an advanced user, changing these options is not recommended', + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ), + SettingTile( + title: 'Where can I report bugs or ask for new features?', + subtitle: 'Go to the "Settings" tab and click on report bug. ' + 'Please make sure to be as specific as possible when filing a report as it\'s crucial to make it as easy to fix/implement', + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ), + SettingTile( + title: 'How can I make my game server accessible for other players?', + subtitle: Text.rich( + TextSpan( + children: [ + TextSpan( + text: 'Follow ', + style: FluentTheme.of(context).typography.body + ), + TextSpan( + text: 'this tutorial', + mouseCursor: SystemMouseCursors.click, + style: FluentTheme.of(context).typography.body?.copyWith(color: FluentTheme.of(context).accentColor), + recognizer: TapGestureRecognizer()..onTap = openPortTutorial + ) + ] + ) + ), + titleStyle: FluentTheme + .of(context) + .typography + .title, + contentWidth: null, + ) + ]; +} \ No newline at end of file diff --git a/gui/lib/src/page/implementation/matchmaker_page.dart b/gui/lib/src/page/implementation/matchmaker_page.dart new file mode 100644 index 0000000..4a256ae --- /dev/null +++ b/gui/lib/src/page/implementation/matchmaker_page.dart @@ -0,0 +1,165 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/services.dart'; +import 'package:get/get.dart'; +import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; +import 'package:reboot_launcher/src/dialog/implementation/data.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:reboot_launcher/src/widget/server/start_button.dart'; +import 'package:reboot_launcher/src/widget/server/type_selector.dart'; +import 'package:url_launcher/url_launcher.dart'; + +class MatchmakerPage extends RebootPage { + const MatchmakerPage({Key? key}) : super(key: key); + + @override + RebootPageState createState() => _MatchmakerPageState(); + + @override + String get name => translations.matchmakerName; + + @override + String get iconAsset => "assets/images/matchmaker.png"; + + @override + bool get hasButton => true; + + @override + RebootPageType get type => RebootPageType.matchmaker; + + @override + List get settings => [ + PageSetting( + name: translations.matchmakerConfigurationName, + description: translations.matchmakerConfigurationDescription, + children: [ + PageSetting( + name: translations.matchmakerConfigurationHostName, + description: translations.matchmakerConfigurationHostDescription + ), + PageSetting( + name: translations.matchmakerConfigurationPortName, + description: translations.matchmakerConfigurationPortDescription + ), + PageSetting( + name: translations.matchmakerConfigurationDetachedName, + description: translations.matchmakerConfigurationDetachedDescription + ) + ] + ), + PageSetting( + name: translations.matchmakerInstallationDirectoryName, + description: translations.matchmakerInstallationDirectoryDescription, + content: translations.matchmakerInstallationDirectoryContent + ), + PageSetting( + name: translations.matchmakerResetDefaultsName, + description: translations.matchmakerResetDefaultsDescription, + content: translations.matchmakerResetDefaultsContent + ) + ]; +} + +class _MatchmakerPageState extends RebootPageState { + final MatchmakerController _matchmakerController = Get.find(); + + @override + Widget? get button => const ServerButton( + authenticator: false + ); + + @override + List get settings => [ + _configuration, + _installationDirectory, + _resetDefaults + ]; + + Widget get _configuration => Obx(() => SettingTile( + title: translations.matchmakerConfigurationName, + subtitle: translations.matchmakerConfigurationDescription, + content: const ServerTypeSelector( + authenticator: false + ), + expandedContent: [ + if(_matchmakerController.type.value == ServerType.remote) + SettingTile( + title: translations.matchmakerConfigurationHostName, + subtitle: translations.matchmakerConfigurationHostDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.matchmakerConfigurationHostName, + controller: _matchmakerController.host + ) + ), + if(_matchmakerController.type.value != ServerType.embedded) + SettingTile( + title: translations.matchmakerConfigurationPortName, + subtitle: translations.matchmakerConfigurationPortDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.matchmakerConfigurationPortName, + controller: _matchmakerController.port, + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly + ] + ) + ), + if(_matchmakerController.type.value == ServerType.embedded) + SettingTile( + title: translations.matchmakerConfigurationAddressName, + subtitle: translations.matchmakerConfigurationAddressDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.matchmakerConfigurationAddressName, + controller: _matchmakerController.gameServerAddress, + focusNode: _matchmakerController.gameServerAddressFocusNode + ) + ), + if(_matchmakerController.type.value == ServerType.embedded) + SettingTile( + title: translations.matchmakerConfigurationDetachedName, + subtitle: translations.matchmakerConfigurationDetachedDescription, + contentWidth: null, + isChild: true, + content: Obx(() => Row( + children: [ + Text( + _matchmakerController.detached.value ? translations.on : translations.off + ), + const SizedBox( + width: 16.0 + ), + ToggleSwitch( + checked: _matchmakerController.detached.value, + onChanged: (value) => _matchmakerController.detached.value = value + ), + ], + )), + ) + ] + )); + + SettingTile get _installationDirectory => SettingTile( + title: translations.matchmakerInstallationDirectoryName, + subtitle: translations.matchmakerInstallationDirectoryDescription, + content: Button( + onPressed: () => launchUrl(matchmakerDirectory.uri), + child: Text(translations.matchmakerInstallationDirectoryContent) + ) + ); + + SettingTile get _resetDefaults => SettingTile( + title: translations.matchmakerResetDefaultsName, + subtitle: translations.matchmakerResetDefaultsDescription, + content: Button( + onPressed: () => showResetDialog(_matchmakerController.reset), + child: Text(translations.matchmakerResetDefaultsContent), + ) + ); +} diff --git a/gui/lib/src/page/implementation/play_page.dart b/gui/lib/src/page/implementation/play_page.dart new file mode 100644 index 0000000..2e9d623 --- /dev/null +++ b/gui/lib/src/page/implementation/play_page.dart @@ -0,0 +1,143 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:get/get.dart'; +import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/controller/hosting_controller.dart'; +import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:reboot_launcher/src/widget/game/start_button.dart'; +import 'package:reboot_launcher/src/widget/version/version_selector_tile.dart'; + + +class PlayPage extends RebootPage { + const PlayPage({Key? key}) : super(key: key); + + @override + RebootPageState createState() => _PlayPageState(); + + @override + bool get hasButton => true; + + @override + String get name => translations.playName; + + @override + String get iconAsset => "assets/images/play.png"; + + @override + RebootPageType get type => RebootPageType.play; + + @override + List get settings => [ + versionSelectorRebootSetting, + PageSetting( + name: translations.playGameServerName, + description: translations.playGameServerDescription, + content: translations.playGameServerContentLocal, + children: [ + PageSetting( + name: translations.playGameServerHostName, + description: translations.playGameServerHostDescription, + content: translations.playGameServerHostName + ), + PageSetting( + name: translations.playGameServerBrowserName, + description: translations.playGameServerBrowserDescription, + content: translations.playGameServerBrowserName + ), + PageSetting( + name: translations.playGameServerCustomName, + description: translations.playGameServerCustomDescription, + content: translations.playGameServerCustomContent + ) + ] + ) + ]; +} + +class _PlayPageState extends RebootPageState { + final MatchmakerController _matchmakerController = Get.find(); + final HostingController _hostingController = Get.find(); + late final RxBool _selfServer; + + @override + void initState() { + _selfServer = RxBool(_isLocalPlay); + _matchmakerController.gameServerAddress.addListener(() => _selfServer.value = _isLocalPlay); + _hostingController.started.listen((_) => _selfServer.value = _isLocalPlay); + super.initState(); + } + + bool get _isLocalPlay => isLocalHost(_matchmakerController.gameServerAddress.text) + && !_hostingController.started.value; + + @override + Widget? get button => LaunchButton( + startLabel: translations.launchFortnite, + stopLabel: translations.closeFortnite, + host: false + ); + + @override + List get settings => [ + versionSelectorSettingTile, + _gameServerSelector + ]; + + SettingTile get _gameServerSelector => SettingTile( + title: translations.playGameServerName, + subtitle: translations.playGameServerDescription, + content: IgnorePointer( + child: Button( + style: ButtonStyle( + backgroundColor: ButtonState.all(FluentTheme.of(context).resources.controlFillColorDefault) + ), + onPressed: () {}, + child: Obx(() { + var address = _matchmakerController.gameServerAddress.text; + var owner = _matchmakerController.gameServerOwner.value; + return Text( + isLocalHost(address) ? translations.playGameServerContentLocal : owner != null ? translations.playGameServerContentBrowser(owner) : address, + textAlign: TextAlign.start + ); + }) + ), + ), + expandedContent: [ + SettingTile( + title: translations.playGameServerHostName, + subtitle: translations.playGameServerHostDescription, + content: Button( + onPressed: () => pageIndex.value = RebootPageType.host.index, + child: Text(translations.playGameServerHostName) + ), + isChild: true + ), + SettingTile( + title: translations.playGameServerBrowserName, + subtitle: translations.playGameServerBrowserDescription, + content: Button( + onPressed: () => pageIndex.value = RebootPageType.browser.index, + child: Text(translations.playGameServerBrowserName) + ), + isChild: true + ), + SettingTile( + title: translations.playGameServerCustomName, + subtitle: translations.playGameServerCustomDescription, + content: Button( + onPressed: () { + pageIndex.value = RebootPageType.matchmaker.index; + WidgetsBinding.instance.addPostFrameCallback((_) => _matchmakerController.gameServerAddressFocusNode.requestFocus()); + }, + child: Text(translations.playGameServerCustomContent) + ), + isChild: true + ) + ] + ); +} \ No newline at end of file diff --git a/gui/lib/src/page/implementation/server_browser_page.dart b/gui/lib/src/page/implementation/server_browser_page.dart new file mode 100644 index 0000000..d75470f --- /dev/null +++ b/gui/lib/src/page/implementation/server_browser_page.dart @@ -0,0 +1,247 @@ + +import 'dart:async'; + +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/foundation.dart'; +import 'package:get/get.dart'; +import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/controller/hosting_controller.dart'; +import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; +import 'package:reboot_launcher/src/dialog/implementation/server.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:skeletons/skeletons.dart'; + +class BrowsePage extends RebootPage { + const BrowsePage({Key? key}) : super(key: key); + + @override + String get name => translations.browserName; + + @override + RebootPageType get type => RebootPageType.browser; + + @override + String get iconAsset => "assets/images/server_browser.png"; + + @override + bool get hasButton => false; + + @override + RebootPageState createState() => _BrowsePageState(); + + @override + List get settings => []; +} + +class _BrowsePageState extends RebootPageState { + final HostingController _hostingController = Get.find(); + final MatchmakerController _matchmakerController = Get.find(); + final TextEditingController _filterController = TextEditingController(); + final StreamController _filterControllerStream = StreamController.broadcast(); + + @override + Widget build(BuildContext context) { + super.build(context); + return Obx(() { + var data = _hostingController.servers.value + ?.where((entry) => (kDebugMode || entry["id"] != _hostingController.uuid) && entry["discoverable"]) + .toSet(); + if(data == null || data.isEmpty == true) { + return _noServers; + } + + return _buildPageBody(data); + }); + } + + Widget get _noServers => Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + translations.noServersAvailableTitle, + style: FluentTheme.of(context).typography.titleLarge, + ), + Text( + translations.noServersAvailableSubtitle, + style: FluentTheme.of(context).typography.body + ), + ], + ); + + Widget _buildPageBody(Set> data) => Column( + children: [ + _searchBar, + + const SizedBox( + height: 16, + ), + + Expanded( + child: StreamBuilder( + stream: _filterControllerStream.stream, + builder: (context, filterSnapshot) { + var items = data.where((entry) => _isValidItem(entry, filterSnapshot.data)).toSet(); + if(items.isEmpty) { + return _noServersByQuery; + } + + return _buildPopulatedListBody(items); + } + ), + ) + ], + ); + + Widget _buildPopulatedListBody(Set> items) => ListView.builder( + itemCount: items.length * 2, + itemBuilder: (context, index) { + if(index % 2 != 0) { + return const SizedBox( + height: 8.0 + ); + } + + var entry = items.elementAt(index ~/ 2); + var hasPassword = entry["password"] != null; + return SettingTile( + title: "${_formatName(entry)} • ${entry["author"]}", + subtitle: "${_formatDescription(entry)} • ${_formatVersion(entry)}", + content: Button( + onPressed: () => _matchmakerController.joinServer(_hostingController.uuid, entry), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if(hasPassword) + const Icon(FluentIcons.lock), + if(hasPassword) + const SizedBox(width: 8.0), + Text(_matchmakerController.type.value == ServerType.embedded ? translations.joinServer : translations.copyIp), + ], + ), + ) + ); + } + ); + + Widget get _noServersByQuery => Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + translations.noServersAvailableByQueryTitle, + style: FluentTheme.of(context).typography.titleLarge, + ), + Text( + translations.noServersAvailableByQuerySubtitle, + style: FluentTheme.of(context).typography.body + ), + ], + ); + + bool _isValidItem(Map entry, String? filter) => + filter == null || filter.isEmpty || _filterServer(entry, filter); + + bool _filterServer(Map element, String filter) { + String? id = element["id"]; + if(id?.toLowerCase().contains(filter.toLowerCase()) == true) { + return true; + } + + var uri = Uri.tryParse(filter); + if(uri != null + && uri.host.isNotEmpty + && id?.toLowerCase().contains(uri.host.toLowerCase()) == true) { + return true; + } + + String? name = element["name"]; + if(name?.toLowerCase().contains(filter) == true) { + return true; + } + + String? author = element["author"]; + if(author?.toLowerCase().contains(filter) == true) { + return true; + } + + String? description = element["description"]; + if(description?.toLowerCase().contains(filter) == true) { + return true; + } + + return false; + } + + Widget get _searchBar => TextBox( + placeholder: translations.findServer, + controller: _filterController, + autofocus: true, + onChanged: (value) => _filterControllerStream.add(value), + suffix: _searchBarIcon, + ); + + Widget get _searchBarIcon => Button( + onPressed: _filterController.text.isEmpty ? null : () { + _filterController.clear(); + _filterControllerStream.add(""); + }, + style: ButtonStyle( + backgroundColor: _filterController.text.isNotEmpty ? null : ButtonState.all(Colors.transparent), + border: _filterController.text.isNotEmpty ? null : ButtonState.all(const BorderSide(color: Colors.transparent)) + ), + child: _searchBarIconData + ); + + Widget get _searchBarIconData { + var color = FluentTheme.of(context).resources.textFillColorPrimary; + if (_filterController.text.isNotEmpty) { + return Icon( + FluentIcons.clear, + size: 8.0, + color: color + ); + } + + return Transform.flip( + flipX: true, + child: Icon( + FluentIcons.search, + size: 12.0, + color: color + ), + ); + } + + String _formatName(Map entry) { + String result = entry['name']; + return result.isEmpty ? translations.defaultServerName : result; + } + + String _formatDescription(Map entry) { + String result = entry['description']; + return result.isEmpty ? translations.defaultServerDescription : result; + } + + String _formatVersion(Map entry) { + var version = entry['version']; + var versionSplit = version.indexOf("-"); + var minimalVersion = version = versionSplit != -1 ? version.substring(0, versionSplit) : version; + String result = minimalVersion.endsWith(".0") ? minimalVersion.substring(0, minimalVersion.length - 2) : minimalVersion; + if(result.toLowerCase().startsWith("fortnite ")) { + result = result.substring(0, 10); + } + + return "Fortnite $result"; + } + + @override + Widget? get button => null; + + @override + List get settings => []; +} diff --git a/gui/lib/src/page/implementation/server_host_page.dart b/gui/lib/src/page/implementation/server_host_page.dart new file mode 100644 index 0000000..0ba57d1 --- /dev/null +++ b/gui/lib/src/page/implementation/server_host_page.dart @@ -0,0 +1,289 @@ +import 'package:clipboard/clipboard.dart'; +import 'package:dart_ipify/dart_ipify.dart'; +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/material.dart' show Icons; +import 'package:get/get.dart'; +import 'package:reboot_launcher/main.dart'; +import 'package:reboot_launcher/src/controller/game_controller.dart'; +import 'package:reboot_launcher/src/controller/hosting_controller.dart'; +import 'package:reboot_launcher/src/dialog/implementation/data.dart'; +import 'package:reboot_launcher/src/dialog/implementation/server.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:reboot_launcher/src/widget/game/start_button.dart'; +import 'package:reboot_launcher/src/widget/version/version_selector_tile.dart'; +import 'package:sync/semaphore.dart'; + +class HostPage extends RebootPage { + const HostPage({Key? key}) : super(key: key); + + @override + String get name => "Host"; + + @override + String get iconAsset => "assets/images/host.png"; + + @override + RebootPageType get type => RebootPageType.host; + + @override + bool get hasButton => true; + + @override + RebootPageState createState() => _HostingPageState(); + + @override + List get settings => [ + PageSetting( + name: translations.hostGameServerName, + description: translations.hostGameServerDescription, + children: [ + PageSetting( + name: translations.hostGameServerNameName, + description: translations.hostGameServerNameDescription + ), + PageSetting( + name: translations.hostGameServerDescriptionName, + description: translations.hostGameServerDescriptionDescription + ), + PageSetting( + name: translations.hostGameServerPasswordName, + description: translations.hostGameServerDescriptionDescription + ), + PageSetting( + name: translations.hostGameServerDiscoverableName, + description: translations.hostGameServerDiscoverableDescription + ) + ], + ), + versionSelectorRebootSetting, + PageSetting( + name: translations.hostShareName, + description: translations.hostShareDescription, + children: [ + PageSetting( + name: translations.hostShareLinkName, + description: translations.hostShareLinkDescription, + content: translations.hostShareLinkContent + ), + PageSetting( + name: translations.hostShareIpName, + description: translations.hostShareIpDescription, + content: translations.hostShareIpContent + ) + ], + ), + PageSetting( + name: translations.hostResetName, + description: translations.hostResetDescription, + content: translations.hostResetContent + ) + ]; +} + +class _HostingPageState extends RebootPageState { + final GameController _gameController = Get.find(); + final HostingController _hostingController = Get.find(); + final Semaphore _semaphore = Semaphore(); + + late final RxBool _showPasswordTrailing = RxBool(_hostingController.password.text.isNotEmpty); + + @override + void initState() { + if(_hostingController.name.text.isEmpty) { + _hostingController.name.text = translations.defaultServerName; + } + + if(_hostingController.description.text.isEmpty) { + _hostingController.description.text = translations.defaultServerDescription; + } + + super.initState(); + } + + @override + Widget get button => const LaunchButton( + host: true + ); + + @override + List get settings => [ + _gameServer, + versionSelectorSettingTile, + _share, + _resetDefaults + ]; + + SettingTile get _resetDefaults => SettingTile( + title: translations.hostResetName, + subtitle: translations.hostResetDescription, + content: Button( + onPressed: () => showResetDialog(_hostingController.reset), + child: Text(translations.hostResetContent), + ) + ); + + SettingTile get _gameServer => SettingTile( + title: translations.hostGameServerName, + subtitle: translations.hostGameServerDescription, + expandedContent: [ + SettingTile( + title: translations.hostGameServerNameName, + subtitle: translations.hostGameServerNameDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.hostGameServerNameName, + controller: _hostingController.name, + onChanged: (_) => _updateServer() + ) + ), + SettingTile( + title: translations.hostGameServerDescriptionName, + subtitle: translations.hostGameServerDescriptionDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.hostGameServerDescriptionName, + controller: _hostingController.description, + onChanged: (_) => _updateServer() + ) + ), + SettingTile( + title: translations.hostGameServerPasswordName, + subtitle: translations.hostGameServerDescriptionDescription, + isChild: true, + content: Obx(() => TextFormBox( + placeholder: translations.hostGameServerPasswordName, + controller: _hostingController.password, + autovalidateMode: AutovalidateMode.always, + obscureText: !_hostingController.showPassword.value, + enableSuggestions: false, + autocorrect: false, + onChanged: (text) { + _showPasswordTrailing.value = text.isNotEmpty; + _updateServer(); + }, + suffix: Button( + onPressed: () => _hostingController.showPassword.value = !_hostingController.showPassword.value, + style: ButtonStyle( + shape: ButtonState.all(const CircleBorder()), + backgroundColor: ButtonState.all(Colors.transparent) + ), + child: Icon( + _hostingController.showPassword.value ? Icons.visibility_off : Icons.visibility, + color: _showPasswordTrailing.value ? null : Colors.transparent + ), + ) + )) + ), + SettingTile( + title: translations.hostGameServerDiscoverableName, + subtitle: translations.hostGameServerDiscoverableDescription, + isChild: true, + contentWidth: null, + content: Obx(() => Row( + children: [ + Text( + _hostingController.discoverable.value ? translations.on : translations.off + ), + const SizedBox( + width: 16.0 + ), + ToggleSwitch( + checked: _hostingController.discoverable(), + onChanged: (value) async { + _hostingController.discoverable.value = value; + await _updateServer(); + } + ), + ], + )) + ) + ] + ); + + SettingTile get _share => SettingTile( + title: translations.hostShareName, + subtitle: translations.hostShareDescription, + expandedContent: [ + SettingTile( + title: translations.hostShareLinkName, + subtitle: translations.hostShareLinkDescription, + isChild: true, + content: Button( + onPressed: () async { + FlutterClipboard.controlC("$kCustomUrlSchema://${_hostingController.uuid}"); + _showCopiedLink(); + }, + child: Text(translations.hostShareLinkContent), + ) + ), + SettingTile( + title: translations.hostShareIpName, + subtitle: translations.hostShareIpDescription, + isChild: true, + content: Button( + onPressed: () async { + try { + _showCopyingIp(); + var ip = await Ipify.ipv4(); + FlutterClipboard.controlC(ip); + _showCopiedIp(); + }catch(error) { + _showCannotCopyIp(error); + } + }, + child: Text(translations.hostShareIpContent), + ) + ) + ], + ); + + Future _updateServer() async { + if(!_hostingController.published()) { + return; + } + + try { + _semaphore.acquire(); + _hostingController.publishServer( + _gameController.username.text, + _hostingController.instance.value!.versionName + ); + } catch(error) { + _showCannotUpdateGameServer(error); + } finally { + _semaphore.release(); + } + } + + void _showCopiedLink() => showInfoBar( + translations.hostShareLinkMessageSuccess, + severity: InfoBarSeverity.success + ); + + void _showCopyingIp() => showInfoBar( + translations.hostShareIpMessageLoading, + loading: true, + duration: null + ); + + void _showCopiedIp() => showInfoBar( + translations.hostShareIpMessageSuccess, + severity: InfoBarSeverity.success + ); + + void _showCannotCopyIp(Object error) => showInfoBar( + translations.hostShareIpMessageError(error.toString()), + severity: InfoBarSeverity.error, + duration: snackbarLongDuration + ); + + void _showCannotUpdateGameServer(Object error) => showInfoBar( + translations.cannotUpdateGameServer(error.toString()), + severity: InfoBarSeverity.success, + duration: snackbarLongDuration + ); +} \ No newline at end of file diff --git a/gui/lib/src/page/implementation/settings_page.dart b/gui/lib/src/page/implementation/settings_page.dart new file mode 100644 index 0000000..024a3ea --- /dev/null +++ b/gui/lib/src/page/implementation/settings_page.dart @@ -0,0 +1,317 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_localized_locales/flutter_localized_locales.dart'; +import 'package:get/get.dart'; +import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/controller/game_controller.dart'; +import 'package:reboot_launcher/src/controller/settings_controller.dart'; +import 'package:reboot_launcher/src/controller/update_controller.dart'; +import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; +import 'package:reboot_launcher/src/dialog/implementation/data.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/checks.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/file_selector.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:flutter_gen/gen_l10n/reboot_localizations.dart'; +import 'package:url_launcher/url_launcher.dart'; + +class SettingsPage extends RebootPage { + const SettingsPage({Key? key}) : super(key: key); + + @override + String get name => translations.settingsName; + + @override + String get iconAsset => "assets/images/settings.png"; + + @override + RebootPageType get type => RebootPageType.settings; + + @override + bool get hasButton => false; + + @override + RebootPageState createState() => _SettingsPageState(); + + @override + List get settings => [ + PageSetting( + name: translations.settingsClientName, + description: translations.settingsClientDescription, + children: [ + PageSetting( + name: translations.settingsClientConsoleName, + description: translations.settingsClientConsoleDescription + ), + PageSetting( + name: translations.settingsClientAuthName, + description: translations.settingsClientAuthDescription + ), + PageSetting( + name: translations.settingsClientMemoryName, + description: translations.settingsClientMemoryDescription + ), + PageSetting( + name: translations.settingsClientArgsName, + description: translations.settingsClientArgsDescription + ), + ], + ), + PageSetting( + name: translations.settingsServerName, + description: translations.settingsServerSubtitle, + children: [ + PageSetting( + name: translations.settingsServerFileName, + description: translations.settingsServerFileDescription + ), + PageSetting( + name: translations.settingsServerPortName, + description: translations.settingsServerPortDescription + ), + PageSetting( + name: translations.settingsServerMirrorName, + description: translations.settingsServerMirrorDescription + ), + PageSetting( + name: translations.settingsServerTimerName, + description: translations.settingsServerTimerSubtitle + ), + ], + ), + PageSetting( + name: translations.settingsUtilsName, + description: translations.settingsUtilsSubtitle, + children: [ + PageSetting( + name: translations.settingsUtilsThemeName, + description: translations.settingsUtilsThemeDescription, + ), + PageSetting( + name: translations.settingsUtilsLanguageName, + description: translations.settingsUtilsLanguageDescription, + ), + PageSetting( + name: translations.settingsUtilsInstallationDirectoryName, + description: translations.settingsUtilsInstallationDirectorySubtitle, + content: translations.settingsUtilsInstallationDirectoryContent + ), + PageSetting( + name: translations.settingsUtilsBugReportName, + description: translations.settingsUtilsBugReportSubtitle, + content: translations.settingsUtilsBugReportContent + ), + PageSetting( + name: translations.settingsUtilsResetDefaultsName, + description: translations.settingsUtilsResetDefaultsSubtitle, + content: translations.settingsUtilsResetDefaultsContent + ) + ], + ) + ]; +} + +class _SettingsPageState extends RebootPageState { + final GameController _gameController = Get.find(); + final SettingsController _settingsController = Get.find(); + final UpdateController _updateController = Get.find(); + + @override + Widget? get button => null; + + @override + List get settings => [ + _clientSettings, + _gameServerSettings, + _launcherUtilities + ]; + + SettingTile get _clientSettings => SettingTile( + title: translations.settingsClientName, + subtitle: translations.settingsClientDescription, + expandedContent: [ + _createFileSetting( + title: translations.settingsClientConsoleName, + description: translations.settingsClientConsoleDescription, + controller: _settingsController.unrealEngineConsoleDll + ), + _createFileSetting( + title: translations.settingsClientAuthName, + description: translations.settingsClientAuthDescription, + controller: _settingsController.authenticatorDll + ), + _createFileSetting( + title: translations.settingsClientMemoryName, + description: translations.settingsClientMemoryDescription, + controller: _settingsController.memoryLeakDll + ), + SettingTile( + title: translations.settingsClientArgsName, + subtitle: translations.settingsClientArgsDescription, + isChild: true, + content: TextFormBox( + placeholder: translations.settingsClientArgsPlaceholder, + controller: _gameController.customLaunchArgs, + ) + ), + ], + ); + + SettingTile get _gameServerSettings => SettingTile( + title: translations.settingsServerName, + subtitle: translations.settingsServerSubtitle, + expandedContent: [ + _createFileSetting( + title: translations.settingsServerFileName, + description: translations.settingsServerFileDescription, + controller: _settingsController.gameServerDll + ), + SettingTile( + title: translations.settingsServerPortName, + subtitle: translations.settingsServerPortDescription, + content: TextFormBox( + placeholder: translations.settingsServerPortName, + controller: _settingsController.gameServerPort, + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly + ] + ), + isChild: true + ), + SettingTile( + title: translations.settingsServerMirrorName, + subtitle: translations.settingsServerMirrorDescription, + content: TextFormBox( + placeholder: translations.settingsServerMirrorPlaceholder, + controller: _updateController.url, + validator: checkUpdateUrl + ), + isChild: true + ), + SettingTile( + title: translations.settingsServerTimerName, + subtitle: translations.settingsServerTimerSubtitle, + content: Obx(() => DropDownButton( + leading: Text(_updateController.timer.value.text), + items: UpdateTimer.values.map((entry) => MenuFlyoutItem( + text: Text(entry.text), + onPressed: () { + _updateController.timer.value = entry; + removeMessageByPage(6); + _updateController.update(true); + } + )).toList() + )), + isChild: true + ), + ], + ); + + SettingTile get _launcherUtilities => SettingTile( + title: translations.settingsUtilsName, + subtitle: translations.settingsUtilsSubtitle, + expandedContent: [ + SettingTile( + title: translations.settingsUtilsLanguageName, + subtitle: translations.settingsUtilsLanguageDescription, + isChild: true, + content: Obx(() => DropDownButton( + leading: Text(_getLocaleName(_settingsController.language.value)), + items: AppLocalizations.supportedLocales.map((locale) => MenuFlyoutItem( + text: Text(_getLocaleName(locale.languageCode)), + onPressed: () => _settingsController.language.value = locale.languageCode + )).toList() + )) + ), + SettingTile( + title: translations.settingsUtilsThemeName, + subtitle: translations.settingsUtilsThemeDescription, + isChild: true, + content: Obx(() => DropDownButton( + leading: Text(_settingsController.themeMode.value.title), + items: ThemeMode.values.map((themeMode) => MenuFlyoutItem( + text: Text(themeMode.title), + onPressed: () => _settingsController.themeMode.value = themeMode + )).toList() + )) + ), + SettingTile( + title: translations.settingsUtilsInstallationDirectoryName, + subtitle: translations.settingsUtilsInstallationDirectorySubtitle, + isChild: true, + content: Button( + onPressed: () => launchUrl(installationDirectory.uri), + child: Text(translations.settingsUtilsInstallationDirectoryContent), + ) + ), + SettingTile( + title: translations.settingsUtilsBugReportName, + subtitle: translations.settingsUtilsBugReportSubtitle, + isChild: true, + content: Button( + onPressed: () => launchUrl(Uri.parse("https://github.com/Auties00/reboot_launcher/issues")), + child: Text(translations.settingsUtilsBugReportContent), + ) + ), + SettingTile( + title: translations.settingsUtilsResetDefaultsName, + subtitle: translations.settingsUtilsResetDefaultsSubtitle, + isChild: true, + content: Button( + onPressed: () => showResetDialog(_settingsController.reset), + child: Text(translations.settingsUtilsResetDefaultsContent), + ) + ) + ], + ); + + String _getLocaleName(String locale) { + var result = LocaleNames.of(context)!.nameOf(locale); + if(result != null) { + return "${result.substring(0, 1).toUpperCase()}${result.substring(1).toLowerCase()}"; + } + + return locale; + } + + Widget _createFileSetting({required String title, required String description, required TextEditingController controller}) => SettingTile( + title: title, + subtitle: description, + content: FileSelector( + placeholder: translations.selectPathPlaceholder, + windowTitle: translations.selectPathWindowTitle, + controller: controller, + validator: checkDll, + extension: "dll", + folder: false + ), + isChild: true + ); +} + +extension _UpdateTimerExtension on UpdateTimer { + String get text { + if (this == UpdateTimer.never) { + return translations.updateGameServerDllNever; + } + + return translations.updateGameServerDllEvery(name); + } +} + +extension _ThemeModeExtension on ThemeMode { + String get title { + switch(this) { + case ThemeMode.system: + return translations.system; + case ThemeMode.dark: + return translations.dark; + case ThemeMode.light: + return translations.light; + } + } +} \ No newline at end of file diff --git a/gui/lib/src/page/info_page.dart b/gui/lib/src/page/info_page.dart deleted file mode 100644 index 71e8252..0000000 --- a/gui/lib/src/page/info_page.dart +++ /dev/null @@ -1,161 +0,0 @@ -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:flutter/gestures.dart'; -import 'package:get/get.dart'; -import 'package:reboot_launcher/src/controller/settings_controller.dart'; -import 'package:reboot_launcher/src/util/tutorial.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; - -class InfoPage extends StatefulWidget { - const InfoPage({Key? key}) : super(key: key); - - @override - State createState() => _InfoPageState(); -} - -class _InfoPageState extends State with AutomaticKeepAliveClientMixin { - final SettingsController _settingsController = Get.find(); - late final ScrollController _controller; - - @override - bool get wantKeepAlive => true; - - @override - void initState() { - _controller = ScrollController(initialScrollOffset: _settingsController.scrollingDistance); - _controller.addListener(() { - _settingsController.scrollingDistance = _controller.offset; - }); - - super.initState(); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - super.build(context); - return Column( - children: [ - Expanded( - child: ListView( - children: [ - SettingTile( - title: 'What is Project Reboot?', - subtitle: 'Project Reboot allows anyone to easily host a game server for most of Fortnite\'s seasons. ' - 'The project was started on Discord by Milxnor. ' - 'The project is no longer being actively maintained.', - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: 'What is a game server?', - subtitle: 'When you join a Fortnite Game, your client connects to a game server that allows you to play with others. ' - 'You can join someone else\'s game server, or host one on your PC by going to the "Host" tab. ', - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: 'What is a client?', - subtitle: 'A client is the actual Fortnite game. ' - 'You can download any version of Fortnite from the launcher in the "Play" tab. ' - 'You can also import versions from your local PC, but remember that these may be corrupted. ' - 'If a local version doesn\'t work, try installing it from the launcher before reporting a bug.', - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: 'What is an authenticator?', - subtitle: 'An authenticator is a program that handles authentication, parties and voice chats. ' - 'By default, a LawinV1 server will be started for you to play. ' - 'You can use also use an authenticator running locally(on your PC) or remotely(on another PC). ' - 'Changing the authenticator settings can break the client and game server: unless you are an advanced user, do not edit, for any reason, these settings! ' - 'If you need to restore these settings, go to the "Settings" tab and click on "Restore Defaults". ', - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: 'Do I need to update DLLs?', - subtitle: 'No, all the files that the launcher uses are automatically updated. ' - 'You can use your own DLLs by going to the "Settings" tab, but make sure that they don\'t create a console that reads IO or the launcher will stop working correctly. ' - 'Unless you are an advanced user, changing these options is not recommended', - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: 'Where can I report bugs or ask for new features?', - subtitle: 'Go to the "Settings" tab and click on report bug. ' - 'Please make sure to be as specific as possible when filing a report as it\'s crucial to make it as easy to fix/implement', - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: 'How can I make my game server accessible for other players?', - subtitle: Text.rich( - TextSpan( - children: [ - TextSpan( - text: 'Follow ', - style: FluentTheme.of(context).typography.body - ), - TextSpan( - text: 'this tutorial', - mouseCursor: SystemMouseCursors.click, - style: FluentTheme.of(context).typography.body?.copyWith(color: FluentTheme.of(context).accentColor), - recognizer: TapGestureRecognizer()..onTap = openPortTutorial - ) - ] - ) - ), - titleStyle: FluentTheme - .of(context) - .typography - .title, - contentWidth: null, - ) - ], - ), - ) - ], - ); - } -} \ No newline at end of file diff --git a/gui/lib/src/page/matchmaker_page.dart b/gui/lib/src/page/matchmaker_page.dart deleted file mode 100644 index 7baec41..0000000 --- a/gui/lib/src/page/matchmaker_page.dart +++ /dev/null @@ -1,151 +0,0 @@ -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:flutter/services.dart'; -import 'package:get/get.dart'; -import 'package:reboot_common/common.dart'; -import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; -import 'package:reboot_launcher/src/widget/server/start_button.dart'; -import 'package:reboot_launcher/src/widget/server/type_selector.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class MatchmakerPage extends StatefulWidget { - const MatchmakerPage({Key? key}) : super(key: key); - - @override - State createState() => _MatchmakerPageState(); -} - -class _MatchmakerPageState extends State with AutomaticKeepAliveClientMixin { - final MatchmakerController _matchmakerController = Get.find(); - - @override - bool get wantKeepAlive => true; - - @override - Widget build(BuildContext context) { - super.build(context); - return Column( - children: [ - Expanded( - child: ListView( - children: [ - Obx(() => SettingTile( - title: "Matchmaker configuration", - subtitle: "This section contains the matchmaker's configuration", - content: const ServerTypeSelector( - authenticator: false - ), - expandedContent: [ - if(_matchmakerController.type.value == ServerType.remote) - SettingTile( - title: "Host", - subtitle: "The hostname of the matchmaker", - isChild: true, - content: TextFormBox( - placeholder: "Host", - controller: _matchmakerController.host - ) - ), - if(_matchmakerController.type.value != ServerType.embedded) - SettingTile( - title: "Port", - subtitle: "The port of the matchmaker", - isChild: true, - content: TextFormBox( - placeholder: "Port", - controller: _matchmakerController.port, - keyboardType: TextInputType.number, - inputFormatters: [ - FilteringTextInputFormatter.digitsOnly - ] - ) - ), - if(_matchmakerController.type.value == ServerType.embedded) - SettingTile( - title: "Game server address", - subtitle: "The address of the game server used by the matchmaker", - isChild: true, - content: TextFormBox( - placeholder: "Address", - controller: _matchmakerController.gameServerAddress, - focusNode: _matchmakerController.gameServerAddressFocusNode - ) - ), - if(_matchmakerController.type.value == ServerType.embedded) - SettingTile( - title: "Detached", - subtitle: "Whether the embedded matchmaker should be started as a separate process, useful for debugging", - contentWidth: null, - isChild: true, - content: Obx(() => Row( - children: [ - Text( - _matchmakerController.detached.value ? "On" : "Off" - ), - const SizedBox( - width: 16.0 - ), - ToggleSwitch( - checked: _matchmakerController.detached.value, - onChanged: (value) => _matchmakerController.detached.value = value - ), - ], - )), - ) - ] - )), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Installation directory", - subtitle: "Opens the folder where the embedded matchmaker is located", - content: Button( - onPressed: () => launchUrl(matchmakerDirectory.uri), - child: const Text("Show Files") - ) - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Reset matchmaker", - subtitle: "Resets the authenticator's settings to their default values", - content: Button( - onPressed: () => showAppDialog( - builder: (context) => InfoDialog( - text: "Do you want to reset all the setting in this tab to their default values? This action is irreversible", - buttons: [ - DialogButton( - type: ButtonType.secondary, - text: "Close", - ), - DialogButton( - type: ButtonType.primary, - text: "Reset", - onTap: () { - _matchmakerController.reset(); - Navigator.of(context).pop(); - }, - ) - ], - ) - ), - child: const Text("Reset"), - ) - ) - ] - ), - ), - const SizedBox( - height: 8.0, - ), - const ServerButton( - authenticator: false - ) - ], - ); - } -} diff --git a/gui/lib/src/page/pages.dart b/gui/lib/src/page/pages.dart new file mode 100644 index 0000000..7870bab --- /dev/null +++ b/gui/lib/src/page/pages.dart @@ -0,0 +1,43 @@ +import 'dart:collection'; + +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:get/get_rx/src/rx_types/rx_types.dart'; +import 'package:reboot_launcher/src/page/abstract/page.dart'; +import 'package:reboot_launcher/src/page/implementation/authenticator_page.dart'; +import 'package:reboot_launcher/src/page/implementation/info_page.dart'; +import 'package:reboot_launcher/src/page/implementation/matchmaker_page.dart'; +import 'package:reboot_launcher/src/page/implementation/play_page.dart'; +import 'package:reboot_launcher/src/page/implementation/server_browser_page.dart'; +import 'package:reboot_launcher/src/page/implementation/server_host_page.dart'; +import 'package:reboot_launcher/src/page/implementation/settings_page.dart'; + +final List pages = [ + const PlayPage(), + const HostPage(), + const BrowsePage(), + const AuthenticatorPage(), + const MatchmakerPage(), + const InfoPage(), + const SettingsPage() +]; + +final RxInt pageIndex = RxInt(0); + +final HashMap _pageKeys = HashMap(); + +GlobalKey appKey = GlobalKey(); +GlobalKey get pageKey { + var index = pageIndex.value; + var key = _pageKeys[index]; + if(key != null) { + return key; + } + + var result = GlobalKey(); + _pageKeys[index] = result; + return result; +} + +List get pagesWithButtonIndexes => pages.where((page) => page.hasButton) + .map((page) => page.index) + .toList(); \ No newline at end of file diff --git a/gui/lib/src/page/play_page.dart b/gui/lib/src/page/play_page.dart deleted file mode 100644 index 02ec91d..0000000 --- a/gui/lib/src/page/play_page.dart +++ /dev/null @@ -1,137 +0,0 @@ - -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:get/get.dart'; -import 'package:reboot_common/common.dart'; -import 'package:reboot_launcher/src/controller/hosting_controller.dart'; -import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; -import 'package:reboot_launcher/src/page/home_page.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; -import 'package:reboot_launcher/src/widget/game/start_button.dart'; -import 'package:reboot_launcher/src/widget/version/version_selector.dart'; - - -class PlayPage extends StatefulWidget { - const PlayPage({Key? key}) : super(key: key); - - @override - State createState() => _PlayPageState(); -} - -class _PlayPageState extends State { - final MatchmakerController _matchmakerController = Get.find(); - final HostingController _hostingController = Get.find(); - late final RxBool _selfServer; - - @override - void initState() { - _selfServer = RxBool(_isLocalPlay); - _matchmakerController.gameServerAddress.addListener(() => _selfServer.value = _isLocalPlay); - _hostingController.started.listen((_) => _selfServer.value = _isLocalPlay); - super.initState(); - } - - bool get _isLocalPlay => isLocalHost(_matchmakerController.gameServerAddress.text) - && !_hostingController.started.value; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Expanded( - child: ListView( - children: [ - const SettingTile( - title: "Version", - subtitle: "Select the version of Fortnite you want to host", - content: VersionSelector(), - expandedContent: [ - SettingTile( - title: "Add a version from this PC's local storage", - subtitle: "Versions coming from your local disk are not guaranteed to work", - content: Button( - onPressed: VersionSelector.openAddDialog, - child: Text("Add build"), - ), - isChild: true - ), - SettingTile( - title: "Download any version from the cloud", - subtitle: "Download any Fortnite build easily from the cloud", - content: Button( - onPressed: VersionSelector.openDownloadDialog, - child: Text("Download"), - ), - isChild: true - ) - ] - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Game Server", - subtitle: "Helpful shortcuts to find the server where you want to play", - content: IgnorePointer( - child: Button( - style: ButtonStyle( - backgroundColor: ButtonState.all(FluentTheme.of(context).resources.controlFillColorDefault) - ), - onPressed: () {}, - child: Obx(() { - var address = _matchmakerController.gameServerAddress.text; - var owner = _matchmakerController.gameServerOwner.value; - return Text( - isLocalHost(address) ? "Your server" : owner != null ? "$owner's server" : address, - textAlign: TextAlign.start - ); - }) - ), - ), - expandedContent: [ - SettingTile( - title: "Host a server", - subtitle: "Do you want to create a game server for yourself or your friends? Host one!", - content: Button( - onPressed: () => pageIndex.value = 1, - child: const Text("Host") - ), - isChild: true - ), - SettingTile( - title: "Join a Reboot server", - subtitle: "Find a discoverable server hosted on the Reboot Launcher in the server browser", - content: Button( - onPressed: () => pageIndex.value = 2, - child: const Text("Browse") - ), - isChild: true - ), - SettingTile( - title: "Join a custom server", - subtitle: "Type the address of any server, whether it was hosted on the Reboot Launcher or not", - content: Button( - onPressed: () { - pageIndex.value = 4; - WidgetsBinding.instance.addPostFrameCallback((_) => _matchmakerController.gameServerAddressFocusNode.requestFocus()); - }, - child: const Text("Join") - ), - isChild: true - ) - ] - ), - ], - ) - ), - const SizedBox( - height: 8.0, - ), - const LaunchButton( - startLabel: 'Launch Fortnite', - stopLabel: 'Close Fortnite', - host: false - ) - ] - ); - } -} \ No newline at end of file diff --git a/gui/lib/src/page/settings_page.dart b/gui/lib/src/page/settings_page.dart deleted file mode 100644 index dc0cf3f..0000000 --- a/gui/lib/src/page/settings_page.dart +++ /dev/null @@ -1,189 +0,0 @@ -import 'package:fluent_ui/fluent_ui.dart'; -import 'package:flutter/services.dart'; -import 'package:get/get.dart'; -import 'package:reboot_common/common.dart'; -import 'package:reboot_launcher/src/controller/game_controller.dart'; -import 'package:reboot_launcher/src/controller/settings_controller.dart'; -import 'package:reboot_launcher/src/controller/update_controller.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; -import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; -import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; -import 'package:reboot_launcher/src/util/checks.dart'; -import 'package:reboot_launcher/src/widget/common/file_selector.dart'; -import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class SettingsPage extends StatefulWidget { - const SettingsPage({Key? key}) : super(key: key); - - @override - State createState() => _SettingsPageState(); -} - -class _SettingsPageState extends State with AutomaticKeepAliveClientMixin { - final GameController _gameController = Get.find(); - final SettingsController _settingsController = Get.find(); - final UpdateController _updateController = Get.find(); - - @override - bool get wantKeepAlive => true; - - @override - Widget build(BuildContext context) { - super.build(context); - return ListView( - children: [ - SettingTile( - title: "Client settings", - subtitle: "This section contains the dlls used to make the Fortnite client work", - expandedContent: [ - _createFileSetting( - title: "Unreal engine console", - description: "This file is injected to unlock the Unreal Engine Console", - controller: _settingsController.unrealEngineConsoleDll - ), - _createFileSetting( - title: "Authentication patcher", - description: "This file is injected to redirect all HTTP requests to the launcher's authenticator", - controller: _settingsController.authenticatorDll - ), - SettingTile( - title: "Custom launch arguments", - subtitle: "Additional arguments to use when launching the game", - isChild: true, - content: TextFormBox( - placeholder: "Arguments...", - controller: _gameController.customLaunchArgs, - ) - ), - ], - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Game server settings", - subtitle: "This section contains settings related to the game server implementation", - expandedContent: [ - _createFileSetting( - title: "Implementation", - description: "This file is injected to create a game server & host matches", - controller: _settingsController.gameServerDll - ), - SettingTile( - title: "Port", - subtitle: "The port used by the game server dll", - content: TextFormBox( - placeholder: "Port", - controller: _settingsController.gameServerPort, - keyboardType: TextInputType.number, - inputFormatters: [ - FilteringTextInputFormatter.digitsOnly - ] - ), - isChild: true - ), - SettingTile( - title: "Update mirror", - subtitle: "The URL used to update the game server dll", - content: TextFormBox( - placeholder: "URL", - controller: _updateController.url, - validator: checkUpdateUrl - ), - isChild: true - ), - SettingTile( - title: "Update timer", - subtitle: "Determines when the game server dll should be updated", - content: Obx(() => DropDownButton( - leading: Text(_updateController.timer.value.text), - items: UpdateTimer.values.map((entry) => MenuFlyoutItem( - text: Text(entry.text), - onPressed: () { - _updateController.timer.value = entry; - removeMessage(6); - _updateController.update(true); - } - )).toList() - )), - isChild: true - ), - ], - ), - const SizedBox( - height: 8.0, - ), - SettingTile( - title: "Launcher utilities", - subtitle: "This section contains handy settings for the launcher", - expandedContent: [ - SettingTile( - title: "Installation directory", - subtitle: "Opens the installation directory", - isChild: true, - content: Button( - onPressed: () => launchUrl(installationDirectory.uri), - child: const Text("Show Files"), - ) - ), - SettingTile( - title: "Create a bug report", - subtitle: "Help me fix bugs by reporting them", - isChild: true, - content: Button( - onPressed: () => launchUrl(Uri.parse("https://github.com/Auties00/reboot_launcher/issues")), - child: const Text("Report a bug"), - ) - ), - SettingTile( - title: "Reset settings", - subtitle: "Resets the launcher's settings to their default values", - isChild: true, - content: Button( - onPressed: () => showAppDialog( - builder: (context) => InfoDialog( - text: "Do you want to reset all the setting in this tab to their default values? This action is irreversible", - buttons: [ - DialogButton( - type: ButtonType.secondary, - text: "Close", - ), - DialogButton( - type: ButtonType.primary, - text: "Reset", - onTap: () { - _settingsController.reset(); - Navigator.of(context).pop(); - }, - ) - ], - ) - ), - child: const Text("Reset"), - ) - ) - ], - ), - ] - ); - } - - Widget _createFileSetting({required String title, required String description, required TextEditingController controller}) => SettingTile( - title: title, - subtitle: description, - content: FileSelector( - placeholder: "Path", - windowTitle: "Select a file", - controller: controller, - validator: checkDll, - extension: "dll", - folder: false - ), - isChild: true - ); -} - -extension _UpdateTimerExtension on UpdateTimer { - String get text => this == UpdateTimer.never ? "Never" : "Every $name"; -} \ No newline at end of file diff --git a/gui/lib/src/util/checks.dart b/gui/lib/src/util/checks.dart index b5afd08..84ec47f 100644 --- a/gui/lib/src/util/checks.dart +++ b/gui/lib/src/util/checks.dart @@ -1,14 +1,15 @@ import 'dart:io'; import 'package:reboot_common/common.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; String? checkVersion(String? text, List versions) { if (text == null || text.isEmpty) { - return 'Empty version name'; + return translations.emptyVersionName; } if (versions.any((element) => element.name == text)) { - return 'This version already exists'; + return translations.versionAlreadyExists; } return null; @@ -16,7 +17,7 @@ String? checkVersion(String? text, List versions) { String? checkChangeVersion(String? text) { if (text == null || text.isEmpty) { - return 'Empty version name'; + return translations.emptyVersionName; } return null; @@ -24,16 +25,16 @@ String? checkChangeVersion(String? text) { String? checkGameFolder(text) { if (text == null || text.isEmpty) { - return 'Empty game path'; + return translations.emptyGamePath; } var directory = Directory(text); if (!directory.existsSync()) { - return "Directory doesn't exist"; + return translations.directoryDoesNotExist; } if (FortniteVersionExtension.findExecutable(directory, "FortniteClient-Win64-Shipping.exe") == null) { - return "Invalid game path"; + return translations.missingShippingExe; } return null; @@ -41,7 +42,7 @@ String? checkGameFolder(text) { String? checkDownloadDestination(text) { if (text == null || text.isEmpty) { - return 'Invalid download path'; + return translations.invalidDownloadPath; } return null; @@ -49,15 +50,15 @@ String? checkDownloadDestination(text) { String? checkDll(String? text) { if (text == null || text.isEmpty) { - return "Empty dll path"; + return translations.invalidDllPath; } if (!File(text).existsSync()) { - return "This dll doesn't exist"; + return translations.dllDoesNotExist; } if (!text.endsWith(".dll")) { - return "This file is not a dll"; + return translations.invalidDllExtension; } return null; @@ -65,12 +66,12 @@ String? checkDll(String? text) { String? checkMatchmaking(String? text) { if (text == null || text.isEmpty) { - return "Empty hostname"; + return translations.emptyHostname; } var ipParts = text.split(":"); if(ipParts.length > 2){ - return "Wrong format, expected ip:port"; + return translations.hostnameFormat; } return null; @@ -78,7 +79,7 @@ String? checkMatchmaking(String? text) { String? checkUpdateUrl(String? text) { if (text == null || text.isEmpty) { - return "Empty URL"; + return translations.emptyURL; } return null; diff --git a/gui/lib/src/util/matchmaker.dart b/gui/lib/src/util/matchmaker.dart index 0191627..ef153ad 100644 --- a/gui/lib/src/util/matchmaker.dart +++ b/gui/lib/src/util/matchmaker.dart @@ -1,8 +1,30 @@ +import 'dart:convert'; import 'dart:io'; import 'package:reboot_common/common.dart'; -final File _script = File("${assetsDirectory.path}\\misc\\udp.ps1"); +const Duration _timeout = Duration(seconds: 2); + +Future _pingGameServer(String hostname, int port) async { + var socket = await RawDatagramSocket.bind(InternetAddress.anyIPv4, 0); + var dataToSend = utf8.encode(DateTime.now().toIso8601String()); + socket.send(dataToSend, InternetAddress(hostname), port); + await for (var event in socket) { + switch(event) { + case RawSocketEvent.read: + return true; + case RawSocketEvent.readClosed: + case RawSocketEvent.closed: + return false; + case RawSocketEvent.write: + break; + } + } + + return false; +} + +Future get _timeoutFuture => Future.delayed(_timeout).then((value) => false); Future pingGameServer(String address, {Duration? timeout}) async { var start = DateTime.now(); @@ -10,23 +32,20 @@ Future pingGameServer(String address, {Duration? timeout}) async { while (firstTime || (timeout != null && DateTime.now().millisecondsSinceEpoch - start.millisecondsSinceEpoch < timeout.inMilliseconds)) { var split = address.split(":"); var hostname = split[0]; - var port = split.length > 1 ? split[1] : kDefaultGameServerPort; - var result = await Process.run( - "powershell", - [ - _script.path, - hostname, - port - ] - ); - if (result.exitCode == 0) { + if(isLocalHost(hostname)) { + hostname = "127.0.0.1"; + } + + var port = int.parse(split.length > 1 ? split[1] : kDefaultGameServerPort); + var result = await Future.any([_timeoutFuture, _pingGameServer(hostname, port)]); + if(result) { return true; } if(firstTime) { firstTime = false; }else { - await Future.delayed(const Duration(seconds: 2)); + await Future.delayed(_timeout); } } diff --git a/gui/lib/src/util/translations.dart b/gui/lib/src/util/translations.dart new file mode 100644 index 0000000..0cbb861 --- /dev/null +++ b/gui/lib/src/util/translations.dart @@ -0,0 +1,18 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:flutter_gen/gen_l10n/reboot_localizations.dart'; + +AppLocalizations? _translations; +bool _init = false; + +AppLocalizations get translations { + if(!_init) { + throw StateError("Translations haven't been loaded"); + } + + return _translations!; +} + +void loadTranslations(BuildContext context) { + _translations = AppLocalizations.of(context)!; + _init = true; +} \ No newline at end of file diff --git a/gui/lib/src/widget/common/file_selector.dart b/gui/lib/src/widget/common/file_selector.dart index 1b22191..f40b5ea 100644 --- a/gui/lib/src/widget/common/file_selector.dart +++ b/gui/lib/src/widget/common/file_selector.dart @@ -1,6 +1,5 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:flutter/foundation.dart'; -import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; import 'package:reboot_launcher/src/util/picker.dart'; class FileSelector extends StatefulWidget { @@ -56,7 +55,6 @@ class _FileSelectorState extends State { void _onPressed() { if(_selecting){ - showInfoBar("Folder selector is already opened"); return; } diff --git a/gui/lib/src/widget/common/setting_tile.dart b/gui/lib/src/widget/common/setting_tile.dart index 683eb5d..a856b36 100644 --- a/gui/lib/src/widget/common/setting_tile.dart +++ b/gui/lib/src/widget/common/setting_tile.dart @@ -39,21 +39,28 @@ class SettingTile extends StatefulWidget { class _SettingTileState extends State { @override Widget build(BuildContext context) { - if (widget.expandedContent == null || widget.expandedContent?.isEmpty == true) { - return _contentCard; - } + return ConstrainedBox( + constraints: const BoxConstraints( + maxWidth: 1000 + ), + child: () { + if (widget.expandedContent == null || widget.expandedContent?.isEmpty == true) { + return _contentCard; + } - return Expander( - initiallyExpanded: true, - headerShape: (open) => const RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(4.0)), - ), - header: SizedBox( - height: widget.expandedContentHeaderHeight, - child: _buildTile(false) - ), - trailing: _trailing, - content: _expandedContent + return Expander( + initiallyExpanded: true, + headerShape: (open) => const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(4.0)), + ), + header: SizedBox( + height: widget.expandedContentHeaderHeight, + child: _buildTile(false) + ), + trailing: _trailing, + content: _expandedContent + ); + }() ); } diff --git a/gui/lib/src/widget/game/start_button.dart b/gui/lib/src/widget/game/start_button.dart index 4a11756..79143c0 100644 --- a/gui/lib/src/widget/game/start_button.dart +++ b/gui/lib/src/widget/game/start_button.dart @@ -4,9 +4,7 @@ import 'dart:io'; import 'package:async/async.dart'; import 'package:dart_ipify/dart_ipify.dart'; import 'package:fluent_ui/fluent_ui.dart'; -import 'package:flutter/gestures.dart'; import 'package:get/get.dart'; -import 'package:path/path.dart' as path; import 'package:process_run/shell.dart'; import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/controller/authenticator_controller.dart'; @@ -14,13 +12,14 @@ import 'package:reboot_launcher/src/controller/game_controller.dart'; import 'package:reboot_launcher/src/controller/hosting_controller.dart'; import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; import 'package:reboot_launcher/src/controller/settings_controller.dart'; -import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; -import 'package:reboot_launcher/src/dialog/implementation/game.dart'; +import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart' as messenger; import 'package:reboot_launcher/src/dialog/implementation/server.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/page/pages.dart'; import 'package:reboot_launcher/src/util/matchmaker.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:reboot_launcher/src/util/tutorial.dart'; import 'package:reboot_launcher/src/util/watch.dart'; -import 'package:supabase_flutter/supabase_flutter.dart'; class LaunchButton extends StatefulWidget { final bool host; @@ -34,14 +33,12 @@ class LaunchButton extends StatefulWidget { } class _LaunchButtonState extends State { - final SupabaseClient _supabase = Supabase.instance.client; final GameController _gameController = Get.find(); final HostingController _hostingController = Get.find(); final AuthenticatorController _authenticatorController = Get.find(); final MatchmakerController _matchmakerController = Get.find(); final SettingsController _settingsController = Get.find(); - final File _logFile = File("${logsDirectory.path}\\game.log"); - bool _fail = false; + CancelableOperation? _operation; @override Widget build(BuildContext context) => Align( @@ -51,7 +48,7 @@ class _LaunchButtonState extends State { child: Obx(() => SizedBox( height: 48, child: Button( - onPressed: _start, + onPressed: () => _operation = CancelableOperation.fromFuture(_start()), child: Align( alignment: Alignment.center, child: Text(_hasStarted ? _stopMessage : _startMessage) @@ -65,27 +62,32 @@ class _LaunchButtonState extends State { void _setStarted(bool hosting, bool started) => hosting ? _hostingController.started.value = started : _gameController.started.value = started; - String get _startMessage => widget.startLabel ?? (widget.host ? "Start hosting" : "Launch fortnite"); + String get _startMessage => widget.startLabel ?? (widget.host ? translations.startHosting : translations.startGame); - String get _stopMessage => widget.stopLabel ?? (widget.host ? "Stop hosting" : "Close fortnite"); + String get _stopMessage => widget.stopLabel ?? (widget.host ? translations.stopHosting : translations.stopGame); Future _start() async { if (_hasStarted) { - _onStop(widget.host, false); - removeMessage(widget.host ? 1 : 0); + _onStop( + reason: _StopReason.normal + ); + return; + } + + if(_operation != null) { return; } - _fail = false; if(_gameController.selectedVersion == null){ - showInfoBar("Select a Fortnite version before continuing"); - _onStop(widget.host, false); + _onStop( + reason: _StopReason.missingVersionError + ); return; } _setStarted(widget.host, true); - for (var element in Injectable.values) { - if(await _getDllPath(element, widget.host) == null) { + for (var injectable in _Injectable.values) { + if(await _getDllFileOrStop(injectable, widget.host) == null) { return; } } @@ -94,58 +96,44 @@ class _LaunchButtonState extends State { var version = _gameController.selectedVersion!; var executable = await version.executable; if(executable == null){ - showMissingBuildError(version); - _onStop(widget.host, false); - return; - } - - var authenticatorResult = _authenticatorController.started() || await _authenticatorController.toggleInteractive(false); - if(!authenticatorResult){ - _onStop(widget.host, false); - return; - } - - var matchmakerResult = _matchmakerController.started() || await _matchmakerController.toggleInteractive(false); - if(!matchmakerResult){ - _onStop(widget.host, false); - return; - } - - var automaticallyStartedServer = await _startMatchMakingServer(); - await _startGameProcesses(version, widget.host, automaticallyStartedServer); - if(widget.host){ - showInfoBar( - "Launching the headless server...", - loading: true, - duration: null + _onStop( + reason: _StopReason.missingExecutableError, + error: version.location.path ); + return; } - } catch (exception, stacktrace) { - _onStop(widget.host, false); - showCorruptedBuildError(widget.host, exception, stacktrace); + + var authenticatorResult = _authenticatorController.started() || await _authenticatorController.toggleInteractive(_pageType, false); + if(!authenticatorResult){ + _onStop( + reason: _StopReason.authenticatorError + ); + return; + } + + var matchmakerResult = _matchmakerController.started() || await _matchmakerController.toggleInteractive(_pageType, false); + if(!matchmakerResult){ + _onStop( + reason: _StopReason.matchmakerError + ); + return; + } + + var automaticallyStartedServer = await _startMatchMakingServer(version); + await _startGameProcesses(version, widget.host, automaticallyStartedServer); + if(automaticallyStartedServer || widget.host){ + _showLaunchingGameServerWidget(); + } + } catch (exception, stackTrace) { + _onStop( + reason: _StopReason.unknownError, + error: exception.toString(), + stackTrace: stackTrace + ); } } - Future _startGameProcesses(FortniteVersion version, bool host, bool linkedHosting) async { - _setStarted(host, true); - var launcherProcess = await _createLauncherProcess(version); - var eacProcess = await _createEacProcess(version); - var executable = await version.executable; - var gameProcess = await _createGameProcess(executable!.path, host); - var instance = GameInstance(version.name, gameProcess, launcherProcess, eacProcess, host, linkedHosting); - instance.startObserver(); - if(host){ - _removeHostEntry(); - _hostingController.instance.value = instance; - _hostingController.saveInstance(); - }else{ - _gameController.instance.value = instance; - _gameController.saveInstance(); - } - _injectOrShowError(Injectable.sslBypass, host); - } - - Future _startMatchMakingServer() async { + Future _startMatchMakingServer(FortniteVersion version) async { if(widget.host){ return false; } @@ -155,47 +143,59 @@ class _LaunchButtonState extends State { return false; } - if(!_gameController.autoStartGameServer()){ - return false; - } - if(_hostingController.started()){ return false; } - var version = _gameController.selectedVersion!; - await _startGameProcesses(version, true, false); + _startGameProcesses(version, true, false); // Do not await + _setStarted(true, true); return true; } - Future _createGameProcess(String gamePath, bool host) async { - var gameArgs = createRebootArgs(_safeUsername, _gameController.password.text, host, _gameController.customLaunchArgs.text); - var gameProcess = await Process.start(gamePath, gameArgs); + Future _startGameProcesses(FortniteVersion version, bool host, bool linkedHosting) async { + var launcherProcess = await _createLauncherProcess(version); + var eacProcess = await _createEacProcess(version); + var executable = await version.executable; + var gameProcess = await _createGameProcess(executable!.path, host); + if(gameProcess == null) { + return; + } + + var instance = GameInstance(version.name, gameProcess, launcherProcess, eacProcess, host, linkedHosting); + instance.startObserver(); + if(host){ + _hostingController.discardServer(); + _hostingController.instance.value = instance; + _hostingController.saveInstance(); + }else{ + _gameController.instance.value = instance; + _gameController.saveInstance(); + } + _injectOrShowError(_Injectable.sslBypass, host); + } + + Future _createGameProcess(String gamePath, bool host) async { + if(!_hasStarted) { + return null; + } + + var gameArgs = createRebootArgs( + _gameController.username.text, + _gameController.password.text, + host, + _gameController.customLaunchArgs.text + ); + var gameProcess = await Process.start( + gamePath, + gameArgs + ); gameProcess - ..exitCode.then((_) => _onEnd()) + ..exitCode.then((_) => _onStop(reason: _StopReason.normal)) ..outLines.forEach((line) => _onGameOutput(line, host)) ..errLines.forEach((line) => _onGameOutput(line, host)); return gameProcess.pid; } - String get _safeUsername { - if (_gameController.username.text.isEmpty) { - return kDefaultPlayerName; - } - - var username = _gameController.username.text; - if(_gameController.password.text.isNotEmpty){ - return username; - } - - username = _gameController.username.text.replaceAll(RegExp("[^A-Za-z0-9]"), "").trim(); - if(username.isEmpty){ - return kDefaultPlayerName; - } - - return username; - } - Future _createLauncherProcess(FortniteVersion version) async { var launcherFile = version.launcher; if (launcherFile == null) { @@ -220,41 +220,57 @@ class _LaunchButtonState extends State { return pid; } - void _onEnd() { - if(_fail){ - return; - } - - _onStop(widget.host, false); - } - - void _closeLaunchingWidget(bool host, bool message) async { - if(!message) { - return; - } - - if(_fail) { - showInfoBar( - "An error occurred while starting the headless server", - severity: InfoBarSeverity.error + void _onGameOutput(String line, bool host) { + if (line.contains(shutdownLine)) { + _onStop( + reason: _StopReason.normal ); return; } - var theme = FluentTheme.of(context); + if(corruptedBuildErrors.any((element) => line.contains(element))){ + _onStop( + reason: _StopReason.corruptedVersionError + ); + return; + } + + if(cannotConnectErrors.any((element) => line.contains(element))){ + _onStop( + reason: _StopReason.tokenError + ); + return; + } + + if(line.contains("Region ")){ + if(!host){ + _injectOrShowError(_Injectable.console, host); + }else { + _injectOrShowError(_Injectable.reboot, host) + .then((value) => _onGameServerInjected()); + } + + _injectOrShowError(_Injectable.memoryFix, host); + var instance = host ? _hostingController.instance.value : _gameController.instance.value; + instance?.tokenError = false; + } + } + + Future _onGameServerInjected() async { + var theme = FluentTheme.of(appKey.currentContext!); showInfoBar( - "Waiting for the game server to boot up...", + translations.waitingForGameServer, loading: true, duration: null ); var gameServerPort = _settingsController.gameServerPort.text; var localPingResult = await pingGameServer( - "localhost:$gameServerPort", + "127.0.0.1:$gameServerPort", timeout: const Duration(minutes: 1) ); if(!localPingResult) { showInfoBar( - "The headless server was started successfully, but the game server didn't boot", + translations.gameServerStartWarning, severity: InfoBarSeverity.error, duration: snackbarLongDuration ); @@ -262,10 +278,10 @@ class _LaunchButtonState extends State { } _matchmakerController.joinLocalHost(); - var accessible = await _checkAccessible(theme, gameServerPort); + var accessible = await _checkGameServer(theme, gameServerPort); if(!accessible) { showInfoBar( - "The game server was started successfully, but other players can't join", + translations.gameServerStartLocalWarning, severity: InfoBarSeverity.warning, duration: snackbarLongDuration ); @@ -273,19 +289,19 @@ class _LaunchButtonState extends State { } await _hostingController.publishServer( - _gameController.username.text, - _hostingController.instance.value!.versionName, + _gameController.username.text, + _hostingController.instance.value!.versionName, ); showInfoBar( - "The game server was started successfully", + translations.gameServerStarted, severity: InfoBarSeverity.success, duration: snackbarLongDuration ); } - Future _checkAccessible(FluentThemeData theme, String gameServerPort) async { + Future _checkGameServer(FluentThemeData theme, String gameServerPort) async { showInfoBar( - "Checking if other players can join the game server...", + translations.checkingGameServer, loading: true, duration: null ); @@ -295,107 +311,35 @@ class _LaunchButtonState extends State { return true; } - var future = CancelableOperation.fromFuture(pingGameServer( + var future = pingGameServer( "$publicIp:$gameServerPort", timeout: const Duration(days: 365) - )); + ); showInfoBar( - Text.rich( - TextSpan( - children: [ - const TextSpan( - text: "Other players can't join the game server currently: please follow " - ), - TextSpan( - text: "this tutorial", - mouseCursor: SystemMouseCursors.click, - style: TextStyle( - color: theme.accentColor.dark - ), - recognizer: TapGestureRecognizer()..onTap = openPortTutorial - ), - const TextSpan( - text: " to fix this problem" - ), - ] - ) - ), + translations.checkGameServerFixMessage(gameServerPort), action: Button( - onPressed: () { - future.cancel(); - removeMessage(1); - }, - child: const Text("Ignore"), + onPressed: openPortTutorial, + child: Text(translations.checkGameServerFixAction), ), severity: InfoBarSeverity.warning, duration: null, loading: true ); - return await future.valueOrCancellation() ?? false; + return await future; } - void _onGameOutput(String line, bool host) { - _logFile.createSync(recursive: true); - _logFile.writeAsString("$line\n", mode: FileMode.append); - if (line.contains(shutdownLine)) { - _onStop(host, false); - return; - } - - if(corruptedBuildErrors.any((element) => line.contains(element))){ - if(_fail){ - return; - } - - _fail = true; - showCorruptedBuildError(host); - _onStop(host, false); - return; - } - - if(cannotConnectErrors.any((element) => line.contains(element))){ - if(_fail){ - return; - } - - _showTokenError(host); - return; - } - - if(line.contains("Region ")){ - if(!host){ - _injectOrShowError(Injectable.console, host); - }else { - _injectOrShowError(Injectable.reboot, host) - .then((value) => _closeLaunchingWidget(host, true)); - } - - _injectOrShowError(Injectable.memoryFix, host); - var instance = host ? _hostingController.instance.value : _gameController.instance.value; - instance?.tokenError = false; - } - } - - Future _showTokenError(bool host) async { - _fail = true; - var instance = host ? _hostingController.instance.value : _gameController.instance.value; - if(_authenticatorController.type() != ServerType.embedded) { - showTokenErrorUnfixable(); - instance?.tokenError = true; - return; - } - - await _authenticatorController.restartInteractive(); - showTokenErrorFixable(); - _onStop(host, false); - _start(); - } - - void _onStop(bool host, bool showMessage) async { + void _onStop({required _StopReason reason, bool? host, String? error, StackTrace? stackTrace}) async { + host = host ?? widget.host; + await _operation?.cancel(); + await _authenticatorController.worker?.cancel(); + await _matchmakerController.worker?.cancel(); var instance = host ? _hostingController.instance.value : _gameController.instance.value; if(instance != null){ if(instance.linkedHosting){ - _onStop(true, showMessage); + _onStop( + reason: _StopReason.normal, + host: true + ); } instance.kill(); @@ -407,21 +351,70 @@ class _LaunchButtonState extends State { } _setStarted(host, false); - if(host){ - await _removeHostEntry(); + _hostingController.discardServer(); } - _closeLaunchingWidget(host, showMessage); + messenger.removeMessageByPage(_pageType.index); + switch(reason) { + case _StopReason.authenticatorError: + case _StopReason.matchmakerError: + case _StopReason.normal: + break; + case _StopReason.missingVersionError: + showInfoBar( + translations.missingVersionError, + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + case _StopReason.missingExecutableError: + showInfoBar( + translations.missingExecutableError, + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + case _StopReason.corruptedVersionError: + showInfoBar( + translations.corruptedVersionError, + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + case _StopReason.missingDllError: + showInfoBar( + translations.missingDllError(error!), + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + case _StopReason.corruptedDllError: + showInfoBar( + translations.corruptedDllError(error!), + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + case _StopReason.tokenError: + showInfoBar( + translations.tokenError, + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + case _StopReason.unknownError: + showInfoBar( + translations.unknownFortniteError(error ?? translations.unknownError), + severity: InfoBarSeverity.error, + duration: snackbarLongDuration, + ); + break; + } + _operation = null; } - Future _removeHostEntry() async { - await _supabase.from('hosts') - .delete() - .match({'id': _hostingController.uuid}); - } - - Future _injectOrShowError(Injectable injectable, bool hosting) async { + Future _injectOrShowError(_Injectable injectable, bool hosting) async { var instance = hosting ? _hostingController.instance.value : _gameController.instance.value; if (instance == null) { return; @@ -429,51 +422,82 @@ class _LaunchButtonState extends State { try { var gameProcess = instance.gamePid; - var dllPath = await _getDllPath(injectable, hosting); + var dllPath = await _getDllFileOrStop(injectable, hosting); if(dllPath == null) { return; } await injectDll(gameProcess, dllPath.path); - } catch (exception) { - showInfoBar("Cannot inject $injectable.dll: $exception"); - _onStop(hosting, false); + } catch (error, stackTrace) { + _onStop( + reason: _StopReason.corruptedDllError, + host: hosting, + error: error.toString(), + stackTrace: stackTrace + ); } } - Future _getDllPath(Injectable injectable, bool hosting) async { - Future getPath(Injectable injectable) async { - switch(injectable){ - case Injectable.reboot: - return File(_settingsController.gameServerDll.text); - case Injectable.console: - return File(_settingsController.unrealEngineConsoleDll.text); - case Injectable.sslBypass: - return File(_settingsController.authenticatorDll.text); - case Injectable.memoryFix: - return File("${assetsDirectory.path}\\dlls\\memoryleak.dll"); - } + String _getDllPath(_Injectable injectable) { + switch(injectable){ + case _Injectable.reboot: + return _settingsController.gameServerDll.text; + case _Injectable.console: + return _settingsController.unrealEngineConsoleDll.text; + case _Injectable.sslBypass: + return _settingsController.authenticatorDll.text; + case _Injectable.memoryFix: + return _settingsController.memoryLeakDll.text; + } + } + + Future _getDllFileOrStop(_Injectable injectable, bool host) async { + var path = _getDllPath(injectable); + var file = File(path); + if(await file.exists()) { + return file; } - var dllPath = await getPath(injectable); - if(dllPath.existsSync()) { - return dllPath; - } - - _onDllFail(dllPath, hosting); + _onStop( + reason: _StopReason.missingDllError, + host: host, + error: path + ); return null; } - void _onDllFail(File dllPath, bool hosting) { - WidgetsBinding.instance.addPostFrameCallback((_) { - _fail = true; - showMissingDllError(path.basename(dllPath.path)); - _onStop(hosting, false); - }); - } + OverlayEntry _showLaunchingGameServerWidget() => showInfoBar( + translations.launchingHeadlessServer, + loading: true, + duration: null + ); + + OverlayEntry showInfoBar(dynamic text, {InfoBarSeverity severity = InfoBarSeverity.info, bool loading = false, Duration? duration = snackbarShortDuration, Widget? action}) => messenger.showInfoBar( + text, + pageType: _pageType, + severity: severity, + loading: loading, + duration: duration, + action: action + ); + + RebootPageType get _pageType => widget.host ? RebootPageType.host : RebootPageType.play; } -enum Injectable { +enum _StopReason { + normal, + missingVersionError, + missingExecutableError, + corruptedVersionError, + missingDllError, + corruptedDllError, + authenticatorError, + matchmakerError, + tokenError, + unknownError +} + +enum _Injectable { console, sslBypass, reboot, diff --git a/gui/lib/src/widget/home/pane.dart b/gui/lib/src/widget/home/pane.dart deleted file mode 100644 index 0d0d7e0..0000000 --- a/gui/lib/src/widget/home/pane.dart +++ /dev/null @@ -1,338 +0,0 @@ -import 'package:fluent_ui/fluent_ui.dart'; - -class RebootPaneItem extends PaneItem { - RebootPaneItem({required super.title, required super.icon, required super.body}); - - @override - Widget build( - BuildContext context, - bool selected, - VoidCallback? onPressed, { - PaneDisplayMode? displayMode, - bool showTextOnTop = true, - int? itemIndex, - bool? autofocus, - }) { - final maybeBody = _InheritedNavigationView.maybeOf(context); - final mode = displayMode ?? - maybeBody?.displayMode ?? - maybeBody?.pane?.displayMode ?? - PaneDisplayMode.minimal; - assert(mode != PaneDisplayMode.auto); - assert(debugCheckHasFluentTheme(context)); - - final isTransitioning = maybeBody?.isTransitioning ?? false; - - final theme = NavigationPaneTheme.of(context); - final titleText = title?.getProperty() ?? ''; - - final baseStyle = title?.getProperty() ?? const TextStyle(); - - final isTop = mode == PaneDisplayMode.top; - final isMinimal = mode == PaneDisplayMode.minimal; - final isCompact = mode == PaneDisplayMode.compact; - - final onItemTapped = - (onPressed == null && onTap == null) || !enabled || isTransitioning - ? null - : () { - onPressed?.call(); - onTap?.call(); - }; - - final button = HoverButton( - autofocus: autofocus ?? this.autofocus, - focusNode: focusNode, - onPressed: onItemTapped, - cursor: mouseCursor, - focusEnabled: isMinimal ? (maybeBody?.minimalPaneOpen ?? false) : true, - forceEnabled: enabled, - builder: (context, states) { - var textStyle = () { - var style = !isTop - ? (selected - ? theme.selectedTextStyle?.resolve(states) - : theme.unselectedTextStyle?.resolve(states)) - : (selected - ? theme.selectedTopTextStyle?.resolve(states) - : theme.unselectedTopTextStyle?.resolve(states)); - if (style == null) return baseStyle; - return style.merge(baseStyle); - }(); - - final textResult = titleText.isNotEmpty - ? Padding( - padding: theme.labelPadding ?? EdgeInsets.zero, - child: RichText( - text: title!.getProperty(textStyle)!, - maxLines: 1, - overflow: TextOverflow.fade, - softWrap: false, - textAlign: title?.getProperty() ?? TextAlign.start, - textHeightBehavior: title?.getProperty(), - textWidthBasis: title?.getProperty() ?? - TextWidthBasis.parent, - ), - ) - : const SizedBox.shrink(); - Widget result() { - final iconThemeData = IconThemeData( - color: textStyle.color ?? - (selected - ? theme.selectedIconColor?.resolve(states) - : theme.unselectedIconColor?.resolve(states)), - size: textStyle.fontSize ?? 16.0, - ); - switch (mode) { - case PaneDisplayMode.compact: - return Container( - key: itemKey, - constraints: const BoxConstraints( - minHeight: kPaneItemMinHeight, - ), - alignment: AlignmentDirectional.center, - child: Padding( - padding: theme.iconPadding ?? EdgeInsets.zero, - child: IconTheme.merge( - data: iconThemeData, - child: Align( - alignment: AlignmentDirectional.centerStart, - child: () { - if (infoBadge != null) { - return Stack( - alignment: AlignmentDirectional.center, - clipBehavior: Clip.none, - children: [ - icon, - PositionedDirectional( - end: -8, - top: -8, - child: infoBadge!, - ), - ], - ); - } - return icon; - }(), - ), - ), - ), - ); - case PaneDisplayMode.minimal: - case PaneDisplayMode.open: - final shouldShowTrailing = !isTransitioning; - - return ConstrainedBox( - key: itemKey, - constraints: const BoxConstraints( - minHeight: kPaneItemMinHeight, - ), - child: Row(children: [ - Padding( - padding: theme.iconPadding ?? EdgeInsets.zero, - child: IconTheme.merge( - data: iconThemeData, - child: Center(child: icon), - ), - ), - Expanded(child: textResult), - if (shouldShowTrailing) ...[ - if (infoBadge != null) - Padding( - padding: const EdgeInsetsDirectional.only(end: 8.0), - child: infoBadge!, - ), - if (trailing != null) - IconTheme.merge( - data: const IconThemeData(size: 16.0), - child: trailing!, - ), - ], - ]), - ); - case PaneDisplayMode.top: - Widget result = Row(mainAxisSize: MainAxisSize.min, children: [ - Padding( - padding: theme.iconPadding ?? EdgeInsets.zero, - child: IconTheme.merge( - data: iconThemeData, - child: Center(child: icon), - ), - ), - if (showTextOnTop) textResult, - if (trailing != null) - IconTheme.merge( - data: const IconThemeData(size: 16.0), - child: trailing!, - ), - ]); - if (infoBadge != null) { - return Stack(key: itemKey, clipBehavior: Clip.none, children: [ - result, - if (infoBadge != null) - PositionedDirectional( - end: -3, - top: 3, - child: infoBadge!, - ), - ]); - } - return KeyedSubtree(key: itemKey, child: result); - default: - throw '$mode is not a supported type'; - } - } - - return Semantics( - label: titleText.isEmpty ? null : titleText, - selected: selected, - child: Container( - margin: const EdgeInsets.symmetric(horizontal: 6.0), - decoration: BoxDecoration( - color: () { - final tileColor = this.tileColor ?? - theme.tileColor ?? - kDefaultPaneItemColor(context, isTop); - final newStates = states.toSet()..remove(ButtonStates.disabled); - if (selected && selectedTileColor != null) { - return selectedTileColor!.resolve(newStates); - } - return tileColor.resolve( - selected - ? { - states.isHovering - ? ButtonStates.pressing - : ButtonStates.hovering, - } - : newStates, - ); - }(), - borderRadius: BorderRadius.circular(4.0), - ), - child: FocusBorder( - focused: states.isFocused, - renderOutside: false, - child: () { - final showTooltip = ((isTop && !showTextOnTop) || isCompact) && - titleText.isNotEmpty && - !states.isDisabled; - - if (showTooltip) { - return Tooltip( - richMessage: title?.getProperty(), - style: TooltipThemeData(textStyle: baseStyle), - child: result(), - ); - } - - return result(); - }(), - ), - ), - ); - }, - ); - - final index = () { - if (itemIndex != null) return itemIndex; - if (maybeBody?.pane?.indicator != null) { - return maybeBody!.pane!.effectiveIndexOf(this); - } - }(); - - return Padding( - key: key, - padding: const EdgeInsetsDirectional.symmetric(horizontal: 12.0, vertical: 2.0), - child: () { - if (maybeBody?.pane?.indicator != null && - index != null && - !index.isNegative) { - final key = PaneItemKeys.of(index, context); - - return Stack(children: [ - button, - Positioned.fill( - child: _InheritedNavigationView.merge( - currentItemIndex: index, - currentItemSelected: selected, - child: KeyedSubtree( - key: key, - child: maybeBody!.pane!.indicator!, - ), - ), - ), - ]); - } - - return button; - }(), - ); - } -} - -class _InheritedNavigationView extends InheritedWidget { - const _InheritedNavigationView({ - super.key, - required super.child, - required this.displayMode, - this.minimalPaneOpen = false, - this.pane, - this.previousItemIndex = 0, - this.currentItemIndex = -1, - this.isTransitioning = false, - }); - - final PaneDisplayMode displayMode; - - final bool minimalPaneOpen; - - final NavigationPane? pane; - - final int previousItemIndex; - - final int currentItemIndex; - - final bool isTransitioning; - - static _InheritedNavigationView? maybeOf(BuildContext context) { - return context - .dependOnInheritedWidgetOfExactType<_InheritedNavigationView>(); - } - - static Widget merge({ - Key? key, - required Widget child, - int? currentItemIndex, - NavigationPane? pane, - PaneDisplayMode? displayMode, - bool? minimalPaneOpen, - int? previousItemIndex, - bool? currentItemSelected, - bool? isTransitioning, - }) { - return Builder(builder: (context) { - final current = _InheritedNavigationView.maybeOf(context); - return _InheritedNavigationView( - key: key, - displayMode: - displayMode ?? current?.displayMode ?? PaneDisplayMode.open, - minimalPaneOpen: minimalPaneOpen ?? current?.minimalPaneOpen ?? false, - currentItemIndex: currentItemIndex ?? current?.currentItemIndex ?? -1, - pane: pane ?? current?.pane, - previousItemIndex: previousItemIndex ?? current?.previousItemIndex ?? 0, - isTransitioning: isTransitioning ?? current?.isTransitioning ?? false, - child: child, - ); - }); - } - - @override - bool updateShouldNotify(covariant _InheritedNavigationView oldWidget) { - return oldWidget.displayMode != displayMode || - oldWidget.minimalPaneOpen != minimalPaneOpen || - oldWidget.pane != pane || - oldWidget.previousItemIndex != previousItemIndex || - oldWidget.currentItemIndex != currentItemIndex || - oldWidget.isTransitioning != isTransitioning; - } -} diff --git a/gui/lib/src/widget/os/border.dart b/gui/lib/src/widget/os/border.dart deleted file mode 100644 index 98ab9ac..0000000 --- a/gui/lib/src/widget/os/border.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:reboot_common/common.dart'; -import 'package:system_theme/system_theme.dart'; - -class WindowBorder extends StatelessWidget { - const WindowBorder({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return IgnorePointer( - child: Padding( - padding: const EdgeInsets.only( - top: 1 - ), - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - border: Border.all( - color: SystemTheme.accentColor.accent, - width: appBarWidth.toDouble() - ) - ) - ), - ) - ); - } -} diff --git a/gui/lib/src/widget/os/mouse.dart b/gui/lib/src/widget/os/mouse.dart index 167785e..21f680d 100644 --- a/gui/lib/src/widget/os/mouse.dart +++ b/gui/lib/src/widget/os/mouse.dart @@ -4,15 +4,10 @@ typedef MouseStateBuilderCB = Widget Function( BuildContext context, MouseState mouseState); class MouseState { - bool isMouseOver = false; - bool isMouseDown = false; + bool isMouseOver; + bool isMouseDown; - MouseState(); - - @override - String toString() { - return "isMouseDown: $isMouseDown - isMouseOver: $isMouseOver"; - } + MouseState() : isMouseOver = false, isMouseDown = false; } class MouseStateBuilder extends StatefulWidget { diff --git a/gui/lib/src/widget/server/start_button.dart b/gui/lib/src/widget/server/start_button.dart index f882cc9..aa07164 100644 --- a/gui/lib/src/widget/server/start_button.dart +++ b/gui/lib/src/widget/server/start_button.dart @@ -5,6 +5,8 @@ import 'package:reboot_launcher/src/controller/authenticator_controller.dart'; import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; import 'package:reboot_launcher/src/controller/server_controller.dart'; import 'package:reboot_launcher/src/dialog/implementation/server.dart'; +import 'package:reboot_launcher/src/page/abstract/page_type.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class ServerButton extends StatefulWidget { final bool authenticator; @@ -29,7 +31,7 @@ class _ServerButtonState extends State { alignment: Alignment.center, child: Text(_buttonText), ), - onPressed: () => _controller.toggleInteractive() + onPressed: () => _controller.toggleInteractive(widget.authenticator ? RebootPageType.authenticator : RebootPageType.matchmaker) ), )), ), @@ -37,13 +39,13 @@ class _ServerButtonState extends State { String get _buttonText { if(_controller.type.value == ServerType.local){ - return "Check ${_controller.controllerName}"; + return translations.checkServer(_controller.controllerName); } if(_controller.started.value){ - return "Stop ${_controller.controllerName}"; + return translations.stopServer(_controller.controllerName); } - return "Start ${_controller.controllerName}"; + return translations.startServer(_controller.controllerName); } } diff --git a/gui/lib/src/widget/server/type_selector.dart b/gui/lib/src/widget/server/type_selector.dart index 36e82cd..32df4ac 100644 --- a/gui/lib/src/widget/server/type_selector.dart +++ b/gui/lib/src/widget/server/type_selector.dart @@ -1,9 +1,10 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; -import 'package:reboot_common/src/model/server_type.dart'; +import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/controller/authenticator_controller.dart'; import 'package:reboot_launcher/src/controller/matchmaker_controller.dart'; import 'package:reboot_launcher/src/controller/server_controller.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class ServerTypeSelector extends StatefulWidget { final bool authenticator; @@ -30,10 +31,7 @@ class _ServerTypeSelectorState extends State { MenuFlyoutItem _createItem(ServerType type) { return MenuFlyoutItem( - text: Tooltip( - message: type.message, - child: Text(type.label) - ), + text: Text(type.label), onPressed: () async { _controller.stop(); _controller.type.value = type; @@ -44,14 +42,8 @@ class _ServerTypeSelectorState extends State { extension ServerTypeExtension on ServerType { String get label { - return this == ServerType.embedded ? "Embedded" - : this == ServerType.remote ? "Remote" - : "Local"; - } - - String get message { - return this == ServerType.embedded ? "A server will be automatically started in the background" - : this == ServerType.remote ? "A reverse proxy to the remote server will be created" - : "Assumes that you are running yourself the server locally"; + return this == ServerType.embedded ? translations.embedded + : this == ServerType.remote ? translations.remote + : translations.local; } } diff --git a/gui/lib/src/widget/version/add_local_version.dart b/gui/lib/src/widget/version/add_local_version.dart index 6a876f5..a3da700 100644 --- a/gui/lib/src/widget/version/add_local_version.dart +++ b/gui/lib/src/widget/version/add_local_version.dart @@ -8,6 +8,7 @@ import 'package:reboot_launcher/src/controller/game_controller.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; import 'package:reboot_launcher/src/util/checks.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:reboot_launcher/src/widget/common/file_selector.dart'; import 'package:reboot_launcher/src/widget/version/version_name_input.dart'; @@ -46,10 +47,10 @@ class _AddLocalVersionState extends State { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - const SizedBox( + SizedBox( width: double.infinity, child: InfoBar( - title: Text("Local builds are not guaranteed to work"), + title: Text(translations.localBuildsWarning), severity: InfoBarSeverity.info ), ), @@ -67,9 +68,9 @@ class _AddLocalVersionState extends State { ), FileSelector( - label: "Game folder", - placeholder: "Type the game folder", - windowTitle: "Select game folder", + label: translations.gameFolderTitle, + placeholder: translations.gameFolderPlaceholder, + windowTitle: translations.gameFolderPlaceWindowTitle, controller: _gamePathController, validator: checkGameFolder, folder: true @@ -86,7 +87,7 @@ class _AddLocalVersionState extends State { ), DialogButton( - text: "Save", + text: translations.saveLocalVersion, type: ButtonType.primary, onTap: () { Navigator.of(context).pop(); diff --git a/gui/lib/src/widget/version/add_server_version.dart b/gui/lib/src/widget/version/add_server_version.dart index ac0b1b6..16aaa0b 100644 --- a/gui/lib/src/widget/version/add_server_version.dart +++ b/gui/lib/src/widget/version/add_server_version.dart @@ -8,14 +8,15 @@ import 'package:get/get.dart'; import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/controller/build_controller.dart'; import 'package:reboot_launcher/src/controller/game_controller.dart'; +import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; +import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; import 'package:reboot_launcher/src/util/checks.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:reboot_launcher/src/widget/common/file_selector.dart'; import 'package:reboot_launcher/src/widget/version/version_build_selector.dart'; import 'package:reboot_launcher/src/widget/version/version_name_input.dart'; import 'package:universal_disk_space/universal_disk_space.dart'; - -import '../../dialog/abstract/dialog.dart'; -import '../../dialog/abstract/dialog_button.dart'; +import 'package:windows_taskbar/windows_taskbar.dart'; class AddServerVersion extends StatefulWidget { const AddServerVersion({Key? key}) : super(key: key); @@ -32,7 +33,7 @@ class _AddServerVersionState extends State { final Rx _status = Rx(DownloadStatus.form); final GlobalKey _formKey = GlobalKey(); final RxnInt _timeLeft = RxnInt(); - final Rxn _downloadProgress = Rxn(); + final Rxn _progress = Rxn(); late DiskSpace _diskSpace; late Future _fetchFuture; @@ -82,7 +83,7 @@ class _AddServerVersionState extends State { if (!snapshot.hasData) { return ProgressDialog( - text: "Fetching builds and disks...", + text: translations.fetchingBuilds, onStop: () => Navigator.of(context).pop() ); } @@ -94,24 +95,20 @@ class _AddServerVersionState extends State { } ); case DownloadStatus.downloading: - return GenericDialog( - header: _downloadBody, - buttons: _stopButton - ); case DownloadStatus.extracting: return GenericDialog( - header: _extractingBody, + header: _progressBody, buttons: _stopButton ); case DownloadStatus.error: return ErrorDialog( - exception: _error ?? Exception("unknown error"), + exception: _error ?? Exception(translations.unknownError), stackTrace: _stackTrace, - errorMessageBuilder: (exception) => "Cannot download version: $exception" + errorMessageBuilder: (exception) => translations.downloadVersionError(exception.toString()) ); case DownloadStatus.done: - return const InfoDialog( - text: "The download was completed successfully!", + return InfoDialog( + text: translations.downloadedVersion ); } }) @@ -120,7 +117,7 @@ class _AddServerVersionState extends State { List get _formButtons => [ DialogButton(type: ButtonType.secondary), DialogButton( - text: "Download", + text: translations.download, type: ButtonType.primary, onTap: () => _startDownload(context), ) @@ -137,11 +134,11 @@ class _AddServerVersionState extends State { var communicationPort = ReceivePort(); communicationPort.listen((message) { if(message is ArchiveDownloadProgress) { - _onDownloadProgress(message.progress, message.minutesLeft, message.extracting); + _onProgress(message.progress, message.minutesLeft, message.extracting); }else if(message is SendPort) { _downloadPort = message; }else { - _onDownloadError("Unexpected message: $message", null); + _onDownloadError(message, null); } }); var options = ArchiveDownloadOptions( @@ -151,20 +148,12 @@ class _AddServerVersionState extends State { ); var errorPort = ReceivePort(); errorPort.listen((message) => _onDownloadError(message, null)); - var exitPort = ReceivePort(); - var isolate = await Isolate.spawn( + await Isolate.spawn( downloadArchiveBuild, options, onError: errorPort.sendPort, - onExit: exitPort.sendPort, errorsAreFatal: true ); - exitPort.listen((message) { - isolate.kill(priority: Isolate.immediate); - if(_status.value != DownloadStatus.error) { - _onDownloadComplete(); - } - }); } catch (exception, stackTrace) { _onDownloadError(exception, stackTrace); } @@ -176,6 +165,7 @@ class _AddServerVersionState extends State { } _status.value = DownloadStatus.done; + WindowsTaskbar.setProgressMode(TaskbarProgressMode.noProgress); WidgetsBinding.instance.addPostFrameCallback((_) => _gameController.addVersion(FortniteVersion( name: _nameController.text, location: Directory(_pathController.text) @@ -188,21 +178,31 @@ class _AddServerVersionState extends State { } _status.value = DownloadStatus.error; + WindowsTaskbar.setProgressMode(TaskbarProgressMode.noProgress); _error = error; _stackTrace = stackTrace; } - void _onDownloadProgress(double progress, int timeLeft, bool extracting) { + void _onProgress(double progress, int? timeLeft, bool extracting) { if (!mounted) { return; } + if(progress >= 100 && extracting) { + _onDownloadComplete(); + return; + } + _status.value = extracting ? DownloadStatus.extracting : DownloadStatus.downloading; + if(progress >= 0) { + WindowsTaskbar.setProgress(progress.round(), 100); + } + _timeLeft.value = timeLeft; - _downloadProgress.value = progress; + _progress.value = progress; } - Widget get _downloadBody { + Widget get _progressBody { var timeLeft = _timeLeft.value; return Column( mainAxisSize: MainAxisSize.min, @@ -210,7 +210,7 @@ class _AddServerVersionState extends State { Align( alignment: Alignment.centerLeft, child: Text( - "Downloading...", + _status.value == DownloadStatus.downloading ? translations.downloading : translations.extracting, style: FluentTheme.maybeOf(context)?.typography.body, textAlign: TextAlign.start, ), @@ -224,13 +224,13 @@ class _AddServerVersionState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - "${(_downloadProgress.value ?? 0).round()}%", + translations.buildProgress((_progress.value ?? 0).round()), style: FluentTheme.maybeOf(context)?.typography.body, ), if(timeLeft != null) Text( - "Time left: ${timeLeft == 0 ? "less than a minute" : "about $timeLeft minute${timeLeft > 1 ? 's' : ''}"}", + translations.timeLeft(timeLeft), style: FluentTheme.maybeOf(context)?.typography.body, ) ], @@ -242,7 +242,7 @@ class _AddServerVersionState extends State { SizedBox( width: double.infinity, - child: ProgressBar(value: (_downloadProgress.value ?? 0).toDouble()) + child: ProgressBar(value: (_progress.value ?? 0).toDouble()) ), const SizedBox( @@ -252,33 +252,6 @@ class _AddServerVersionState extends State { ); } - Widget get _extractingBody => Column( - mainAxisSize: MainAxisSize.min, - children: [ - Align( - alignment: Alignment.centerLeft, - child: Text( - "Extracting...", - style: FluentTheme.maybeOf(context)?.typography.body, - textAlign: TextAlign.start, - ), - ), - - const SizedBox( - height: 8.0, - ), - - const SizedBox( - width: double.infinity, - child: ProgressBar() - ), - - const SizedBox( - height: 8.0, - ) - ], - ); - Widget get _formBody => Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, @@ -300,9 +273,9 @@ class _AddServerVersionState extends State { ), FileSelector( - label: "Installation directory", - placeholder: "Type the installation directory", - windowTitle: "Select installation directory", + label: translations.buildInstallationDirectory, + placeholder: translations.buildInstallationDirectoryPlaceholder, + windowTitle: translations.buildInstallationDirectoryWindowTitle, controller: _pathController, validator: checkDownloadDestination, folder: true diff --git a/gui/lib/src/widget/version/version_build_selector.dart b/gui/lib/src/widget/version/version_build_selector.dart index 3a9a23b..fc6696d 100644 --- a/gui/lib/src/widget/version/version_build_selector.dart +++ b/gui/lib/src/widget/version/version_build_selector.dart @@ -2,6 +2,7 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; import 'package:reboot_common/common.dart'; import 'package:reboot_launcher/src/controller/build_controller.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class BuildSelector extends StatefulWidget { final Function() onSelected; @@ -18,11 +19,11 @@ class _BuildSelectorState extends State { @override Widget build(BuildContext context) { return InfoLabel( - label: "Build", + label: translations.build, child: Obx(() => ComboBox( - placeholder: const Text('Select a fortnite build'), + placeholder: Text(translations.selectBuild), isExpanded: true, - items: _createItems(), + items: _items, value: _buildController.selectedBuild.value, onChanged: (value) { if(value == null){ @@ -36,13 +37,11 @@ class _BuildSelectorState extends State { ); } - List> _createItems() { - return _buildController.builds! - .map((element) => _createItem(element)) - .toList(); - } + List> get _items =>_buildController.builds! + .map((element) => _buildItem(element)) + .toList(); - ComboBoxItem _createItem(FortniteBuild element) { + ComboBoxItem _buildItem(FortniteBuild element) { return ComboBoxItem( value: element, child: Text(element.version.toString()) diff --git a/gui/lib/src/widget/version/version_name_input.dart b/gui/lib/src/widget/version/version_name_input.dart index 521005f..4fd5738 100644 --- a/gui/lib/src/widget/version/version_name_input.dart +++ b/gui/lib/src/widget/version/version_name_input.dart @@ -1,6 +1,8 @@ import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; import 'package:reboot_launcher/src/controller/game_controller.dart'; +import 'package:reboot_launcher/src/util/checks.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; class VersionNameInput extends StatelessWidget { final GameController _gameController = Get.find(); @@ -10,25 +12,13 @@ class VersionNameInput extends StatelessWidget { @override Widget build(BuildContext context) => InfoLabel( - label: "Name", + label: translations.versionName, child: TextFormBox( controller: controller, - placeholder: "Type the version's name", + placeholder: translations.versionNameLabel, autofocus: true, - validator: _validate, + validator: (version) => checkVersion(version, _gameController.versions.value), autovalidateMode: AutovalidateMode.onUserInteraction ), ); - - String? _validate(String? text) { - if (text == null || text.isEmpty) { - return 'Empty version name'; - } - - if (_gameController.versions.value.any((element) => element.name == text)) { - return 'This version already exists'; - } - - return null; - } } diff --git a/gui/lib/src/widget/version/version_selector.dart b/gui/lib/src/widget/version/version_selector.dart index 5821af7..91ef0eb 100644 --- a/gui/lib/src/widget/version/version_selector.dart +++ b/gui/lib/src/widget/version/version_selector.dart @@ -10,6 +10,7 @@ import 'package:reboot_launcher/src/dialog/abstract/dialog.dart'; import 'package:reboot_launcher/src/dialog/abstract/dialog_button.dart'; import 'package:reboot_launcher/src/dialog/abstract/info_bar.dart'; import 'package:reboot_launcher/src/util/checks.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; import 'package:reboot_launcher/src/widget/common/file_selector.dart'; import 'package:reboot_launcher/src/widget/version/add_local_version.dart'; import 'package:reboot_launcher/src/widget/version/add_server_version.dart'; @@ -42,7 +43,7 @@ class _VersionSelectorState extends State { child: FlyoutTarget( controller: _flyoutController, child: DropDownButton( - leading: Text(_gameController.selectedVersion?.name ?? "Select a version"), + leading: Text(_gameController.selectedVersion?.name ?? translations.selectVersion), items: _createSelectorItems(context) ), ) @@ -54,7 +55,7 @@ class _VersionSelectorState extends State { .toList(); MenuFlyoutItem _createDefaultVersionItem() => MenuFlyoutItem( - text: const Text("Please create or download a version"), + text: Text(translations.noVersions), onPressed: () {} ); @@ -147,7 +148,7 @@ class _VersionSelectorState extends State { } bool _onExplorerError() { - showInfoBar("This version doesn't exist on the local machine"); + showInfoBar(translations.missingVersion); return false; } @@ -159,27 +160,28 @@ class _VersionSelectorState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - const SizedBox( + SizedBox( width: double.infinity, - child: Text("Are you sure you want to delete this version?")), + child: Text(translations.deleteVersionDialogTitle) + ), const SizedBox(height: 12.0), Obx(() => Checkbox( checked: _deleteFilesController.value, onChanged: (bool? value) => _deleteFilesController.value = value ?? false, - content: const Text("Delete version files from disk") + content: Text(translations.deleteVersionFromDiskOption) )) ], ), actions: [ Button( onPressed: () => Navigator.of(context).pop(false), - child: const Text('Keep'), + child: Text(translations.deleteVersionCancel), ), - FilledButton( + Button( onPressed: () => Navigator.of(context).pop(true), - child: const Text('Delete'), + child: Text(translations.deleteVersionConfirm), ) ], ) @@ -197,10 +199,10 @@ class _VersionSelectorState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ InfoLabel( - label: "Name", + label: translations.versionName, child: TextFormBox( controller: nameController, - placeholder: "Type the new version name", + placeholder: translations.newVersionNameLabel, autofocus: true, validator: (text) => checkChangeVersion(text) ) @@ -211,9 +213,9 @@ class _VersionSelectorState extends State { ), FileSelector( - placeholder: "Type the new game folder", - windowTitle: "Select game folder", - label: "Path", + placeholder: translations.newVersionNameLabel, + windowTitle: translations.gameFolderPlaceWindowTitle, + label: translations.gameFolderLabel, controller: pathController, validator: checkGameFolder, folder: true @@ -228,7 +230,7 @@ class _VersionSelectorState extends State { ), DialogButton( - text: "Save", + text: translations.newVersionNameConfirm, type: ButtonType.primary, onTap: () { Navigator.of(context).pop(); @@ -252,8 +254,8 @@ enum _ContextualOption { extension _ContextualOptionExtension on _ContextualOption { String get name { - return this == _ContextualOption.openExplorer ? "Open in explorer" - : this == _ContextualOption.modify ? "Modify" - : "Delete"; + return this == _ContextualOption.openExplorer ? translations.openInExplorer + : this == _ContextualOption.modify ? translations.modify + : translations.delete; } } diff --git a/gui/lib/src/widget/version/version_selector_tile.dart b/gui/lib/src/widget/version/version_selector_tile.dart new file mode 100644 index 0000000..6d9b05e --- /dev/null +++ b/gui/lib/src/widget/version/version_selector_tile.dart @@ -0,0 +1,48 @@ +import 'package:fluent_ui/fluent_ui.dart'; +import 'package:reboot_launcher/src/page/abstract/page_setting.dart'; +import 'package:reboot_launcher/src/util/translations.dart'; +import 'package:reboot_launcher/src/widget/common/setting_tile.dart'; +import 'package:reboot_launcher/src/widget/version/version_selector.dart'; + +SettingTile get versionSelectorSettingTile => SettingTile( + title: translations.addVersionName, + subtitle: translations.addVersionDescription, + content: const VersionSelector(), + expandedContent: [ + SettingTile( + title: translations.addLocalBuildName, + subtitle: translations.addLocalBuildDescription, + content: Button( + onPressed: VersionSelector.openAddDialog, + child: Text(translations.addLocalBuildContent) + ), + isChild: true + ), + SettingTile( + title: translations.downloadBuildName, + subtitle: translations.downloadBuildDescription, + content: Button( + onPressed: VersionSelector.openDownloadDialog, + child: Text(translations.downloadBuildContent) + ), + isChild: true + ) + ] +); + +PageSetting get versionSelectorRebootSetting => PageSetting( + name: translations.addVersionName, + description: translations.addVersionDescription, + children: [ + PageSetting( + name: translations.addLocalBuildName, + description: translations.addLocalBuildDescription, + content: translations.addLocalBuildContent + ), + PageSetting( + name: translations.downloadBuildName, + description: translations.downloadBuildDescription, + content: translations.downloadBuildContent + ) + ] +); \ No newline at end of file diff --git a/gui/pubspec.yaml b/gui/pubspec.yaml index e33d3dd..86e4487 100644 --- a/gui/pubspec.yaml +++ b/gui/pubspec.yaml @@ -42,6 +42,9 @@ dependencies: auto_animated_list: ^1.0.4 app_links: ^3.4.3 url_protocol: ^1.0.0 + intl: any + windows_taskbar: ^1.1.2 + flutter_localized_locales: ^2.0.5 dependency_overrides: xml: ^6.3.0 @@ -59,6 +62,7 @@ dev_dependencies: flutter: uses-material-design: true + generate: true assets: - assets/misc/ - assets/dlls/ diff --git a/gui/windows/flutter/generated_plugin_registrant.cc b/gui/windows/flutter/generated_plugin_registrant.cc index 0418bb6..281077a 100644 --- a/gui/windows/flutter/generated_plugin_registrant.cc +++ b/gui/windows/flutter/generated_plugin_registrant.cc @@ -13,6 +13,7 @@ #include #include #include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { AppLinksPluginCApiRegisterWithRegistrar( @@ -29,4 +30,6 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("UrlLauncherWindows")); WindowManagerPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("WindowManagerPlugin")); + WindowsTaskbarPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("WindowsTaskbarPlugin")); } diff --git a/gui/windows/flutter/generated_plugins.cmake b/gui/windows/flutter/generated_plugins.cmake index 65e1e6c..9e8d035 100644 --- a/gui/windows/flutter/generated_plugins.cmake +++ b/gui/windows/flutter/generated_plugins.cmake @@ -10,6 +10,7 @@ list(APPEND FLUTTER_PLUGIN_LIST system_theme url_launcher_windows window_manager + windows_taskbar ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/gui/windows/runner/main.cpp b/gui/windows/runner/main.cpp index 5927a20..1dc80f9 100644 --- a/gui/windows/runner/main.cpp +++ b/gui/windows/runner/main.cpp @@ -1,5 +1,5 @@ #include -auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME); +auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP); #include @@ -16,13 +16,9 @@ auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME); #include #include -bool CheckOneInstance(){ +bool IsAlreadyOpen(){ HANDLE hMutex = CreateMutexW(NULL, TRUE, L"RebootLauncherMutex"); - if (hMutex == NULL) { - return false; - } - - if (GetLastError() == ERROR_ALREADY_EXISTS) { + if (hMutex == NULL && GetLastError() == ERROR_ALREADY_EXISTS) { HWND hwndExisting = FindWindowW(NULL, L"Reboot Launcher"); if (hwndExisting != NULL) { ShowWindow(hwndExisting, SW_RESTORE); @@ -30,10 +26,10 @@ bool CheckOneInstance(){ } CloseHandle(hMutex); - return false; + return true; } - return true; + return false; } constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; @@ -75,12 +71,11 @@ bool SendAppLinkToInstance(const std::wstring& title) { int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, _In_ wchar_t *command_line, _In_ int show_command) { - _putenv_s("OPENSSL_ia32cap", "~0x20000000"); if(SendAppLinkToInstance(L"Reboot Launcher")) { return EXIT_SUCCESS; } - if(!CheckOneInstance()){ + if(!IsDebuggerPresent() && IsAlreadyOpen()){ return EXIT_SUCCESS; } diff --git a/gui/windows/runner/win32_window.cpp b/gui/windows/runner/win32_window.cpp index 23ee5ec..0dcd6a1 100644 --- a/gui/windows/runner/win32_window.cpp +++ b/gui/windows/runner/win32_window.cpp @@ -121,7 +121,7 @@ bool Win32Window::CreateAndShow(const std::wstring &title, HWND window = CreateWindow( window_class, title.c_str(), - WS_OVERLAPPED | WS_THICKFRAME & ~WS_VISIBLE, + WS_OVERLAPPEDWINDOW, Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), Scale(size.width, scale_factor),