From 7bf83b48927908959331ccd57e226d55a016f9b9 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 19 Jan 2023 19:41:54 +0100 Subject: [PATCH 01/44] various fixes --- .../deckers/thibault/aves/MainActivity.kt | 13 ++++++++++- lib/model/settings/settings.dart | 6 ++++- lib/services/media/media_session_service.dart | 13 +++++++++-- lib/utils/constants.dart | 8 +++++++ lib/widgets/about/app_ref.dart | 3 +-- lib/widgets/about/licenses.dart | 3 +-- lib/widgets/collection/app_bar.dart | 3 +-- lib/widgets/collection/collection_grid.dart | 3 ++- .../collection/entry_set_action_delegate.dart | 22 +++++++------------ lib/widgets/collection/grid/tile.dart | 5 ++--- .../common/action_mixins/entry_editor.dart | 5 ++--- .../common/action_mixins/entry_storage.dart | 3 +-- .../common/action_mixins/feedback.dart | 2 +- .../action_mixins/permission_aware.dart | 2 +- lib/widgets/common/basic/color_list_tile.dart | 2 +- .../common/behaviour/pop/tv_navigation.dart | 3 +-- lib/widgets/common/map/buttons/panel.dart | 2 +- lib/widgets/common/search/delegate.dart | 2 +- lib/widgets/debug/app_debug_page.dart | 3 +-- .../debug/media_store_scan_dialog.dart | 2 +- lib/widgets/dialogs/add_shortcut_dialog.dart | 5 ++--- .../dialogs/aves_confirmation_dialog.dart | 2 +- lib/widgets/dialogs/aves_dialog.dart | 4 ++-- .../dialogs/aves_selection_dialog.dart | 4 ++-- lib/widgets/dialogs/duration_dialog.dart | 2 +- .../entry_editors/edit_date_dialog.dart | 5 ++--- .../edit_description_dialog.dart | 2 +- .../entry_editors/edit_location_dialog.dart | 14 +++++------- .../entry_editors/edit_rating_dialog.dart | 2 +- .../entry_editors/remove_metadata_dialog.dart | 2 +- .../entry_editors/rename_entry_dialog.dart | 2 +- .../entry_editors/rename_entry_set_page.dart | 2 +- lib/widgets/dialogs/export_entry_dialog.dart | 2 +- .../cover_selection_dialog.dart | 8 +++---- .../filter_editors/create_album_dialog.dart | 2 +- .../filter_editors/rename_album_dialog.dart | 2 +- .../dialogs/pick_dialogs/album_pick_page.dart | 5 ++--- .../dialogs/pick_dialogs/app_pick_page.dart | 4 ++-- .../pick_dialogs/location_pick_page.dart | 2 +- lib/widgets/dialogs/tile_view_dialog.dart | 2 +- lib/widgets/dialogs/video_speed_dialog.dart | 2 +- .../video_stream_selection_dialog.dart | 2 +- .../dialogs/wallpaper_settings_dialog.dart | 2 +- .../common/action_delegates/album_set.dart | 5 ++--- .../common/action_delegates/chip.dart | 5 ++--- .../common/action_delegates/chip_set.dart | 14 +++++------- lib/widgets/filter_grids/common/app_bar.dart | 3 +-- .../filter_grids/common/filter_tile.dart | 5 ++--- lib/widgets/home_page.dart | 9 +++----- lib/widgets/map/map_page.dart | 6 ++--- lib/widgets/navigation/drawer/app_drawer.dart | 5 ++--- .../drawer/collection_nav_tile.dart | 5 ++--- .../navigation/drawer/page_nav_tile.dart | 7 +++--- lib/widgets/navigation/nav_bar/nav_bar.dart | 3 +-- lib/widgets/navigation/tv_rail.dart | 6 ++--- lib/widgets/search/search_delegate.dart | 3 +-- .../settings/app_export/selection_dialog.dart | 2 +- lib/widgets/settings/common/tiles.dart | 3 +-- lib/widgets/settings/display/display.dart | 2 +- .../language/locale_selection_page.dart | 2 +- .../settings/language/locale_tile.dart | 3 +-- .../privacy/file_picker/file_picker_page.dart | 4 ++-- .../settings/privacy/hidden_items_page.dart | 3 +-- lib/widgets/settings/settings_page.dart | 3 +-- lib/widgets/stats/stats_page.dart | 8 +++---- .../viewer/action/entry_action_delegate.dart | 9 +++----- .../action/entry_info_action_delegate.dart | 8 +++---- .../viewer/embedded/embedded_data_opener.dart | 3 +-- lib/widgets/viewer/entry_vertical_pager.dart | 4 ++-- lib/widgets/viewer/entry_viewer_stack.dart | 7 +++--- lib/widgets/viewer/info/info_search.dart | 2 +- lib/widgets/viewer/info/location_section.dart | 3 +-- .../info/metadata/metadata_dir_tile.dart | 3 +-- lib/widgets/viewer/overlay/panorama.dart | 3 +-- lib/widgets/viewer/slideshow_page.dart | 3 +-- lib/widgets/viewer/video/controller.dart | 4 ++-- lib/widgets/viewer/video_action_delegate.dart | 6 ++--- lib/widgets/welcome_page.dart | 3 +-- plugins/aves_report_crashlytics/pubspec.lock | 4 ++-- pubspec.lock | 6 ++--- 80 files changed, 165 insertions(+), 193 deletions(-) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt index d4b3ee148..0f1975177 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt @@ -172,7 +172,18 @@ open class MainActivity : FlutterActivity() { mediaSessionHandler.dispose() mediaStoreChangeStreamHandler.dispose() settingsChangeStreamHandler.dispose() - super.onDestroy() + try { + super.onDestroy() + } catch (e: Exception) { + // on Android 11, app may crash as follows: + // `Fatal Exception:` + // `java.lang.RuntimeException: Unable to destroy activity {deckers.thibault.aves/deckers.thibault.aves.MainActivity}:` + // `java.lang.IllegalArgumentException: NetworkCallback was not registered` + // related to this error: + // `Package android does not belong to 10162` + // cf https://issuetracker.google.com/issues/175055271 + Log.e(LOG_TAG, "failed while destroying activity", e) + } } override fun onNewIntent(intent: Intent) { diff --git a/lib/model/settings/settings.dart b/lib/model/settings/settings.dart index f2595ffae..1a714c2e0 100644 --- a/lib/model/settings/settings.dart +++ b/lib/model/settings/settings.dart @@ -30,6 +30,7 @@ import 'package:latlong2/latlong.dart'; final Settings settings = Settings._private(); class Settings extends ChangeNotifier { + final List _subscriptions = []; final EventChannel _platformSettingsChangeChannel = const OptionalEventChannel('deckers.thibault/aves/settings_change'); final StreamController _updateStreamController = StreamController.broadcast(); @@ -209,7 +210,10 @@ class Settings extends ChangeNotifier { await settingsStore.init(); _appliedLocale = null; if (monitorPlatformSettings) { - _platformSettingsChangeChannel.receiveBroadcastStream().listen((event) => _onPlatformSettingsChanged(event as Map?)); + _subscriptions + ..forEach((sub) => sub.cancel()) + ..clear(); + _subscriptions.add(_platformSettingsChangeChannel.receiveBroadcastStream().listen((event) => _onPlatformSettingsChanged(event as Map?))); } } diff --git a/lib/services/media/media_session_service.dart b/lib/services/media/media_session_service.dart index c6cb94b8a..b453716e0 100644 --- a/lib/services/media/media_session_service.dart +++ b/lib/services/media/media_session_service.dart @@ -6,6 +6,7 @@ import 'package:aves/widgets/viewer/video/controller.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; +import 'package:get_it/get_it.dart'; abstract class MediaSessionService { Stream get mediaCommands; @@ -15,14 +16,22 @@ abstract class MediaSessionService { Future release(); } -class PlatformMediaSessionService implements MediaSessionService { +class PlatformMediaSessionService implements MediaSessionService, Disposable { static const _platformObject = MethodChannel('deckers.thibault/aves/media_session'); + final List _subscriptions = []; final EventChannel _mediaCommandChannel = const OptionalEventChannel('deckers.thibault/aves/media_command'); final StreamController _streamController = StreamController.broadcast(); PlatformMediaSessionService() { - _mediaCommandChannel.receiveBroadcastStream().listen((event) => _onMediaCommand(event as Map?)); + _subscriptions.add(_mediaCommandChannel.receiveBroadcastStream().listen((event) => _onMediaCommand(event as Map?))); + } + + @override + FutureOr onDispose() { + _subscriptions + ..forEach((sub) => sub.cancel()) + ..clear(); } @override diff --git a/lib/utils/constants.dart b/lib/utils/constants.dart index 859ae55f6..c47a3f4db 100644 --- a/lib/utils/constants.dart +++ b/lib/utils/constants.dart @@ -2,8 +2,16 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:latlong2/latlong.dart'; +import 'package:permission_handler/permission_handler.dart'; class Constants { + static const storagePermissions = [ + Permission.storage, + // for media access on Android >=13 + Permission.photos, + Permission.videos, + ]; + static const separator = ' • '; // `Color(0x00FFFFFF)` is different from `Color(0x00000000)` (or `Colors.transparent`) diff --git a/lib/widgets/about/app_ref.dart b/lib/widgets/about/app_ref.dart index fbab83d89..111b97c6b 100644 --- a/lib/widgets/about/app_ref.dart +++ b/lib/widgets/about/app_ref.dart @@ -102,8 +102,7 @@ class _AppReferenceState extends State { } void _goToPolicyPage() { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: PolicyPage.routeName), builder: (context) => const PolicyPage(), diff --git a/lib/widgets/about/licenses.dart b/lib/widgets/about/licenses.dart index 50b376ce3..ac1f1b1f1 100644 --- a/lib/widgets/about/licenses.dart +++ b/lib/widgets/about/licenses.dart @@ -80,8 +80,7 @@ class _LicensesState extends State { Center( child: AvesOutlinedButton( label: context.l10n.aboutLicensesShowAllButtonLabel, - onPressed: () => Navigator.push( - context, + onPressed: () => Navigator.maybeOf(context)?.push( MaterialPageRoute( builder: (context) => Theme( data: Theme.of(context).copyWith( diff --git a/lib/widgets/collection/app_bar.dart b/lib/widgets/collection/app_bar.dart index 3c697f6eb..398fb017b 100644 --- a/lib/widgets/collection/app_bar.dart +++ b/lib/widgets/collection/app_bar.dart @@ -678,8 +678,7 @@ class _CollectionAppBarState extends State with SingleTickerPr } void _goToSearch() { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( SearchPageRoute( delegate: CollectionSearchDelegate( searchFieldLabel: context.l10n.searchCollectionFieldHint, diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index a063ed908..30801629d 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -13,6 +13,7 @@ import 'package:aves/model/source/section_keys.dart'; import 'package:aves/ref/mime_types.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/collection/app_bar.dart'; import 'package:aves/widgets/collection/draggable_thumb_label.dart'; import 'package:aves/widgets/collection/grid/list_details_theme.dart'; @@ -642,5 +643,5 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> with Widge return crumbs; } - Future get _isStoragePermissionGranted => Permission.storage.status.then((status) => status.isGranted); + Future get _isStoragePermissionGranted => Future.wait(Constants.storagePermissions.map((v) => v.status)).then((v) => v.any((status) => status.isGranted)); } diff --git a/lib/widgets/collection/entry_set_action_delegate.dart b/lib/widgets/collection/entry_set_action_delegate.dart index e23286a9b..ce81cc365 100644 --- a/lib/widgets/collection/entry_set_action_delegate.dart +++ b/lib/widgets/collection/entry_set_action_delegate.dart @@ -342,8 +342,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware Future _rename(BuildContext context) async { final entries = _getTargetItems(context).toList(); - final pattern = await Navigator.push( - context, + final pattern = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: RenameEntrySetPage.routeName), builder: (context) => RenameEntrySetPage( @@ -468,7 +467,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware const CancelButton(), if (supported.isNotEmpty) TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(l10n.continueButtonLabel), ), ], @@ -523,8 +522,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware final editableEntries = await _getEditableItems(context, entries, canEdit: (entry) => entry.canEditLocation); if (editableEntries == null || editableEntries.isEmpty) return null; - final location = await Navigator.push( - context, + final location = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: LocationPickPage.routeName), builder: (context) => LocationPickPage( @@ -548,7 +546,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(context.l10n.applyButtonLabel), ), ], @@ -621,8 +619,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware filters: collection.filters, fixedSelection: entries.where((entry) => entry.hasGps).toList(), ); - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: MapPage.routeName), builder: (context) => MapPage(collection: mapCollection), @@ -635,8 +632,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware final collection = context.read(); final entries = _getTargetItems(context); - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: SlideshowPage.routeName), builder: (context) { @@ -656,8 +652,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware final collection = context.read(); final entries = _getTargetItems(context); - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: StatsPage.routeName), builder: (context) => StatsPage( @@ -672,8 +667,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware void _goToSearch(BuildContext context) { final collection = context.read(); - Navigator.push( - context, + Navigator.maybeOf(context)?.push( SearchPageRoute( delegate: CollectionSearchDelegate( searchFieldLabel: context.l10n.searchCollectionFieldHint, diff --git a/lib/widgets/collection/grid/tile.dart b/lib/widgets/collection/grid/tile.dart index c37693b3b..9f18792cb 100644 --- a/lib/widgets/collection/grid/tile.dart +++ b/lib/widgets/collection/grid/tile.dart @@ -51,7 +51,7 @@ class InteractiveTile extends StatelessWidget { selection.toggleSelection(entry); break; case AppMode.pickMediaInternal: - Navigator.pop(context, entry); + Navigator.maybeOf(context)?.pop(entry); break; case AppMode.pickCollectionFiltersExternal: case AppMode.pickFilterInternal: @@ -81,8 +81,7 @@ class InteractiveTile extends StatelessWidget { } void _goToViewer(BuildContext context) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( TransparentMaterialPageRoute( settings: const RouteSettings(name: EntryViewerPage.routeName), pageBuilder: (context, a, sa) { diff --git a/lib/widgets/common/action_mixins/entry_editor.dart b/lib/widgets/common/action_mixins/entry_editor.dart index 49c411271..12e2cbe66 100644 --- a/lib/widgets/common/action_mixins/entry_editor.dart +++ b/lib/widgets/common/action_mixins/entry_editor.dart @@ -82,8 +82,7 @@ mixin EntryEditorMixin { final filters = {...v.tags.map(TagFilter.new)}; return MapEntry(v, filters); })); - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: TagEditorPage.routeName), builder: (context) => TagEditorPage( @@ -128,7 +127,7 @@ mixin EntryEditorMixin { actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(context.l10n.applyButtonLabel), ), ], diff --git a/lib/widgets/common/action_mixins/entry_storage.dart b/lib/widgets/common/action_mixins/entry_storage.dart index defc70ecf..b609846da 100644 --- a/lib/widgets/common/action_mixins/entry_storage.dart +++ b/lib/widgets/common/action_mixins/entry_storage.dart @@ -330,8 +330,7 @@ mixin EntryStorageMixin on FeedbackMixin, PermissionAwareMixin, SizeAwareMixin { targetFilters.removeWhere((f) => f is AlbumFilter); targetFilters.add(AlbumFilter(destinationAlbum, source.getAlbumDisplayName(context, destinationAlbum))); } - unawaited(Navigator.pushAndRemoveUntil( - context, + unawaited(Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index 06352fa9d..465121404 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -145,7 +145,7 @@ mixin FeedbackMixin { itemCount: itemCount, onCancel: onCancel, onDone: (processed) { - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); onDone?.call(processed); }, ), diff --git a/lib/widgets/common/action_mixins/permission_aware.dart b/lib/widgets/common/action_mixins/permission_aware.dart index b54f2411b..803bc9f3e 100644 --- a/lib/widgets/common/action_mixins/permission_aware.dart +++ b/lib/widgets/common/action_mixins/permission_aware.dart @@ -56,7 +56,7 @@ mixin PermissionAwareMixin { actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(MaterialLocalizations.of(context).okButtonLabel), ), ], diff --git a/lib/widgets/common/basic/color_list_tile.dart b/lib/widgets/common/basic/color_list_tile.dart index ae44a47fb..301ce6474 100644 --- a/lib/widgets/common/basic/color_list_tile.dart +++ b/lib/widgets/common/basic/color_list_tile.dart @@ -96,7 +96,7 @@ class _ColorPickerDialogState extends State { actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, color), + onPressed: () => Navigator.maybeOf(context)?.pop(color), child: Text(context.l10n.applyButtonLabel), ), ], diff --git a/lib/widgets/common/behaviour/pop/tv_navigation.dart b/lib/widgets/common/behaviour/pop/tv_navigation.dart index 97480a9af..67d091e0b 100644 --- a/lib/widgets/common/behaviour/pop/tv_navigation.dart +++ b/lib/widgets/common/behaviour/pop/tv_navigation.dart @@ -16,8 +16,7 @@ class TvNavigationPopHandler { return true; } - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( _getHomeRoute(), (route) => false, ); diff --git a/lib/widgets/common/map/buttons/panel.dart b/lib/widgets/common/map/buttons/panel.dart index e7205b1b5..7e37cb822 100644 --- a/lib/widgets/common/map/buttons/panel.dart +++ b/lib/widgets/common/map/buttons/panel.dart @@ -37,7 +37,7 @@ class MapButtonPanel extends StatelessWidget { if (!settings.useTvLayout) { navigationButton = MapOverlayButton( icon: const BackButtonIcon(), - onPressed: () => Navigator.pop(context), + onPressed: () => Navigator.maybeOf(context)?.pop(), tooltip: MaterialLocalizations.of(context).backButtonTooltip, ); } diff --git a/lib/widgets/common/search/delegate.dart b/lib/widgets/common/search/delegate.dart index 26dd06c57..9d89bac86 100644 --- a/lib/widgets/common/search/delegate.dart +++ b/lib/widgets/common/search/delegate.dart @@ -61,7 +61,7 @@ abstract class AvesSearchDelegate extends SearchDelegate { void goBack(BuildContext context) { clean(); - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); } void clean() { diff --git a/lib/widgets/debug/app_debug_page.dart b/lib/widgets/debug/app_debug_page.dart index 631cd8bd4..dff652019 100644 --- a/lib/widgets/debug/app_debug_page.dart +++ b/lib/widgets/debug/app_debug_page.dart @@ -196,8 +196,7 @@ class _AppDebugPageState extends State { ); break; case AppDebugAction.greenScreen: - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( builder: (context) => const Scaffold( backgroundColor: Colors.green, diff --git a/lib/widgets/debug/media_store_scan_dialog.dart b/lib/widgets/debug/media_store_scan_dialog.dart index f3c150bdc..e759c29d0 100644 --- a/lib/widgets/debug/media_store_scan_dialog.dart +++ b/lib/widgets/debug/media_store_scan_dialog.dart @@ -41,7 +41,7 @@ class _MediaStoreScanDirDialogState extends State { } }); } - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); }, child: const Text('Scan'), ) diff --git a/lib/widgets/dialogs/add_shortcut_dialog.dart b/lib/widgets/dialogs/add_shortcut_dialog.dart index 1d0e8d081..e2c906de4 100644 --- a/lib/widgets/dialogs/add_shortcut_dialog.dart +++ b/lib/widgets/dialogs/add_shortcut_dialog.dart @@ -108,8 +108,7 @@ class _AddShortcutDialogState extends State { final _collection = widget.collection; if (_collection == null) return; - final entry = await Navigator.push( - context, + final entry = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: ItemPickPage.routeName), builder: (context) { @@ -142,7 +141,7 @@ class _AddShortcutDialogState extends State { void _submit(BuildContext context) { if (_isValidNotifier.value) { - Navigator.pop(context, Tuple2(_coverEntry, _nameController.text)); + Navigator.maybeOf(context)?.pop(Tuple2(_coverEntry, _nameController.text)); } } } diff --git a/lib/widgets/dialogs/aves_confirmation_dialog.dart b/lib/widgets/dialogs/aves_confirmation_dialog.dart index 621627172..e72b80cf3 100644 --- a/lib/widgets/dialogs/aves_confirmation_dialog.dart +++ b/lib/widgets/dialogs/aves_confirmation_dialog.dart @@ -116,7 +116,7 @@ class _AvesConfirmationDialogState extends State<_AvesConfirmationDialog> { if (_skip.value) { _skipConfirmation(widget.type); } - Navigator.pop(context, true); + Navigator.maybeOf(context)?.pop(true); }, child: Text(widget.confirmationButtonLabel), ), diff --git a/lib/widgets/dialogs/aves_dialog.dart b/lib/widgets/dialogs/aves_dialog.dart index 2cf3c01e9..3f36863bb 100644 --- a/lib/widgets/dialogs/aves_dialog.dart +++ b/lib/widgets/dialogs/aves_dialog.dart @@ -166,7 +166,7 @@ class CancelButton extends StatelessWidget { @override Widget build(BuildContext context) { return TextButton( - onPressed: () => Navigator.pop(context), + onPressed: () => Navigator.maybeOf(context)?.pop(), child: Text(MaterialLocalizations.of(context).cancelButtonLabel), ); } @@ -178,7 +178,7 @@ class OkButton extends StatelessWidget { @override Widget build(BuildContext context) { return TextButton( - onPressed: () => Navigator.pop(context), + onPressed: () => Navigator.maybeOf(context)?.pop(), child: Text(MaterialLocalizations.of(context).okButtonLabel), ); } diff --git a/lib/widgets/dialogs/aves_selection_dialog.dart b/lib/widgets/dialogs/aves_selection_dialog.dart index 836d8f48a..c361c0e64 100644 --- a/lib/widgets/dialogs/aves_selection_dialog.dart +++ b/lib/widgets/dialogs/aves_selection_dialog.dart @@ -89,7 +89,7 @@ class _AvesSelectionDialogState extends State> { const CancelButton(), if (needConfirmation) TextButton( - onPressed: () => Navigator.pop(context, _selectedValue), + onPressed: () => Navigator.maybeOf(context)?.pop(_selectedValue), child: Text(confirmationButtonLabel), ), ], @@ -129,7 +129,7 @@ class SelectionRadioListTile extends StatelessWidget { if (needConfirmation) { setGroupValue(v as T); } else { - Navigator.pop(context, v); + Navigator.maybeOf(context)?.pop(v); } }, reselectable: true, diff --git a/lib/widgets/dialogs/duration_dialog.dart b/lib/widgets/dialogs/duration_dialog.dart index 91236ce0a..b6a6b920b 100644 --- a/lib/widgets/dialogs/duration_dialog.dart +++ b/lib/widgets/dialogs/duration_dialog.dart @@ -106,5 +106,5 @@ class _DurationDialogState extends State { ); } - void _submit(BuildContext context) => Navigator.pop(context, _minutes.value * secondsInMinute + _seconds.value); + void _submit(BuildContext context) => Navigator.maybeOf(context)?.pop(_minutes.value * secondsInMinute + _seconds.value); } diff --git a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart index f8c784d10..c113fd6f9 100644 --- a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart @@ -329,8 +329,7 @@ class _EditEntryDateDialogState extends State { final _collection = widget.collection; if (_collection == null) return; - final entry = await Navigator.push( - context, + final entry = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: ItemPickPage.routeName), builder: (context) => ItemPickPage( @@ -384,7 +383,7 @@ class _EditEntryDateDialogState extends State { void _submit(BuildContext context) { if (_isValidNotifier.value) { - Navigator.pop(context, _getModifier()); + Navigator.maybeOf(context)?.pop(_getModifier()); } } } diff --git a/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart index a080cc870..778ff992d 100644 --- a/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart @@ -103,6 +103,6 @@ class _EditEntryTitleDescriptionDialogState extends State>(context, modifier); + return Navigator.maybeOf(context)?.pop>(modifier); } } diff --git a/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart index 31223fd29..eaa17ad93 100644 --- a/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart @@ -180,8 +180,7 @@ class _EditEntryLocationDialogState extends State { fixedSelection: baseCollection.sortedEntries.where((entry) => entry.hasGps).toList(), ) : null; - final latLng = await Navigator.push( - context, + final latLng = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: LocationPickPage.routeName), builder: (context) => LocationPickPage( @@ -222,8 +221,7 @@ class _EditEntryLocationDialogState extends State { final _collection = widget.collection; if (_collection == null) return; - final entry = await Navigator.push( - context, + final entry = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: ItemPickPage.routeName), builder: (context) => ItemPickPage( @@ -330,16 +328,16 @@ class _EditEntryLocationDialogState extends State { void _submit(BuildContext context) { switch (_action) { case LocationEditAction.chooseOnMap: - Navigator.pop(context, _mapCoordinates); + Navigator.maybeOf(context)?.pop(_mapCoordinates); break; case LocationEditAction.copyItem: - Navigator.pop(context, _copyItemSource.latLng); + Navigator.maybeOf(context)?.pop(_copyItemSource.latLng); break; case LocationEditAction.setCustom: - Navigator.pop(context, _parseLatLng()); + Navigator.maybeOf(context)?.pop(_parseLatLng()); break; case LocationEditAction.remove: - Navigator.pop(context, ExtraAvesEntryMetadataEdition.removalLocation); + Navigator.maybeOf(context)?.pop(ExtraAvesEntryMetadataEdition.removalLocation); break; } } diff --git a/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart index d7b8399a3..2cab9a9c9 100644 --- a/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart @@ -126,7 +126,7 @@ class _EditEntryRatingDialogState extends State { entryRating = 0; break; } - Navigator.pop(context, entryRating); + Navigator.maybeOf(context)?.pop(entryRating); } } diff --git a/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart b/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart index a2f212008..53cf52d91 100644 --- a/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart @@ -136,5 +136,5 @@ class _RemoveEntryMetadataDialogState extends State { void _validate() => _isValidNotifier.value = _types.isNotEmpty; - void _submit(BuildContext context) => Navigator.pop(context, _types); + void _submit(BuildContext context) => Navigator.maybeOf(context)?.pop(_types); } diff --git a/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart b/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart index e99be396d..a20b95466 100644 --- a/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart @@ -88,7 +88,7 @@ class _RenameEntryDialogState extends State { void _submit(BuildContext context) { if (_isValidNotifier.value) { - Navigator.pop(context, newName); + Navigator.maybeOf(context)?.pop(newName); } } } diff --git a/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart b/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart index 934bcd1cc..0ff65d35b 100644 --- a/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart +++ b/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart @@ -185,7 +185,7 @@ class _RenameEntrySetPageState extends State { label: l10n.entryActionRename, onPressed: () { settings.entryRenamingPattern = _patternTextController.text; - Navigator.pop(context, _namingPatternNotifier.value); + Navigator.maybeOf(context)?.pop(_namingPatternNotifier.value); }, ), ), diff --git a/lib/widgets/dialogs/export_entry_dialog.dart b/lib/widgets/dialogs/export_entry_dialog.dart index e0e51f3c5..cd69c5901 100644 --- a/lib/widgets/dialogs/export_entry_dialog.dart +++ b/lib/widgets/dialogs/export_entry_dialog.dart @@ -130,7 +130,7 @@ class _ExportEntryDialogState extends State { height: height, ) : null; - Navigator.pop(context, options); + Navigator.maybeOf(context)?.pop(options); } : null, child: Text(l10n.applyButtonLabel), diff --git a/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart b/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart index 3bcf76bc7..267cbcd25 100644 --- a/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart @@ -161,7 +161,7 @@ class _CoverSelectionDialogState extends State { final entry = _isCustomEntry ? _customEntry : null; final package = _isCustomPackage ? _customPackage : null; final color = _isCustomColor ? _customColor : null; - return Navigator.pop(context, Tuple3(entry, package, color)); + return Navigator.maybeOf(context)?.pop(Tuple3(entry, package, color)); }, child: Text(l10n.applyButtonLabel), ) @@ -340,8 +340,7 @@ class _CoverSelectionDialogState extends State { } Future _pickEntry() async { - final entry = await Navigator.push( - context, + final entry = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: ItemPickPage.routeName), builder: (context) => ItemPickPage( @@ -361,8 +360,7 @@ class _CoverSelectionDialogState extends State { } Future _pickPackage() async { - final package = await Navigator.push( - context, + final package = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: AppPickPage.routeName), builder: (context) => AppPickPage( diff --git a/lib/widgets/dialogs/filter_editors/create_album_dialog.dart b/lib/widgets/dialogs/filter_editors/create_album_dialog.dart index f0839e8fe..42af44988 100644 --- a/lib/widgets/dialogs/filter_editors/create_album_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/create_album_dialog.dart @@ -159,7 +159,7 @@ class _CreateAlbumDialogState extends State { void _submit(BuildContext context) { if (_isValidNotifier.value) { - Navigator.pop(context, _buildAlbumPath(_nameController.text)); + Navigator.maybeOf(context)?.pop(_buildAlbumPath(_nameController.text)); } } } diff --git a/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart b/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart index e18abe61e..0ea04ce65 100644 --- a/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart @@ -88,7 +88,7 @@ class _RenameAlbumDialogState extends State { void _submit(BuildContext context) { if (_isValidNotifier.value) { - Navigator.pop(context, _nameController.text); + Navigator.maybeOf(context)?.pop(_nameController.text); } } } diff --git a/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart index 7039ccfe4..093035a41 100644 --- a/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart @@ -35,8 +35,7 @@ Future pickAlbum({ // source may not be fully initialized in view mode await source.init(); } - final filter = await Navigator.push( - context, + final filter = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: _AlbumPickPage.routeName), builder: (context) => _AlbumPickPage(source: source, moveType: moveType), @@ -188,7 +187,7 @@ class _AlbumPickPageState extends State<_AlbumPickPage> { // wait for the dialog to hide as applying the change may block the UI await Future.delayed(Durations.dialogTransitionAnimation * timeDilation); if (newAlbum != null && newAlbum.isNotEmpty) { - Navigator.pop(context, AlbumFilter(newAlbum, source.getAlbumDisplayName(context, newAlbum))); + Navigator.maybeOf(context)?.pop(AlbumFilter(newAlbum, source.getAlbumDisplayName(context, newAlbum))); } }, tooltip: context.l10n.createAlbumTooltip, diff --git a/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart index 418edc63f..95a1a078a 100644 --- a/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart @@ -83,7 +83,7 @@ class _AppPickPageState extends State { return ReselectableRadioListTile( value: '', groupValue: _selectedValue, - onChanged: (v) => Navigator.pop(context, v), + onChanged: (v) => Navigator.maybeOf(context)?.pop(v), reselectable: true, title: Text( context.l10n.appPickDialogNone, @@ -100,7 +100,7 @@ class _AppPickPageState extends State { return ReselectableRadioListTile( value: package.packageName, groupValue: _selectedValue, - onChanged: (v) => Navigator.pop(context, v), + onChanged: (v) => Navigator.maybeOf(context)?.pop(v), reselectable: true, title: Text.rich( TextSpan( diff --git a/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart index 930c55bd3..c32b3e703 100644 --- a/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart @@ -118,7 +118,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin const SizedBox(height: 8), AvesOutlinedButton( label: context.l10n.locationPickerUseThisLocationButton, - onPressed: () => Navigator.pop(context, _dotLocationNotifier.value), + onPressed: () => Navigator.maybeOf(context)?.pop(_dotLocationNotifier.value), ), ], ), diff --git a/lib/widgets/dialogs/tile_view_dialog.dart b/lib/widgets/dialogs/tile_view_dialog.dart index 7f5272c0c..e8bc31513 100644 --- a/lib/widgets/dialogs/tile_view_dialog.dart +++ b/lib/widgets/dialogs/tile_view_dialog.dart @@ -150,7 +150,7 @@ class _TileViewDialogState extends State> with key: const Key('button-apply'), onPressed: () { tileExtentController.setUserPreferredColumnCount(_columnCountNotifier.value); - Navigator.pop(context, Tuple4(_selectedSort, _selectedGroup, _selectedLayout, _reverseSort)); + Navigator.maybeOf(context)?.pop(Tuple4(_selectedSort, _selectedGroup, _selectedLayout, _reverseSort)); }, child: Text(l10n.applyButtonLabel), ) diff --git a/lib/widgets/dialogs/video_speed_dialog.dart b/lib/widgets/dialogs/video_speed_dialog.dart index f835e1026..51e2129ca 100644 --- a/lib/widgets/dialogs/video_speed_dialog.dart +++ b/lib/widgets/dialogs/video_speed_dialog.dart @@ -66,5 +66,5 @@ class _VideoSpeedDialogState extends State { ); } - void _submit(BuildContext context) => Navigator.pop(context, _speed); + void _submit(BuildContext context) => Navigator.maybeOf(context)?.pop(_speed); } diff --git a/lib/widgets/dialogs/video_stream_selection_dialog.dart b/lib/widgets/dialogs/video_stream_selection_dialog.dart index eef7d88d9..331c33191 100644 --- a/lib/widgets/dialogs/video_stream_selection_dialog.dart +++ b/lib/widgets/dialogs/video_stream_selection_dialog.dart @@ -153,7 +153,7 @@ class _VideoStreamSelectionDialogState extends State ]; } - void _submit(BuildContext context) => Navigator.pop(context, { + void _submit(BuildContext context) => Navigator.maybeOf(context)?.pop({ StreamType.video: _currentVideo, StreamType.audio: _currentAudio, StreamType.text: _currentText, diff --git a/lib/widgets/dialogs/wallpaper_settings_dialog.dart b/lib/widgets/dialogs/wallpaper_settings_dialog.dart index 5dc85114d..864cee848 100644 --- a/lib/widgets/dialogs/wallpaper_settings_dialog.dart +++ b/lib/widgets/dialogs/wallpaper_settings_dialog.dart @@ -41,7 +41,7 @@ class _WallpaperSettingsDialogState extends State { actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, Tuple2(_selectedTarget, _useScrollEffect)), + onPressed: () => Navigator.maybeOf(context)?.pop(Tuple2(_selectedTarget, _useScrollEffect)), child: Text(context.l10n.applyButtonLabel), ), ], diff --git a/lib/widgets/filter_grids/common/action_delegates/album_set.dart b/lib/widgets/filter_grids/common/action_delegates/album_set.dart index 843a5eda3..2ed6369fb 100644 --- a/lib/widgets/filter_grids/common/action_delegates/album_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/album_set.dart @@ -191,8 +191,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with highlightInfo.trackItem(FilterGridItem(filter, null), highlightItem: filter); } else { highlightInfo.set(filter); - await Navigator.pushAndRemoveUntil( - context, + await Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: AlbumListPage.routeName), builder: (_) => const AlbumListPage(), @@ -239,7 +238,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(l10n.deleteButtonLabel), ), ], diff --git a/lib/widgets/filter_grids/common/action_delegates/chip.dart b/lib/widgets/filter_grids/common/action_delegates/chip.dart index 988e30792..083bbb283 100644 --- a/lib/widgets/filter_grids/common/action_delegates/chip.dart +++ b/lib/widgets/filter_grids/common/action_delegates/chip.dart @@ -40,8 +40,7 @@ class ChipActionDelegate { WidgetBuilder pageBuilder, ) { context.read().set(filter); - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: RouteSettings(name: routeName), builder: pageBuilder, @@ -58,7 +57,7 @@ class ChipActionDelegate { actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(context.l10n.hideButtonLabel), ), ], diff --git a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart index 0a01f5ff1..177e13557 100644 --- a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart @@ -248,8 +248,7 @@ abstract class ChipSetActionDelegate with FeedbackMi source: context.read(), fixedSelection: _selectedEntries(context, filters).where((entry) => entry.hasGps).toList(), ); - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: MapPage.routeName), builder: (context) => MapPage(collection: mapCollection), @@ -259,8 +258,7 @@ abstract class ChipSetActionDelegate with FeedbackMi } void _goToSlideshow(BuildContext context, Set filters) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: SlideshowPage.routeName), builder: (context) { @@ -276,8 +274,7 @@ abstract class ChipSetActionDelegate with FeedbackMi } void _goToStats(BuildContext context, Set filters) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: StatsPage.routeName), builder: (context) { @@ -291,8 +288,7 @@ abstract class ChipSetActionDelegate with FeedbackMi } void _goToSearch(BuildContext context) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( SearchPageRoute( delegate: CollectionSearchDelegate( searchFieldLabel: context.l10n.searchCollectionFieldHint, @@ -310,7 +306,7 @@ abstract class ChipSetActionDelegate with FeedbackMi actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(context.l10n.hideButtonLabel), ), ], diff --git a/lib/widgets/filter_grids/common/app_bar.dart b/lib/widgets/filter_grids/common/app_bar.dart index e425690f4..8f96670c9 100644 --- a/lib/widgets/filter_grids/common/app_bar.dart +++ b/lib/widgets/filter_grids/common/app_bar.dart @@ -422,8 +422,7 @@ class _FilterGridAppBarState extends State(context, filter); + Navigator.maybeOf(context)?.pop(filter); break; case AppMode.pickMediaInternal: case AppMode.screenSaver: @@ -96,8 +96,7 @@ class _InteractiveFilterTileState extends State CollectionPage( diff --git a/lib/widgets/home_page.dart b/lib/widgets/home_page.dart index 91b391e53..bf176e607 100644 --- a/lib/widgets/home_page.dart +++ b/lib/widgets/home_page.dart @@ -16,6 +16,7 @@ import 'package:aves/services/global_search.dart'; import 'package:aves/services/intent_service.dart'; import 'package:aves/services/widget_service.dart'; import 'package:aves/utils/android_file_utils.dart'; +import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/behaviour/routes.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -95,10 +96,7 @@ class _HomePageState extends State { // do not check whether permission was granted, because some app stores // hide in some countries apps that force quit on permission denial await [ - Permission.storage, - // for media access on Android >=13 - Permission.photos, - Permission.videos, + ...Constants.storagePermissions, // to access media with unredacted metadata with scoped storage (Android >=10) Permission.accessMediaLocation, ].request(); @@ -239,8 +237,7 @@ class _HomePageState extends State { // `pushReplacement` is not enough in some edge cases // e.g. when opening the viewer in `view` mode should replace a viewer in `main` mode - unawaited(Navigator.pushAndRemoveUntil( - context, + unawaited(Navigator.maybeOf(context)?.pushAndRemoveUntil( await _getRedirectRoute(appMode), (route) => false, )); diff --git a/lib/widgets/map/map_page.dart b/lib/widgets/map/map_page.dart index ed5108c40..c9d67be3d 100644 --- a/lib/widgets/map/map_page.dart +++ b/lib/widgets/map/map_page.dart @@ -456,8 +456,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin void _goToViewer(AvesEntry? initialEntry) { if (initialEntry == null) return; - Navigator.push( - context, + Navigator.maybeOf(context)?.push( TransparentMaterialPageRoute( settings: const RouteSettings(name: EntryViewerPage.routeName), pageBuilder: (context, a, sa) { @@ -476,8 +475,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin final isMainMode = context.read>().value == AppMode.main; if (!isMainMode) return; - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/navigation/drawer/app_drawer.dart b/lib/widgets/navigation/drawer/app_drawer.dart index 0a3acf5e6..d049d767e 100644 --- a/lib/widgets/navigation/drawer/app_drawer.dart +++ b/lib/widgets/navigation/drawer/app_drawer.dart @@ -105,10 +105,9 @@ class _AppDrawerState extends State { Widget _buildHeader(BuildContext context) { Future goTo(String routeName, WidgetBuilder pageBuilder) async { - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); await Future.delayed(Durations.drawerTransitionAnimation); - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: RouteSettings(name: routeName), builder: pageBuilder, diff --git a/lib/widgets/navigation/drawer/collection_nav_tile.dart b/lib/widgets/navigation/drawer/collection_nav_tile.dart index 8a8787d0e..c3e3afdda 100644 --- a/lib/widgets/navigation/drawer/collection_nav_tile.dart +++ b/lib/widgets/navigation/drawer/collection_nav_tile.dart @@ -57,9 +57,8 @@ class CollectionNavTile extends StatelessWidget { } void _goToCollection(BuildContext context) { - Navigator.pop(context); - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pop(); + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/navigation/drawer/page_nav_tile.dart b/lib/widgets/navigation/drawer/page_nav_tile.dart index 5d334770b..1e77dbdd7 100644 --- a/lib/widgets/navigation/drawer/page_nav_tile.dart +++ b/lib/widgets/navigation/drawer/page_nav_tile.dart @@ -47,16 +47,15 @@ class PageNavTile extends StatelessWidget { ) : null, onTap: () { - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); final route = routeBuilder(context, routeName); if (topLevel) { - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( route, (route) => false, ); } else { - Navigator.push(context, route); + Navigator.maybeOf(context)?.push(route); } }, selected: context.currentRouteName == routeName, diff --git a/lib/widgets/navigation/nav_bar/nav_bar.dart b/lib/widgets/navigation/nav_bar/nav_bar.dart index 33018e6fa..899fc89d5 100644 --- a/lib/widgets/navigation/nav_bar/nav_bar.dart +++ b/lib/widgets/navigation/nav_bar/nav_bar.dart @@ -135,8 +135,7 @@ class _AppBottomNavBarState extends State { void _goTo(BuildContext context, List items, int index) { final item = items[index]; final routeName = item.route; - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: RouteSettings(name: routeName), builder: (context) { diff --git a/lib/widgets/navigation/tv_rail.dart b/lib/widgets/navigation/tv_rail.dart index cac68e950..7f92fe603 100644 --- a/lib/widgets/navigation/tv_rail.dart +++ b/lib/widgets/navigation/tv_rail.dart @@ -249,16 +249,14 @@ class _TvRailState extends State { ); void _goTo(String routeName) { - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( PageNavTile.routeBuilder(context, routeName), (route) => false, ); } void _goToCollection(BuildContext context, CollectionFilter? filter) { - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/search/search_delegate.dart b/lib/widgets/search/search_delegate.dart index ab6f21f13..83c5f28e8 100644 --- a/lib/widgets/search/search_delegate.dart +++ b/lib/widgets/search/search_delegate.dart @@ -320,8 +320,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate { void _jumpToCollectionPage(BuildContext context, Set filters) { clean(); - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/settings/app_export/selection_dialog.dart b/lib/widgets/settings/app_export/selection_dialog.dart index 167dfbca7..b0577410a 100644 --- a/lib/widgets/settings/app_export/selection_dialog.dart +++ b/lib/widgets/settings/app_export/selection_dialog.dart @@ -56,7 +56,7 @@ class _AppExportItemSelectionDialogState extends State Navigator.pop(context, _selectedItems), + onPressed: _selectedItems.isEmpty ? null : () => Navigator.maybeOf(context)?.pop(_selectedItems), child: Text(context.l10n.applyButtonLabel), ), ], diff --git a/lib/widgets/settings/common/tiles.dart b/lib/widgets/settings/common/tiles.dart index 8af0698ae..a1892e6fc 100644 --- a/lib/widgets/settings/common/tiles.dart +++ b/lib/widgets/settings/common/tiles.dart @@ -24,8 +24,7 @@ class SettingsSubPageTile extends StatelessWidget { return ListTile( title: Text(title), onTap: () { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: RouteSettings(name: routeName), builder: builder, diff --git a/lib/widgets/settings/display/display.dart b/lib/widgets/settings/display/display.dart index 222319665..851eaa134 100644 --- a/lib/widgets/settings/display/display.dart +++ b/lib/widgets/settings/display/display.dart @@ -125,7 +125,7 @@ class SettingsTileDisplayForceTvLayout extends SettingsTile { actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(l10n.applyButtonLabel), ), ], diff --git a/lib/widgets/settings/language/locale_selection_page.dart b/lib/widgets/settings/language/locale_selection_page.dart index 7a8621a7b..fa5e39c6f 100644 --- a/lib/widgets/settings/language/locale_selection_page.dart +++ b/lib/widgets/settings/language/locale_selection_page.dart @@ -60,7 +60,7 @@ class _LocaleSelectionPageState extends State { key: Key(value.toString()), value: value, groupValue: _selectedValue, - onChanged: (v) => Navigator.pop(context, v), + onChanged: (v) => Navigator.maybeOf(context)?.pop(v), reselectable: true, title: Text( title, diff --git a/lib/widgets/settings/language/locale_tile.dart b/lib/widgets/settings/language/locale_tile.dart index 8ea04d67b..e56081eb6 100644 --- a/lib/widgets/settings/language/locale_tile.dart +++ b/lib/widgets/settings/language/locale_tile.dart @@ -25,8 +25,7 @@ class LocaleTile extends StatelessWidget { }, ), onTap: () async { - final value = await Navigator.push( - context, + final value = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: LocaleSelectionPage.routeName), builder: (context) => const LocaleSelectionPage(), diff --git a/lib/widgets/settings/privacy/file_picker/file_picker_page.dart b/lib/widgets/settings/privacy/file_picker/file_picker_page.dart index c0786f6e3..ed718a1ce 100644 --- a/lib/widgets/settings/privacy/file_picker/file_picker_page.dart +++ b/lib/widgets/settings/privacy/file_picker/file_picker_page.dart @@ -129,7 +129,7 @@ class _FilePickerPageState extends State { padding: const EdgeInsets.all(8), child: AvesOutlinedButton( label: l10n.filePickerUseThisFolder, - onPressed: () => Navigator.pop(context, currentDirectoryPath), + onPressed: () => Navigator.maybeOf(context)?.pop(currentDirectoryPath), ), ), ], @@ -165,7 +165,7 @@ class _FilePickerPageState extends State { leading: Icon(icon), title: Text(v.getDescription(context)), onTap: () async { - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); await Future.delayed(Durations.drawerTransitionAnimation); _goTo(v.path); setState(() {}); diff --git a/lib/widgets/settings/privacy/hidden_items_page.dart b/lib/widgets/settings/privacy/hidden_items_page.dart index 9a58f892e..29a3df0cf 100644 --- a/lib/widgets/settings/privacy/hidden_items_page.dart +++ b/lib/widgets/settings/privacy/hidden_items_page.dart @@ -144,8 +144,7 @@ class _HiddenPaths extends StatelessWidget { icon: const Icon(AIcons.add), label: context.l10n.addPathTooltip, onPressed: () async { - final path = await Navigator.push( - context, + final path = await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: FilePickerPage.routeName), builder: (context) => const FilePickerPage(), diff --git a/lib/widgets/settings/settings_page.dart b/lib/widgets/settings/settings_page.dart index 21f480fb4..d2e9a4e6d 100644 --- a/lib/widgets/settings/settings_page.dart +++ b/lib/widgets/settings/settings_page.dart @@ -284,8 +284,7 @@ class _SettingsPageState extends State with FeedbackMixin { } void _goToSearch(BuildContext context) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( SearchPageRoute( delegate: SettingsSearchDelegate( searchFieldLabel: context.l10n.settingsSearchFieldLabel, diff --git a/lib/widgets/stats/stats_page.dart b/lib/widgets/stats/stats_page.dart index 85af4999f..96a7dd85d 100644 --- a/lib/widgets/stats/stats_page.dart +++ b/lib/widgets/stats/stats_page.dart @@ -253,8 +253,7 @@ class _StatsPageState extends State { final totalEntryCount = entries.length; final hasMore = maxRowCount != null && entryCountMap.length > maxRowCount; final onHeaderPressed = hasMore - ? () => Navigator.push( - context, + ? () => Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: StatsTopPage.routeName), builder: (context) => StatsTopPage( @@ -334,12 +333,11 @@ class _StatsPageState extends State { // even when the target is a child of an `AnimatedList`. // Do not use `WidgetsBinding.instance.addPostFrameCallback`, // as it may not trigger if there is no subsequent build. - Future.delayed(const Duration(milliseconds: 100), () => Navigator.popUntil(context, (route) => route.settings.name == CollectionPage.routeName)); + Future.delayed(const Duration(milliseconds: 100), () => Navigator.maybeOf(context)?.popUntil((route) => route.settings.name == CollectionPage.routeName)); } void _jumpToCollectionPage(BuildContext context, CollectionFilter filter) { - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/viewer/action/entry_action_delegate.dart b/lib/widgets/viewer/action/entry_action_delegate.dart index 1cd1d0a79..7873ec220 100644 --- a/lib/widgets/viewer/action/entry_action_delegate.dart +++ b/lib/widgets/viewer/action/entry_action_delegate.dart @@ -460,8 +460,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix // local context may be deactivated when action is triggered after navigation final context = AvesApp.navigatorKey.currentContext; if (context != null) { - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( @@ -521,8 +520,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix bool _isMainMode(BuildContext context) => context.read>().value == AppMode.main; void _goToSourceViewer(BuildContext context, AvesEntry targetEntry) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: SourceViewerPage.routeName), builder: (context) => SourceViewerPage( @@ -540,8 +538,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix } void _goToDebug(BuildContext context, AvesEntry targetEntry) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: ViewerDebugPage.routeName), builder: (context) => ViewerDebugPage(entry: targetEntry), diff --git a/lib/widgets/viewer/action/entry_info_action_delegate.dart b/lib/widgets/viewer/action/entry_info_action_delegate.dart index 48ed09938..c24feb64b 100644 --- a/lib/widgets/viewer/action/entry_info_action_delegate.dart +++ b/lib/widgets/viewer/action/entry_info_action_delegate.dart @@ -234,7 +234,7 @@ class EntryInfoActionDelegate with FeedbackMixin, PermissionAwareMixin, EntryEdi actions: [ const CancelButton(), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(context.l10n.applyButtonLabel), ), ], @@ -262,8 +262,7 @@ class EntryInfoActionDelegate with FeedbackMixin, PermissionAwareMixin, EntryEdi listenToSource: true, fixedSelection: baseCollection.sortedEntries.where((entry) => entry.hasGps).where((entry) => entry != targetEntry).toList(), ); - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: MapPage.routeName), builder: (context) => MapPage( @@ -276,8 +275,7 @@ class EntryInfoActionDelegate with FeedbackMixin, PermissionAwareMixin, EntryEdi } void _goToDebug(BuildContext context, AvesEntry targetEntry) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: ViewerDebugPage.routeName), builder: (context) => ViewerDebugPage(entry: targetEntry), diff --git a/lib/widgets/viewer/embedded/embedded_data_opener.dart b/lib/widgets/viewer/embedded/embedded_data_opener.dart index a95a21a1a..2c92fd6ce 100644 --- a/lib/widgets/viewer/embedded/embedded_data_opener.dart +++ b/lib/widgets/viewer/embedded/embedded_data_opener.dart @@ -72,8 +72,7 @@ class EmbeddedDataOpener extends StatelessWidget with FeedbackMixin { } void _openTempEntry(BuildContext context, AvesEntry tempEntry) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( TransparentMaterialPageRoute( settings: const RouteSettings(name: EntryViewerPage.routeName), pageBuilder: (context, a, sa) => EntryViewerPage( diff --git a/lib/widgets/viewer/entry_vertical_pager.dart b/lib/widgets/viewer/entry_vertical_pager.dart index e19a65eaf..45d1507e3 100644 --- a/lib/widgets/viewer/entry_vertical_pager.dart +++ b/lib/widgets/viewer/entry_vertical_pager.dart @@ -233,7 +233,7 @@ class _ViewerVerticalPageViewState extends State { actions: { _ShowPreviousIntent: CallbackAction(onInvoke: (intent) => _goToHorizontalPage(-1, animate: false)), _ShowNextIntent: CallbackAction(onInvoke: (intent) => _goToHorizontalPage(1, animate: false)), - _LeaveIntent: CallbackAction(onInvoke: (intent) => Navigator.pop(context)), + _LeaveIntent: CallbackAction(onInvoke: (intent) => Navigator.maybeOf(context)?.pop()), _ShowInfoIntent: CallbackAction(onInvoke: (intent) => ShowInfoPageNotification().dispatch(context)), TvShowLessInfoIntent: CallbackAction(onInvoke: (intent) => TvShowLessInfoNotification().dispatch(context)), _TvShowMoreInfoIntent: CallbackAction(onInvoke: (intent) => TvShowMoreInfoNotification().dispatch(context)), @@ -320,7 +320,7 @@ class _ViewerVerticalPageViewState extends State { await _entry.catalog(background: false, force: false, persist: true); await _entry.locate(background: false, force: false, geocoderLocale: settings.appliedLocale); } else { - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); } // needed to refresh when entry changes but the page does not (e.g. on page deletion) diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 871f1175f..2012a1778 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -503,8 +503,7 @@ class _EntryViewerStackState extends State with EntryViewContr if (baseCollection == null) return; _onLeave(); - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( @@ -602,7 +601,7 @@ class _EntryViewerStackState extends State with EntryViewContr } if (Navigator.canPop(context)) { - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); } else { _leaveViewer(); } @@ -639,7 +638,7 @@ class _EntryViewerStackState extends State with EntryViewContr if (Navigator.canPop(context)) { void pop() { _onLeave(); - Navigator.pop(context); + Navigator.maybeOf(context)?.pop(); } // closing hero, with viewer as source diff --git a/lib/widgets/viewer/info/info_search.dart b/lib/widgets/viewer/info/info_search.dart index 4fc688ead..3bdba7745 100644 --- a/lib/widgets/viewer/info/info_search.dart +++ b/lib/widgets/viewer/info/info_search.dart @@ -30,7 +30,7 @@ class InfoSearchDelegate extends SearchDelegate { icon: AnimatedIcons.menu_arrow, progress: transitionAnimation, ), - onPressed: () => Navigator.pop(context), + onPressed: () => Navigator.maybeOf(context)?.pop(), tooltip: MaterialLocalizations.of(context).backButtonTooltip, ); } diff --git a/lib/widgets/viewer/info/location_section.dart b/lib/widgets/viewer/info/location_section.dart index ae316d050..2742cd701 100644 --- a/lib/widgets/viewer/info/location_section.dart +++ b/lib/widgets/viewer/info/location_section.dart @@ -137,8 +137,7 @@ class _LocationSectionState extends State { listenToSource: true, fixedSelection: baseCollection.sortedEntries.where((entry) => entry.hasGps).toList(), ); - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: MapPage.routeName), builder: (context) => MapPage( diff --git a/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart b/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart index f49c3aee6..6b4cc987e 100644 --- a/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart +++ b/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart @@ -93,8 +93,7 @@ class MetadataDirTile extends StatelessWidget { 'Metadata': InfoRowGroup.linkSpanBuilder( linkText: (context) => context.l10n.viewerInfoViewXmlLinkText, onTap: (context) { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: SourceViewerPage.routeName), builder: (context) => SourceViewerPage( diff --git a/lib/widgets/viewer/overlay/panorama.dart b/lib/widgets/viewer/overlay/panorama.dart index b62ae86fb..5f853f583 100644 --- a/lib/widgets/viewer/overlay/panorama.dart +++ b/lib/widgets/viewer/overlay/panorama.dart @@ -27,8 +27,7 @@ class PanoramaOverlay extends StatelessWidget { onPressed: () async { final info = await metadataFetchService.getPanoramaInfo(entry); if (info != null) { - unawaited(Navigator.push( - context, + unawaited(Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: PanoramaPage.routeName), builder: (context) => PanoramaPage( diff --git a/lib/widgets/viewer/slideshow_page.dart b/lib/widgets/viewer/slideshow_page.dart index ca50abb53..e1db9de8d 100644 --- a/lib/widgets/viewer/slideshow_page.dart +++ b/lib/widgets/viewer/slideshow_page.dart @@ -123,8 +123,7 @@ class _SlideshowPageState extends State { final album = entry.directory; final uri = entry.uri; - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( diff --git a/lib/widgets/viewer/video/controller.dart b/lib/widgets/viewer/video/controller.dart index 0e0f9f452..f57c50fdb 100644 --- a/lib/widgets/viewer/video/controller.dart +++ b/lib/widgets/viewer/video/controller.dart @@ -70,11 +70,11 @@ abstract class AvesVideoController { content: Text(context.l10n.videoResumeDialogMessage(formatFriendlyDuration(Duration(milliseconds: resumeTime)))), actions: [ TextButton( - onPressed: () => Navigator.pop(context), + onPressed: () => Navigator.maybeOf(context)?.pop(), child: Text(context.l10n.videoStartOverButtonLabel), ), TextButton( - onPressed: () => Navigator.pop(context, true), + onPressed: () => Navigator.maybeOf(context)?.pop(true), child: Text(context.l10n.videoResumeButtonLabel), ), ], diff --git a/lib/widgets/viewer/video_action_delegate.dart b/lib/widgets/viewer/video_action_delegate.dart index a23e5bee0..52398d8f4 100644 --- a/lib/widgets/viewer/video_action_delegate.dart +++ b/lib/widgets/viewer/video_action_delegate.dart @@ -120,8 +120,7 @@ class VideoActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix if (context != null) { final source = _collection.source; final newUri = newFields['uri'] as String?; - Navigator.pushAndRemoveUntil( - context, + Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( settings: const RouteSettings(name: CollectionPage.routeName), builder: (context) => CollectionPage( @@ -181,8 +180,7 @@ class VideoActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix resumePosition = controller.currentPosition; await controller.pause(); } - await Navigator.push( - context, + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: VideoSettingsPage.routeName), builder: (context) => const VideoSettingsPage(), diff --git a/lib/widgets/welcome_page.dart b/lib/widgets/welcome_page.dart index 8b867ab68..8478af4a3 100644 --- a/lib/widgets/welcome_page.dart +++ b/lib/widgets/welcome_page.dart @@ -222,8 +222,7 @@ class _WelcomePageState extends State { } void _goToPolicyPage() { - Navigator.push( - context, + Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: PolicyPage.routeName), builder: (context) => const PolicyPage(), diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index 10253f93e..0dbbd4b5a 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -84,14 +84,14 @@ packages: name: firebase_crashlytics url: "https://pub.dartlang.org" source: hosted - version: "3.0.10" + version: "3.0.11" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.3.10" + version: "3.3.11" flutter: dependency: "direct main" description: flutter diff --git a/pubspec.lock b/pubspec.lock index 1c7170c2e..e9c4eb843 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -35,7 +35,7 @@ packages: name: args url: "https://pub.dartlang.org" source: hosted - version: "2.3.1" + version: "2.3.2" async: dependency: transitive description: @@ -307,14 +307,14 @@ packages: name: firebase_crashlytics url: "https://pub.dartlang.org" source: hosted - version: "3.0.10" + version: "3.0.11" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.3.10" + version: "3.3.11" flex_color_picker: dependency: "direct main" description: From 7a0c27a313f908eb18068cdbc02d7ec8c53190cc Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 19 Jan 2023 19:53:52 +0100 Subject: [PATCH 02/44] minor --- .../deckers/thibault/aves/channel/calls/MetadataEditHandler.kt | 3 +++ lib/ref/mime_types.dart | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt index bb349855a..f8915a8f6 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt @@ -15,6 +15,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch +import java.io.FileNotFoundException class MetadataEditHandler(private val contextWrapper: ContextWrapper) : MethodCallHandler { private val ioScope = CoroutineScope(SupervisorJob() + Dispatchers.IO) @@ -195,6 +196,8 @@ private class MetadataOpCallback( } else { "$errorCodeBase-mp4largeother" } + } else if (throwable is FileNotFoundException) { + "$errorCodeBase-filenotfound" } else { "$errorCodeBase-failure" } diff --git a/lib/ref/mime_types.dart b/lib/ref/mime_types.dart index 744fc9712..4a993fe42 100644 --- a/lib/ref/mime_types.dart +++ b/lib/ref/mime_types.dart @@ -55,6 +55,7 @@ class MimeTypes { static const aviMSVideo = 'video/msvideo'; static const aviVnd = 'video/vnd.avi'; static const aviXMSVideo = 'video/x-msvideo'; + static const dvd = 'video/dvd'; static const flv = 'video/flv'; static const flvX = 'video/x-flv'; static const mkv = 'video/mkv'; @@ -90,7 +91,7 @@ class MimeTypes { static const Set _knownOpaqueImages = {jpeg}; - static const Set _knownVideos = {v3gpp, asf, avi, aviMSVideo, aviVnd, aviXMSVideo, flv, flvX, mkv, mkvX, mov, movX, mp2p, mp2t, mp2ts, mp4, mpeg, ogv, realVideo, webm, wmv}; + static const Set _knownVideos = {v3gpp, asf, avi, aviMSVideo, aviVnd, aviXMSVideo, dvd, flv, flvX, mkv, mkvX, mov, movX, mp2p, mp2t, mp2ts, mp4, mpeg, ogv, realVideo, webm, wmv}; static final Set knownMediaTypes = { anyImage, From ecfe128774c10dedd9eb91e5f071a0ec19543aaf Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 19 Jan 2023 23:34:32 +0100 Subject: [PATCH 03/44] tv: no scroll bar --- .../common/basic/markdown_container.dart | 59 +++++++++++-------- lib/widgets/dialogs/aves_dialog.dart | 5 +- .../viewer/action/entry_action_delegate.dart | 2 +- lib/widgets/welcome_page.dart | 2 +- 4 files changed, 38 insertions(+), 30 deletions(-) diff --git a/lib/widgets/common/basic/markdown_container.dart b/lib/widgets/common/basic/markdown_container.dart index a8174795b..14cd63158 100644 --- a/lib/widgets/common/basic/markdown_container.dart +++ b/lib/widgets/common/basic/markdown_container.dart @@ -1,3 +1,4 @@ +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/aves_app.dart'; import 'package:aves/widgets/common/fx/borders.dart'; import 'package:flutter/material.dart'; @@ -15,10 +16,40 @@ class MarkdownContainer extends StatelessWidget { this.scrollController, }); - static const double maxWidth = 460; + static const double mobileMaxWidth = 460; @override Widget build(BuildContext context) { + final useTvLayout = settings.useTvLayout; + + Widget child = Directionality( + textDirection: textDirection ?? Directionality.of(context), + child: Markdown( + data: data, + selectable: true, + onTapLink: (text, href, title) => AvesApp.launchUrl(href), + controller: scrollController, + shrinkWrap: true, + ), + ); + + if (!useTvLayout) { + child = Theme( + data: Theme.of(context).copyWith( + scrollbarTheme: ScrollbarThemeData( + thumbVisibility: MaterialStateProperty.all(true), + radius: const Radius.circular(16), + crossAxisMargin: 6, + mainAxisMargin: 16, + interactive: true, + ), + ), + child: Scrollbar( + child: child, + ), + ); + } + return Container( margin: const EdgeInsets.symmetric(horizontal: 8), decoration: BoxDecoration( @@ -26,32 +57,10 @@ class MarkdownContainer extends StatelessWidget { border: Border.all(color: Theme.of(context).dividerColor, width: AvesBorder.curvedBorderWidth), borderRadius: const BorderRadius.all(Radius.circular(16)), ), - constraints: const BoxConstraints(maxWidth: maxWidth), + constraints: BoxConstraints(maxWidth: useTvLayout ? double.infinity : mobileMaxWidth), child: ClipRRect( borderRadius: const BorderRadius.all(Radius.circular(16)), - child: Theme( - data: Theme.of(context).copyWith( - scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(true), - radius: const Radius.circular(16), - crossAxisMargin: 6, - mainAxisMargin: 16, - interactive: true, - ), - ), - child: Scrollbar( - child: Directionality( - textDirection: textDirection ?? Directionality.of(context), - child: Markdown( - data: data, - selectable: true, - onTapLink: (text, href, title) => AvesApp.launchUrl(href), - controller: scrollController, - shrinkWrap: true, - ), - ), - ), - ), + child: child, ), ); } diff --git a/lib/widgets/dialogs/aves_dialog.dart b/lib/widgets/dialogs/aves_dialog.dart index 3f36863bb..27a9fa83e 100644 --- a/lib/widgets/dialogs/aves_dialog.dart +++ b/lib/widgets/dialogs/aves_dialog.dart @@ -1,5 +1,6 @@ import 'dart:ui'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:flutter/material.dart'; @@ -7,7 +8,6 @@ class AvesDialog extends StatelessWidget { final String? title; final ScrollController scrollController; final List? scrollableContent; - final bool hasScrollBar; final double horizontalContentPadding; final Widget? content; final List actions; @@ -24,7 +24,6 @@ class AvesDialog extends StatelessWidget { this.title, ScrollController? scrollController, this.scrollableContent, - this.hasScrollBar = true, this.horizontalContentPadding = defaultHorizontalContentPadding, this.content, required this.actions, @@ -69,7 +68,7 @@ class AvesDialog extends StatelessWidget { children: scrollableContent!, ); - if (hasScrollBar) { + if (!settings.useTvLayout) { child = Theme( data: Theme.of(context).copyWith( scrollbarTheme: ScrollbarThemeData( diff --git a/lib/widgets/viewer/action/entry_action_delegate.dart b/lib/widgets/viewer/action/entry_action_delegate.dart index 7873ec220..d70063b92 100644 --- a/lib/widgets/viewer/action/entry_action_delegate.dart +++ b/lib/widgets/viewer/action/entry_action_delegate.dart @@ -110,9 +110,9 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix return canWrite; case EntryAction.copyToClipboard: case EntryAction.open: + case EntryAction.setAs: return !settings.useTvLayout; case EntryAction.info: - case EntryAction.setAs: case EntryAction.share: return true; case EntryAction.restore: diff --git a/lib/widgets/welcome_page.dart b/lib/widgets/welcome_page.dart index 8478af4a3..f1bd5e30d 100644 --- a/lib/widgets/welcome_page.dart +++ b/lib/widgets/welcome_page.dart @@ -164,7 +164,7 @@ class _WelcomePageState extends State { final canEnableErrorReporting = context.select((v) => v.canEnableErrorReporting); const contentPadding = EdgeInsets.symmetric(horizontal: 8); final switches = ConstrainedBox( - constraints: const BoxConstraints(maxWidth: MarkdownContainer.maxWidth), + constraints: const BoxConstraints(maxWidth: MarkdownContainer.mobileMaxWidth), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ From f2a81fe021b22a47bb5b9875683ababeeb2a12b9 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Sun, 22 Jan 2023 17:00:00 +0100 Subject: [PATCH 04/44] l10n by weblate (#488) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Aitor Salaberria Co-authored-by: Allan Nordhøy Co-authored-by: Eric Co-authored-by: Hosted Weblate Co-authored-by: Idj Co-authored-by: Igor Sorocean Co-authored-by: Jan Co-authored-by: Jonatas de Almeida Barros Co-authored-by: Linerly Co-authored-by: MeFinity Co-authored-by: Nattapong K Co-authored-by: Oğuz Ersen Co-authored-by: Salih Ail Co-authored-by: Skrripy Co-authored-by: Thibault Deckers Co-authored-by: Tijolinho Co-authored-by: Translator-3000 Co-authored-by: Weblate Co-authored-by: gallegonovato Co-authored-by: rehork Co-authored-by: slasb37 Co-authored-by: tryvseu Co-authored-by: vesp Translate-URL: https://hosted.weblate.org/projects/aves/app-android/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/th/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/id/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/eu/ Translation: Aves/App - Android Translation: Aves/App - Main Translation: Aves/Store - Full description Translation: Aves/Store - Short description Co-authored-by: Aitor Salaberria Co-authored-by: Allan Nordhøy Co-authored-by: Eric Co-authored-by: Idj Co-authored-by: Igor Sorocean Co-authored-by: Jan Co-authored-by: Jonatas de Almeida Barros Co-authored-by: Linerly Co-authored-by: MeFinity Co-authored-by: Nattapong K Co-authored-by: Oğuz Ersen Co-authored-by: Salih Ail Co-authored-by: Skrripy Co-authored-by: Thibault Deckers Co-authored-by: Tijolinho Co-authored-by: Translator-3000 Co-authored-by: gallegonovato Co-authored-by: rehork Co-authored-by: slasb37 Co-authored-by: tryvseu Co-authored-by: vesp --- .../app/src/main/res/values-eu/strings.xml | 12 +++ .../metadata/android/eu/full_description.txt | 5 ++ .../metadata/android/eu/short_description.txt | 1 + lib/l10n/app_cs.arb | 22 ++++- lib/l10n/app_de.arb | 30 ++++++- lib/l10n/app_eu.arb | 85 +++++++++++++++++++ lib/l10n/app_it.arb | 4 +- lib/l10n/app_nb.arb | 4 +- lib/l10n/app_zh.arb | 4 +- 9 files changed, 155 insertions(+), 12 deletions(-) create mode 100644 android/app/src/main/res/values-eu/strings.xml create mode 100644 fastlane/metadata/android/eu/full_description.txt create mode 100644 fastlane/metadata/android/eu/short_description.txt create mode 100644 lib/l10n/app_eu.arb diff --git a/android/app/src/main/res/values-eu/strings.xml b/android/app/src/main/res/values-eu/strings.xml new file mode 100644 index 000000000..ca50b6ea6 --- /dev/null +++ b/android/app/src/main/res/values-eu/strings.xml @@ -0,0 +1,12 @@ + + + Bilatu + Bideoak + Argazki-markoa + Irudiak eta bideoak eskaneatu + Horma-papera + Media eskaneatu + Gelditu + Media eskaneatzen + Aves + \ No newline at end of file diff --git a/fastlane/metadata/android/eu/full_description.txt b/fastlane/metadata/android/eu/full_description.txt new file mode 100644 index 000000000..b0d5229c3 --- /dev/null +++ b/fastlane/metadata/android/eu/full_description.txt @@ -0,0 +1,5 @@ +Aves aplikazioak mota guztitako irudi eta bideoak, nahiz ohiko zure JPEG eta MP4 fitxategiak eta exotikoagoak diren orri ugaritako TIFF, SVG, AVI zaharrak eta are gehiago maneiatzen ditu! Zure media-bilduma eskaneatzen du mugimendu-argazkiak,panoramikak (argazki esferikoak bezala ere ezagunak), 360°-ko bideoak, baita GeoTIFF fitxategiak ere. + +Nabigazioa eta bilaketa Aves aplikazioaren zati garrantzitsu bat da. Helburua, erabiltzaileek albumetatik argazkietara, etiketetara, mapetara, etab. modu errazean mugi ahal izatea da. + +Aves Androidera (KitKatetik Android 13ra, Android TV barne) egiten da ezaugarri ugarirekin: widgetak, aplikazioko lasterbideak, pantaila-babeslea eta bilaketa globala. Baita ere, media-bisore edo -hautagailu bezala ere erabil daiteke. \ No newline at end of file diff --git a/fastlane/metadata/android/eu/short_description.txt b/fastlane/metadata/android/eu/short_description.txt new file mode 100644 index 000000000..b2d28aa2e --- /dev/null +++ b/fastlane/metadata/android/eu/short_description.txt @@ -0,0 +1 @@ +Galeria eta metadatuen nabigatzailea \ No newline at end of file diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index b487cf3b0..7322f3f98 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -313,7 +313,7 @@ "@videoPlaybackMuted": {}, "videoPlaybackWithSound": "Přehrát se zvukem", "@videoPlaybackWithSound": {}, - "themeBrightnessLight": "Svetlé", + "themeBrightnessLight": "Světlé", "@themeBrightnessLight": {}, "themeBrightnessDark": "Tmavé", "@themeBrightnessDark": {}, @@ -485,13 +485,13 @@ "@renameEntrySetPagePreviewSectionTitle": {}, "renameProcessorName": "Název", "@renameProcessorName": {}, - "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat toto album a tuto položku?} =2..4{Smazat toto album a tyto {count} položky?} other{Smazat toto album a těchto {count} položek?}}", + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat toto album a v něm obsaženou položku?} =2..4{Smazat toto album a v něm obsažené {count} položky?} other{Smazat toto album a v něm obsažených {count} položek?}}", "@deleteSingleAlbumConfirmationDialogMessage": { "placeholders": { "count": {} } }, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat tato alba a jejich položku?} =2..4{Smazat tato alba a jejich {count} položky?} other{Smazat tato alba a jejich {count} položek?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat tato alba a v nich obsaženou položku?} =2..4{Smazat tato alba a v nich obsažené {count} položky?} other{Smazat tato alba a v nich obsažených {count} položek?}}", "@deleteMultiAlbumConfirmationDialogMessage": { "placeholders": { "count": {} @@ -1354,5 +1354,19 @@ "mapAttributionStamen": "Mapová data © [OpenStreetMap](https://www.openstreetmap.org/copyright) přispěvatelé • Dlaždice z [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)", "@mapAttributionStamen": {}, "panoramaDisableSensorControl": "Zakázat ovládání senzorem", - "@panoramaDisableSensorControl": {} + "@panoramaDisableSensorControl": {}, + "filterLocatedLabel": "S polohou", + "@filterLocatedLabel": {}, + "filterTaggedLabel": "Se štítky", + "@filterTaggedLabel": {}, + "settingsDisplayUseTvInterface": "Rozhraní Android TV", + "@settingsDisplayUseTvInterface": {}, + "tooManyItemsErrorDialogMessage": "Zkuste znovu s několika dalšími položkami.", + "@tooManyItemsErrorDialogMessage": {}, + "settingsModificationWarningDialogMessage": "Ostatní nastavení budou upravena.", + "@settingsModificationWarningDialogMessage": {}, + "settingsViewerShowDescription": "Zobrazit popis", + "@settingsViewerShowDescription": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Potáhnout nahoru či dolů pro úpravu jasu/hlasitosti", + "@settingsVideoGestureVerticalDragBrightnessVolume": {} } diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 3b32f7b1a..3e93771d4 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -389,9 +389,9 @@ "@renameProcessorCounter": {}, "renameProcessorName": "Name", "@renameProcessorName": {}, - "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Sicher, dass dieses Album und der Inhalt gelöscht werden soll?} other{Sicher, dass dieses Album und deren {count} Elemente gelöscht werden sollen?}}", + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Das Album und das darin enthaltene Element löschen?} other{Das Album und die {count} darin enthaltenen Elemente löschen?}}", "@deleteSingleAlbumConfirmationDialogMessage": {}, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Sicher, dass diese Alben und deren Inhalt gelöscht werden sollen?} other{Sicher, dass diese Alben und deren {count} Elemente gelöscht werden sollen?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Diese Alben und die darin enthaltenen Elemente löschen?} other{Diese Alben und die darin enthaltenen {count} Objekte löschen?}}", "@deleteMultiAlbumConfirmationDialogMessage": {}, "exportEntryDialogFormat": "Format:", "@exportEntryDialogFormat": {}, @@ -595,7 +595,7 @@ "@collectionCopySuccessFeedback": {}, "collectionMoveSuccessFeedback": "{count, plural, =1{1 Element verschoben} other{{count} Elemente verschoben}}", "@collectionMoveSuccessFeedback": {}, - "collectionRenameSuccessFeedback": "{count, plural, =1{1 Element unmebannt} other{{count} Elemente umbenannt}}", + "collectionRenameSuccessFeedback": "{count, plural, =1{1 Element umbenannt} other{{count} Elemente umbenannt}}", "@collectionRenameSuccessFeedback": {}, "collectionEditSuccessFeedback": "{count, plural, =1{1 Element bearbeitet} other{ {count} Elemente bearbeitet}}", "@collectionEditSuccessFeedback": {}, @@ -1188,5 +1188,27 @@ "entryInfoActionRemoveLocation": "Standort entfernen", "@entryInfoActionRemoveLocation": {}, "entryActionShareVideoOnly": "Nur das Video teilen", - "@entryActionShareVideoOnly": {} + "@entryActionShareVideoOnly": {}, + "filterLocatedLabel": "Mit Standort", + "@filterLocatedLabel": {}, + "filterTaggedLabel": "Getaggt", + "@filterTaggedLabel": {}, + "settingsAccessibilityShowPinchGestureAlternatives": "Alternativen für Multi-Touch-Gesten anzeigen", + "@settingsAccessibilityShowPinchGestureAlternatives": {}, + "settingsDisplayUseTvInterface": "Android-TV Oberfläche", + "@settingsDisplayUseTvInterface": {}, + "columnCount": "{count, plural, =1{1 Spalte} other{{count} Spalten}}", + "@columnCount": { + "placeholders": { + "count": {} + } + }, + "settingsVideoGestureVerticalDragBrightnessVolume": "Nach oben oder unten wischen, um die Helligkeit/Lautstärke einzustellen", + "@settingsVideoGestureVerticalDragBrightnessVolume": {}, + "tooManyItemsErrorDialogMessage": "Noch einmal mit weniger Elementen versuchen.", + "@tooManyItemsErrorDialogMessage": {}, + "settingsModificationWarningDialogMessage": "Andere Einstellungen werden angepasst.", + "@settingsModificationWarningDialogMessage": {}, + "settingsViewerShowDescription": "Beschreibung anzeigen", + "@settingsViewerShowDescription": {} } diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb new file mode 100644 index 000000000..965f5efb8 --- /dev/null +++ b/lib/l10n/app_eu.arb @@ -0,0 +1,85 @@ +{ + "saveTooltip": "Gorde", + "@saveTooltip": {}, + "columnCount": "{count, plural, =1{zutabe 1} other{{count} zutabe}}", + "@columnCount": { + "placeholders": { + "count": {} + } + }, + "timeSeconds": "{seconds, plural, =1{segundu 1} other{{seconds} segundu}}", + "@timeSeconds": { + "placeholders": { + "seconds": {} + } + }, + "timeMinutes": "{minutes, plural, =1{minutu 1} other{{minutes} minutu}}", + "@timeMinutes": { + "placeholders": { + "minutes": {} + } + }, + "timeDays": "{days, plural, =1{egun 1} other{{days} egun}}", + "@timeDays": { + "placeholders": { + "days": {} + } + }, + "focalLength": "{length} mm", + "@focalLength": { + "placeholders": { + "length": { + "type": "String", + "example": "5.4" + } + } + }, + "applyButtonLabel": "APLIKATU", + "@applyButtonLabel": {}, + "deleteButtonLabel": "EZABATU", + "@deleteButtonLabel": {}, + "nextButtonLabel": "HURRENGOA", + "@nextButtonLabel": {}, + "showButtonLabel": "ERAKUTSI", + "@showButtonLabel": {}, + "hideButtonLabel": "EZKUTATU", + "@hideButtonLabel": {}, + "appName": "Aves", + "@appName": {}, + "welcomeMessage": "Ongi etorri", + "@welcomeMessage": {}, + "welcomeOptional": "Aukerazkoa", + "@welcomeOptional": {}, + "itemCount": "{count, plural, =1{elementu 1} other{{count} elementu}}", + "@itemCount": { + "placeholders": { + "count": {} + } + }, + "welcomeTermsToggle": "Termino eta baldintzekin ados nago", + "@welcomeTermsToggle": {}, + "cancelTooltip": "Utzi", + "@cancelTooltip": {}, + "continueButtonLabel": "JARRAITU", + "@continueButtonLabel": {}, + "nextTooltip": "Hurrengoa", + "@nextTooltip": {}, + "changeTooltip": "Aldatu", + "@changeTooltip": {}, + "clearTooltip": "Garbitu", + "@clearTooltip": {}, + "previousTooltip": "Aurrekoa", + "@previousTooltip": {}, + "showTooltip": "Erakutsi", + "@showTooltip": {}, + "actionRemove": "Ezabatu", + "@actionRemove": {}, + "resetTooltip": "Berrezarri", + "@resetTooltip": {}, + "hideTooltip": "Ezkutatu", + "@hideTooltip": {}, + "doubleBackExitMessage": "Sakatu \"itzuli\" berriro irteteko.", + "@doubleBackExitMessage": {}, + "pickTooltip": "Aukeratu", + "@pickTooltip": {} +} diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index a9577f7bc..ef917a0ab 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1208,5 +1208,7 @@ "settingsViewerShowDescription": "Mostra la descrizione", "@settingsViewerShowDescription": {}, "tooManyItemsErrorDialogMessage": "Riprova con meno elementi.", - "@tooManyItemsErrorDialogMessage": {} + "@tooManyItemsErrorDialogMessage": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Trascina su o giù per aggiustare luminosità/volume", + "@settingsVideoGestureVerticalDragBrightnessVolume": {} } diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index 0c98e35ba..ecd127a82 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -1366,5 +1366,7 @@ "settingsModificationWarningDialogMessage": "Andre innstillinger vil bli endret.", "@settingsModificationWarningDialogMessage": {}, "tooManyItemsErrorDialogMessage": "Prøv igjen med færre elementer.", - "@tooManyItemsErrorDialogMessage": {} + "@tooManyItemsErrorDialogMessage": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Dra opp eller ned for å justere lys-/lydstyrke", + "@settingsVideoGestureVerticalDragBrightnessVolume": {} } diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 877892a9d..40ad3fa1b 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -389,9 +389,9 @@ "@renameProcessorCounter": {}, "renameProcessorName": "名称", "@renameProcessorName": {}, - "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{删除此相册及其内容?} other{删除此相册及其 {count} 项内容?}}", + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{删除此相册及其中的一个项目?} other{删除此相册及其中的 {count} 个项目?}}", "@deleteSingleAlbumConfirmationDialogMessage": {}, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{删除这些相册及其内容?} other{删除这些相册及其 {count} 项内容?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{删除这些相册及其中的一个项目?} other{删除这些相册及其中的 {count} 个项目?}}", "@deleteMultiAlbumConfirmationDialogMessage": {}, "exportEntryDialogFormat": "格式:", "@exportEntryDialogFormat": {}, From 788241fab32b66577c7e5b976514e65b9b2ce209 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 22 Jan 2023 19:23:34 +0100 Subject: [PATCH 05/44] minor --- .../aves/channel/calls/MediaSessionHandler.kt | 7 +- lib/widgets/about/translators.dart | 2 + lib/widgets/aves_app.dart | 2 +- untranslated.json | 609 +++++++++++++++++- 4 files changed, 587 insertions(+), 33 deletions(-) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaSessionHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaSessionHandler.kt index e3373bcce..f473e879f 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaSessionHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaSessionHandler.kt @@ -51,14 +51,17 @@ class MediaSessionHandler(private val context: Context, private val mediaCommand private suspend fun updateSession(call: MethodCall, result: MethodChannel.Result) { val uri = call.argument("uri")?.let { Uri.parse(it) } - val title = call.argument("title") + val title = call.argument("title") ?: uri?.toString() val durationMillis = call.argument("durationMillis")?.toLong() val stateString = call.argument("state") val positionMillis = call.argument("positionMillis")?.toLong() val playbackSpeed = call.argument("playbackSpeed")?.toFloat() if (uri == null || title == null || durationMillis == null || stateString == null || positionMillis == null || playbackSpeed == null) { - result.error("update-args", "missing arguments", null) + result.error( + "updateSession-args", "missing arguments: uri=$uri, title=$title, durationMillis=$durationMillis" + + ", stateString=$stateString, positionMillis=$positionMillis, playbackSpeed=$playbackSpeed", null + ) return } diff --git a/lib/widgets/about/translators.dart b/lib/widgets/about/translators.dart index 7d172bbaa..e3155a111 100644 --- a/lib/widgets/about/translators.dart +++ b/lib/widgets/about/translators.dart @@ -45,6 +45,7 @@ class AboutTranslators extends StatelessWidget { Contributor('Tijolinho', 'pedrohenrique29.alfenas@gmail.com'), Contributor('Piotr K', '1337.kelt@gmail.com'), Contributor('rehork', 'cooky@e.email'), + Contributor('Eric', 'hamburger2048@users.noreply.hosted.weblate.org'), // Contributor('SAMIRAH AIL', 'samiratalzahrani@gmail.com'), // Arabic // Contributor('Salih Ail', 'rrrfff444@gmail.com'), // Arabic // Contributor('امیر جهانگرد', 'ijahangard.a@gmail.com'), // Persian @@ -52,6 +53,7 @@ class AboutTranslators extends StatelessWidget { // Contributor('tryvseu', 'tryvseu@tuta.io'), // Nynorsk // Contributor('Nattapong K', 'mixer5056@gmail.com'), // Thai // Contributor('Idj', 'joneltmp+goahn@gmail.com'), // Hebrew + // Contributor('Aitor Salaberria', 'trslbrr@gmail.com'), // Basque }; @override diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 8bcdf131b..d671d862a 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -54,7 +54,7 @@ class AvesApp extends StatefulWidget { final AppFlavor flavor; // temporary exclude locales not ready yet for prime time - static final _unsupportedLocales = {'ar', 'fa', 'gl', 'he', 'nn', 'th'}.map(Locale.new).toSet(); + static final _unsupportedLocales = {'ar', 'eu', 'fa', 'gl', 'he', 'nn', 'th'}.map(Locale.new).toSet(); static final List supportedLocales = AppLocalizations.supportedLocales.where((v) => !_unsupportedLocales.contains(v)).toList(); static final ValueNotifier cutoutInsetsNotifier = ValueNotifier(EdgeInsets.zero); static final GlobalKey navigatorKey = GlobalKey(debugLabel: 'app-navigator'); diff --git a/untranslated.json b/untranslated.json index c87e286de..ecf5791fa 100644 --- a/untranslated.json +++ b/untranslated.json @@ -571,33 +571,590 @@ "tagEditorPageNewTagFieldLabel" ], - "cs": [ - "filterLocatedLabel", - "filterTaggedLabel", - "tooManyItemsErrorDialogMessage", - "settingsModificationWarningDialogMessage", - "settingsViewerShowDescription", - "settingsVideoGestureVerticalDragBrightnessVolume", - "settingsDisplayUseTvInterface" - ], - - "de": [ - "columnCount", - "filterLocatedLabel", - "filterTaggedLabel", - "tooManyItemsErrorDialogMessage", - "settingsModificationWarningDialogMessage", - "settingsViewerShowDescription", - "settingsVideoGestureVerticalDragBrightnessVolume", - "settingsAccessibilityShowPinchGestureAlternatives", - "settingsDisplayUseTvInterface" - ], - "el": [ "tooManyItemsErrorDialogMessage", "settingsVideoGestureVerticalDragBrightnessVolume" ], + "eu": [ + "doNotAskAgain", + "sourceStateLoading", + "sourceStateCataloguing", + "sourceStateLocatingCountries", + "sourceStateLocatingPlaces", + "chipActionDelete", + "chipActionGoToAlbumPage", + "chipActionGoToCountryPage", + "chipActionGoToTagPage", + "chipActionFilterOut", + "chipActionFilterIn", + "chipActionHide", + "chipActionPin", + "chipActionUnpin", + "chipActionRename", + "chipActionSetCover", + "chipActionCreateAlbum", + "entryActionCopyToClipboard", + "entryActionDelete", + "entryActionConvert", + "entryActionExport", + "entryActionInfo", + "entryActionRename", + "entryActionRestore", + "entryActionRotateCCW", + "entryActionRotateCW", + "entryActionFlip", + "entryActionPrint", + "entryActionShare", + "entryActionShareImageOnly", + "entryActionShareVideoOnly", + "entryActionViewSource", + "entryActionShowGeoTiffOnMap", + "entryActionConvertMotionPhotoToStillImage", + "entryActionViewMotionPhotoVideo", + "entryActionEdit", + "entryActionOpen", + "entryActionSetAs", + "entryActionOpenMap", + "entryActionRotateScreen", + "entryActionAddFavourite", + "entryActionRemoveFavourite", + "videoActionCaptureFrame", + "videoActionMute", + "videoActionUnmute", + "videoActionPause", + "videoActionPlay", + "videoActionReplay10", + "videoActionSkip10", + "videoActionSelectStreams", + "videoActionSetSpeed", + "videoActionSettings", + "slideshowActionResume", + "slideshowActionShowInCollection", + "entryInfoActionEditDate", + "entryInfoActionEditLocation", + "entryInfoActionEditTitleDescription", + "entryInfoActionEditRating", + "entryInfoActionEditTags", + "entryInfoActionRemoveMetadata", + "entryInfoActionExportMetadata", + "entryInfoActionRemoveLocation", + "filterAspectRatioLandscapeLabel", + "filterAspectRatioPortraitLabel", + "filterBinLabel", + "filterFavouriteLabel", + "filterNoDateLabel", + "filterNoAddressLabel", + "filterLocatedLabel", + "filterNoLocationLabel", + "filterNoRatingLabel", + "filterTaggedLabel", + "filterNoTagLabel", + "filterNoTitleLabel", + "filterOnThisDayLabel", + "filterRecentlyAddedLabel", + "filterRatingRejectedLabel", + "filterTypeAnimatedLabel", + "filterTypeMotionPhotoLabel", + "filterTypePanoramaLabel", + "filterTypeRawLabel", + "filterTypeSphericalVideoLabel", + "filterTypeGeotiffLabel", + "filterMimeImageLabel", + "filterMimeVideoLabel", + "coordinateFormatDms", + "coordinateFormatDecimal", + "coordinateDms", + "coordinateDmsNorth", + "coordinateDmsSouth", + "coordinateDmsEast", + "coordinateDmsWest", + "unitSystemMetric", + "unitSystemImperial", + "videoLoopModeNever", + "videoLoopModeShortOnly", + "videoLoopModeAlways", + "videoControlsPlay", + "videoControlsPlaySeek", + "videoControlsPlayOutside", + "videoControlsNone", + "mapStyleGoogleNormal", + "mapStyleGoogleHybrid", + "mapStyleGoogleTerrain", + "mapStyleHuaweiNormal", + "mapStyleHuaweiTerrain", + "mapStyleOsmHot", + "mapStyleStamenToner", + "mapStyleStamenWatercolor", + "nameConflictStrategyRename", + "nameConflictStrategyReplace", + "nameConflictStrategySkip", + "keepScreenOnNever", + "keepScreenOnVideoPlayback", + "keepScreenOnViewerOnly", + "keepScreenOnAlways", + "accessibilityAnimationsRemove", + "accessibilityAnimationsKeep", + "displayRefreshRatePreferHighest", + "displayRefreshRatePreferLowest", + "subtitlePositionTop", + "subtitlePositionBottom", + "videoPlaybackSkip", + "videoPlaybackMuted", + "videoPlaybackWithSound", + "themeBrightnessLight", + "themeBrightnessDark", + "themeBrightnessBlack", + "viewerTransitionSlide", + "viewerTransitionParallax", + "viewerTransitionFade", + "viewerTransitionZoomIn", + "viewerTransitionNone", + "wallpaperTargetHome", + "wallpaperTargetLock", + "wallpaperTargetHomeLock", + "widgetDisplayedItemRandom", + "widgetDisplayedItemMostRecent", + "widgetOpenPageHome", + "widgetOpenPageCollection", + "widgetOpenPageViewer", + "albumTierNew", + "albumTierPinned", + "albumTierSpecial", + "albumTierApps", + "albumTierRegular", + "storageVolumeDescriptionFallbackPrimary", + "storageVolumeDescriptionFallbackNonPrimary", + "rootDirectoryDescription", + "otherDirectoryDescription", + "storageAccessDialogMessage", + "restrictedAccessDialogMessage", + "notEnoughSpaceDialogMessage", + "missingSystemFilePickerDialogMessage", + "unsupportedTypeDialogMessage", + "nameConflictDialogSingleSourceMessage", + "nameConflictDialogMultipleSourceMessage", + "addShortcutDialogLabel", + "addShortcutButtonLabel", + "noMatchingAppDialogMessage", + "binEntriesConfirmationDialogMessage", + "deleteEntriesConfirmationDialogMessage", + "moveUndatedConfirmationDialogMessage", + "moveUndatedConfirmationDialogSetDate", + "videoResumeDialogMessage", + "videoStartOverButtonLabel", + "videoResumeButtonLabel", + "setCoverDialogLatest", + "setCoverDialogAuto", + "setCoverDialogCustom", + "hideFilterConfirmationDialogMessage", + "newAlbumDialogTitle", + "newAlbumDialogNameLabel", + "newAlbumDialogNameLabelAlreadyExistsHelper", + "newAlbumDialogStorageLabel", + "renameAlbumDialogLabel", + "renameAlbumDialogLabelAlreadyExistsHelper", + "renameEntrySetPageTitle", + "renameEntrySetPagePatternFieldLabel", + "renameEntrySetPageInsertTooltip", + "renameEntrySetPagePreviewSectionTitle", + "renameProcessorCounter", + "renameProcessorName", + "deleteSingleAlbumConfirmationDialogMessage", + "deleteMultiAlbumConfirmationDialogMessage", + "exportEntryDialogFormat", + "exportEntryDialogWidth", + "exportEntryDialogHeight", + "renameEntryDialogLabel", + "editEntryDialogCopyFromItem", + "editEntryDialogTargetFieldsHeader", + "editEntryDateDialogTitle", + "editEntryDateDialogSetCustom", + "editEntryDateDialogCopyField", + "editEntryDateDialogExtractFromTitle", + "editEntryDateDialogShift", + "editEntryDateDialogSourceFileModifiedDate", + "durationDialogHours", + "durationDialogMinutes", + "durationDialogSeconds", + "editEntryLocationDialogTitle", + "editEntryLocationDialogSetCustom", + "editEntryLocationDialogChooseOnMap", + "editEntryLocationDialogLatitude", + "editEntryLocationDialogLongitude", + "locationPickerUseThisLocationButton", + "editEntryRatingDialogTitle", + "removeEntryMetadataDialogTitle", + "removeEntryMetadataDialogMore", + "removeEntryMetadataMotionPhotoXmpWarningDialogMessage", + "videoSpeedDialogLabel", + "videoStreamSelectionDialogVideo", + "videoStreamSelectionDialogAudio", + "videoStreamSelectionDialogText", + "videoStreamSelectionDialogOff", + "videoStreamSelectionDialogTrack", + "videoStreamSelectionDialogNoSelection", + "genericSuccessFeedback", + "genericFailureFeedback", + "genericDangerWarningDialogMessage", + "tooManyItemsErrorDialogMessage", + "menuActionConfigureView", + "menuActionSelect", + "menuActionSelectAll", + "menuActionSelectNone", + "menuActionMap", + "menuActionSlideshow", + "menuActionStats", + "viewDialogSortSectionTitle", + "viewDialogGroupSectionTitle", + "viewDialogLayoutSectionTitle", + "viewDialogReverseSortOrder", + "tileLayoutMosaic", + "tileLayoutGrid", + "tileLayoutList", + "coverDialogTabCover", + "coverDialogTabApp", + "coverDialogTabColor", + "appPickDialogTitle", + "appPickDialogNone", + "aboutPageTitle", + "aboutLinkLicense", + "aboutLinkPolicy", + "aboutBugSectionTitle", + "aboutBugSaveLogInstruction", + "aboutBugCopyInfoInstruction", + "aboutBugCopyInfoButton", + "aboutBugReportInstruction", + "aboutBugReportButton", + "aboutCreditsSectionTitle", + "aboutCreditsWorldAtlas1", + "aboutCreditsWorldAtlas2", + "aboutTranslatorsSectionTitle", + "aboutLicensesSectionTitle", + "aboutLicensesBanner", + "aboutLicensesAndroidLibrariesSectionTitle", + "aboutLicensesFlutterPluginsSectionTitle", + "aboutLicensesFlutterPackagesSectionTitle", + "aboutLicensesDartPackagesSectionTitle", + "aboutLicensesShowAllButtonLabel", + "policyPageTitle", + "collectionPageTitle", + "collectionPickPageTitle", + "collectionSelectPageTitle", + "collectionActionShowTitleSearch", + "collectionActionHideTitleSearch", + "collectionActionAddShortcut", + "collectionActionEmptyBin", + "collectionActionCopy", + "collectionActionMove", + "collectionActionRescan", + "collectionActionEdit", + "collectionSearchTitlesHintText", + "collectionGroupAlbum", + "collectionGroupMonth", + "collectionGroupDay", + "collectionGroupNone", + "sectionUnknown", + "dateToday", + "dateYesterday", + "dateThisMonth", + "collectionDeleteFailureFeedback", + "collectionCopyFailureFeedback", + "collectionMoveFailureFeedback", + "collectionRenameFailureFeedback", + "collectionEditFailureFeedback", + "collectionExportFailureFeedback", + "collectionCopySuccessFeedback", + "collectionMoveSuccessFeedback", + "collectionRenameSuccessFeedback", + "collectionEditSuccessFeedback", + "collectionEmptyFavourites", + "collectionEmptyVideos", + "collectionEmptyImages", + "collectionEmptyGrantAccessButtonLabel", + "collectionSelectSectionTooltip", + "collectionDeselectSectionTooltip", + "drawerAboutButton", + "drawerSettingsButton", + "drawerCollectionAll", + "drawerCollectionFavourites", + "drawerCollectionImages", + "drawerCollectionVideos", + "drawerCollectionAnimated", + "drawerCollectionMotionPhotos", + "drawerCollectionPanoramas", + "drawerCollectionRaws", + "drawerCollectionSphericalVideos", + "drawerAlbumPage", + "drawerCountryPage", + "drawerTagPage", + "sortByDate", + "sortByName", + "sortByItemCount", + "sortBySize", + "sortByAlbumFileName", + "sortByRating", + "sortOrderNewestFirst", + "sortOrderOldestFirst", + "sortOrderAtoZ", + "sortOrderZtoA", + "sortOrderHighestFirst", + "sortOrderLowestFirst", + "sortOrderLargestFirst", + "sortOrderSmallestFirst", + "albumGroupTier", + "albumGroupType", + "albumGroupVolume", + "albumGroupNone", + "albumMimeTypeMixed", + "albumPickPageTitleCopy", + "albumPickPageTitleExport", + "albumPickPageTitleMove", + "albumPickPageTitlePick", + "albumCamera", + "albumDownload", + "albumScreenshots", + "albumScreenRecordings", + "albumVideoCaptures", + "albumPageTitle", + "albumEmpty", + "createAlbumTooltip", + "createAlbumButtonLabel", + "newFilterBanner", + "countryPageTitle", + "countryEmpty", + "tagPageTitle", + "tagEmpty", + "binPageTitle", + "searchCollectionFieldHint", + "searchRecentSectionTitle", + "searchDateSectionTitle", + "searchAlbumsSectionTitle", + "searchCountriesSectionTitle", + "searchPlacesSectionTitle", + "searchTagsSectionTitle", + "searchRatingSectionTitle", + "searchMetadataSectionTitle", + "settingsPageTitle", + "settingsSystemDefault", + "settingsDefault", + "settingsDisabled", + "settingsModificationWarningDialogMessage", + "settingsSearchFieldLabel", + "settingsSearchEmpty", + "settingsActionExport", + "settingsActionExportDialogTitle", + "settingsActionImport", + "settingsActionImportDialogTitle", + "appExportCovers", + "appExportFavourites", + "appExportSettings", + "settingsNavigationSectionTitle", + "settingsHomeTile", + "settingsHomeDialogTitle", + "settingsShowBottomNavigationBar", + "settingsKeepScreenOnTile", + "settingsKeepScreenOnDialogTitle", + "settingsDoubleBackExit", + "settingsConfirmationTile", + "settingsConfirmationDialogTitle", + "settingsConfirmationBeforeDeleteItems", + "settingsConfirmationBeforeMoveToBinItems", + "settingsConfirmationBeforeMoveUndatedItems", + "settingsConfirmationAfterMoveToBinItems", + "settingsNavigationDrawerTile", + "settingsNavigationDrawerEditorPageTitle", + "settingsNavigationDrawerBanner", + "settingsNavigationDrawerTabTypes", + "settingsNavigationDrawerTabAlbums", + "settingsNavigationDrawerTabPages", + "settingsNavigationDrawerAddAlbum", + "settingsThumbnailSectionTitle", + "settingsThumbnailOverlayTile", + "settingsThumbnailOverlayPageTitle", + "settingsThumbnailShowFavouriteIcon", + "settingsThumbnailShowTagIcon", + "settingsThumbnailShowLocationIcon", + "settingsThumbnailShowMotionPhotoIcon", + "settingsThumbnailShowRating", + "settingsThumbnailShowRawIcon", + "settingsThumbnailShowVideoDuration", + "settingsCollectionQuickActionsTile", + "settingsCollectionQuickActionEditorPageTitle", + "settingsCollectionQuickActionTabBrowsing", + "settingsCollectionQuickActionTabSelecting", + "settingsCollectionBrowsingQuickActionEditorBanner", + "settingsCollectionSelectionQuickActionEditorBanner", + "settingsViewerSectionTitle", + "settingsViewerGestureSideTapNext", + "settingsViewerUseCutout", + "settingsViewerMaximumBrightness", + "settingsMotionPhotoAutoPlay", + "settingsImageBackground", + "settingsViewerQuickActionsTile", + "settingsViewerQuickActionEditorPageTitle", + "settingsViewerQuickActionEditorBanner", + "settingsViewerQuickActionEditorDisplayedButtonsSectionTitle", + "settingsViewerQuickActionEditorAvailableButtonsSectionTitle", + "settingsViewerQuickActionEmpty", + "settingsViewerOverlayTile", + "settingsViewerOverlayPageTitle", + "settingsViewerShowOverlayOnOpening", + "settingsViewerShowMinimap", + "settingsViewerShowInformation", + "settingsViewerShowInformationSubtitle", + "settingsViewerShowRatingTags", + "settingsViewerShowShootingDetails", + "settingsViewerShowDescription", + "settingsViewerShowOverlayThumbnails", + "settingsViewerEnableOverlayBlurEffect", + "settingsViewerSlideshowTile", + "settingsViewerSlideshowPageTitle", + "settingsSlideshowRepeat", + "settingsSlideshowShuffle", + "settingsSlideshowFillScreen", + "settingsSlideshowAnimatedZoomEffect", + "settingsSlideshowTransitionTile", + "settingsSlideshowIntervalTile", + "settingsSlideshowVideoPlaybackTile", + "settingsSlideshowVideoPlaybackDialogTitle", + "settingsVideoPageTitle", + "settingsVideoSectionTitle", + "settingsVideoShowVideos", + "settingsVideoEnableHardwareAcceleration", + "settingsVideoAutoPlay", + "settingsVideoLoopModeTile", + "settingsVideoLoopModeDialogTitle", + "settingsSubtitleThemeTile", + "settingsSubtitleThemePageTitle", + "settingsSubtitleThemeSample", + "settingsSubtitleThemeTextAlignmentTile", + "settingsSubtitleThemeTextAlignmentDialogTitle", + "settingsSubtitleThemeTextPositionTile", + "settingsSubtitleThemeTextPositionDialogTitle", + "settingsSubtitleThemeTextSize", + "settingsSubtitleThemeShowOutline", + "settingsSubtitleThemeTextColor", + "settingsSubtitleThemeTextOpacity", + "settingsSubtitleThemeBackgroundColor", + "settingsSubtitleThemeBackgroundOpacity", + "settingsSubtitleThemeTextAlignmentLeft", + "settingsSubtitleThemeTextAlignmentCenter", + "settingsSubtitleThemeTextAlignmentRight", + "settingsVideoControlsTile", + "settingsVideoControlsPageTitle", + "settingsVideoButtonsTile", + "settingsVideoGestureDoubleTapTogglePlay", + "settingsVideoGestureSideDoubleTapSeek", + "settingsVideoGestureVerticalDragBrightnessVolume", + "settingsPrivacySectionTitle", + "settingsAllowInstalledAppAccess", + "settingsAllowInstalledAppAccessSubtitle", + "settingsAllowErrorReporting", + "settingsSaveSearchHistory", + "settingsEnableBin", + "settingsEnableBinSubtitle", + "settingsAllowMediaManagement", + "settingsHiddenItemsTile", + "settingsHiddenItemsPageTitle", + "settingsHiddenItemsTabFilters", + "settingsHiddenFiltersBanner", + "settingsHiddenFiltersEmpty", + "settingsHiddenItemsTabPaths", + "settingsHiddenPathsBanner", + "addPathTooltip", + "settingsStorageAccessTile", + "settingsStorageAccessPageTitle", + "settingsStorageAccessBanner", + "settingsStorageAccessEmpty", + "settingsStorageAccessRevokeTooltip", + "settingsAccessibilitySectionTitle", + "settingsRemoveAnimationsTile", + "settingsRemoveAnimationsDialogTitle", + "settingsTimeToTakeActionTile", + "settingsAccessibilityShowPinchGestureAlternatives", + "settingsDisplaySectionTitle", + "settingsThemeBrightnessTile", + "settingsThemeBrightnessDialogTitle", + "settingsThemeColorHighlights", + "settingsThemeEnableDynamicColor", + "settingsDisplayRefreshRateModeTile", + "settingsDisplayRefreshRateModeDialogTitle", + "settingsDisplayUseTvInterface", + "settingsLanguageSectionTitle", + "settingsLanguageTile", + "settingsLanguagePageTitle", + "settingsCoordinateFormatTile", + "settingsCoordinateFormatDialogTitle", + "settingsUnitSystemTile", + "settingsUnitSystemDialogTitle", + "settingsScreenSaverPageTitle", + "settingsWidgetPageTitle", + "settingsWidgetShowOutline", + "settingsWidgetOpenPage", + "settingsWidgetDisplayedItem", + "settingsCollectionTile", + "statsPageTitle", + "statsWithGps", + "statsTopCountriesSectionTitle", + "statsTopPlacesSectionTitle", + "statsTopTagsSectionTitle", + "statsTopAlbumsSectionTitle", + "viewerOpenPanoramaButtonLabel", + "viewerSetWallpaperButtonLabel", + "viewerErrorUnknown", + "viewerErrorDoesNotExist", + "viewerInfoPageTitle", + "viewerInfoBackToViewerTooltip", + "viewerInfoUnknown", + "viewerInfoLabelDescription", + "viewerInfoLabelTitle", + "viewerInfoLabelDate", + "viewerInfoLabelResolution", + "viewerInfoLabelSize", + "viewerInfoLabelUri", + "viewerInfoLabelPath", + "viewerInfoLabelDuration", + "viewerInfoLabelOwner", + "viewerInfoLabelCoordinates", + "viewerInfoLabelAddress", + "mapStyleDialogTitle", + "mapStyleTooltip", + "mapZoomInTooltip", + "mapZoomOutTooltip", + "mapPointNorthUpTooltip", + "mapAttributionOsmHot", + "mapAttributionStamen", + "openMapPageTooltip", + "mapEmptyRegion", + "viewerInfoOpenEmbeddedFailureFeedback", + "viewerInfoOpenLinkText", + "viewerInfoViewXmlLinkText", + "viewerInfoSearchFieldLabel", + "viewerInfoSearchEmpty", + "viewerInfoSearchSuggestionDate", + "viewerInfoSearchSuggestionDescription", + "viewerInfoSearchSuggestionDimensions", + "viewerInfoSearchSuggestionResolution", + "viewerInfoSearchSuggestionRights", + "wallpaperUseScrollEffect", + "tagEditorPageTitle", + "tagEditorPageNewTagFieldLabel", + "tagEditorPageAddTagTooltip", + "tagEditorSectionRecent", + "tagEditorSectionPlaceholders", + "tagPlaceholderCountry", + "tagPlaceholderPlace", + "panoramaEnableSensorControl", + "panoramaDisableSensorControl", + "sourceViewerPageTitle", + "filePickerShowHiddenFiles", + "filePickerDoNotShowHiddenFiles", + "filePickerOpenFrom", + "filePickerNoItems", + "filePickerUseThisFolder" + ], + "fa": [ "clearTooltip", "videoActionPause", @@ -2117,10 +2674,6 @@ "filePickerUseThisFolder" ], - "it": [ - "settingsVideoGestureVerticalDragBrightnessVolume" - ], - "ja": [ "columnCount", "chipActionFilterIn", @@ -2154,10 +2707,6 @@ "settingsDisplayUseTvInterface" ], - "nb": [ - "settingsVideoGestureVerticalDragBrightnessVolume" - ], - "nl": [ "columnCount", "entryActionShareImageOnly", From fda5865e26a29201584fe240a4bad29c98e18f37 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 22 Jan 2023 21:50:37 +0100 Subject: [PATCH 06/44] fixed SD card access grant on Android Lollipop --- CHANGELOG.md | 4 ++ .../aves/channel/calls/DeviceHandler.kt | 2 +- .../thibault/aves/utils/StorageUtils.kt | 49 ++++++++++++++++--- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 896ce5ddd..b3fce214a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Fixed + +- SD card access grant on Android Lollipop + ## [v1.7.10] - 2023-01-18 ### Added diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt index 9f59bb879..d64a01db9 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt @@ -41,7 +41,7 @@ class DeviceHandler(private val context: Context) : MethodCallHandler { "canGrantDirectoryAccess" to (sdkInt >= Build.VERSION_CODES.LOLLIPOP), "canPinShortcut" to ShortcutManagerCompat.isRequestPinShortcutSupported(context), "canPrint" to (sdkInt >= Build.VERSION_CODES.KITKAT), - "canRenderFlagEmojis" to (sdkInt >= Build.VERSION_CODES.LOLLIPOP), + "canRenderFlagEmojis" to (sdkInt >= Build.VERSION_CODES.M), "canRequestManageMedia" to (sdkInt >= Build.VERSION_CODES.S), "canSetLockScreenWallpaper" to (sdkInt >= Build.VERSION_CODES.N), "hasGeocoder" to Geocoder.isPresent(), diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt index 078fda691..962c28ce7 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt @@ -39,6 +39,7 @@ object StorageUtils { private const val TREE_URI_ROOT = "content://$EXTERNAL_STORAGE_PROVIDER_AUTHORITY/tree/" + private val UUID_PATTERN = Regex("[A-Fa-f\\d-]+") private val TREE_URI_PATH_PATTERN = Pattern.compile("(.*?):(.*)") const val TRASH_PATH_PLACEHOLDER = "#trash" @@ -259,6 +260,7 @@ object StorageUtils { // e.g. // /storage/emulated/0/ -> primary // /storage/10F9-3F13/Pictures/ -> 10F9-3F13 + // /storage/extSdCard/ -> 1234-5678 [Android 5.1.1, Samsung Galaxy Core Prime] private fun getVolumeUuidForDocumentUri(context: Context, anyPath: String): String? { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { val sm = context.getSystemService(Context.STORAGE_SERVICE) as? StorageManager @@ -278,7 +280,22 @@ object StorageUtils { return EXTERNAL_STORAGE_PRIMARY_EMULATED_ROOT_ID } volumePath.split(File.separator).lastOrNull { it.isNotEmpty() }?.let { uuid -> - return uuid.uppercase(Locale.ROOT) + if (uuid.matches(UUID_PATTERN)) { + return uuid.uppercase(Locale.ROOT) + } + } + + // fallback when UUID does not appear in the SD card volume path + context.contentResolver.persistedUriPermissions.firstOrNull { uriPermission -> + convertTreeDocumentUriToDirPath(context, uriPermission.uri)?.let { + getVolumePath(context, it)?.let { grantedVolumePath -> + grantedVolumePath == volumePath + } + } ?: false + }?.let { uriPermission -> + splitTreeDocumentUri(uriPermission.uri)?.let { (uuid, _) -> + return uuid + } } } @@ -289,6 +306,7 @@ object StorageUtils { // e.g. // primary -> /storage/emulated/0/ // 10F9-3F13 -> /storage/10F9-3F13/ + // 1234-5678 -> /storage/extSdCard/ [Android 5.1.1, Samsung Galaxy Core Prime] private fun getVolumePathFromTreeDocumentUriUuid(context: Context, uuid: String): String? { if (uuid == EXTERNAL_STORAGE_PRIMARY_EMULATED_ROOT_ID) { return getPrimaryVolumePath(context) @@ -318,6 +336,10 @@ object StorageUtils { } } + // fallback when UUID does not appear in the SD card volume path + val primaryVolumePath = getPrimaryVolumePath(context) + getVolumePaths(context).firstOrNull { it != primaryVolumePath }?.let { return it } + Log.e(LOG_TAG, "failed to find volume path for UUID=$uuid") return null } @@ -350,9 +372,9 @@ object StorageUtils { } // e.g. - // content://com.android.externalstorage.documents/tree/primary%3A -> /storage/emulated/0/ - // content://com.android.externalstorage.documents/tree/10F9-3F13%3APictures -> /storage/10F9-3F13/Pictures/ - fun convertTreeDocumentUriToDirPath(context: Context, treeDocumentUri: Uri): String? { + // content://com.android.externalstorage.documents/tree/primary%3A -> ("primary", "") + // content://com.android.externalstorage.documents/tree/10F9-3F13%3APictures -> ("10F9-3F13", "Pictures") + private fun splitTreeDocumentUri(treeDocumentUri: Uri): Pair? { val treeDocumentUriString = treeDocumentUri.toString() if (treeDocumentUriString.length <= TREE_URI_ROOT.length) return null val encoded = treeDocumentUriString.substring(TREE_URI_ROOT.length) @@ -362,13 +384,24 @@ object StorageUtils { val uuid = group(1) val relativePath = group(2) if (uuid != null && relativePath != null) { - val volumePath = getVolumePathFromTreeDocumentUriUuid(context, uuid) - if (volumePath != null) { - return ensureTrailingSeparator(volumePath + relativePath) - } + return Pair(uuid, relativePath) } } } + Log.e(LOG_TAG, "failed to split treeDocumentUri=$treeDocumentUri to UUID and relative path") + return null + } + + // e.g. + // content://com.android.externalstorage.documents/tree/primary%3A -> /storage/emulated/0/ + // content://com.android.externalstorage.documents/tree/10F9-3F13%3APictures -> /storage/10F9-3F13/Pictures/ + fun convertTreeDocumentUriToDirPath(context: Context, treeDocumentUri: Uri): String? { + splitTreeDocumentUri(treeDocumentUri)?.let { (uuid, relativePath) -> + val volumePath = getVolumePathFromTreeDocumentUriUuid(context, uuid) + if (volumePath != null) { + return ensureTrailingSeparator(volumePath + relativePath) + } + } Log.e(LOG_TAG, "failed to convert treeDocumentUri=$treeDocumentUri to path") return null } From d889a26e62472350fc12fad7e61e0119f25ed42d Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 23 Jan 2023 11:28:33 +0100 Subject: [PATCH 07/44] fixed switching to browsing mode after album deletion --- .../collection/entry_set_action_delegate.dart | 17 ++++++++--------- .../common/action_mixins/entry_storage.dart | 1 + .../common/action_delegates/chip_set.dart | 4 +++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/widgets/collection/entry_set_action_delegate.dart b/lib/widgets/collection/entry_set_action_delegate.dart index ce81cc365..284bfa8cf 100644 --- a/lib/widgets/collection/entry_set_action_delegate.dart +++ b/lib/widgets/collection/entry_set_action_delegate.dart @@ -243,9 +243,8 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware } } - void _leaveSelectionMode(BuildContext context) { - final selection = context.read?>(); - selection?.browse(); + void _browse(BuildContext context) { + context.read?>()?.browse(); } Set _getTargetItems(BuildContext context) { @@ -278,7 +277,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware final collection = context.read(); collection.source.analyze(controller, entries: entries); - _leaveSelectionMode(context); + _browse(context); } Future _delete(BuildContext context) async { @@ -329,14 +328,14 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware }, ); - _leaveSelectionMode(context); + _browse(context); } Future _move(BuildContext context, {required MoveType moveType}) async { final entries = _getTargetItems(context); await doMove(context, moveType: moveType, entries: entries); - _leaveSelectionMode(context); + _browse(context); } Future _rename(BuildContext context) async { @@ -358,7 +357,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware })).whereNotNullValue(); await rename(context, entriesToNewName: entriesToNewName, persist: true); - _leaveSelectionMode(context); + _browse(context); } Future _toggleFavourite(BuildContext context) async { @@ -369,7 +368,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware await favourites.add(entries); } - _leaveSelectionMode(context); + _browse(context); } Future _edit( @@ -437,7 +436,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware } }, ); - _leaveSelectionMode(context); + _browse(context); } Future?> _getEditableTargetItems( diff --git a/lib/widgets/common/action_mixins/entry_storage.dart b/lib/widgets/common/action_mixins/entry_storage.dart index b609846da..ab4b5c834 100644 --- a/lib/widgets/common/action_mixins/entry_storage.dart +++ b/lib/widgets/common/action_mixins/entry_storage.dart @@ -230,6 +230,7 @@ mixin EntryStorageMixin on FeedbackMixin, PermissionAwareMixin, SizeAwareMixin { context, moveType: moveType, entriesByDestination: entriesByDestination, + onSuccess: onSuccess, ); } diff --git a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart index 177e13557..4030fc862 100644 --- a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart @@ -206,7 +206,9 @@ abstract class ChipSetActionDelegate with FeedbackMi } } - void _browse(BuildContext context) => context.read>>().browse(); + void _browse(BuildContext context) { + context.read>?>()?.browse(); + } Iterable _selectedEntries(BuildContext context, Set filters) { final source = context.read(); From 584e5cae6cb0b59a8e78f0617fdb5012c6b41d79 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 23 Jan 2023 12:01:07 +0100 Subject: [PATCH 08/44] fixed scrolling to highlight item in some cases --- lib/widgets/collection/collection_page.dart | 11 +++++++---- lib/widgets/common/grid/item_tracker.dart | 16 ++++++++-------- .../filter_grids/common/filter_grid_page.dart | 17 ++++++++++------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/lib/widgets/collection/collection_page.dart b/lib/widgets/collection/collection_page.dart index 39b2ea928..3392ad66e 100644 --- a/lib/widgets/collection/collection_page.dart +++ b/lib/widgets/collection/collection_page.dart @@ -7,6 +7,7 @@ import 'package:aves/model/filters/query.dart'; import 'package:aves/model/filters/trash.dart'; import 'package:aves/model/highlight.dart'; import 'package:aves/model/selection.dart'; +import 'package:aves/model/settings/enums/accessibility_animations.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/collection_source.dart'; @@ -214,11 +215,13 @@ class _CollectionPageState extends State { final highlightTest = widget.highlightTest; if (highlightTest == null) return; + final item = _collection.sortedEntries.firstWhereOrNull(highlightTest); + if (item == null) return; + final delayDuration = context.read().staggeredAnimationPageTarget; await Future.delayed(delayDuration + Durations.highlightScrollInitDelay); - final targetEntry = _collection.sortedEntries.firstWhereOrNull(highlightTest); - if (targetEntry != null) { - context.read().trackItem(targetEntry, highlightItem: targetEntry); - } + + final animate = context.read().accessibilityAnimations.animate; + context.read().trackItem(item, animate: animate, highlightItem: item); } } diff --git a/lib/widgets/common/grid/item_tracker.dart b/lib/widgets/common/grid/item_tracker.dart index a693ec0bd..86cf83777 100644 --- a/lib/widgets/common/grid/item_tracker.dart +++ b/lib/widgets/common/grid/item_tracker.dart @@ -110,23 +110,23 @@ class _GridItemTrackerState extends State> with WidgetsBin final itemVisibility = max(0, tileRect.intersect(viewportRect).height) / tileRect.height; if (!event.predicate(itemVisibility)) return; + double scrollOffset = tileRect.top + (tileRect.height - scrollableSize.height) * ((event.alignment.y + 1) / 2); // most of the time the app bar will be scrolled away after scaling, // so we compensate for it to center the focal point thumbnail - final appBarHeight = appBarHeightNotifier.value; - final scrollOffset = appBarHeight + tileRect.top + (tileRect.height - scrollableSize.height) * ((event.alignment.y + 1) / 2); + scrollOffset += appBarHeightNotifier.value; + scrollOffset = scrollOffset.clamp(0, scrollController.position.maxScrollExtent); - if (event.animate) { - if (scrollOffset > 0) { + if (scrollOffset > 0) { + if (event.animate) { await scrollController.animateTo( scrollOffset, duration: Duration(milliseconds: (scrollOffset / 2).round().clamp(Durations.highlightScrollAnimationMinMillis, Durations.highlightScrollAnimationMaxMillis)), curve: Curves.easeInOutCubic, ); + } else { + scrollController.jumpTo(scrollOffset); + await Future.delayed(Durations.highlightJumpDelay); } - } else { - final maxScrollExtent = scrollController.position.maxScrollExtent; - scrollController.jumpTo(scrollOffset.clamp(.0, maxScrollExtent)); - await Future.delayed(Durations.highlightJumpDelay); } final highlightItem = event.highlightItem; diff --git a/lib/widgets/filter_grids/common/filter_grid_page.dart b/lib/widgets/filter_grids/common/filter_grid_page.dart index 7f0e61c5b..0689fcd71 100644 --- a/lib/widgets/filter_grids/common/filter_grid_page.dart +++ b/lib/widgets/filter_grids/common/filter_grid_page.dart @@ -5,6 +5,7 @@ import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/highlight.dart'; import 'package:aves/model/query.dart'; import 'package:aves/model/selection.dart'; +import 'package:aves/model/settings/enums/accessibility_animations.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/enums/enums.dart'; @@ -520,13 +521,15 @@ class _FilterSectionedContentState extends State<_Fi Future _checkInitHighlight() async { final highlightInfo = context.read(); final filter = highlightInfo.clear(); - if (filter is T) { - final gridItem = visibleSections.values.expand((list) => list).firstWhereOrNull((gridItem) => gridItem.filter == filter); - if (gridItem != null) { - await Future.delayed(Durations.highlightScrollInitDelay); - highlightInfo.trackItem(gridItem, highlightItem: filter); - } - } + if (filter is! T) return; + + final item = visibleSections.values.expand((list) => list).firstWhereOrNull((gridItem) => gridItem.filter == filter); + if (item == null) return; + + await Future.delayed(Durations.highlightScrollInitDelay); + + final animate = context.read().accessibilityAnimations.animate; + highlightInfo.trackItem(item, animate: animate, highlightItem: filter); } } From 8ce8eb8c71b48141436232fcb1f4576a0d574e69 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 23 Jan 2023 15:59:53 +0100 Subject: [PATCH 09/44] prevent conflict between drawer drag gesture and Android navigation gestures --- lib/widgets/about/about_page.dart | 5 ++- lib/widgets/about/policy_page.dart | 3 +- lib/widgets/aves_app.dart | 3 +- lib/widgets/collection/collection_page.dart | 5 ++- lib/widgets/common/basic/scaffold.dart | 43 +++++++++++++++++++ lib/widgets/common/search/page.dart | 3 +- lib/widgets/debug/app_debug_page.dart | 3 +- .../entry_editors/rename_entry_set_page.dart | 3 +- .../entry_editors/tag_editor_page.dart | 3 +- .../dialogs/pick_dialogs/app_pick_page.dart | 3 +- .../dialogs/pick_dialogs/item_pick_page.dart | 3 +- .../pick_dialogs/location_pick_page.dart | 3 +- .../filter_grids/common/filter_grid_page.dart | 5 ++- lib/widgets/home_page.dart | 3 +- lib/widgets/map/map_page.dart | 3 +- .../common/quick_actions/editor_page.dart | 3 +- .../settings/home_widget_settings_page.dart | 3 +- .../language/locale_selection_page.dart | 3 +- .../navigation/confirmation_dialogs.dart | 3 +- lib/widgets/settings/navigation/drawer.dart | 3 +- .../settings/privacy/access_grants_page.dart | 3 +- .../privacy/file_picker/file_picker_page.dart | 3 +- .../settings/privacy/hidden_items_page.dart | 3 +- .../settings/screen_saver_settings_page.dart | 3 +- lib/widgets/settings/settings_page.dart | 5 ++- .../collection_actions_editor_page.dart | 3 +- lib/widgets/settings/thumbnails/overlay.dart | 3 +- lib/widgets/settings/video/controls.dart | 3 +- .../settings/video/subtitle_theme.dart | 3 +- .../settings/video/video_settings_page.dart | 3 +- lib/widgets/settings/viewer/overlay.dart | 3 +- lib/widgets/settings/viewer/slideshow.dart | 3 +- lib/widgets/stats/stats_page.dart | 5 ++- lib/widgets/viewer/entry_viewer_page.dart | 3 +- lib/widgets/viewer/info/info_page.dart | 3 +- lib/widgets/viewer/panorama_page.dart | 3 +- lib/widgets/viewer/screen_saver_page.dart | 3 +- lib/widgets/viewer/slideshow_page.dart | 3 +- lib/widgets/viewer/source_viewer_page.dart | 3 +- lib/widgets/wallpaper_page.dart | 3 +- lib/widgets/welcome_page.dart | 3 +- 41 files changed, 128 insertions(+), 45 deletions(-) create mode 100644 lib/widgets/common/basic/scaffold.dart diff --git a/lib/widgets/about/about_page.dart b/lib/widgets/about/about_page.dart index 4888d01bc..357607629 100644 --- a/lib/widgets/about/about_page.dart +++ b/lib/widgets/about/about_page.dart @@ -5,6 +5,7 @@ import 'package:aves/widgets/about/credits.dart'; import 'package:aves/widgets/about/licenses.dart'; import 'package:aves/widgets/about/translators.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/basic/tv_edge_focus.dart'; import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/pop/tv_navigation.dart'; @@ -50,7 +51,7 @@ class AboutPage extends StatelessWidget { ); if (useTvLayout) { - return Scaffold( + return AvesScaffold( body: AvesPopScope( handlers: const [TvNavigationPopHandler.pop], child: Row( @@ -69,7 +70,7 @@ class AboutPage extends StatelessWidget { ), ); } else { - return Scaffold( + return AvesScaffold( appBar: AppBar( title: appBarTitle, ), diff --git a/lib/widgets/about/policy_page.dart b/lib/widgets/about/policy_page.dart index 3803bae2f..26eb8d7b7 100644 --- a/lib/widgets/about/policy_page.dart +++ b/lib/widgets/about/policy_page.dart @@ -1,5 +1,6 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/basic/markdown_container.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -28,7 +29,7 @@ class _PolicyPageState extends State { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(context.l10n.policyPageTitle), diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index d671d862a..3a2c4fded 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -29,6 +29,7 @@ import 'package:aves/utils/constants.dart'; import 'package:aves/utils/debouncer.dart'; import 'package:aves/widgets/collection/collection_grid.dart'; import 'package:aves/widgets/collection/collection_page.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/route_tracker.dart'; import 'package:aves/widgets/common/behaviour/routes.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -210,7 +211,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { } final home = initialized ? _getFirstPage() - : Scaffold( + : AvesScaffold( body: snapshot.hasError ? _buildError(snapshot.error!) : const SizedBox(), ); return Selector>( diff --git a/lib/widgets/collection/collection_page.dart b/lib/widgets/collection/collection_page.dart index 3392ad66e..37d8cdb59 100644 --- a/lib/widgets/collection/collection_page.dart +++ b/lib/widgets/collection/collection_page.dart @@ -16,6 +16,7 @@ import 'package:aves/theme/durations.dart'; import 'package:aves/widgets/collection/collection_grid.dart'; import 'package:aves/widgets/common/basic/draggable_scrollbar.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/pop/double_back.dart'; import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/pop/tv_navigation.dart'; @@ -125,7 +126,7 @@ class _CollectionPageState extends State { Widget page; if (useTvLayout) { - page = Scaffold( + page = AvesScaffold( body: Row( children: [ TvRail( @@ -150,7 +151,7 @@ class _CollectionPageState extends State { _draggableScrollBarEventStreamController.add(notification.event); return false; }, - child: Scaffold( + child: AvesScaffold( body: body, floatingActionButton: _buildFab(context, hasSelection), drawer: canNavigate ? AppDrawer(currentCollection: _collection) : null, diff --git a/lib/widgets/common/basic/scaffold.dart b/lib/widgets/common/basic/scaffold.dart new file mode 100644 index 000000000..e70c0fdda --- /dev/null +++ b/lib/widgets/common/basic/scaffold.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +class AvesScaffold extends StatelessWidget { + final PreferredSizeWidget? appBar; + final Widget? body; + final Widget? floatingActionButton; + final Widget? drawer; + final Widget? bottomNavigationBar; + final Color? backgroundColor; + final bool? resizeToAvoidBottomInset; + final bool extendBody; + + const AvesScaffold({ + super.key, + this.appBar, + this.body, + this.floatingActionButton, + this.drawer, + this.bottomNavigationBar, + this.backgroundColor, + this.resizeToAvoidBottomInset, + this.extendBody = false, + }); + + @override + Widget build(BuildContext context) { + // prevent conflict between drawer drag gesture and Android navigation gestures + final drawerEnableOpenDragGesture = context.select((mq) => mq.systemGestureInsets.horizontal == 0); + + return Scaffold( + appBar: appBar, + body: body, + floatingActionButton: floatingActionButton, + drawer: drawer, + bottomNavigationBar: bottomNavigationBar, + backgroundColor: backgroundColor, + resizeToAvoidBottomInset: resizeToAvoidBottomInset, + extendBody: extendBody, + drawerEnableOpenDragGesture: drawerEnableOpenDragGesture, + ); + } +} diff --git a/lib/widgets/common/search/page.dart b/lib/widgets/common/search/page.dart index 58ebf7e9d..3ef96f5ec 100644 --- a/lib/widgets/common/search/page.dart +++ b/lib/widgets/common/search/page.dart @@ -2,6 +2,7 @@ import 'dart:ui'; import 'package:aves/theme/durations.dart'; import 'package:aves/utils/debouncer.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/pop/double_back.dart'; import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/pop/tv_navigation.dart'; @@ -123,7 +124,7 @@ class _SearchPageState extends State { case null: break; } - return Scaffold( + return AvesScaffold( appBar: AppBar( leading: Hero( tag: AvesAppBar.leadingHeroTag, diff --git a/lib/widgets/debug/app_debug_page.dart b/lib/widgets/debug/app_debug_page.dart index dff652019..20354ee8a 100644 --- a/lib/widgets/debug/app_debug_page.dart +++ b/lib/widgets/debug/app_debug_page.dart @@ -9,6 +9,7 @@ import 'package:aves/services/analysis_service.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/widgets/common/basic/menu.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/pop/tv_navigation.dart'; import 'package:aves/widgets/common/identity/aves_expansion_tile.dart'; @@ -44,7 +45,7 @@ class _AppDebugPageState extends State { Widget build(BuildContext context) { return Directionality( textDirection: TextDirection.ltr, - child: Scaffold( + child: AvesScaffold( appBar: AppBar( title: const Text('Debug'), actions: [ diff --git a/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart b/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart index 0ff65d35b..331772cc2 100644 --- a/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart +++ b/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart @@ -8,6 +8,7 @@ import 'package:aves/theme/icons.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/collection/collection_grid.dart'; import 'package:aves/widgets/common/basic/menu.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/grid/theme.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; @@ -58,7 +59,7 @@ class _RenameEntrySetPageState extends State { @override Widget build(BuildContext context) { final l10n = context.l10n; - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(l10n.renameEntrySetPageTitle), ), diff --git a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart index 9596b7a41..47ba700ef 100644 --- a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart +++ b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart @@ -6,6 +6,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/expandable_filter_row.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/aves_filter_chip.dart'; @@ -61,7 +62,7 @@ class _TagEditorPageState extends State { }); List> sortedTags = _sortCurrentTags(entryCountByTag); - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(l10n.tagEditorPageTitle), actions: [ diff --git a/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart index 95a1a078a..e49e7334b 100644 --- a/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/app_pick_page.dart @@ -4,6 +4,7 @@ import 'package:aves/services/common/services.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/widgets/common/basic/query_bar.dart'; import 'package:aves/widgets/common/basic/reselectable_radio_list_tile.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; @@ -39,7 +40,7 @@ class _AppPickPageState extends State { @override Widget build(BuildContext context) { final useTvLayout = settings.useTvLayout; - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !useTvLayout, title: Text(context.l10n.appPickDialogTitle), diff --git a/lib/widgets/dialogs/pick_dialogs/item_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/item_pick_page.dart index 7f84a01a8..72ad90cc0 100644 --- a/lib/widgets/dialogs/pick_dialogs/item_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/item_pick_page.dart @@ -5,6 +5,7 @@ import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/widgets/collection/collection_grid.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/providers/query_provider.dart'; import 'package:aves/widgets/common/providers/selection_provider.dart'; import 'package:collection/collection.dart'; @@ -39,7 +40,7 @@ class _ItemPickPageState extends State { final liveFilter = collection.filters.firstWhereOrNull((v) => v is QueryFilter && v.live) as QueryFilter?; return ListenableProvider>.value( value: ValueNotifier(AppMode.pickMediaInternal), - child: Scaffold( + child: AvesScaffold( body: SelectionProvider( child: QueryProvider( initialQuery: liveFilter?.query, diff --git a/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart index c32b3e703..a14a15fad 100644 --- a/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/location_pick_page.dart @@ -10,6 +10,7 @@ import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/utils/debouncer.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; import 'package:aves/widgets/common/map/geo_map.dart'; @@ -34,7 +35,7 @@ class LocationPickPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( body: SafeArea( left: false, top: false, diff --git a/lib/widgets/filter_grids/common/filter_grid_page.dart b/lib/widgets/filter_grids/common/filter_grid_page.dart index 0689fcd71..19551c323 100644 --- a/lib/widgets/filter_grids/common/filter_grid_page.dart +++ b/lib/widgets/filter_grids/common/filter_grid_page.dart @@ -13,6 +13,7 @@ import 'package:aves/theme/colors.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/widgets/common/basic/draggable_scrollbar.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/pop/double_back.dart'; import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/pop/tv_navigation.dart'; @@ -117,7 +118,7 @@ class FilterGridPage extends StatelessWidget { if (useTvLayout) { final canNavigate = context.select, bool>((v) => v.value.canNavigate); - return Scaffold( + return AvesScaffold( body: canNavigate ? Row( children: [ @@ -148,7 +149,7 @@ class FilterGridPage extends StatelessWidget { _draggableScrollBarEventStreamController.add(notification.event); return false; }, - child: Scaffold( + child: AvesScaffold( body: body, drawer: canNavigate ? const AppDrawer() : null, bottomNavigationBar: showBottomNavigationBar diff --git a/lib/widgets/home_page.dart b/lib/widgets/home_page.dart index bf176e607..be46586ce 100644 --- a/lib/widgets/home_page.dart +++ b/lib/widgets/home_page.dart @@ -18,6 +18,7 @@ import 'package:aves/services/widget_service.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/collection/collection_page.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/routes.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/search/page.dart'; @@ -88,7 +89,7 @@ class _HomePageState extends State { } @override - Widget build(BuildContext context) => const Scaffold(); + Widget build(BuildContext context) => const AvesScaffold(); Future _setup() async { final stopwatch = Stopwatch()..start(); diff --git a/lib/widgets/map/map_page.dart b/lib/widgets/map/map_page.dart index c9d67be3d..97d30fb9e 100644 --- a/lib/widgets/map/map_page.dart +++ b/lib/widgets/map/map_page.dart @@ -19,6 +19,7 @@ import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/collection/entry_set_action_delegate.dart'; import 'package:aves/widgets/common/basic/insets.dart'; import 'package:aves/widgets/common/basic/menu.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/routes.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/captioned_button.dart'; @@ -59,7 +60,7 @@ class MapPage extends StatelessWidget { // as the map can be stacked on top of other pages // that catch highlight events and will not let it bubble up return HighlightInfoProvider( - child: Scaffold( + child: AvesScaffold( body: SafeArea( left: false, top: false, diff --git a/lib/widgets/settings/common/quick_actions/editor_page.dart b/lib/widgets/settings/common/quick_actions/editor_page.dart index c2b238d69..4736dd4d4 100644 --- a/lib/widgets/settings/common/quick_actions/editor_page.dart +++ b/lib/widgets/settings/common/quick_actions/editor_page.dart @@ -4,6 +4,7 @@ import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/utils/change_notifier.dart'; import 'package:aves/utils/constants.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/captioned_button.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; @@ -37,7 +38,7 @@ class QuickActionEditorPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(title), ), diff --git a/lib/widgets/settings/home_widget_settings_page.dart b/lib/widgets/settings/home_widget_settings_page.dart index fe5f81068..a0c1341c6 100644 --- a/lib/widgets/settings/home_widget_settings_page.dart +++ b/lib/widgets/settings/home_widget_settings_page.dart @@ -8,6 +8,7 @@ import 'package:aves/services/widget_service.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/utils/constants.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/fx/borders.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; @@ -67,7 +68,7 @@ class _HomeWidgetSettingsPageState extends State { @override Widget build(BuildContext context) { final l10n = context.l10n; - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(l10n.settingsWidgetPageTitle), ), diff --git a/lib/widgets/settings/language/locale_selection_page.dart b/lib/widgets/settings/language/locale_selection_page.dart index fa5e39c6f..8c95015f5 100644 --- a/lib/widgets/settings/language/locale_selection_page.dart +++ b/lib/widgets/settings/language/locale_selection_page.dart @@ -4,6 +4,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/aves_app.dart'; import 'package:aves/widgets/common/basic/query_bar.dart'; import 'package:aves/widgets/common/basic/reselectable_radio_list_tile.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/language/locale_tile.dart'; import 'package:collection/collection.dart'; @@ -31,7 +32,7 @@ class _LocaleSelectionPageState extends State { @override Widget build(BuildContext context) { final useTvLayout = settings.useTvLayout; - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !useTvLayout, title: Text(context.l10n.settingsLanguagePageTitle), diff --git a/lib/widgets/settings/navigation/confirmation_dialogs.dart b/lib/widgets/settings/navigation/confirmation_dialogs.dart index 95172f23b..59c051bd1 100644 --- a/lib/widgets/settings/navigation/confirmation_dialogs.dart +++ b/lib/widgets/settings/navigation/confirmation_dialogs.dart @@ -1,4 +1,5 @@ import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; import 'package:flutter/material.dart'; @@ -11,7 +12,7 @@ class ConfirmationDialogPage extends StatelessWidget { @override Widget build(BuildContext context) { final l10n = context.l10n; - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(l10n.settingsConfirmationDialogTitle), ), diff --git a/lib/widgets/settings/navigation/drawer.dart b/lib/widgets/settings/navigation/drawer.dart index e0df890b5..6cb73edfd 100644 --- a/lib/widgets/settings/navigation/drawer.dart +++ b/lib/widgets/settings/navigation/drawer.dart @@ -1,6 +1,7 @@ import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/recent.dart'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/search/page.dart'; import 'package:aves/widgets/filter_grids/albums_page.dart'; @@ -91,7 +92,7 @@ class _NavigationDrawerEditorPageState extends State return DefaultTabController( length: tabs.length, - child: Scaffold( + child: AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(l10n.settingsNavigationDrawerEditorPageTitle), diff --git a/lib/widgets/settings/privacy/access_grants_page.dart b/lib/widgets/settings/privacy/access_grants_page.dart index 19612b2dd..1176a8961 100644 --- a/lib/widgets/settings/privacy/access_grants_page.dart +++ b/lib/widgets/settings/privacy/access_grants_page.dart @@ -1,5 +1,6 @@ import 'package:aves/services/common/services.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/empty.dart'; import 'package:flutter/material.dart'; @@ -27,7 +28,7 @@ class _StorageAccessPageState extends State { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(context.l10n.settingsStorageAccessPageTitle), ), diff --git a/lib/widgets/settings/privacy/file_picker/file_picker_page.dart b/lib/widgets/settings/privacy/file_picker/file_picker_page.dart index ed718a1ce..c20b29b25 100644 --- a/lib/widgets/settings/privacy/file_picker/file_picker_page.dart +++ b/lib/widgets/settings/privacy/file_picker/file_picker_page.dart @@ -7,6 +7,7 @@ import 'package:aves/theme/icons.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/common/basic/menu.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; import 'package:aves/widgets/common/identity/empty.dart'; @@ -64,7 +65,7 @@ class _FilePickerPageState extends State { setState(() {}); return SynchronousFuture(false); }, - child: Scaffold( + child: AvesScaffold( appBar: AppBar( title: Text(_getTitle(context)), actions: [ diff --git a/lib/widgets/settings/privacy/hidden_items_page.dart b/lib/widgets/settings/privacy/hidden_items_page.dart index 29a3df0cf..62a63b537 100644 --- a/lib/widgets/settings/privacy/hidden_items_page.dart +++ b/lib/widgets/settings/privacy/hidden_items_page.dart @@ -3,6 +3,7 @@ import 'package:aves/model/filters/path.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/aves_filter_chip.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; @@ -34,7 +35,7 @@ class HiddenItemsPage extends StatelessWidget { return DefaultTabController( length: tabs.length, - child: Scaffold( + child: AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(l10n.settingsHiddenItemsPageTitle), diff --git a/lib/widgets/settings/screen_saver_settings_page.dart b/lib/widgets/settings/screen_saver_settings_page.dart index 5e252e4c7..8d7902244 100644 --- a/lib/widgets/settings/screen_saver_settings_page.dart +++ b/lib/widgets/settings/screen_saver_settings_page.dart @@ -3,6 +3,7 @@ import 'package:aves/model/settings/enums/enums.dart'; import 'package:aves/model/settings/enums/slideshow_video_playback.dart'; import 'package:aves/model/settings/enums/viewer_transition.dart'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/collection_tile.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; @@ -17,7 +18,7 @@ class ScreenSaverSettingsPage extends StatelessWidget { @override Widget build(BuildContext context) { final l10n = context.l10n; - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(l10n.settingsScreenSaverPageTitle), ), diff --git a/lib/widgets/settings/settings_page.dart b/lib/widgets/settings/settings_page.dart index d2e9a4e6d..7f32fcd0c 100644 --- a/lib/widgets/settings/settings_page.dart +++ b/lib/widgets/settings/settings_page.dart @@ -13,6 +13,7 @@ import 'package:aves/widgets/common/action_mixins/feedback.dart'; import 'package:aves/widgets/common/app_bar/app_bar_title.dart'; import 'package:aves/widgets/common/basic/insets.dart'; import 'package:aves/widgets/common/basic/menu.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/pop/tv_navigation.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -74,7 +75,7 @@ class _SettingsPageState extends State with FeedbackMixin { final appBarTitle = Text(context.l10n.settingsPageTitle); if (settings.useTvLayout) { - return Scaffold( + return AvesScaffold( body: AvesPopScope( handlers: const [TvNavigationPopHandler.pop], child: Row( @@ -148,7 +149,7 @@ class _SettingsPageState extends State with FeedbackMixin { ), ); } else { - return Scaffold( + return AvesScaffold( appBar: AppBar( title: InteractiveAppBarTitle( onTap: () => _goToSearch(context), diff --git a/lib/widgets/settings/thumbnails/collection_actions_editor_page.dart b/lib/widgets/settings/thumbnails/collection_actions_editor_page.dart index 24d3e0d38..82e7495b2 100644 --- a/lib/widgets/settings/thumbnails/collection_actions_editor_page.dart +++ b/lib/widgets/settings/thumbnails/collection_actions_editor_page.dart @@ -1,5 +1,6 @@ import 'package:aves/model/actions/entry_set_actions.dart'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/quick_actions/editor_page.dart'; import 'package:flutter/material.dart'; @@ -43,7 +44,7 @@ class CollectionActionEditorPage extends StatelessWidget { return DefaultTabController( length: tabs.length, - child: Scaffold( + child: AvesScaffold( appBar: AppBar( title: Text(context.l10n.settingsCollectionQuickActionEditorPageTitle), bottom: TabBar( diff --git a/lib/widgets/settings/thumbnails/overlay.dart b/lib/widgets/settings/thumbnails/overlay.dart index 56ed0d055..b8c47950e 100644 --- a/lib/widgets/settings/thumbnails/overlay.dart +++ b/lib/widgets/settings/thumbnails/overlay.dart @@ -5,6 +5,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/colors.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/aves_icons.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; @@ -22,7 +23,7 @@ class ThumbnailOverlayPage extends StatelessWidget { final iconSize = _getIconSize(context); final iconColor = _getIconColor(context); - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(context.l10n.settingsThumbnailOverlayPageTitle), diff --git a/lib/widgets/settings/video/controls.dart b/lib/widgets/settings/video/controls.dart index d7743500c..cbe4423b9 100644 --- a/lib/widgets/settings/video/controls.dart +++ b/lib/widgets/settings/video/controls.dart @@ -1,6 +1,7 @@ import 'package:aves/model/settings/enums/enums.dart'; import 'package:aves/model/settings/enums/video_controls.dart'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; import 'package:flutter/material.dart'; @@ -12,7 +13,7 @@ class VideoControlsPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(context.l10n.settingsVideoControlsPageTitle), ), diff --git a/lib/widgets/settings/video/subtitle_theme.dart b/lib/widgets/settings/video/subtitle_theme.dart index 14fb00feb..220edce07 100644 --- a/lib/widgets/settings/video/subtitle_theme.dart +++ b/lib/widgets/settings/video/subtitle_theme.dart @@ -2,6 +2,7 @@ import 'package:aves/model/settings/enums/enums.dart'; import 'package:aves/model/settings/enums/subtitle_position.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/basic/color_list_tile.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/basic/slider_list_tile.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; @@ -16,7 +17,7 @@ class SubtitleThemePage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(context.l10n.settingsSubtitleThemePageTitle), diff --git a/lib/widgets/settings/video/video_settings_page.dart b/lib/widgets/settings/video/video_settings_page.dart index f01b7bf85..534396038 100644 --- a/lib/widgets/settings/video/video_settings_page.dart +++ b/lib/widgets/settings/video/video_settings_page.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/settings_definition.dart'; import 'package:aves/widgets/settings/video/video.dart'; @@ -19,7 +20,7 @@ class _VideoSettingsPageState extends State { @override Widget build(BuildContext context) { final theme = Theme.of(context); - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(context.l10n.settingsVideoPageTitle), diff --git a/lib/widgets/settings/viewer/overlay.dart b/lib/widgets/settings/viewer/overlay.dart index acfd88678..33110575e 100644 --- a/lib/widgets/settings/viewer/overlay.dart +++ b/lib/widgets/settings/viewer/overlay.dart @@ -1,4 +1,5 @@ import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; import 'package:flutter/material.dart'; @@ -13,7 +14,7 @@ class ViewerOverlayPage extends StatelessWidget { @override Widget build(BuildContext context) { final useTvLayout = settings.useTvLayout; - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !useTvLayout, title: Text(context.l10n.settingsViewerOverlayPageTitle), diff --git a/lib/widgets/settings/viewer/slideshow.dart b/lib/widgets/settings/viewer/slideshow.dart index 208bca58d..b2f954c23 100644 --- a/lib/widgets/settings/viewer/slideshow.dart +++ b/lib/widgets/settings/viewer/slideshow.dart @@ -2,6 +2,7 @@ import 'package:aves/model/settings/enums/enums.dart'; import 'package:aves/model/settings/enums/slideshow_video_playback.dart'; import 'package:aves/model/settings/enums/viewer_transition.dart'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/tiles.dart'; import 'package:flutter/material.dart'; @@ -14,7 +15,7 @@ class ViewerSlideshowPage extends StatelessWidget { @override Widget build(BuildContext context) { final l10n = context.l10n; - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(l10n.settingsViewerSlideshowPageTitle), diff --git a/lib/widgets/stats/stats_page.dart b/lib/widgets/stats/stats_page.dart index 96a7dd85d..20c7a118d 100644 --- a/lib/widgets/stats/stats_page.dart +++ b/lib/widgets/stats/stats_page.dart @@ -15,6 +15,7 @@ import 'package:aves/theme/icons.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/basic/tv_edge_focus.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/extensions/media_query.dart'; @@ -219,7 +220,7 @@ class _StatsPageState extends State { } } - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !useTvLayout, title: Text(l10n.statsPageTitle), @@ -366,7 +367,7 @@ class StatsTopPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( automaticallyImplyLeading: !settings.useTvLayout, title: Text(title), diff --git a/lib/widgets/viewer/entry_viewer_page.dart b/lib/widgets/viewer/entry_viewer_page.dart index a58dc6315..fc860189d 100644 --- a/lib/widgets/viewer/entry_viewer_page.dart +++ b/lib/widgets/viewer/entry_viewer_page.dart @@ -1,5 +1,6 @@ import 'package:aves/model/entry.dart'; import 'package:aves/model/source/collection_lens.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/viewer/controller.dart'; import 'package:aves/widgets/viewer/entry_viewer_stack.dart'; import 'package:aves/widgets/viewer/multipage/conductor.dart'; @@ -40,7 +41,7 @@ class _EntryViewerPageState extends State { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( body: ViewStateConductorProvider( child: VideoConductorProvider( child: MultiPageConductorProvider( diff --git a/lib/widgets/viewer/info/info_page.dart b/lib/widgets/viewer/info/info_page.dart index 58e56006f..0552f7f1e 100644 --- a/lib/widgets/viewer/info/info_page.dart +++ b/lib/widgets/viewer/info/info_page.dart @@ -7,6 +7,7 @@ import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/basic/tv_edge_focus.dart'; import 'package:aves/widgets/filter_grids/common/action_delegates/chip.dart'; import 'package:aves/widgets/viewer/action/entry_info_action_delegate.dart'; @@ -85,7 +86,7 @@ class _InfoPageState extends State { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( body: GestureAreaProtectorStack( child: SafeArea( bottom: false, diff --git a/lib/widgets/viewer/panorama_page.dart b/lib/widgets/viewer/panorama_page.dart index 69a38bfd5..ea1dbcd8f 100644 --- a/lib/widgets/viewer/panorama_page.dart +++ b/lib/widgets/viewer/panorama_page.dart @@ -7,6 +7,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/aves_app.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/extensions/media_query.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; @@ -60,7 +61,7 @@ class _PanoramaPageState extends State { _onLeave(); return SynchronousFuture(true); }, - child: Scaffold( + child: AvesScaffold( body: Stack( children: [ ValueListenableBuilder( diff --git a/lib/widgets/viewer/screen_saver_page.dart b/lib/widgets/viewer/screen_saver_page.dart index 30c1064c4..61ec663e4 100644 --- a/lib/widgets/viewer/screen_saver_page.dart +++ b/lib/widgets/viewer/screen_saver_page.dart @@ -4,6 +4,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/empty.dart'; import 'package:aves/widgets/viewer/controller.dart'; @@ -93,7 +94,7 @@ class _ScreenSaverPageState extends State with WidgetsBindingOb } } - return Scaffold( + return AvesScaffold( body: child, ); } diff --git a/lib/widgets/viewer/slideshow_page.dart b/lib/widgets/viewer/slideshow_page.dart index e1db9de8d..1592cd69f 100644 --- a/lib/widgets/viewer/slideshow_page.dart +++ b/lib/widgets/viewer/slideshow_page.dart @@ -7,6 +7,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/collection/collection_page.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/empty.dart'; import 'package:aves/widgets/viewer/controller.dart'; @@ -59,7 +60,7 @@ class _SlideshowPageState extends State { final entries = _slideshowCollection.sortedEntries; return ListenableProvider>.value( value: ValueNotifier(AppMode.slideshow), - child: Scaffold( + child: AvesScaffold( body: entries.isEmpty ? EmptyContent( icon: AIcons.image, diff --git a/lib/widgets/viewer/source_viewer_page.dart b/lib/widgets/viewer/source_viewer_page.dart index 18e54ef94..741dc0d1c 100644 --- a/lib/widgets/viewer/source_viewer_page.dart +++ b/lib/widgets/viewer/source_viewer_page.dart @@ -1,4 +1,5 @@ import 'package:aves/widgets/common/aves_highlight.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:flutter/material.dart'; import 'package:flutter_highlight/themes/darcula.dart'; @@ -30,7 +31,7 @@ class _SourceViewerPageState extends State { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( appBar: AppBar( title: Text(context.l10n.sourceViewerPageTitle), ), diff --git a/lib/widgets/wallpaper_page.dart b/lib/widgets/wallpaper_page.dart index dc2773844..59371a258 100644 --- a/lib/widgets/wallpaper_page.dart +++ b/lib/widgets/wallpaper_page.dart @@ -5,6 +5,7 @@ import 'package:aves/services/common/services.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/widgets/aves_app.dart'; import 'package:aves/widgets/common/basic/insets.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/viewer/controller.dart'; import 'package:aves/widgets/viewer/entry_horizontal_pager.dart'; import 'package:aves/widgets/viewer/entry_viewer_page.dart'; @@ -34,7 +35,7 @@ class WallpaperPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( body: entry != null ? ViewStateConductorProvider( child: VideoConductorProvider( diff --git a/lib/widgets/welcome_page.dart b/lib/widgets/welcome_page.dart index f1bd5e30d..917a3b66d 100644 --- a/lib/widgets/welcome_page.dart +++ b/lib/widgets/welcome_page.dart @@ -7,6 +7,7 @@ import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/about/policy_page.dart'; import 'package:aves/widgets/common/basic/link_chip.dart'; import 'package:aves/widgets/common/basic/markdown_container.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/aves_logo.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; @@ -49,7 +50,7 @@ class _WelcomePageState extends State { @override Widget build(BuildContext context) { - return Scaffold( + return AvesScaffold( body: SafeArea( child: Center( child: FutureBuilder( From 3ff87f3b4f4cfc8a4e357c8eef21500916cfa0d0 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 24 Jan 2023 20:15:01 +0100 Subject: [PATCH 10/44] minor --- .../metadata/metadata_edit_service.dart | 68 ++++++++++++++----- .../viewer/visual/entry_page_view.dart | 11 +-- .../lib/src/core/gesture_detector.dart | 2 +- .../lib/src/pan/gesture_detector_scope.dart | 2 +- 4 files changed, 59 insertions(+), 24 deletions(-) diff --git a/lib/services/metadata/metadata_edit_service.dart b/lib/services/metadata/metadata_edit_service.dart index aeb8aec66..8b7fa8c28 100644 --- a/lib/services/metadata/metadata_edit_service.dart +++ b/lib/services/metadata/metadata_edit_service.dart @@ -36,9 +36,7 @@ class PlatformMetadataEditService implements MetadataEditService { }); if (result != null) return (result as Map).cast(); } on PlatformException catch (e, stack) { - if (!entry.isMissingAtPath) { - await reportService.recordError(e, stack); - } + await _processPlatformException(entry, e, stack); } return {}; } @@ -52,9 +50,7 @@ class PlatformMetadataEditService implements MetadataEditService { }); if (result != null) return (result as Map).cast(); } on PlatformException catch (e, stack) { - if (!entry.isMissingAtPath) { - await reportService.recordError(e, stack); - } + await _processPlatformException(entry, e, stack); } return {}; } @@ -70,9 +66,7 @@ class PlatformMetadataEditService implements MetadataEditService { }); if (result != null) return (result as Map).cast(); } on PlatformException catch (e, stack) { - if (!entry.isMissingAtPath) { - await reportService.recordError(e, stack); - } + await _processPlatformException(entry, e, stack); } return {}; } @@ -91,9 +85,7 @@ class PlatformMetadataEditService implements MetadataEditService { }); if (result != null) return (result as Map).cast(); } on PlatformException catch (e, stack) { - if (!entry.isMissingAtPath) { - await reportService.recordError(e, stack); - } + await _processPlatformException(entry, e, stack); } return {}; } @@ -106,9 +98,7 @@ class PlatformMetadataEditService implements MetadataEditService { }); if (result != null) return (result as Map).cast(); } on PlatformException catch (e, stack) { - if (!entry.isMissingAtPath) { - await reportService.recordError(e, stack); - } + await _processPlatformException(entry, e, stack); } return {}; } @@ -122,10 +112,52 @@ class PlatformMetadataEditService implements MetadataEditService { }); if (result != null) return (result as Map).cast(); } on PlatformException catch (e, stack) { - if (!entry.isMissingAtPath) { - await reportService.recordError(e, stack); - } + await _processPlatformException(entry, e, stack); } return {}; } + + Future _processPlatformException(AvesEntry entry, PlatformException e, StackTrace stack) async { + if (!entry.isMissingAtPath) { + final code = e.code; + if (code.endsWith('mp4largemoov')) { + await reportService.recordError(_Mp4LargeMoovException(code: e.code, message: e.message, details: e.details, stacktrace: e.stacktrace), stack); + } else if (code.endsWith('mp4largeother')) { + await reportService.recordError(_Mp4LargeOtherException(code: e.code, message: e.message, details: e.details, stacktrace: e.stacktrace), stack); + } else if (code.endsWith('filenotfound')) { + await reportService.recordError(_FileNotFoundException(code: e.code, message: e.message, details: e.details, stacktrace: e.stacktrace), stack); + } else { + await reportService.recordError(e, stack); + } + } + } +} + +// distinct exceptions to convince Crashlytics to split reports into distinct issues + +class _Mp4LargeMoovException extends PlatformException { + _Mp4LargeMoovException({ + required super.code, + required super.message, + required super.details, + required super.stacktrace, + }); +} + +class _Mp4LargeOtherException extends PlatformException { + _Mp4LargeOtherException({ + required super.code, + required super.message, + required super.details, + required super.stacktrace, + }); +} + +class _FileNotFoundException extends PlatformException { + _FileNotFoundException({ + required super.code, + required super.message, + required super.details, + required super.stacktrace, + }); } diff --git a/lib/widgets/viewer/visual/entry_page_view.dart b/lib/widgets/viewer/visual/entry_page_view.dart index 2257879b9..32e1c8f2a 100644 --- a/lib/widgets/viewer/visual/entry_page_view.dart +++ b/lib/widgets/viewer/visual/entry_page_view.dart @@ -336,10 +336,13 @@ class _EntryPageViewState extends State with SingleTickerProvider ], ); if (useVerticalDragGesture) { - videoChild = MagnifierGestureDetectorScope.of(context)!.copyWith( - acceptPointerEvent: MagnifierGestureRecognizer.isYPan, - child: videoChild, - ); + final scope = MagnifierGestureDetectorScope.maybeOf(context); + if (scope != null) { + videoChild = scope.copyWith( + acceptPointerEvent: MagnifierGestureRecognizer.isYPan, + child: videoChild, + ); + } } return Stack( fit: StackFit.expand, diff --git a/plugins/aves_magnifier/lib/src/core/gesture_detector.dart b/plugins/aves_magnifier/lib/src/core/gesture_detector.dart index e9ae6017b..76a6e1348 100644 --- a/plugins/aves_magnifier/lib/src/core/gesture_detector.dart +++ b/plugins/aves_magnifier/lib/src/core/gesture_detector.dart @@ -54,7 +54,7 @@ class _MagnifierGestureDetectorState extends State { ); } - final scope = MagnifierGestureDetectorScope.of(context); + final scope = MagnifierGestureDetectorScope.maybeOf(context); if (scope != null) { gestures[MagnifierGestureRecognizer] = GestureRecognizerFactoryWithHandlers( () => MagnifierGestureRecognizer( diff --git a/plugins/aves_magnifier/lib/src/pan/gesture_detector_scope.dart b/plugins/aves_magnifier/lib/src/pan/gesture_detector_scope.dart index a9b52c9fe..82da68aea 100644 --- a/plugins/aves_magnifier/lib/src/pan/gesture_detector_scope.dart +++ b/plugins/aves_magnifier/lib/src/pan/gesture_detector_scope.dart @@ -24,7 +24,7 @@ class MagnifierGestureDetectorScope extends InheritedWidget { required Widget child, }) : super(child: child); - static MagnifierGestureDetectorScope? of(BuildContext context) { + static MagnifierGestureDetectorScope? maybeOf(BuildContext context) { return context.dependOnInheritedWidgetOfExactType(); } From f1d802d86e099377041a54538070fff45f907112 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Wed, 25 Jan 2023 18:38:02 +0100 Subject: [PATCH 11/44] l10n --- lib/l10n/app_cs.arb | 28 ++++++++++++++-------------- lib/l10n/app_pl.arb | 22 +++++++++++----------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index 7322f3f98..a71ed9f5b 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -44,19 +44,19 @@ } } }, - "timeDays": "{days, plural, =1{1 den} =2..4{{days} dny} other{{days} dnů}}", + "timeDays": "{days, plural, =1{1 den} few{{days} dny} other{{days} dnů}}", "@timeDays": { "placeholders": { "days": {} } }, - "itemCount": "{count, plural, =1{1 položka} =2..4{{count} položky} other{{count} položek}}", + "itemCount": "{count, plural, =1{1 položka} few{{count} položky} other{{count} položek}}", "@itemCount": { "placeholders": { "count": {} } }, - "columnCount": "{count, plural, =1{1 sloupec} =2..4{{count} sloupce} other{{count} sloupců}}", + "columnCount": "{count, plural, =1{1 sloupec} few{{count} sloupce} other{{count} sloupců}}", "@columnCount": { "placeholders": { "count": {} @@ -436,7 +436,7 @@ "@addShortcutButtonLabel": {}, "noMatchingAppDialogMessage": "Pro tuto operaci není k dispozici žádná aplikace.", "@noMatchingAppDialogMessage": {}, - "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Smazat tuto položku?} =2..4{Smazat tyto {count} položky?} other{Smazat těchto {count} položek?}}", + "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Smazat tuto položku?} few{Smazat tyto {count} položky?} other{Smazat těchto {count} položek?}}", "@deleteEntriesConfirmationDialogMessage": { "placeholders": { "count": {} @@ -485,13 +485,13 @@ "@renameEntrySetPagePreviewSectionTitle": {}, "renameProcessorName": "Název", "@renameProcessorName": {}, - "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat toto album a v něm obsaženou položku?} =2..4{Smazat toto album a v něm obsažené {count} položky?} other{Smazat toto album a v něm obsažených {count} položek?}}", + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat toto album a v něm obsaženou položku?} few{Smazat toto album a v něm obsažené {count} položky?} other{Smazat toto album a v něm obsažených {count} položek?}}", "@deleteSingleAlbumConfirmationDialogMessage": { "placeholders": { "count": {} } }, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat tato alba a v nich obsaženou položku?} =2..4{Smazat tato alba a v nich obsažené {count} položky?} other{Smazat tato alba a v nich obsažených {count} položek?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Smazat tato alba a v nich obsaženou položku?} few{Smazat tato alba a v nich obsažené {count} položky?} other{Smazat tato alba a v nich obsažených {count} položek?}}", "@deleteMultiAlbumConfirmationDialogMessage": { "placeholders": { "count": {} @@ -955,7 +955,7 @@ "@nameConflictStrategySkip": {}, "keepScreenOnNever": "Nikdy", "@keepScreenOnNever": {}, - "binEntriesConfirmationDialogMessage": "{count, plural, =1{Přesunout tuto položku do koše?} =2..4{Přesunout tyto {count} položky do koše?} other{Přesunout těchto {count} položek do koše?}}", + "binEntriesConfirmationDialogMessage": "{count, plural, =1{Přesunout tuto položku do koše?} few{Přesunout tyto {count} položky do koše?} other{Přesunout těchto {count} položek do koše?}}", "@binEntriesConfirmationDialogMessage": { "placeholders": { "count": {} @@ -1121,25 +1121,25 @@ "count": {} } }, - "collectionCopySuccessFeedback": "{count, plural, =1{Zkopírována 1 položka} =2..4{Zkopírovány {count} položky} other{Zkopírováno {count} položek}}", + "collectionCopySuccessFeedback": "{count, plural, =1{Zkopírována 1 položka} few{Zkopírovány {count} položky} other{Zkopírováno {count} položek}}", "@collectionCopySuccessFeedback": { "placeholders": { "count": {} } }, - "collectionMoveSuccessFeedback": "{count, plural, =1{Přesunuta 1 položka} =2..4{Přesunuty {count} položky} other{Přesunuto {count} položek}}", + "collectionMoveSuccessFeedback": "{count, plural, =1{Přesunuta 1 položka} few{Přesunuty {count} položky} other{Přesunuto {count} položek}}", "@collectionMoveSuccessFeedback": { "placeholders": { "count": {} } }, - "collectionRenameSuccessFeedback": "{count, plural, =1{Přejmenována 1 položka} =2..4{Přejmenovány {count} položky} other{Přejmenováno {count} položek}}", + "collectionRenameSuccessFeedback": "{count, plural, =1{Přejmenována 1 položka} few{Přejmenovány {count} položky} other{Přejmenováno {count} položek}}", "@collectionRenameSuccessFeedback": { "placeholders": { "count": {} } }, - "collectionEditSuccessFeedback": "{count, plural, =1{Upravena 1 položka} =2..4{Upraveny {count} položky} other{Upraveno {count} položek}}", + "collectionEditSuccessFeedback": "{count, plural, =1{Upravena 1 položka} few{Upraveny {count} položky} other{Upraveno {count} položek}}", "@collectionEditSuccessFeedback": { "placeholders": { "count": {} @@ -1283,13 +1283,13 @@ "@settingsThumbnailShowVideoDuration": {}, "settingsCollectionQuickActionsTile": "Rychlé akce", "@settingsCollectionQuickActionsTile": {}, - "timeMinutes": "{minutes, plural, =1{1 minuta} =2..4{{minutes} minuty} other{{minutes} minut}}", + "timeMinutes": "{minutes, plural, =1{1 minuta} few{{minutes} minuty} other{{minutes} minut}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekunda} =2..4{{seconds} sekundy} other{{seconds} sekund}}", + "timeSeconds": "{seconds, plural, =1{1 sekunda} few{{seconds} sekundy} other{{seconds} sekund}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -1331,7 +1331,7 @@ "@settingsStorageAccessBanner": {}, "settingsUnitSystemTile": "Jednotky", "@settingsUnitSystemTile": {}, - "statsWithGps": "{count, plural, =1{1 položka s polohou} =2..4{{count} položky s polohou} other{{count} položek s polohou}}", + "statsWithGps": "{count, plural, =1{1 položka s polohou} few{{count} položky s polohou} other{{count} položek s polohou}}", "@statsWithGps": { "placeholders": { "count": {} diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 2ef13f337..94c91822e 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -235,31 +235,31 @@ "@displayRefreshRatePreferLowest": {}, "videoPlaybackMuted": "Odtwarzaj bez dźwięku", "@videoPlaybackMuted": {}, - "itemCount": "{count, plural, =1{1 element} =2..4{{count} elementy} other{{count} elelmentów}}", + "itemCount": "{count, plural, =1{1 element} few{{count} elementy} other{{count} elelmentów}}", "@itemCount": { "placeholders": { "count": {} } }, - "columnCount": "{count, plural, =1{1 rząd} =2..4{{count} rzędy} other{{count} rzędów}}", + "columnCount": "{count, plural, =1{1 rząd} few{{count} rzędy} other{{count} rzędów}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekunda} =2..4{{seconds} sekundy} other{{seconds} sekund}}", + "timeSeconds": "{seconds, plural, =1{1 sekunda} few{{seconds} sekundy} other{{seconds} sekund}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minuta} =2..4{{minutes} minuty} other{{minutes} minut}}", + "timeMinutes": "{minutes, plural, =1{1 minuta} few{{minutes} minuty} other{{minutes} minut}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 dzień} =2..4{{days} dni} other{{days} dni}}", + "timeDays": "{days, plural, =1{1 dzień} few{{days} dni} other{{days} dni}}", "@timeDays": { "placeholders": { "days": {} @@ -547,7 +547,7 @@ "@renameProcessorCounter": {}, "renameProcessorName": "Nazwa", "@renameProcessorName": {}, - "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Usunąć ten album i jego element?} =2..4{Usunąć ten album i jego {count} elementy?} other{Usunąć ten album i jego {count} elementów?}}", + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Usunąć ten album i jego element?} few{Usunąć ten album i jego {count} elementy?} other{Usunąć ten album i jego {count} elementów?}}", "@deleteSingleAlbumConfirmationDialogMessage": { "placeholders": { "count": {} @@ -603,13 +603,13 @@ "@sectionUnknown": {}, "dateToday": "Dzisiaj", "@dateToday": {}, - "collectionCopySuccessFeedback": "{count, plural, =1{Skopiowano 1 element} =2..4{Skopiowano {count} elementy} other{Skopiowano {count} elementów}}", + "collectionCopySuccessFeedback": "{count, plural, =1{Skopiowano 1 element} few{Skopiowano {count} elementy} other{Skopiowano {count} elementów}}", "@collectionCopySuccessFeedback": { "placeholders": { "count": {} } }, - "collectionEditSuccessFeedback": "{count, plural, =1{Wyedytowano 1 element} =2..4{Wyedytowano {count} elementy} other{Wyedytowano {count} elementów}}", + "collectionEditSuccessFeedback": "{count, plural, =1{Wyedytowano 1 element} few{Wyedytowano {count} elementy} other{Wyedytowano {count} elementów}}", "@collectionEditSuccessFeedback": { "placeholders": { "count": {} @@ -815,7 +815,7 @@ "@albumGroupType": {}, "renameEntrySetPagePreviewSectionTitle": "Podgląd", "@renameEntrySetPagePreviewSectionTitle": {}, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Usunąć te albumy i ich element?} =2..4{Usunąć te albumy i ich {count} elementy?} other{Usunąć te albumy i ich {count} elementów?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Usunąć te albumy i ich element?} few{Usunąć te albumy i ich {count} elementy?} other{Usunąć te albumy i ich {count} elementów?}}", "@deleteMultiAlbumConfirmationDialogMessage": { "placeholders": { "count": {} @@ -903,7 +903,7 @@ "count": {} } }, - "collectionMoveSuccessFeedback": "{count, plural, =1{Przeniesiono 1 element} =2..4{Przeniesiono {count} elementy} other{Przeniesiono {count} elementów}}", + "collectionMoveSuccessFeedback": "{count, plural, =1{Przeniesiono 1 element} few{Przeniesiono {count} elementy} other{Przeniesiono {count} elementów}}", "@collectionMoveSuccessFeedback": { "placeholders": { "count": {} @@ -1319,7 +1319,7 @@ "@settingsStorageAccessPageTitle": {}, "settingsStorageAccessBanner": "Niektóre katalogi wymagają jawnego udzielenia dostępu, aby modyfikować znajdujące się w nich pliki. Możesz przejrzeć tutaj katalogi, do których wcześniej udzielono dostępu.", "@settingsStorageAccessBanner": {}, - "statsWithGps": "{count, plural, =1{1 element z położeniem} =2..4{{count} elementy z położeniem} other{{count} elementów z położeniem}}", + "statsWithGps": "{count, plural, =1{1 element z położeniem} few{{count} elementy z położeniem} other{{count} elementów z położeniem}}", "@statsWithGps": { "placeholders": { "count": {} From d362dbf3c369732298c3bcc582131cd12ff62fa5 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 26 Jan 2023 19:17:11 +0100 Subject: [PATCH 12/44] #504 tag editor: remember expanded section --- lib/model/settings/settings.dart | 6 ++++++ lib/widgets/dialogs/entry_editors/tag_editor_page.dart | 2 ++ 2 files changed, 8 insertions(+) diff --git a/lib/model/settings/settings.dart b/lib/model/settings/settings.dart index 1a714c2e0..50e55e931 100644 --- a/lib/model/settings/settings.dart +++ b/lib/model/settings/settings.dart @@ -152,6 +152,7 @@ class Settings extends ChangeNotifier { // tag editor static const tagEditorCurrentFilterSectionExpandedKey = 'tag_editor_current_filter_section_expanded'; + static const tagEditorExpandedSectionKey = 'tag_editor_expanded_section'; // map static const mapStyleKey = 'info_map_style'; @@ -702,6 +703,10 @@ class Settings extends ChangeNotifier { set tagEditorCurrentFilterSectionExpanded(bool newValue) => _set(tagEditorCurrentFilterSectionExpandedKey, newValue); + String? get tagEditorExpandedSection => getString(tagEditorExpandedSectionKey); + + set tagEditorExpandedSection(String? newValue) => _set(tagEditorExpandedSectionKey, newValue); + // map EntryMapStyle? get mapStyle { @@ -1080,6 +1085,7 @@ class Settings extends ChangeNotifier { case videoControlsKey: case subtitleTextAlignmentKey: case subtitleTextPositionKey: + case tagEditorExpandedSectionKey: case mapStyleKey: case mapDefaultCenterKey: case coordinateFormatKey: diff --git a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart index 47ba700ef..fe4a06c52 100644 --- a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart +++ b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart @@ -42,6 +42,8 @@ class _TagEditorPageState extends State { @override void initState() { super.initState(); + _expandedSectionNotifier.value = settings.tagEditorExpandedSection; + _expandedSectionNotifier.addListener(() => settings.tagEditorExpandedSection = _expandedSectionNotifier.value); _initTopTags(); } From b379cfaa21eb9df3ef021ed4df4bb0e58198165a Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 26 Jan 2023 20:00:36 +0100 Subject: [PATCH 13/44] #502 viewer: sort tags in overlay --- lib/widgets/viewer/overlay/details/rating_tags.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/widgets/viewer/overlay/details/rating_tags.dart b/lib/widgets/viewer/overlay/details/rating_tags.dart index c96f4e877..f665664fd 100644 --- a/lib/widgets/viewer/overlay/details/rating_tags.dart +++ b/lib/widgets/viewer/overlay/details/rating_tags.dart @@ -5,6 +5,7 @@ import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/common/basic/text/animated_diff.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/viewer/overlay/details/details.dart'; +import 'package:collection/collection.dart'; import 'package:decorated_icon/decorated_icon.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -33,7 +34,7 @@ class OverlayRatingTagsRow extends AnimatedWidget { break; } - final tags = entry.tags.join(Constants.separator); + final tags = entry.tags.toList()..sort(compareAsciiUpperCaseNatural); final hasTags = tags.isNotEmpty; final animationDuration = context.select((v) => v.textDiffAnimation); @@ -50,7 +51,7 @@ class OverlayRatingTagsRow extends AnimatedWidget { const SizedBox(width: ViewerDetailOverlayContent.iconPadding), Expanded( child: AnimatedDiffText( - tags, + tags.join(Constants.separator), strutStyle: Constants.overflowStrutStyle, duration: animationDuration, ), From e2229e89671a0ae18289e20a4a0efbb2bee8dbfb Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 26 Jan 2023 23:04:56 +0100 Subject: [PATCH 14/44] #503 viewer: overlay details expand/collapse on tap --- CHANGELOG.md | 4 ++ lib/widgets/viewer/entry_viewer_stack.dart | 10 +++-- .../viewer/overlay/details/description.dart | 24 ++++++++--- .../viewer/overlay/details/details.dart | 27 ++++++++++-- .../viewer/overlay/details/expander.dart | 33 +++++++++++++++ .../viewer/overlay/details/rating_tags.dart | 42 +++++++++---------- lib/widgets/viewer/overlay/top.dart | 40 ++++++++++-------- 7 files changed, 128 insertions(+), 52 deletions(-) create mode 100644 lib/widgets/viewer/overlay/details/expander.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index b3fce214a..ab919d4eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added + +- Viewer: overlay details expand/collapse on tap + ### Fixed - SD card access grant on Android Lollipop diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 2012a1778..3dfb0f3dc 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -64,6 +64,7 @@ class _EntryViewerStackState extends State with EntryViewContr final AChangeNotifier _verticalScrollNotifier = AChangeNotifier(); bool _overlayInitialized = false; final ValueNotifier _overlayVisible = ValueNotifier(true); + final ValueNotifier _overlayExpandedNotifier = ValueNotifier(false); late AnimationController _overlayAnimationController; late Animation _overlayButtonScale, _overlayVideoControlScale, _overlayOpacity; late Animation _overlayTopOffset; @@ -161,8 +162,10 @@ class _EntryViewerStackState extends State with EntryViewContr cleanEntryControllers(entryNotifier.value); _videoActionDelegate.dispose(); _overlayAnimationController.dispose(); - _overlayVisible.removeListener(_onOverlayVisibleChanged); - _verticalPager.removeListener(_onVerticalPageControllerChanged); + _overlayVisible.dispose(); + _overlayExpandedNotifier.dispose(); + _verticalPager.dispose(); + _heroInfoNotifier.dispose(); WidgetsBinding.instance.removeObserver(this); _unregisterWidget(widget); super.dispose(); @@ -295,9 +298,10 @@ class _EntryViewerStackState extends State with EntryViewContr child: ViewerTopOverlay( entries: entries, index: _currentEntryIndex, - hasCollection: hasCollection, mainEntry: mainEntry, scale: _overlayButtonScale, + hasCollection: hasCollection, + expandedNotifier: _overlayExpandedNotifier, availableSize: availableSize, viewInsets: _frozenViewInsets, viewPadding: _frozenViewPadding, diff --git a/lib/widgets/viewer/overlay/details/description.dart b/lib/widgets/viewer/overlay/details/description.dart index 02a476fdf..fec7ab219 100644 --- a/lib/widgets/viewer/overlay/details/description.dart +++ b/lib/widgets/viewer/overlay/details/description.dart @@ -14,12 +14,24 @@ class OverlayDescriptionRow extends StatelessWidget { @override Widget build(BuildContext context) { - return Row( - children: [ - DecoratedIcon(AIcons.description, size: ViewerDetailOverlayContent.iconSize, shadows: ViewerDetailOverlayContent.shadows(context)), - const SizedBox(width: ViewerDetailOverlayContent.iconPadding), - Expanded(child: Text(description, strutStyle: Constants.overflowStrutStyle)), - ], + return Text.rich( + TextSpan( + children: [ + WidgetSpan( + alignment: PlaceholderAlignment.middle, + child: Padding( + padding: const EdgeInsetsDirectional.only(end: ViewerDetailOverlayContent.iconPadding), + child: DecoratedIcon( + AIcons.description, + size: ViewerDetailOverlayContent.iconSize, + shadows: ViewerDetailOverlayContent.shadows(context), + ), + ), + ), + TextSpan(text: description), + ], + ), + strutStyle: Constants.overflowStrutStyle, ); } } diff --git a/lib/widgets/viewer/overlay/details/details.dart b/lib/widgets/viewer/overlay/details/details.dart index 0e7be08e7..d24265ee7 100644 --- a/lib/widgets/viewer/overlay/details/details.dart +++ b/lib/widgets/viewer/overlay/details/details.dart @@ -9,6 +9,7 @@ import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/viewer/multipage/controller.dart'; import 'package:aves/widgets/viewer/overlay/details/date.dart'; import 'package:aves/widgets/viewer/overlay/details/description.dart'; +import 'package:aves/widgets/viewer/overlay/details/expander.dart'; import 'package:aves/widgets/viewer/overlay/details/location.dart'; import 'package:aves/widgets/viewer/overlay/details/position_title.dart'; import 'package:aves/widgets/viewer/overlay/details/rating_tags.dart'; @@ -23,6 +24,7 @@ class ViewerDetailOverlay extends StatefulWidget { final int index; final bool hasCollection; final MultiPageController? multiPageController; + final ValueNotifier expandedNotifier; final Size availableSize; const ViewerDetailOverlay({ @@ -31,6 +33,7 @@ class ViewerDetailOverlay extends StatefulWidget { required this.index, required this.hasCollection, required this.multiPageController, + required this.expandedNotifier, required this.availableSize, }); @@ -102,6 +105,7 @@ class _ViewerDetailOverlayState extends State { position: widget.hasCollection ? '${widget.index + 1}/${entries.length}' : null, availableWidth: widget.availableSize.width, multiPageController: multiPageController, + expandedNotifier: widget.expandedNotifier, ); return multiPageController != null @@ -123,6 +127,7 @@ class ViewerDetailOverlayContent extends StatelessWidget { final String? position; final double availableWidth; final MultiPageController? multiPageController; + final ValueNotifier expandedNotifier; static const double _interRowPadding = 2.0; static const double _subRowMinWidth = 300.0; @@ -140,6 +145,7 @@ class ViewerDetailOverlayContent extends StatelessWidget { required this.position, required this.availableWidth, required this.multiPageController, + required this.expandedNotifier, }); @override @@ -152,7 +158,11 @@ class ViewerDetailOverlayContent extends StatelessWidget { return AnimatedBuilder( animation: pageEntry.metadataChangeNotifier, builder: (context, child) { - final positionTitle = OverlayPositionTitleRow(entry: pageEntry, collectionPosition: position, multiPageController: multiPageController); + final positionTitle = OverlayPositionTitleRow( + entry: pageEntry, + collectionPosition: position, + multiPageController: multiPageController, + ); return DefaultTextStyle( style: Theme.of(context).textTheme.bodyMedium!.copyWith( shadows: shadows(context), @@ -172,7 +182,10 @@ class ViewerDetailOverlayContent extends StatelessWidget { final rows = []; if (positionTitle.isNotEmpty) { - rows.add(positionTitle); + rows.add(OverlayRowExpander( + expandedNotifier: expandedNotifier, + child: positionTitle, + )); rows.add(const SizedBox(height: _interRowPadding)); } if (twoColumns) { @@ -225,13 +238,19 @@ class ViewerDetailOverlayContent extends StatelessWidget { Widget _buildRatingTagsFullRow(BuildContext context) => _buildFullRowSwitcher( context: context, visible: pageEntry.rating != 0 || pageEntry.tags.isNotEmpty, - builder: (context) => OverlayRatingTagsRow(entry: pageEntry), + builder: (context) => OverlayRowExpander( + expandedNotifier: expandedNotifier, + child: OverlayRatingTagsRow(entry: pageEntry), + ), ); Widget _buildDescriptionFullRow(BuildContext context) => _buildFullRowSwitcher( context: context, visible: description != null, - builder: (context) => OverlayDescriptionRow(description: description!), + builder: (context) => OverlayRowExpander( + expandedNotifier: expandedNotifier, + child: OverlayDescriptionRow(description: description!), + ), ); Widget _buildShootingFullRow(BuildContext context, double subRowWidth) => _buildFullRowSwitcher( diff --git a/lib/widgets/viewer/overlay/details/expander.dart b/lib/widgets/viewer/overlay/details/expander.dart new file mode 100644 index 000000000..592546145 --- /dev/null +++ b/lib/widgets/viewer/overlay/details/expander.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; + +class OverlayRowExpander extends StatelessWidget { + final ValueNotifier expandedNotifier; + final Widget child; + + const OverlayRowExpander({ + super.key, + required this.expandedNotifier, + required this.child, + }); + + @override + Widget build(BuildContext context) { + return ValueListenableBuilder( + valueListenable: expandedNotifier, + builder: (context, expanded, child) { + final parent = DefaultTextStyle.of(context); + return DefaultTextStyle( + key: key, + style: parent.style, + textAlign: parent.textAlign, + softWrap: expanded, + overflow: parent.overflow, + maxLines: expanded ? null : 42, + textWidthBasis: parent.textWidthBasis, + child: child!, + ); + }, + child: child, + ); + } +} diff --git a/lib/widgets/viewer/overlay/details/rating_tags.dart b/lib/widgets/viewer/overlay/details/rating_tags.dart index f665664fd..f99c222a1 100644 --- a/lib/widgets/viewer/overlay/details/rating_tags.dart +++ b/lib/widgets/viewer/overlay/details/rating_tags.dart @@ -1,14 +1,11 @@ import 'package:aves/model/entry.dart'; -import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/utils/constants.dart'; -import 'package:aves/widgets/common/basic/text/animated_diff.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/viewer/overlay/details/details.dart'; import 'package:collection/collection.dart'; import 'package:decorated_icon/decorated_icon.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; class OverlayRatingTagsRow extends AnimatedWidget { final AvesEntry entry; @@ -37,27 +34,28 @@ class OverlayRatingTagsRow extends AnimatedWidget { final tags = entry.tags.toList()..sort(compareAsciiUpperCaseNatural); final hasTags = tags.isNotEmpty; - final animationDuration = context.select((v) => v.textDiffAnimation); - return Row( - children: [ - AnimatedDiffText( - ratingString, - strutStyle: Constants.overflowStrutStyle, - duration: animationDuration, - ), - if (hasTags) ...[ - if (ratingString.isNotEmpty) const Text(Constants.separator), - DecoratedIcon(AIcons.tag, size: ViewerDetailOverlayContent.iconSize, shadows: ViewerDetailOverlayContent.shadows(context)), - const SizedBox(width: ViewerDetailOverlayContent.iconPadding), - Expanded( - child: AnimatedDiffText( - tags.join(Constants.separator), - strutStyle: Constants.overflowStrutStyle, - duration: animationDuration, + return Text.rich( + TextSpan( + children: [ + TextSpan(text: ratingString), + if (hasTags) ...[ + if (ratingString.isNotEmpty) const TextSpan(text: Constants.separator), + WidgetSpan( + alignment: PlaceholderAlignment.middle, + child: Padding( + padding: const EdgeInsetsDirectional.only(end: ViewerDetailOverlayContent.iconPadding), + child: DecoratedIcon( + AIcons.tag, + size: ViewerDetailOverlayContent.iconSize, + shadows: ViewerDetailOverlayContent.shadows(context), + ), + ), ), - ), + TextSpan(text: tags.join(Constants.separator)), + ] ], - ], + ), + strutStyle: Constants.overflowStrutStyle, ); } } diff --git a/lib/widgets/viewer/overlay/top.dart b/lib/widgets/viewer/overlay/top.dart index 3d3e8ddaa..7021e0149 100644 --- a/lib/widgets/viewer/overlay/top.dart +++ b/lib/widgets/viewer/overlay/top.dart @@ -16,6 +16,7 @@ class ViewerTopOverlay extends StatelessWidget { final AvesEntry mainEntry; final Animation scale; final bool hasCollection; + final ValueNotifier expandedNotifier; final Size availableSize; final EdgeInsets? viewInsets, viewPadding; @@ -26,6 +27,7 @@ class ViewerTopOverlay extends StatelessWidget { required this.mainEntry, required this.scale, required this.hasCollection, + required this.expandedNotifier, required this.availableSize, required this.viewInsets, required this.viewPadding, @@ -51,23 +53,27 @@ class ViewerTopOverlay extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ if (showInfo) - BlurredRect( - enabled: blurred, - child: Container( - color: Themes.overlayBackgroundColor(brightness: Theme.of(context).brightness, blurred: blurred), - child: SafeArea( - bottom: false, - minimum: EdgeInsets.only( - left: viewInsetsPadding.left, - top: viewInsetsPadding.top, - right: viewInsetsPadding.right, - ), - child: ViewerDetailOverlay( - index: index, - entries: entries, - hasCollection: hasCollection, - multiPageController: multiPageController, - availableSize: availableSize, + GestureDetector( + onTap: () => expandedNotifier.value = !expandedNotifier.value, + child: BlurredRect( + enabled: blurred, + child: Container( + color: Themes.overlayBackgroundColor(brightness: Theme.of(context).brightness, blurred: blurred), + child: SafeArea( + bottom: false, + minimum: EdgeInsets.only( + left: viewInsetsPadding.left, + top: viewInsetsPadding.top, + right: viewInsetsPadding.right, + ), + child: ViewerDetailOverlay( + index: index, + entries: entries, + hasCollection: hasCollection, + multiPageController: multiPageController, + expandedNotifier: expandedNotifier, + availableSize: availableSize, + ), ), ), ), From abeb3f8efe643438e32eb6064a0bfb3a2d1f25d7 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 26 Jan 2023 23:34:33 +0100 Subject: [PATCH 15/44] #498 remember pin status of albums becoming empty --- CHANGELOG.md | 4 ++++ lib/model/source/album.dart | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab919d4eb..3dfa2d121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ All notable changes to this project will be documented in this file. - Viewer: overlay details expand/collapse on tap +### Changed + +- remember pin status of albums becoming empty + ### Fixed - SD card access grant on Android Lollipop diff --git a/lib/model/source/album.dart b/lib/model/source/album.dart index 6099639a6..ba0d918ed 100644 --- a/lib/model/source/album.dart +++ b/lib/model/source/album.dart @@ -81,13 +81,10 @@ mixin AlbumMixin on SourceBase { invalidateAlbumFilterSummary(directories: emptyAlbums); final bookmarks = settings.drawerAlbumBookmarks; - final pinnedFilters = settings.pinnedFilters; emptyAlbums.forEach((album) { bookmarks?.remove(album); - pinnedFilters.removeWhere((filter) => filter is AlbumFilter && filter.album == album); }); settings.drawerAlbumBookmarks = bookmarks; - settings.pinnedFilters = pinnedFilters; } } From 0e56ce5e2df2a5447842cdfb9ccf457ef9d8b439 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 30 Jan 2023 13:39:35 +0100 Subject: [PATCH 16/44] #506 ignore sync error when copying file --- CHANGELOG.md | 1 + .../channel/calls/MetadataFetchHandler.kt | 20 +++++----- .../deckers/thibault/aves/metadata/XMP.kt | 4 +- .../model/provider/MediaStoreImageProvider.kt | 12 +++++- .../thibault/aves/utils/ContextUtils.kt | 39 +++++++++++-------- 5 files changed, 47 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3dfa2d121..137ccfa41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ All notable changes to this project will be documented in this file. ### Fixed - SD card access grant on Android Lollipop +- copying to SD card in some cases ## [v1.7.10] - 2023-01-18 diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt index 291de3940..1358fdb69 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt @@ -67,7 +67,7 @@ import deckers.thibault.aves.metadata.metadataextractor.Helper.getSafeRational import deckers.thibault.aves.metadata.metadataextractor.Helper.getSafeString import deckers.thibault.aves.metadata.metadataextractor.Helper.isPngTextDir import deckers.thibault.aves.model.FieldMap -import deckers.thibault.aves.utils.ContextUtils.queryContentResolverProp +import deckers.thibault.aves.utils.ContextUtils.queryContentPropValue import deckers.thibault.aves.utils.LogUtils import deckers.thibault.aves.utils.MimeTypes import deckers.thibault.aves.utils.MimeTypes.TIFF_EXTENSION_PATTERN @@ -104,8 +104,8 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { "getPanoramaInfo" -> ioScope.launch { safe(call, result, ::getPanoramaInfo) } "getIptc" -> ioScope.launch { safe(call, result, ::getIptc) } "getXmp" -> ioScope.launch { safe(call, result, ::getXmp) } - "hasContentResolverProp" -> ioScope.launch { safe(call, result, ::hasContentResolverProp) } - "getContentResolverProp" -> ioScope.launch { safe(call, result, ::getContentResolverProp) } + "hasContentResolverProp" -> ioScope.launch { safe(call, result, ::hasContentProp) } + "getContentResolverProp" -> ioScope.launch { safe(call, result, ::getContentPropValue) } "getDate" -> ioScope.launch { safe(call, result, ::getDate) } "getDescription" -> ioScope.launch { safe(call, result, ::getDescription) } else -> result.notImplemented() @@ -1047,10 +1047,10 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { result.success(xmpStrings) } - private fun hasContentResolverProp(call: MethodCall, result: MethodChannel.Result) { + private fun hasContentProp(call: MethodCall, result: MethodChannel.Result) { val prop = call.argument("prop") if (prop == null) { - result.error("hasContentResolverProp-args", "missing arguments", null) + result.error("hasContentProp-args", "missing arguments", null) return } @@ -1058,27 +1058,27 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { when (prop) { "owner_package_name" -> Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q else -> { - result.error("hasContentResolverProp-unknown", "unknown property=$prop", null) + result.error("hasContentProp-unknown", "unknown property=$prop", null) return } } ) } - private fun getContentResolverProp(call: MethodCall, result: MethodChannel.Result) { + private fun getContentPropValue(call: MethodCall, result: MethodChannel.Result) { val mimeType = call.argument("mimeType") val uri = call.argument("uri")?.let { Uri.parse(it) } val prop = call.argument("prop") if (mimeType == null || uri == null || prop == null) { - result.error("getContentResolverProp-args", "missing arguments", null) + result.error("getContentPropValue-args", "missing arguments", null) return } try { - val value = context.queryContentResolverProp(uri, mimeType, prop) + val value = context.queryContentPropValue(uri, mimeType, prop) result.success(value?.toString()) } catch (e: Exception) { - result.error("getContentResolverProp-query", "failed to query prop for uri=$uri", e.message) + result.error("getContentPropValue-query", "failed to query prop for uri=$uri", e.message) } } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/XMP.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/XMP.kt index 74a9a9a3d..0b7ced26e 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/XMP.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/XMP.kt @@ -15,7 +15,7 @@ import deckers.thibault.aves.metadata.Mp4ParserHelper.processBoxes import deckers.thibault.aves.metadata.Mp4ParserHelper.toBytes import deckers.thibault.aves.metadata.metadataextractor.SafeMp4UuidBoxHandler import deckers.thibault.aves.metadata.metadataextractor.SafeXmpReader -import deckers.thibault.aves.utils.ContextUtils.queryContentResolverProp +import deckers.thibault.aves.utils.ContextUtils.queryContentPropValue import deckers.thibault.aves.utils.LogUtils import deckers.thibault.aves.utils.MemoryUtils import deckers.thibault.aves.utils.MimeTypes @@ -130,7 +130,7 @@ object XMP { ) { if (MimeTypes.isHeic(mimeType) && !foundXmp && StorageUtils.isMediaStoreContentUri(uri) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { try { - val xmpBytes = context.queryContentResolverProp(uri, mimeType, MediaStore.MediaColumns.XMP) + val xmpBytes = context.queryContentPropValue(uri, mimeType, MediaStore.MediaColumns.XMP) if (xmpBytes is ByteArray && xmpBytes.size > 0) { val xmpMeta = XMPMetaFactory.parseFromBuffer(xmpBytes, SafeXmpReader.PARSE_OPTIONS) processXmp(xmpMeta) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/MediaStoreImageProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/MediaStoreImageProvider.kt index 3b29bcf55..440b45edf 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/MediaStoreImageProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/MediaStoreImageProvider.kt @@ -30,6 +30,7 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking import java.io.File import java.io.OutputStream +import java.io.SyncFailedException import java.util.* import java.util.concurrent.CompletableFuture import kotlin.coroutines.Continuation @@ -512,7 +513,16 @@ class MediaStoreImageProvider : ImageProvider() { targetDir = targetDir, targetDirDocFile = targetDirDocFile, targetNameWithoutExtension = targetNameWithoutExtension, - ) { output: OutputStream -> sourceDocFile.copyTo(output) } + ) { output: OutputStream -> + try { + sourceDocFile.copyTo(output) + } catch (e: SyncFailedException) { + // The copied file is synced after writing, but it consistently fails in some cases + // (e.g. copying to SD card on Xiaomi 2201117PG with Android 11). + // It seems this failure can be safely ignored, as the new file is complete. + Log.w(LOG_TAG, "sync failure after copying from uri=$sourceUri, path=$sourcePath to targetDir=$targetDir", e) + } + } if (!copy) { // delete original entry diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/ContextUtils.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/ContextUtils.kt index a0683f388..df443830d 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/ContextUtils.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/ContextUtils.kt @@ -7,6 +7,7 @@ import android.content.ContentUris import android.content.Context import android.database.Cursor import android.net.Uri +import android.provider.DocumentsContract import android.provider.MediaStore import android.util.Log import deckers.thibault.aves.utils.UriUtils.tryParseId @@ -30,7 +31,13 @@ object ContextUtils { return am.getRunningServices(Integer.MAX_VALUE).any { it.service.className == serviceClass.name } } - fun Context.queryContentResolverProp(uri: Uri, mimeType: String, prop: String): Any? { + // `flag`: `DocumentsContract.Document.FLAG_SUPPORTS_COPY`, etc. + fun Context.queryDocumentProviderFlag(docUri: Uri, flag: Int): Boolean { + val flags = queryContentPropValue(docUri, "", DocumentsContract.Document.COLUMN_FLAGS) as Long? + return if (flags != null) (flags.toInt() and flag) == flag else false + } + + fun Context.queryContentPropValue(uri: Uri, mimeType: String, column: String): Any? { var contentUri: Uri = uri if (StorageUtils.isMediaStoreContentUri(uri)) { uri.tryParseId()?.let { id -> @@ -43,26 +50,26 @@ object ContextUtils { } } - // throws SQLiteException when the requested prop is not a known column - val cursor = contentResolver.query(contentUri, arrayOf(prop), null, null, null) - if (cursor == null || !cursor.moveToFirst()) { - throw Exception("failed to get cursor for contentUri=$contentUri") - } - var value: Any? = null try { - value = when (cursor.getType(0)) { - Cursor.FIELD_TYPE_NULL -> null - Cursor.FIELD_TYPE_INTEGER -> cursor.getLong(0) - Cursor.FIELD_TYPE_FLOAT -> cursor.getFloat(0) - Cursor.FIELD_TYPE_STRING -> cursor.getString(0) - Cursor.FIELD_TYPE_BLOB -> cursor.getBlob(0) - else -> null + val cursor = contentResolver.query(contentUri, arrayOf(column), null, null, null) + if (cursor == null || !cursor.moveToFirst()) { + Log.w(LOG_TAG, "failed to get cursor for contentUri=$contentUri column=$column") + } else { + value = when (cursor.getType(0)) { + Cursor.FIELD_TYPE_NULL -> null + Cursor.FIELD_TYPE_INTEGER -> cursor.getLong(0) + Cursor.FIELD_TYPE_FLOAT -> cursor.getFloat(0) + Cursor.FIELD_TYPE_STRING -> cursor.getString(0) + Cursor.FIELD_TYPE_BLOB -> cursor.getBlob(0) + else -> null + } + cursor.close() } } catch (e: Exception) { - Log.w(LOG_TAG, "failed to get value for contentUri=$contentUri key=$prop", e) + // throws SQLiteException/IllegalArgumentException when the requested prop is not a known column + Log.w(LOG_TAG, "failed to get value for contentUri=$contentUri column=$column", e) } - cursor.close() return value } } From d5e702266f6805dbbb5c5dc6e30932108d0e82ea Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 30 Jan 2023 13:58:23 +0100 Subject: [PATCH 17/44] minor --- lib/widgets/collection/grid/headers/any.dart | 2 +- lib/widgets/common/map/leaflet/map.dart | 2 +- lib/widgets/debug/android_codecs.dart | 2 +- lib/widgets/debug/android_dirs.dart | 2 +- lib/widgets/debug/database.dart | 18 +++++++++--------- lib/widgets/debug/overlay.dart | 2 +- lib/widgets/navigation/drawer/app_drawer.dart | 2 +- .../settings/privacy/access_grants_page.dart | 2 +- lib/widgets/stats/mime_donut.dart | 2 +- .../viewer/info/metadata/metadata_section.dart | 2 +- .../info/metadata/metadata_thumbnail.dart | 2 +- lib/widgets/viewer/source_viewer_page.dart | 2 +- lib/widgets/viewer/visual/raster.dart | 4 ++-- lib/widgets/viewer/visual/vector.dart | 2 +- 14 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/widgets/collection/grid/headers/any.dart b/lib/widgets/collection/grid/headers/any.dart index 645c33b2e..c3949add9 100644 --- a/lib/widgets/collection/grid/headers/any.dart +++ b/lib/widgets/collection/grid/headers/any.dart @@ -33,7 +33,7 @@ class CollectionSectionHeader extends StatelessWidget { height: height, child: header, ) - : const SizedBox.shrink(); + : const SizedBox(); } Widget? _buildHeader(BuildContext context) { diff --git a/lib/widgets/common/map/leaflet/map.dart b/lib/widgets/common/map/leaflet/map.dart index d0c60933f..1e3f39ca9 100644 --- a/lib/widgets/common/map/leaflet/map.dart +++ b/lib/widgets/common/map/leaflet/map.dart @@ -203,7 +203,7 @@ class _EntryLeafletMapState extends State> with TickerProv case EntryMapStyle.stamenWatercolor: return const StamenWatercolorLayer(); default: - return const SizedBox.shrink(); + return const SizedBox(); } } diff --git a/lib/widgets/debug/android_codecs.dart b/lib/widgets/debug/android_codecs.dart index bba35f549..054e4a7d3 100644 --- a/lib/widgets/debug/android_codecs.dart +++ b/lib/widgets/debug/android_codecs.dart @@ -36,7 +36,7 @@ class _DebugAndroidCodecSectionState extends State wit future: _loader, builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); final codecs = snapshot.data!.map((codec) { return codec.map((k, v) => MapEntry(k.toString(), v.toString())); }).toList() diff --git a/lib/widgets/debug/android_dirs.dart b/lib/widgets/debug/android_dirs.dart index fd92c851e..d4abc67ae 100644 --- a/lib/widgets/debug/android_dirs.dart +++ b/lib/widgets/debug/android_dirs.dart @@ -34,7 +34,7 @@ class _DebugAndroidDirSectionState extends State with Au future: _loader, builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); final data = SplayTreeMap.of(snapshot.data!.map((k, v) => MapEntry(k.toString(), v?.toString() ?? 'null'))); return InfoRowGroup(info: data); }, diff --git a/lib/widgets/debug/database.dart b/lib/widgets/debug/database.dart index 596eacdcd..906277ceb 100644 --- a/lib/widgets/debug/database.dart +++ b/lib/widgets/debug/database.dart @@ -50,7 +50,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -71,7 +71,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -92,7 +92,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -113,7 +113,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -134,7 +134,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -155,7 +155,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -176,7 +176,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -197,7 +197,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ @@ -218,7 +218,7 @@ class _DebugAppDatabaseSectionState extends State with builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); + if (snapshot.connectionState != ConnectionState.done) return const SizedBox(); return Row( children: [ diff --git a/lib/widgets/debug/overlay.dart b/lib/widgets/debug/overlay.dart index b2984037b..6011989a5 100644 --- a/lib/widgets/debug/overlay.dart +++ b/lib/widgets/debug/overlay.dart @@ -18,7 +18,7 @@ class DebugTaskQueueOverlay extends StatelessWidget { child: StreamBuilder( stream: servicePolicy.queueStream, builder: (context, snapshot) { - if (snapshot.hasError) return const SizedBox.shrink(); + if (snapshot.hasError) return const SizedBox(); final queuedEntries = >[]; if (snapshot.hasData) { final state = snapshot.data!; diff --git a/lib/widgets/navigation/drawer/app_drawer.dart b/lib/widgets/navigation/drawer/app_drawer.dart index d049d767e..e88747b4c 100644 --- a/lib/widgets/navigation/drawer/app_drawer.dart +++ b/lib/widgets/navigation/drawer/app_drawer.dart @@ -204,7 +204,7 @@ class _AppDrawerState extends State { stream: source.eventBus.on(), builder: (context, snapshot) { final albums = settings.drawerAlbumBookmarks ?? AppDrawer.getDefaultAlbums(context); - if (albums.isEmpty) return const SizedBox.shrink(); + if (albums.isEmpty) return const SizedBox(); return Column( children: [ const Divider(), diff --git a/lib/widgets/settings/privacy/access_grants_page.dart b/lib/widgets/settings/privacy/access_grants_page.dart index 1176a8961..0edb980fc 100644 --- a/lib/widgets/settings/privacy/access_grants_page.dart +++ b/lib/widgets/settings/privacy/access_grants_page.dart @@ -40,7 +40,7 @@ class _StorageAccessPageState extends State { return Text(snapshot.error.toString()); } if (snapshot.connectionState != ConnectionState.done && _lastPaths == null) { - return const SizedBox.shrink(); + return const SizedBox(); } _lastPaths = snapshot.data!..sort(); if (_lastPaths!.isEmpty) { diff --git a/lib/widgets/stats/mime_donut.dart b/lib/widgets/stats/mime_donut.dart index 4aee3ade5..82066c751 100644 --- a/lib/widgets/stats/mime_donut.dart +++ b/lib/widgets/stats/mime_donut.dart @@ -42,7 +42,7 @@ class _MimeDonutState extends State with AutomaticKeepAliveClientMixi Widget build(BuildContext context) { super.build(context); - if (byMimeTypes.isEmpty) return const SizedBox.shrink(); + if (byMimeTypes.isEmpty) return const SizedBox(); final l10n = context.l10n; final locale = l10n.localeName; diff --git a/lib/widgets/viewer/info/metadata/metadata_section.dart b/lib/widgets/viewer/info/metadata/metadata_section.dart index 5bee4740c..6977f8eea 100644 --- a/lib/widgets/viewer/info/metadata/metadata_section.dart +++ b/lib/widgets/viewer/info/metadata/metadata_section.dart @@ -79,7 +79,7 @@ class _MetadataSectionSliverState extends State { builder: (context, metadata, child) { Widget content; if (metadata.isEmpty) { - content = const SizedBox.shrink(); + content = const SizedBox(); } else { final durations = context.watch(); content = Column( diff --git a/lib/widgets/viewer/info/metadata/metadata_thumbnail.dart b/lib/widgets/viewer/info/metadata/metadata_thumbnail.dart index 0bb79ee82..542b001eb 100644 --- a/lib/widgets/viewer/info/metadata/metadata_thumbnail.dart +++ b/lib/widgets/viewer/info/metadata/metadata_thumbnail.dart @@ -50,7 +50,7 @@ class _MetadataThumbnailsState extends State { ), ); } - return const SizedBox.shrink(); + return const SizedBox(); }); } } diff --git a/lib/widgets/viewer/source_viewer_page.dart b/lib/widgets/viewer/source_viewer_page.dart index 741dc0d1c..a545eb2f9 100644 --- a/lib/widgets/viewer/source_viewer_page.dart +++ b/lib/widgets/viewer/source_viewer_page.dart @@ -40,7 +40,7 @@ class _SourceViewerPageState extends State { future: _loader, builder: (context, snapshot) { if (snapshot.hasError) return Text(snapshot.error.toString()); - if (!snapshot.hasData) return const SizedBox.shrink(); + if (!snapshot.hasData) return const SizedBox(); final data = snapshot.data!; final source = data.length < maxCodeSize ? data : '${data.substring(0, maxCodeSize)}\n\n*** TRUNCATED ***'; diff --git a/lib/widgets/viewer/visual/raster.dart b/lib/widgets/viewer/visual/raster.dart index bcbc78a90..a7770966e 100644 --- a/lib/widgets/viewer/visual/raster.dart +++ b/lib/widgets/viewer/visual/raster.dart @@ -164,7 +164,7 @@ class _RasterImageViewState extends State { return ValueListenableBuilder( valueListenable: _fullImageLoaded, builder: (context, fullImageLoaded, child) { - if (fullImageLoaded) return const SizedBox.shrink(); + if (fullImageLoaded) return const SizedBox(); return Center( child: AspectRatio( @@ -196,7 +196,7 @@ class _RasterImageViewState extends State { child = ValueListenableBuilder( valueListenable: _fullImageLoaded, builder: (context, fullImageLoaded, child) { - if (!fullImageLoaded) return const SizedBox.shrink(); + if (!fullImageLoaded) return const SizedBox(); return CustomPaint( painter: CheckeredPainter( diff --git a/lib/widgets/viewer/visual/vector.dart b/lib/widgets/viewer/visual/vector.dart index 64ea730fb..02736fa30 100644 --- a/lib/widgets/viewer/visual/vector.dart +++ b/lib/widgets/viewer/visual/vector.dart @@ -138,7 +138,7 @@ class _VectorImageViewState extends State { return ValueListenableBuilder( valueListenable: _fullImageLoaded, builder: (context, fullImageLoaded, child) { - if (fullImageLoaded) return const SizedBox.shrink(); + if (fullImageLoaded) return const SizedBox(); return Center( child: AspectRatio( From 32bbee8bfd588045e2023ec49ba865b61df46d97 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 31 Jan 2023 19:10:38 +0100 Subject: [PATCH 18/44] tv: info --- CHANGELOG.md | 1 + lib/widgets/about/policy_page.dart | 41 +----- lib/widgets/collection/collection_grid.dart | 2 +- lib/widgets/common/behaviour/intents.dart | 44 +++++++ .../filter_grids/common/filter_grid_page.dart | 2 +- lib/widgets/settings/settings_page.dart | 110 ++++++++++------ lib/widgets/viewer/info/basic_section.dart | 67 +++++++++- lib/widgets/viewer/info/info_page.dart | 51 ++------ .../info/metadata/metadata_dir_tile.dart | 92 +++++++++---- .../info/metadata/metadata_section.dart | 38 ++++-- lib/widgets/viewer/info/metadata/tv_page.dart | 123 ++++++++++++++++++ .../viewer/info/metadata/xmp_tile.dart | 41 ++---- 12 files changed, 416 insertions(+), 196 deletions(-) create mode 100644 lib/widgets/common/behaviour/intents.dart create mode 100644 lib/widgets/viewer/info/metadata/tv_page.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index 137ccfa41..bbdec1925 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. ### Added - Viewer: overlay details expand/collapse on tap +- TV: improved support for Info ### Changed diff --git a/lib/widgets/about/policy_page.dart b/lib/widgets/about/policy_page.dart index 26eb8d7b7..e5c953087 100644 --- a/lib/widgets/about/policy_page.dart +++ b/lib/widgets/about/policy_page.dart @@ -1,6 +1,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/basic/markdown_container.dart'; import 'package:aves/widgets/common/basic/scaffold.dart'; +import 'package:aves/widgets/common/behaviour/intents.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -38,11 +39,11 @@ class _PolicyPageState extends State { child: FocusableActionDetector( autofocus: true, shortcuts: const { - SingleActivator(LogicalKeyboardKey.arrowUp): _ScrollIntent.up(), - SingleActivator(LogicalKeyboardKey.arrowDown): _ScrollIntent.down(), + SingleActivator(LogicalKeyboardKey.arrowUp): VerticalScrollIntent.up(), + SingleActivator(LogicalKeyboardKey.arrowDown): VerticalScrollIntent.down(), }, actions: { - _ScrollIntent: CallbackAction<_ScrollIntent>(onInvoke: _onScrollIntent), + VerticalScrollIntent: VerticalScrollIntentAction(scrollController: _scrollController), }, child: Center( child: FutureBuilder( @@ -65,38 +66,4 @@ class _PolicyPageState extends State { ), ); } - - void _onScrollIntent(_ScrollIntent intent) { - late int factor; - switch (intent.type) { - case _ScrollDirection.up: - factor = -1; - break; - case _ScrollDirection.down: - factor = 1; - break; - } - _scrollController.animateTo( - _scrollController.offset + factor * 150, - duration: const Duration(milliseconds: 500), - curve: Curves.easeOutCubic, - ); - } -} - -class _ScrollIntent extends Intent { - const _ScrollIntent({ - required this.type, - }); - - const _ScrollIntent.up() : type = _ScrollDirection.up; - - const _ScrollIntent.down() : type = _ScrollDirection.down; - - final _ScrollDirection type; -} - -enum _ScrollDirection { - up, - down, } diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index 30801629d..c31d6a27f 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -441,7 +441,7 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> with Widge @override Widget build(BuildContext context) { final scrollView = _buildScrollView(widget.appBar, widget.collection); - return _buildDraggableScrollView(scrollView, widget.collection); + return settings.useTvLayout ? scrollView : _buildDraggableScrollView(scrollView, widget.collection); } Widget _buildDraggableScrollView(ScrollView scrollView, CollectionLens collection) { diff --git a/lib/widgets/common/behaviour/intents.dart b/lib/widgets/common/behaviour/intents.dart new file mode 100644 index 000000000..a01585737 --- /dev/null +++ b/lib/widgets/common/behaviour/intents.dart @@ -0,0 +1,44 @@ +import 'package:flutter/widgets.dart'; + +class VerticalScrollIntent extends Intent { + const VerticalScrollIntent({ + required this.type, + }); + + const VerticalScrollIntent.up() : type = VerticalScrollDirection.up; + + const VerticalScrollIntent.down() : type = VerticalScrollDirection.down; + + final VerticalScrollDirection type; +} + +enum VerticalScrollDirection { + up, + down, +} + +class VerticalScrollIntentAction extends CallbackAction { + VerticalScrollIntentAction({ + required ScrollController scrollController, + }) : super(onInvoke: (intent) => _onScrollIntent(intent, scrollController)); + + static void _onScrollIntent( + VerticalScrollIntent intent, + ScrollController scrollController, + ) { + late int factor; + switch (intent.type) { + case VerticalScrollDirection.up: + factor = -1; + break; + case VerticalScrollDirection.down: + factor = 1; + break; + } + scrollController.animateTo( + scrollController.offset + factor * 150, + duration: const Duration(milliseconds: 500), + curve: Curves.easeOutCubic, + ); + } +} diff --git a/lib/widgets/filter_grids/common/filter_grid_page.dart b/lib/widgets/filter_grids/common/filter_grid_page.dart index 19551c323..af0455967 100644 --- a/lib/widgets/filter_grids/common/filter_grid_page.dart +++ b/lib/widgets/filter_grids/common/filter_grid_page.dart @@ -620,7 +620,7 @@ class _FilterScrollView extends StatelessWidget { @override Widget build(BuildContext context) { final scrollView = _buildScrollView(context); - return _buildDraggableScrollView(scrollView); + return settings.useTvLayout ? scrollView : _buildDraggableScrollView(scrollView); } Widget _buildDraggableScrollView(ScrollView scrollView) { diff --git a/lib/widgets/settings/settings_page.dart b/lib/widgets/settings/settings_page.dart index 7f32fcd0c..166ee11ed 100644 --- a/lib/widgets/settings/settings_page.dart +++ b/lib/widgets/settings/settings_page.dart @@ -97,49 +97,8 @@ class _SettingsPageState extends State with FeedbackMixin { primary: false, ), ), - Expanded( - child: ValueListenableBuilder( - valueListenable: _tvSelectedIndexNotifier, - builder: (context, selectedIndex, child) { - final rail = NavigationRail( - backgroundColor: Theme.of(context).scaffoldBackgroundColor, - extended: true, - destinations: sections - .map((section) => NavigationRailDestination( - icon: section.icon(context), - label: Text(section.title(context)), - )) - .toList(), - selectedIndex: selectedIndex, - onDestinationSelected: (index) => _tvSelectedIndexNotifier.value = index, - minExtendedWidth: TvRail.minExtendedWidth, - ); - return LayoutBuilder( - builder: (context, constraints) { - return Row( - children: [ - SingleChildScrollView( - child: ConstrainedBox( - constraints: BoxConstraints(minHeight: constraints.maxHeight), - child: IntrinsicHeight(child: rail), - ), - ), - Expanded( - child: MediaQuery.removePadding( - context: context, - removeLeft: !context.isRtl, - removeRight: context.isRtl, - child: _SettingsSectionBody( - loader: Future.value(sections[selectedIndex].tiles(context)), - ), - ), - ), - ], - ); - }, - ); - }, - ), + const Expanded( + child: _TvRail(), ), ], ), @@ -359,3 +318,68 @@ class _SettingsSectionBody extends StatelessWidget { ); } } + +class _TvRail extends StatefulWidget { + const _TvRail(); + + @override + State<_TvRail> createState() => _TvRailState(); +} + +class _TvRailState extends State<_TvRail> { + final ValueNotifier _indexNotifier = ValueNotifier(0); + + @override + void dispose() { + _indexNotifier.dispose(); + super.dispose(); + } + + static final List sections = _SettingsPageState.sections; + + @override + Widget build(BuildContext context) { + return ValueListenableBuilder( + valueListenable: _indexNotifier, + builder: (context, selectedIndex, child) { + final rail = NavigationRail( + backgroundColor: Theme.of(context).scaffoldBackgroundColor, + extended: true, + destinations: sections + .map((section) => NavigationRailDestination( + icon: section.icon(context), + label: Text(section.title(context)), + )) + .toList(), + selectedIndex: selectedIndex, + onDestinationSelected: (index) => _indexNotifier.value = index, + minExtendedWidth: TvRail.minExtendedWidth, + ); + return LayoutBuilder( + builder: (context, constraints) { + return Row( + children: [ + SingleChildScrollView( + child: ConstrainedBox( + constraints: BoxConstraints(minHeight: constraints.maxHeight), + child: IntrinsicHeight(child: rail), + ), + ), + Expanded( + child: MediaQuery.removePadding( + context: context, + removeLeft: !context.isRtl, + removeRight: context.isRtl, + child: _SettingsSectionBody( + loader: Future.value(sections[selectedIndex].tiles(context)), + ), + ), + ), + ], + ); + }, + ); + }, + ); + } +} diff --git a/lib/widgets/viewer/info/basic_section.dart b/lib/widgets/viewer/info/basic_section.dart index c0c465a8b..f35351432 100644 --- a/lib/widgets/viewer/info/basic_section.dart +++ b/lib/widgets/viewer/info/basic_section.dart @@ -27,10 +27,11 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -class BasicSection extends StatelessWidget { +class BasicSection extends StatefulWidget { final AvesEntry entry; final CollectionLens? collection; final EntryInfoActionDelegate actionDelegate; + final ValueNotifier isScrollingNotifier; final ValueNotifier isEditingMetadataNotifier; final FilterCallback onFilter; @@ -39,12 +40,54 @@ class BasicSection extends StatelessWidget { required this.entry, this.collection, required this.actionDelegate, + required this.isScrollingNotifier, required this.isEditingMetadataNotifier, required this.onFilter, }); + @override + State createState() => _BasicSectionState(); +} + +class _BasicSectionState extends State { + final FocusNode _chipFocusNode = FocusNode(); + + CollectionLens? get collection => widget.collection; + + EntryInfoActionDelegate get actionDelegate => widget.actionDelegate; + + @override + void initState() { + super.initState(); + _registerWidget(widget); + _onScrollingChanged(); + } + + @override + void didUpdateWidget(covariant BasicSection oldWidget) { + super.didUpdateWidget(oldWidget); + _unregisterWidget(oldWidget); + _registerWidget(widget); + } + + @override + void dispose() { + _unregisterWidget(widget); + _chipFocusNode.dispose(); + super.dispose(); + } + + void _registerWidget(BasicSection widget) { + widget.isScrollingNotifier.addListener(_onScrollingChanged); + } + + void _unregisterWidget(BasicSection widget) { + widget.isScrollingNotifier.removeListener(_onScrollingChanged); + } + @override Widget build(BuildContext context) { + final entry = widget.entry; return AnimatedBuilder( animation: entry.metadataChangeNotifier, builder: (context, child) { @@ -52,7 +95,12 @@ class BasicSection extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ _BasicInfo(entry: entry), - _buildChips(context), + Focus( + focusNode: _chipFocusNode, + skipTraversal: true, + canRequestFocus: false, + child: _buildChips(context), + ), _buildEditButtons(context), ], ); @@ -60,6 +108,7 @@ class BasicSection extends StatelessWidget { } Widget _buildChips(BuildContext context) { + final entry = widget.entry; final tags = entry.tags.toList()..sort(compareAsciiUpperCaseNatural); final album = entry.directory; final filters = { @@ -91,7 +140,7 @@ class BasicSection extends StatelessWidget { children: effectiveFilters .map((filter) => AvesFilterChip( filter: filter, - onTap: onFilter, + onTap: widget.onFilter, )) .toList(), ), @@ -101,6 +150,7 @@ class BasicSection extends StatelessWidget { } Widget _buildEditButtons(BuildContext context) { + final entry = widget.entry; final children = [ EntryAction.editRating, EntryAction.editTags, @@ -124,8 +174,9 @@ class BasicSection extends StatelessWidget { } Widget _buildEditMetadataButton(BuildContext context, EntryAction action) { + final entry = widget.entry; return ValueListenableBuilder( - valueListenable: isEditingMetadataNotifier, + valueListenable: widget.isEditingMetadataNotifier, builder: (context, editingAction, child) { final isEditing = editingAction != null; final onPressed = isEditing ? null : () => actionDelegate.onActionSelected(context, entry, collection, action); @@ -181,6 +232,14 @@ class BasicSection extends StatelessWidget { }, ); } + + void _onScrollingChanged() { + if (!widget.isScrollingNotifier.value) { + // using `autofocus` while scrolling seems to fail for widget built offscreen + // so we give focus to this page when the screen is no longer scrolling + _chipFocusNode.children.firstOrNull?.requestFocus(); + } + } } class _BasicInfo extends StatefulWidget { diff --git a/lib/widgets/viewer/info/info_page.dart b/lib/widgets/viewer/info/info_page.dart index 0552f7f1e..48519c873 100644 --- a/lib/widgets/viewer/info/info_page.dart +++ b/lib/widgets/viewer/info/info_page.dart @@ -40,50 +40,17 @@ class InfoPage extends StatefulWidget { } class _InfoPageState extends State { - final FocusNode _focusNode = FocusNode(); final ScrollController _scrollController = ScrollController(); bool _scrollStartFromTop = false; static const splitScreenWidthThreshold = 600; - @override - void initState() { - super.initState(); - _registerWidget(widget); - _onScrollingChanged(); - } - - @override - void didUpdateWidget(covariant InfoPage oldWidget) { - super.didUpdateWidget(oldWidget); - _unregisterWidget(oldWidget); - _registerWidget(widget); - } - @override void dispose() { - _unregisterWidget(widget); - _focusNode.dispose(); _scrollController.dispose(); super.dispose(); } - void _registerWidget(InfoPage widget) { - widget.isScrollingNotifier.addListener(_onScrollingChanged); - } - - void _unregisterWidget(InfoPage widget) { - widget.isScrollingNotifier.removeListener(_onScrollingChanged); - } - - void _onScrollingChanged() { - if (!widget.isScrollingNotifier.value) { - // using `autofocus` while scrolling seems to fail for widget built offscreen - // so we give focus to this page when the screen is no longer scrolling - _focusNode.requestFocus(); - } - } - @override Widget build(BuildContext context) { return AvesScaffold( @@ -104,16 +71,13 @@ class _InfoPageState extends State { final targetEntry = pageEntry ?? mainEntry; return EmbeddedDataOpener( entry: targetEntry, - child: Focus( - focusNode: _focusNode, - child: _InfoPageContent( - collection: widget.collection, - entry: targetEntry, - isScrollingNotifier: widget.isScrollingNotifier, - scrollController: _scrollController, - split: mqWidth > splitScreenWidthThreshold, - goToViewer: _goToViewer, - ), + child: _InfoPageContent( + collection: widget.collection, + entry: targetEntry, + isScrollingNotifier: widget.isScrollingNotifier, + scrollController: _scrollController, + split: mqWidth > splitScreenWidthThreshold, + goToViewer: _goToViewer, ), ); } @@ -240,6 +204,7 @@ class _InfoPageContentState extends State<_InfoPageContent> { entry: entry, collection: collection, actionDelegate: _actionDelegate, + isScrollingNotifier: widget.isScrollingNotifier, isEditingMetadataNotifier: _isEditingMetadataNotifier, onFilter: _onFilter, ); diff --git a/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart b/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart index 6b4cc987e..def7e8670 100644 --- a/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart +++ b/lib/widgets/viewer/info/metadata/metadata_dir_tile.dart @@ -40,16 +40,60 @@ class MetadataDirTile extends StatelessWidget { var tags = dir.tags; if (tags.isEmpty) return const SizedBox(); + return AvesExpansionTile( + title: title, + highlightColor: getTitleColor(context, dir), + expandedNotifier: expandedDirectoryNotifier, + initiallyExpanded: initiallyExpanded, + children: [ + MetadataDirTileBody( + entry: entry, + dir: dir, + showThumbnails: showThumbnails, + ), + ], + ); + } + + static Color getTitleColor(BuildContext context, MetadataDirectory dir) { final dirName = dir.name; if (dirName == MetadataDirectory.xmpDirectory) { - return XmpDirTile( - entry: entry, - title: title, - allTags: dir.allTags, - tags: tags, - expandedNotifier: expandedDirectoryNotifier, - initiallyExpanded: initiallyExpanded, - ); + return context.select((v) => v.xmp); + } else { + final colors = context.watch(); + return dir.color ?? colors.fromBrandColor(BrandColors.get(dirName)) ?? colors.fromString(dirName); + } + } +} + +class MetadataDirTileBody extends StatelessWidget { + final AvesEntry entry; + final MetadataDirectory dir; + final bool showThumbnails; + + const MetadataDirTileBody({ + super.key, + required this.entry, + required this.dir, + this.showThumbnails = true, + }); + + @override + Widget build(BuildContext context) { + var tags = dir.tags; + + late final List children; + final dirName = dir.name; + if (dirName == MetadataDirectory.xmpDirectory) { + children = [ + Padding( + padding: const EdgeInsets.only(left: 8, right: 8, bottom: 8), + child: XmpDirTileBody( + allTags: dir.allTags, + tags: tags, + ), + ), + ]; } else { Map? linkHandlers; switch (dirName) { @@ -67,25 +111,23 @@ class MetadataDirTile extends StatelessWidget { break; } - final colors = context.watch(); - return AvesExpansionTile( - title: title, - highlightColor: dir.color ?? colors.fromBrandColor(BrandColors.get(dirName)) ?? colors.fromString(dirName), - expandedNotifier: expandedDirectoryNotifier, - initiallyExpanded: initiallyExpanded, - children: [ - if (showThumbnails && dirName == MetadataDirectory.exifThumbnailDirectory) MetadataThumbnails(entry: entry), - Padding( - padding: const EdgeInsets.only(left: 8, right: 8, bottom: 8), - child: InfoRowGroup( - info: tags, - maxValueLength: Constants.infoGroupMaxValueLength, - spanBuilders: linkHandlers, - ), + children = [ + if (showThumbnails && dirName == MetadataDirectory.exifThumbnailDirectory) MetadataThumbnails(entry: entry), + Padding( + padding: const EdgeInsets.only(left: 8, right: 8, bottom: 8), + child: InfoRowGroup( + info: tags, + maxValueLength: Constants.infoGroupMaxValueLength, + spanBuilders: linkHandlers, ), - ], - ); + ), + ]; } + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: children, + ); } static Map getSvgLinkHandlers(SplayTreeMap tags) { diff --git a/lib/widgets/viewer/info/metadata/metadata_section.dart b/lib/widgets/viewer/info/metadata/metadata_section.dart index 6977f8eea..80e76a7ce 100644 --- a/lib/widgets/viewer/info/metadata/metadata_section.dart +++ b/lib/widgets/viewer/info/metadata/metadata_section.dart @@ -2,11 +2,14 @@ import 'dart:async'; import 'package:aves/model/entry.dart'; import 'package:aves/model/entry_info.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; import 'package:aves/widgets/viewer/info/common.dart'; import 'package:aves/widgets/viewer/info/metadata/metadata_dir.dart'; import 'package:aves/widgets/viewer/info/metadata/metadata_dir_tile.dart'; +import 'package:aves/widgets/viewer/info/metadata/tv_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_staggered_animations/flutter_staggered_animations.dart'; @@ -92,15 +95,32 @@ class _MetadataSectionSliverState extends State { child: child, ), ), - children: [ - const SectionRow(icon: AIcons.info), - ...metadata.entries.map((kv) => MetadataDirTile( - entry: entry, - title: kv.key, - dir: kv.value, - expandedDirectoryNotifier: _expandedDirectoryNotifier, - )), - ], + children: settings.useTvLayout + ? [ + AvesOutlinedButton( + label: MaterialLocalizations.of(context).moreButtonTooltip, + onPressed: () { + Navigator.maybeOf(context)?.push( + MaterialPageRoute( + settings: const RouteSettings(name: TvMetadataPage.routeName), + builder: (context) => TvMetadataPage( + entry: entry, + metadata: metadata, + ), + ), + ); + }, + ), + ] + : [ + const SectionRow(icon: AIcons.info), + ...metadata.entries.map((kv) => MetadataDirTile( + entry: entry, + title: kv.key, + dir: kv.value, + expandedDirectoryNotifier: _expandedDirectoryNotifier, + )), + ], ), ); } diff --git a/lib/widgets/viewer/info/metadata/tv_page.dart b/lib/widgets/viewer/info/metadata/tv_page.dart new file mode 100644 index 000000000..38273c361 --- /dev/null +++ b/lib/widgets/viewer/info/metadata/tv_page.dart @@ -0,0 +1,123 @@ +import 'package:aves/model/entry.dart'; +import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/common/basic/scaffold.dart'; +import 'package:aves/widgets/common/behaviour/intents.dart'; +import 'package:aves/widgets/common/extensions/build_context.dart'; +import 'package:aves/widgets/navigation/tv_rail.dart'; +import 'package:aves/widgets/viewer/info/metadata/metadata_dir.dart'; +import 'package:aves/widgets/viewer/info/metadata/metadata_dir_tile.dart'; +import 'package:collection/collection.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +class TvMetadataPage extends StatefulWidget { + static const routeName = '/info/metadata'; + + final AvesEntry entry; + final Map metadata; + + const TvMetadataPage({ + super.key, + required this.entry, + required this.metadata, + }); + + @override + State createState() => _TvMetadataPageState(); +} + +class _TvMetadataPageState extends State { + final ValueNotifier _railIndexNotifier = ValueNotifier(0); + final FocusNode _railFocusNode = FocusNode(); + final ScrollController _detailsScrollController = ScrollController(); + + Map get metadata => widget.metadata; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance.addPostFrameCallback((_) { + _railFocusNode.children.firstOrNull?.requestFocus(); + }); + } + + @override + void dispose() { + _railIndexNotifier.dispose(); + _railFocusNode.dispose(); + _detailsScrollController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return AvesScaffold( + appBar: AppBar( + automaticallyImplyLeading: false, + title: Text(context.l10n.viewerInfoPageTitle), + ), + body: ValueListenableBuilder( + valueListenable: _railIndexNotifier, + builder: (context, selectedIndex, child) { + final titles = metadata.keys.toList(); + final selectedDir = metadata[titles[selectedIndex]]; + if (selectedDir == null) return const SizedBox(); + + final rail = NavigationRail( + backgroundColor: Theme.of(context).scaffoldBackgroundColor, + extended: true, + destinations: titles.mapIndexed((i, title) { + final dir = metadata[titles[i]]!; + final color = MetadataDirTile.getTitleColor(context, dir); + return NavigationRailDestination( + icon: Icon(AIcons.disc, color: color), + label: Text(title), + ); + }).toList(), + selectedIndex: selectedIndex, + onDestinationSelected: (index) => _railIndexNotifier.value = index, + minExtendedWidth: TvRail.minExtendedWidth, + ); + + return SafeArea( + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(width: 16), + Focus( + focusNode: _railFocusNode, + skipTraversal: true, + canRequestFocus: false, + child: SingleChildScrollView( + child: IntrinsicHeight( + child: rail, + ), + ), + ), + Expanded( + child: FocusableActionDetector( + shortcuts: const { + SingleActivator(LogicalKeyboardKey.arrowUp): VerticalScrollIntent.up(), + SingleActivator(LogicalKeyboardKey.arrowDown): VerticalScrollIntent.down(), + }, + actions: { + VerticalScrollIntent: VerticalScrollIntentAction(scrollController: _detailsScrollController), + }, + child: SingleChildScrollView( + controller: _detailsScrollController, + padding: const EdgeInsets.all(16), + child: MetadataDirTileBody( + entry: widget.entry, + dir: selectedDir, + ), + ), + ), + ), + ], + ), + ); + }, + ), + ); + } +} diff --git a/lib/widgets/viewer/info/metadata/xmp_tile.dart b/lib/widgets/viewer/info/metadata/xmp_tile.dart index ff71933e6..fd3ced944 100644 --- a/lib/widgets/viewer/info/metadata/xmp_tile.dart +++ b/lib/widgets/viewer/info/metadata/xmp_tile.dart @@ -1,41 +1,27 @@ import 'dart:collection'; import 'dart:convert'; -import 'package:aves/model/entry.dart'; -import 'package:aves/theme/colors.dart'; import 'package:aves/utils/xmp_utils.dart'; -import 'package:aves/widgets/common/identity/aves_expansion_tile.dart'; import 'package:aves/widgets/viewer/info/metadata/xmp_namespaces.dart'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -class XmpDirTile extends StatefulWidget { - final AvesEntry entry; - final String title; +class XmpDirTileBody extends StatefulWidget { final SplayTreeMap allTags, tags; - final ValueNotifier? expandedNotifier; - final bool initiallyExpanded; - const XmpDirTile({ + const XmpDirTileBody({ super.key, - required this.entry, - required this.title, required this.allTags, required this.tags, - required this.expandedNotifier, - required this.initiallyExpanded, }); @override - State createState() => _XmpDirTileState(); + State createState() => _XmpDirTileBodyState(); } -class _XmpDirTileState extends State { +class _XmpDirTileBodyState extends State { late final Map _schemaRegistryPrefixes, _tags; - AvesEntry get entry => widget.entry; - static const schemaRegistryPrefixesKey = 'schemaRegistryPrefixes'; @override @@ -60,21 +46,10 @@ class _XmpDirTileState extends State { return XmpNamespace.create(_schemaRegistryPrefixes, nsPrefix, rawProps); }).toList() ..sort((a, b) => compareAsciiUpperCase(a.displayTitle, b.displayTitle)); - return AvesExpansionTile( - // title may contain parent to distinguish multiple XMP directories - title: widget.title, - highlightColor: context.select((v) => v.xmp), - expandedNotifier: widget.expandedNotifier, - initiallyExpanded: widget.initiallyExpanded, - children: [ - Padding( - padding: const EdgeInsets.only(left: 8, right: 8, bottom: 8), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: sections.expand((section) => section.buildNamespaceSection(context)).toList(), - ), - ), - ], + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: sections.expand((section) => section.buildNamespaceSection(context)).toList(), ); } } From 19cdfcf23f30a0049f308b5bc181e65e93ae4b4b Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Wed, 1 Feb 2023 12:29:47 +0100 Subject: [PATCH 19/44] error report logs --- lib/widgets/aves_app.dart | 3 ++- lib/widgets/collection/app_bar.dart | 1 + lib/widgets/collection/entry_set_action_delegate.dart | 5 +++++ lib/widgets/common/action_mixins/entry_editor.dart | 6 ++++++ lib/widgets/common/action_mixins/entry_storage.dart | 1 + lib/widgets/common/action_mixins/feedback.dart | 3 +++ lib/widgets/common/action_mixins/permission_aware.dart | 3 +++ lib/widgets/common/action_mixins/size_aware.dart | 1 + lib/widgets/common/basic/color_list_tile.dart | 3 +++ lib/widgets/common/behaviour/route_tracker.dart | 8 ++++---- lib/widgets/common/search/page.dart | 4 ++-- lib/widgets/dialogs/add_shortcut_dialog.dart | 2 ++ lib/widgets/dialogs/aves_confirmation_dialog.dart | 3 +++ lib/widgets/dialogs/aves_dialog.dart | 4 ++++ lib/widgets/dialogs/aves_selection_dialog.dart | 3 +++ lib/widgets/dialogs/entry_editors/edit_date_dialog.dart | 2 ++ .../dialogs/entry_editors/edit_description_dialog.dart | 2 ++ .../dialogs/entry_editors/edit_location_dialog.dart | 2 ++ lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart | 2 ++ .../dialogs/entry_editors/remove_metadata_dialog.dart | 2 ++ .../dialogs/entry_editors/rename_entry_dialog.dart | 2 ++ lib/widgets/dialogs/export_entry_dialog.dart | 2 ++ .../dialogs/filter_editors/cover_selection_dialog.dart | 3 +++ .../dialogs/filter_editors/create_album_dialog.dart | 2 ++ .../dialogs/filter_editors/rename_album_dialog.dart | 2 ++ lib/widgets/dialogs/pick_dialogs/album_pick_page.dart | 1 + lib/widgets/dialogs/tile_view_dialog.dart | 2 ++ lib/widgets/dialogs/video_speed_dialog.dart | 2 ++ lib/widgets/dialogs/video_stream_selection_dialog.dart | 2 ++ lib/widgets/dialogs/wallpaper_settings_dialog.dart | 2 ++ .../filter_grids/common/action_delegates/album_set.dart | 5 +++++ .../filter_grids/common/action_delegates/chip.dart | 3 +++ .../filter_grids/common/action_delegates/chip_set.dart | 5 +++++ lib/widgets/viewer/action/entry_action_delegate.dart | 4 ++++ lib/widgets/viewer/action/entry_info_action_delegate.dart | 2 ++ lib/widgets/viewer/overlay/wallpaper_buttons.dart | 1 + lib/widgets/viewer/video/controller.dart | 3 ++- lib/widgets/viewer/video_action_delegate.dart | 2 ++ 38 files changed, 97 insertions(+), 8 deletions(-) diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 3a2c4fded..474e7db8b 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -354,6 +354,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { @override void didChangeAppLifecycleState(AppLifecycleState state) { debugPrint('$runtimeType lifecycle ${state.name}'); + reportService.log('Lifecycle ${state.name}'); switch (state) { case AppLifecycleState.inactive: switch (_appModeNotifier.value) { @@ -557,7 +558,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { // do not reset when relaunching the app if (_appModeNotifier.value == AppMode.main && (intentData == null || intentData.isEmpty == true)) return; - reportService.log('New intent'); + reportService.log('New intent data=$intentData'); AvesApp.navigatorKey.currentState!.pushReplacement(DirectMaterialPageRoute( settings: const RouteSettings(name: HomePage.routeName), builder: (_) => _getFirstPage(intentData: intentData), diff --git a/lib/widgets/collection/app_bar.dart b/lib/widgets/collection/app_bar.dart index 398fb017b..6991d4ed9 100644 --- a/lib/widgets/collection/app_bar.dart +++ b/lib/widgets/collection/app_bar.dart @@ -666,6 +666,7 @@ class _CollectionAppBarState extends State with SingleTickerPr tileExtentController: extentController, ); }, + routeSettings: const RouteSettings(name: TileViewDialog.routeName), ); // wait for the dialog to hide as applying the change may block the UI await Future.delayed(Durations.dialogTransitionAnimation * timeDilation); diff --git a/lib/widgets/collection/entry_set_action_delegate.dart b/lib/widgets/collection/entry_set_action_delegate.dart index 284bfa8cf..c115cf3a8 100644 --- a/lib/widgets/collection/entry_set_action_delegate.dart +++ b/lib/widgets/collection/entry_set_action_delegate.dart @@ -160,6 +160,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware } void onActionSelected(BuildContext context, EntrySetAction action) { + reportService.log('$action'); switch (action) { // general case EntrySetAction.configureView: @@ -266,6 +267,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware content: Text(context.l10n.tooManyItemsErrorDialogMessage), actions: const [OkButton()], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); } } @@ -471,6 +473,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); if (confirmed == null || !confirmed) return null; @@ -550,6 +553,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); if (confirmed == null || !confirmed) return; @@ -694,6 +698,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware defaultName: defaultName ?? '', collection: collection, ), + routeSettings: const RouteSettings(name: AddShortcutDialog.routeName), ); if (result == null) return; diff --git a/lib/widgets/common/action_mixins/entry_editor.dart b/lib/widgets/common/action_mixins/entry_editor.dart index 12e2cbe66..40471bbde 100644 --- a/lib/widgets/common/action_mixins/entry_editor.dart +++ b/lib/widgets/common/action_mixins/entry_editor.dart @@ -30,6 +30,7 @@ mixin EntryEditorMixin { entry: entries.first, collection: collection, ), + routeSettings: const RouteSettings(name: EditEntryDateDialog.routeName), ); } @@ -44,6 +45,7 @@ mixin EntryEditorMixin { entry: entry, collection: collection, ), + routeSettings: const RouteSettings(name: EditEntryLocationDialog.routeName), ); } @@ -60,6 +62,7 @@ mixin EntryEditorMixin { initialTitle: initialTitle, initialDescription: initialDescription, ), + routeSettings: const RouteSettings(name: EditEntryTitleDescriptionDialog.routeName), ); } @@ -71,6 +74,7 @@ mixin EntryEditorMixin { builder: (context) => EditEntryRatingDialog( entry: entries.first, ), + routeSettings: const RouteSettings(name: EditEntryRatingDialog.routeName), ); } @@ -116,6 +120,7 @@ mixin EntryEditorMixin { builder: (context) => RemoveEntryMetadataDialog( showJpegTypes: entries.any((entry) => entry.mimeType == MimeTypes.jpeg), ), + routeSettings: const RouteSettings(name: RemoveEntryMetadataDialog.routeName), ); if (types == null || types.isEmpty) return null; @@ -132,6 +137,7 @@ mixin EntryEditorMixin { ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); if (confirmed == null || !confirmed) return null; } diff --git a/lib/widgets/common/action_mixins/entry_storage.dart b/lib/widgets/common/action_mixins/entry_storage.dart index ab4b5c834..0967d6e03 100644 --- a/lib/widgets/common/action_mixins/entry_storage.dart +++ b/lib/widgets/common/action_mixins/entry_storage.dart @@ -80,6 +80,7 @@ mixin EntryStorageMixin on FeedbackMixin, PermissionAwareMixin, SizeAwareMixin { message: originAlbums.length == 1 ? l10n.nameConflictDialogSingleSourceMessage : l10n.nameConflictDialogMultipleSourceMessage, confirmationButtonLabel: l10n.continueButtonLabel, ), + routeSettings: const RouteSettings(name: AvesSelectionDialog.routeName), ); if (value == null) return; nameConflictStrategy = value; diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index 465121404..5949bb096 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -149,10 +149,13 @@ mixin FeedbackMixin { onDone?.call(processed); }, ), + routeSettings: const RouteSettings(name: ReportOverlay.routeName), ); } class ReportOverlay extends StatefulWidget { + static const routeName = '/dialog/report_overlay'; + final Stream opStream; final int? itemCount; final VoidCallback? onCancel; diff --git a/lib/widgets/common/action_mixins/permission_aware.dart b/lib/widgets/common/action_mixins/permission_aware.dart index 803bc9f3e..f773db505 100644 --- a/lib/widgets/common/action_mixins/permission_aware.dart +++ b/lib/widgets/common/action_mixins/permission_aware.dart @@ -62,6 +62,7 @@ mixin PermissionAwareMixin { ], ); }, + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); // abort if the user cancels in Flutter if (confirmed == null || !confirmed) return false; @@ -73,6 +74,7 @@ mixin PermissionAwareMixin { content: Text(context.l10n.missingSystemFilePickerDialogMessage), actions: const [OkButton()], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); return false; } @@ -96,6 +98,7 @@ mixin PermissionAwareMixin { actions: const [OkButton()], ); }, + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); } } diff --git a/lib/widgets/common/action_mixins/size_aware.dart b/lib/widgets/common/action_mixins/size_aware.dart index 5e57bb021..cfcb39df0 100644 --- a/lib/widgets/common/action_mixins/size_aware.dart +++ b/lib/widgets/common/action_mixins/size_aware.dart @@ -88,6 +88,7 @@ mixin SizeAwareMixin { actions: const [OkButton()], ); }, + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); } } diff --git a/lib/widgets/common/basic/color_list_tile.dart b/lib/widgets/common/basic/color_list_tile.dart index 301ce6474..b33196a67 100644 --- a/lib/widgets/common/basic/color_list_tile.dart +++ b/lib/widgets/common/basic/color_list_tile.dart @@ -40,6 +40,7 @@ class ColorListTile extends StatelessWidget { builder: (context) => ColorPickerDialog( initialValue: value, ), + routeSettings: const RouteSettings(name: ColorPickerDialog.routeName), ); if (color != null) { onChanged(color); @@ -50,6 +51,8 @@ class ColorListTile extends StatelessWidget { } class ColorPickerDialog extends StatefulWidget { + static const routeName = '/dialog/pick_color'; + final Color initialValue; const ColorPickerDialog({ diff --git a/lib/widgets/common/behaviour/route_tracker.dart b/lib/widgets/common/behaviour/route_tracker.dart index e86f45559..274e08a74 100644 --- a/lib/widgets/common/behaviour/route_tracker.dart +++ b/lib/widgets/common/behaviour/route_tracker.dart @@ -3,16 +3,16 @@ import 'package:flutter/material.dart'; class ReportingRouteTracker extends NavigatorObserver { @override - void didPush(Route route, Route? previousRoute) => reportService.log('Nav didPush to ${_name(route)}'); + void didPush(Route route, Route? previousRoute) => reportService.log('Nav push to ${_name(route)}'); @override - void didPop(Route route, Route? previousRoute) => reportService.log('Nav didPop to ${_name(previousRoute)}'); + void didPop(Route route, Route? previousRoute) => reportService.log('Nav pop to ${_name(previousRoute)}'); @override - void didRemove(Route route, Route? previousRoute) => reportService.log('Nav didRemove to ${_name(previousRoute)}'); + void didRemove(Route route, Route? previousRoute) => reportService.log('Nav remove to ${_name(previousRoute)}'); @override - void didReplace({Route? newRoute, Route? oldRoute}) => reportService.log('Nav didReplace to ${_name(newRoute)}'); + void didReplace({Route? newRoute, Route? oldRoute}) => reportService.log('Nav replace to ${_name(newRoute)}'); String _name(Route? route) => route?.settings.name ?? 'unnamed ${route?.runtimeType}'; } diff --git a/lib/widgets/common/search/page.dart b/lib/widgets/common/search/page.dart index 3ef96f5ec..31bfca47d 100644 --- a/lib/widgets/common/search/page.dart +++ b/lib/widgets/common/search/page.dart @@ -13,11 +13,11 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; class SearchPage extends StatefulWidget { + static const routeName = '/search'; + final AvesSearchDelegate delegate; final Animation animation; - static const routeName = '/search'; - const SearchPage({ super.key, required this.delegate, diff --git a/lib/widgets/dialogs/add_shortcut_dialog.dart b/lib/widgets/dialogs/add_shortcut_dialog.dart index e2c906de4..f25fc4108 100644 --- a/lib/widgets/dialogs/add_shortcut_dialog.dart +++ b/lib/widgets/dialogs/add_shortcut_dialog.dart @@ -14,6 +14,8 @@ import 'package:tuple/tuple.dart'; import 'aves_dialog.dart'; class AddShortcutDialog extends StatefulWidget { + static const routeName = '/dialog/add_shortcut'; + final CollectionLens? collection; final String defaultName; diff --git a/lib/widgets/dialogs/aves_confirmation_dialog.dart b/lib/widgets/dialogs/aves_confirmation_dialog.dart index e72b80cf3..f0cd3ff53 100644 --- a/lib/widgets/dialogs/aves_confirmation_dialog.dart +++ b/lib/widgets/dialogs/aves_confirmation_dialog.dart @@ -43,6 +43,7 @@ Future showConfirmationDialog({ delegate: effectiveDelegate, confirmationButtonLabel: confirmationButtonLabel, ), + routeSettings: const RouteSettings(name: _AvesConfirmationDialog.routeName), ); if (confirmed == null) return false; @@ -78,6 +79,8 @@ void _skipConfirmation(ConfirmationDialog type) { } class _AvesConfirmationDialog extends StatefulWidget { + static const routeName = '/dialog/confirmation'; + final ConfirmationDialog type; final ConfirmationDialogDelegate delegate; final String confirmationButtonLabel; diff --git a/lib/widgets/dialogs/aves_dialog.dart b/lib/widgets/dialogs/aves_dialog.dart index 27a9fa83e..2233e8349 100644 --- a/lib/widgets/dialogs/aves_dialog.dart +++ b/lib/widgets/dialogs/aves_dialog.dart @@ -5,6 +5,9 @@ import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:flutter/material.dart'; class AvesDialog extends StatelessWidget { + static const confirmationRouteName = '/dialog/confirmation'; + static const warningRouteName = '/dialog/warning'; + final String? title; final ScrollController scrollController; final List? scrollableContent; @@ -157,6 +160,7 @@ Future showNoMatchingAppDialog(BuildContext context) => showDialog( content: Text(context.l10n.noMatchingAppDialogMessage), actions: const [OkButton()], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); class CancelButton extends StatelessWidget { diff --git a/lib/widgets/dialogs/aves_selection_dialog.dart b/lib/widgets/dialogs/aves_selection_dialog.dart index c361c0e64..bede0ca1c 100644 --- a/lib/widgets/dialogs/aves_selection_dialog.dart +++ b/lib/widgets/dialogs/aves_selection_dialog.dart @@ -13,6 +13,7 @@ Future showSelectionDialog({ final value = await showDialog( context: context, builder: builder, + routeSettings: const RouteSettings(name: AvesSelectionDialog.routeName), ); // wait for the dialog to hide as applying the change may block the UI await Future.delayed(Durations.dialogTransitionAnimation * timeDilation); @@ -24,6 +25,8 @@ Future showSelectionDialog({ typedef TextBuilder = String Function(T value); class AvesSelectionDialog extends StatefulWidget { + static const routeName = '/dialog/selection'; + final T initialValue; final Map options; final TextBuilder? optionSubtitleBuilder; diff --git a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart index c113fd6f9..56bf224cf 100644 --- a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart @@ -21,6 +21,8 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class EditEntryDateDialog extends StatefulWidget { + static const routeName = '/dialog/edit_entry_date'; + final AvesEntry entry; final CollectionLens? collection; diff --git a/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart index 778ff992d..4478de495 100644 --- a/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_description_dialog.dart @@ -6,6 +6,8 @@ import 'package:aves/widgets/dialogs/aves_dialog.dart'; import 'package:flutter/material.dart'; class EditEntryTitleDescriptionDialog extends StatefulWidget { + static const routeName = '/dialog/edit_entry_title_description'; + final String initialTitle, initialDescription; const EditEntryTitleDescriptionDialog({ diff --git a/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart index eaa17ad93..b55533e9b 100644 --- a/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart @@ -22,6 +22,8 @@ import 'package:latlong2/latlong.dart'; import 'package:provider/provider.dart'; class EditEntryLocationDialog extends StatefulWidget { + static const routeName = '/dialog/edit_entry_location'; + final AvesEntry entry; final CollectionLens? collection; diff --git a/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart index 2cab9a9c9..e1dab151a 100644 --- a/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_rating_dialog.dart @@ -6,6 +6,8 @@ import 'package:aves/widgets/dialogs/aves_dialog.dart'; import 'package:flutter/material.dart'; class EditEntryRatingDialog extends StatefulWidget { + static const routeName = '/dialog/edit_entry_rating'; + final AvesEntry entry; const EditEntryRatingDialog({ diff --git a/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart b/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart index 53cf52d91..baba84206 100644 --- a/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart @@ -16,6 +16,8 @@ import 'package:provider/provider.dart'; import '../aves_dialog.dart'; class RemoveEntryMetadataDialog extends StatefulWidget { + static const routeName = '/dialog/remove_entry_metadata'; + final bool showJpegTypes; const RemoveEntryMetadataDialog({ diff --git a/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart b/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart index a20b95466..36f4fb0d8 100644 --- a/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/rename_entry_dialog.dart @@ -9,6 +9,8 @@ import 'package:flutter/material.dart'; import '../aves_dialog.dart'; class RenameEntryDialog extends StatefulWidget { + static const routeName = '/dialog/rename_entry'; + final AvesEntry entry; const RenameEntryDialog({ diff --git a/lib/widgets/dialogs/export_entry_dialog.dart b/lib/widgets/dialogs/export_entry_dialog.dart index cd69c5901..6cce70cde 100644 --- a/lib/widgets/dialogs/export_entry_dialog.dart +++ b/lib/widgets/dialogs/export_entry_dialog.dart @@ -9,6 +9,8 @@ import 'package:flutter/material.dart'; import 'aves_dialog.dart'; class ExportEntryDialog extends StatefulWidget { + static const routeName = '/dialog/export_entry'; + final AvesEntry entry; const ExportEntryDialog({ diff --git a/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart b/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart index 267cbcd25..3dde93755 100644 --- a/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/cover_selection_dialog.dart @@ -23,6 +23,8 @@ import 'package:provider/provider.dart'; import 'package:tuple/tuple.dart'; class CoverSelectionDialog extends StatefulWidget { + static const routeName = '/dialog/select_cover'; + final CollectionFilter filter; final AvesEntry? customEntry; final String? customPackage; @@ -384,6 +386,7 @@ class _CoverSelectionDialogState extends State { // picker controls are not on edge and palette panel is more stable initialValue: _customColor ?? const Color(0xff3f51b5), ), + routeSettings: const RouteSettings(name: ColorPickerDialog.routeName), ); if (color != null) { _customColor = color; diff --git a/lib/widgets/dialogs/filter_editors/create_album_dialog.dart b/lib/widgets/dialogs/filter_editors/create_album_dialog.dart index 42af44988..579c5de88 100644 --- a/lib/widgets/dialogs/filter_editors/create_album_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/create_album_dialog.dart @@ -10,6 +10,8 @@ import 'package:flutter/material.dart'; import '../aves_dialog.dart'; class CreateAlbumDialog extends StatefulWidget { + static const routeName = '/dialog/create_album'; + const CreateAlbumDialog({super.key}); @override diff --git a/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart b/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart index 0ea04ce65..0d254a30b 100644 --- a/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/rename_album_dialog.dart @@ -6,6 +6,8 @@ import 'package:aves/widgets/dialogs/aves_dialog.dart'; import 'package:flutter/material.dart'; class RenameAlbumDialog extends StatefulWidget { + static const routeName = '/dialog/rename_album'; + final String album; const RenameAlbumDialog({ diff --git a/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart b/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart index 093035a41..d2cabd10b 100644 --- a/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart +++ b/lib/widgets/dialogs/pick_dialogs/album_pick_page.dart @@ -183,6 +183,7 @@ class _AlbumPickPageState extends State<_AlbumPickPage> { final newAlbum = await showDialog( context: context, builder: (context) => const CreateAlbumDialog(), + routeSettings: const RouteSettings(name: CreateAlbumDialog.routeName), ); // wait for the dialog to hide as applying the change may block the UI await Future.delayed(Durations.dialogTransitionAnimation * timeDilation); diff --git a/lib/widgets/dialogs/tile_view_dialog.dart b/lib/widgets/dialogs/tile_view_dialog.dart index e8bc31513..09d3e2b65 100644 --- a/lib/widgets/dialogs/tile_view_dialog.dart +++ b/lib/widgets/dialogs/tile_view_dialog.dart @@ -14,6 +14,8 @@ import 'package:tuple/tuple.dart'; import 'aves_dialog.dart'; class TileViewDialog extends StatefulWidget { + static const routeName = '/dialog/tile_view'; + final Tuple4 initialValue; final List> sortOptions; final List> groupOptions; diff --git a/lib/widgets/dialogs/video_speed_dialog.dart b/lib/widgets/dialogs/video_speed_dialog.dart index 51e2129ca..b38073f9d 100644 --- a/lib/widgets/dialogs/video_speed_dialog.dart +++ b/lib/widgets/dialogs/video_speed_dialog.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'aves_dialog.dart'; class VideoSpeedDialog extends StatefulWidget { + static const routeName = '/dialog/select_video_speed'; + final double current, min, max; const VideoSpeedDialog({ diff --git a/lib/widgets/dialogs/video_stream_selection_dialog.dart b/lib/widgets/dialogs/video_stream_selection_dialog.dart index 331c33191..eb0e65350 100644 --- a/lib/widgets/dialogs/video_stream_selection_dialog.dart +++ b/lib/widgets/dialogs/video_stream_selection_dialog.dart @@ -11,6 +11,8 @@ import 'package:flutter/material.dart'; import 'aves_dialog.dart'; class VideoStreamSelectionDialog extends StatefulWidget { + static const routeName = '/dialog/select_video_stream'; + final Map streams; const VideoStreamSelectionDialog({ diff --git a/lib/widgets/dialogs/wallpaper_settings_dialog.dart b/lib/widgets/dialogs/wallpaper_settings_dialog.dart index 864cee848..0e6d46fad 100644 --- a/lib/widgets/dialogs/wallpaper_settings_dialog.dart +++ b/lib/widgets/dialogs/wallpaper_settings_dialog.dart @@ -8,6 +8,8 @@ import 'package:tuple/tuple.dart'; import 'aves_dialog.dart'; class WallpaperSettingsDialog extends StatefulWidget { + static const routeName = '/dialog/wallpaper_settings'; + const WallpaperSettingsDialog({super.key}); @override diff --git a/lib/widgets/filter_grids/common/action_delegates/album_set.dart b/lib/widgets/filter_grids/common/action_delegates/album_set.dart index 2ed6369fb..390631ffa 100644 --- a/lib/widgets/filter_grids/common/action_delegates/album_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/album_set.dart @@ -117,6 +117,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with @override void onActionSelected(BuildContext context, Set filters, ChipSetAction action) { + reportService.log('$action'); switch (action) { // general case ChipSetAction.createAlbum: @@ -159,6 +160,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with tileExtentController: extentController, ); }, + routeSettings: const RouteSettings(name: TileViewDialog.routeName), ); // wait for the dialog to hide as applying the change may block the UI await Future.delayed(Durations.dialogTransitionAnimation * timeDilation); @@ -174,6 +176,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with final newAlbum = await showDialog( context: context, builder: (context) => const CreateAlbumDialog(), + routeSettings: const RouteSettings(name: CreateAlbumDialog.routeName), ); if (newAlbum != null && newAlbum.isNotEmpty) { final source = context.read(); @@ -243,6 +246,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.confirmationRouteName), ); if (confirmed == null || !confirmed) return; @@ -301,6 +305,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with final newName = await showDialog( context: context, builder: (context) => RenameAlbumDialog(album: album), + routeSettings: const RouteSettings(name: RenameAlbumDialog.routeName), ); if (newName == null || newName.isEmpty) return; diff --git a/lib/widgets/filter_grids/common/action_delegates/chip.dart b/lib/widgets/filter_grids/common/action_delegates/chip.dart index 083bbb283..dab96165f 100644 --- a/lib/widgets/filter_grids/common/action_delegates/chip.dart +++ b/lib/widgets/filter_grids/common/action_delegates/chip.dart @@ -2,6 +2,7 @@ import 'package:aves/model/actions/chip_actions.dart'; import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/highlight.dart'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/services/common/services.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/dialogs/aves_dialog.dart'; import 'package:aves/widgets/filter_grids/albums_page.dart'; @@ -12,6 +13,7 @@ import 'package:provider/provider.dart'; class ChipActionDelegate { void onActionSelected(BuildContext context, CollectionFilter filter, ChipAction action) { + reportService.log('$action'); switch (action) { case ChipAction.goToAlbumPage: _goTo(context, filter, AlbumListPage.routeName, (context) => const AlbumListPage()); @@ -62,6 +64,7 @@ class ChipActionDelegate { ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.confirmationRouteName), ); if (confirmed == null || !confirmed) return; diff --git a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart index 4030fc862..b6a909325 100644 --- a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart @@ -11,6 +11,7 @@ import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/enums/enums.dart'; import 'package:aves/model/source/enums/view.dart'; +import 'package:aves/services/common/services.dart'; import 'package:aves/theme/colors.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/widgets/common/action_mixins/feedback.dart'; @@ -150,6 +151,7 @@ abstract class ChipSetActionDelegate with FeedbackMi } void onActionSelected(BuildContext context, Set filters, ChipSetAction action) { + reportService.log('$action'); switch (action) { // general case ChipSetAction.configureView: @@ -235,6 +237,7 @@ abstract class ChipSetActionDelegate with FeedbackMi tileExtentController: extentController, ); }, + routeSettings: const RouteSettings(name: TileViewDialog.routeName), ); // wait for the dialog to hide as applying the change may block the UI await Future.delayed(Durations.dialogTransitionAnimation * timeDilation); @@ -313,6 +316,7 @@ abstract class ChipSetActionDelegate with FeedbackMi ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.confirmationRouteName), ); if (confirmed == null || !confirmed) return; @@ -333,6 +337,7 @@ abstract class ChipSetActionDelegate with FeedbackMi customPackage: existingCover?.item2, customColor: existingCover?.item3, ), + routeSettings: const RouteSettings(name: CoverSelectionDialog.routeName), ); if (selectedCover == null) return; diff --git a/lib/widgets/viewer/action/entry_action_delegate.dart b/lib/widgets/viewer/action/entry_action_delegate.dart index d70063b92..6ae0035f1 100644 --- a/lib/widgets/viewer/action/entry_action_delegate.dart +++ b/lib/widgets/viewer/action/entry_action_delegate.dart @@ -173,6 +173,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix } void onActionSelected(BuildContext context, EntryAction action) { + reportService.log('$action'); final targetEntry = _getTargetEntry(context, action); switch (action) { @@ -345,6 +346,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix builder: (context) => AddShortcutDialog( defaultName: targetEntry.bestTitle ?? '', ), + routeSettings: const RouteSettings(name: AddShortcutDialog.routeName), ); if (result == null) return; @@ -407,6 +409,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix final options = await showDialog( context: context, builder: (context) => ExportEntryDialog(entry: targetEntry), + routeSettings: const RouteSettings(name: ExportEntryDialog.routeName), ); if (options == null) return; @@ -504,6 +507,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix final newName = await showDialog( context: context, builder: (context) => RenameEntryDialog(entry: targetEntry), + routeSettings: const RouteSettings(name: RenameEntryDialog.routeName), ); if (newName == null || newName.isEmpty || newName == targetEntry.filenameWithoutExtension) return; diff --git a/lib/widgets/viewer/action/entry_info_action_delegate.dart b/lib/widgets/viewer/action/entry_info_action_delegate.dart index c24feb64b..59d1cbb74 100644 --- a/lib/widgets/viewer/action/entry_info_action_delegate.dart +++ b/lib/widgets/viewer/action/entry_info_action_delegate.dart @@ -85,6 +85,7 @@ class EntryInfoActionDelegate with FeedbackMixin, PermissionAwareMixin, EntryEdi } void onActionSelected(BuildContext context, AvesEntry targetEntry, CollectionLens? collection, EntryAction action) async { + await reportService.log('$action'); _eventStreamController.add(ActionStartedEvent(action)); switch (action) { // general @@ -239,6 +240,7 @@ class EntryInfoActionDelegate with FeedbackMixin, PermissionAwareMixin, EntryEdi ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.warningRouteName), ); if (confirmed == null || !confirmed) return; diff --git a/lib/widgets/viewer/overlay/wallpaper_buttons.dart b/lib/widgets/viewer/overlay/wallpaper_buttons.dart index b11b84b77..ba894d6e1 100644 --- a/lib/widgets/viewer/overlay/wallpaper_buttons.dart +++ b/lib/widgets/viewer/overlay/wallpaper_buttons.dart @@ -59,6 +59,7 @@ class WallpaperButtons extends StatelessWidget with FeedbackMixin { final value = await showDialog>( context: context, builder: (context) => const WallpaperSettingsDialog(), + routeSettings: const RouteSettings(name: WallpaperSettingsDialog.routeName), ); if (value == null) return; diff --git a/lib/widgets/viewer/video/controller.dart b/lib/widgets/viewer/video/controller.dart index f57c50fdb..f450388e2 100644 --- a/lib/widgets/viewer/video/controller.dart +++ b/lib/widgets/viewer/video/controller.dart @@ -70,7 +70,7 @@ abstract class AvesVideoController { content: Text(context.l10n.videoResumeDialogMessage(formatFriendlyDuration(Duration(milliseconds: resumeTime)))), actions: [ TextButton( - onPressed: () => Navigator.maybeOf(context)?.pop(), + onPressed: () => Navigator.maybeOf(context)?.pop(false), child: Text(context.l10n.videoStartOverButtonLabel), ), TextButton( @@ -79,6 +79,7 @@ abstract class AvesVideoController { ), ], ), + routeSettings: const RouteSettings(name: AvesDialog.confirmationRouteName), ); if (resume == null || !resume) return 0; return resumeTime; diff --git a/lib/widgets/viewer/video_action_delegate.dart b/lib/widgets/viewer/video_action_delegate.dart index 52398d8f4..e58571471 100644 --- a/lib/widgets/viewer/video_action_delegate.dart +++ b/lib/widgets/viewer/video_action_delegate.dart @@ -151,6 +151,7 @@ class VideoActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix builder: (context) => VideoStreamSelectionDialog( streams: Map.fromEntries(streams.map((stream) => MapEntry(stream, currentSelectedIndices.contains(stream.index)))), ), + routeSettings: const RouteSettings(name: VideoStreamSelectionDialog.routeName), ); if (userSelectedStreams == null || userSelectedStreams.isEmpty) return; @@ -168,6 +169,7 @@ class VideoActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix min: controller.minSpeed, max: controller.maxSpeed, ), + routeSettings: const RouteSettings(name: VideoSpeedDialog.routeName), ); if (newSpeed == null) return; From c75d3e3bf1b99802c3404d29a8dd34e70f4a4287 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 2 Feb 2023 18:29:15 +0100 Subject: [PATCH 20/44] upgraded Flutter to stable v3.7.1 --- .flutter | 2 +- CHANGELOG.md | 1 + lib/geo/countries.dart | 34 +- lib/geo/topojson.dart | 16 +- lib/theme/icons.dart | 4 +- lib/theme/themes.dart | 2 - lib/widgets/collection/collection_grid.dart | 2 +- .../quick_choosers/common/button.dart | 2 +- .../action_mixins/permission_aware.dart | 3 +- lib/widgets/common/grid/scaling.dart | 2 +- .../common/identity/aves_expansion_tile.dart | 49 +- .../common/identity/aves_filter_chip.dart | 2 +- lib/widgets/debug/app_debug_page.dart | 2 +- lib/widgets/dialogs/aves_dialog.dart | 6 +- .../filter_grids/common/filter_grid_page.dart | 2 +- lib/widgets/map/map_page.dart | 2 +- .../viewer/visual/entry_page_view.dart | 2 +- plugins/aves_magnifier/pubspec.lock | 46 +- plugins/aves_magnifier/pubspec.yaml | 2 +- plugins/aves_map/pubspec.lock | 112 ++-- plugins/aves_map/pubspec.yaml | 2 +- plugins/aves_platform_meta/pubspec.lock | 40 +- plugins/aves_platform_meta/pubspec.yaml | 2 +- plugins/aves_report/pubspec.lock | 37 +- plugins/aves_report/pubspec.yaml | 2 +- plugins/aves_report_console/pubspec.lock | 37 +- plugins/aves_report_console/pubspec.yaml | 2 +- plugins/aves_report_crashlytics/pubspec.lock | 107 ++-- plugins/aves_report_crashlytics/pubspec.yaml | 2 +- plugins/aves_services/pubspec.lock | 112 ++-- plugins/aves_services/pubspec.yaml | 2 +- plugins/aves_services_google/pubspec.lock | 150 +++-- plugins/aves_services_google/pubspec.yaml | 2 +- plugins/aves_services_huawei/pubspec.lock | 124 ++-- plugins/aves_services_huawei/pubspec.yaml | 2 +- plugins/aves_services_none/pubspec.lock | 112 ++-- plugins/aves_services_none/pubspec.yaml | 2 +- plugins/aves_ui/pubspec.lock | 37 +- plugins/aves_ui/pubspec.yaml | 2 +- pubspec.lock | 593 +++++++++++------- pubspec.yaml | 4 +- shaders.sksl.json | 2 +- 42 files changed, 1068 insertions(+), 600 deletions(-) diff --git a/.flutter b/.flutter index 135454af3..7048ed95a 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit 135454af32477f815a7525073027a3ff9eff1bfd +Subproject commit 7048ed95a5ad3e43d697e0c397464193991fc230 diff --git a/CHANGELOG.md b/CHANGELOG.md index bbdec1925..ba69ded24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. ### Changed - remember pin status of albums becoming empty +- upgraded Flutter to stable v3.7.1 ### Fixed diff --git a/lib/geo/countries.dart b/lib/geo/countries.dart index 8f1e24025..f2b0c32b6 100644 --- a/lib/geo/countries.dart +++ b/lib/geo/countries.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:isolate'; import 'package:aves/geo/topojson.dart'; import 'package:collection/collection.dart'; @@ -48,26 +49,22 @@ class CountryTopology { final topology = await getTopology(); if (topology == null) return null; - return compute<_IsoNumericCodeMapData, Map>>(_isoNumericCodeMap, _IsoNumericCodeMapData(topology, positions)); - } - - static Future>> _isoNumericCodeMap(_IsoNumericCodeMapData data) async { try { - final topology = data.topology; - final countries = (topology.objects['countries'] as GeometryCollection).geometries; - final byCode = >{}; - for (final position in data.positions) { - final code = _getNumeric(topology, countries, position); - if (code != null) { - byCode[code] = (byCode[code] ?? {})..add(position); + return Isolate.run>>(() { + final countries = (topology.objects['countries'] as GeometryCollection).geometries; + final byCode = >{}; + for (final position in positions) { + final code = _getNumeric(topology, countries, position); + if (code != null) { + byCode[code] = (byCode[code] ?? {})..add(position); + } } - } - return byCode; + return byCode; + }); } catch (error, stack) { - // an unhandled error in a spawn isolate would make the app crash debugPrint('failed to get country codes with error=$error\n$stack'); + return null; } - return {}; } static int? _getNumeric(Topology topology, List mruCountries, LatLng position) { @@ -96,10 +93,3 @@ class CountryTopology { return null; } } - -class _IsoNumericCodeMapData { - Topology topology; - Set positions; - - _IsoNumericCodeMapData(this.topology, this.positions); -} diff --git a/lib/geo/topojson.dart b/lib/geo/topojson.dart index c61dc4b73..de9961cd4 100644 --- a/lib/geo/topojson.dart +++ b/lib/geo/topojson.dart @@ -1,24 +1,22 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:isolate'; import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; // cf https://github.com/topojson/topojson-specification class TopoJson { - Future parse(String data) async { - return compute(_isoParse, data); - } - - static Topology? _isoParse(String jsonData) { + Future parse(String jsonData) async { try { - final data = jsonDecode(jsonData) as Map; - return Topology.parse(data); + return Isolate.run(() { + final data = jsonDecode(jsonData) as Map; + return Topology.parse(data); + }); } catch (error, stack) { - // an unhandled error in a spawn isolate would make the app crash debugPrint('failed to parse TopoJSON with error=$error\n$stack'); + return null; } - return null; } } diff --git a/lib/theme/icons.dart b/lib/theme/icons.dart index cd05e0c89..b0944abdc 100644 --- a/lib/theme/icons.dart +++ b/lib/theme/icons.dart @@ -60,8 +60,8 @@ class AIcons { // view static const IconData group = Icons.group_work_outlined; static const IconData layout = Icons.grid_view_outlined; - static const IconData layoutMosaic = Icons.view_compact_outlined; - static const IconData layoutGrid = Icons.view_comfy_outlined; + static const IconData layoutMosaic = Icons.view_comfy_outlined; + static const IconData layoutGrid = Icons.view_compact_outlined; static const IconData layoutList = Icons.list_outlined; static const IconData sort = Icons.sort_outlined; static const IconData sortOrder = Icons.swap_vert_outlined; diff --git a/lib/theme/themes.dart b/lib/theme/themes.dart index 57d931862..c23832fdf 100644 --- a/lib/theme/themes.dart +++ b/lib/theme/themes.dart @@ -50,7 +50,6 @@ class Themes { cardColor: _lightSecondLayer, dialogBackgroundColor: _lightSecondLayer, indicatorColor: accentColor, - toggleableActiveColor: accentColor, typography: _typography, appBarTheme: AppBarTheme( backgroundColor: _lightFirstLayer, @@ -104,7 +103,6 @@ class Themes { cardColor: _darkSecondLayer, dialogBackgroundColor: _darkSecondLayer, indicatorColor: accentColor, - toggleableActiveColor: accentColor, typography: _typography, appBarTheme: AppBarTheme( backgroundColor: _darkFirstLayer, diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index c31d6a27f..bf0c69973 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -218,7 +218,7 @@ class _CollectionGridContentState extends State<_CollectionGridContent> { child: _CollectionSectionedContent( collection: collection, isScrollingNotifier: _isScrollingNotifier, - scrollController: PrimaryScrollController.of(context)!, + scrollController: PrimaryScrollController.of(context), tileLayout: tileLayout, selectable: selectable, ), diff --git a/lib/widgets/common/action_controls/quick_choosers/common/button.dart b/lib/widgets/common/action_controls/quick_choosers/common/button.dart index 6b6636b0d..4dcd42334 100644 --- a/lib/widgets/common/action_controls/quick_choosers/common/button.dart +++ b/lib/widgets/common/action_controls/quick_choosers/common/button.dart @@ -87,7 +87,7 @@ abstract class ChooserQuickButtonState, U> exten } void _showChooser(LongPressStartDetails details) { - final overlay = Overlay.of(context)!; + final overlay = Overlay.of(context); final triggerBox = context.findRenderObject() as RenderBox; final overlayBox = overlay.context.findRenderObject() as RenderBox; final triggerRect = RelativeRect.fromRect( diff --git a/lib/widgets/common/action_mixins/permission_aware.dart b/lib/widgets/common/action_mixins/permission_aware.dart index f773db505..db158802b 100644 --- a/lib/widgets/common/action_mixins/permission_aware.dart +++ b/lib/widgets/common/action_mixins/permission_aware.dart @@ -57,7 +57,8 @@ mixin PermissionAwareMixin { const CancelButton(), TextButton( onPressed: () => Navigator.maybeOf(context)?.pop(true), - child: Text(MaterialLocalizations.of(context).okButtonLabel), + // MD2 button labels were upper case but they are lower case in MD3 + child: Text(MaterialLocalizations.of(context).okButtonLabel.toUpperCase()), ), ], ); diff --git a/lib/widgets/common/grid/scaling.dart b/lib/widgets/common/grid/scaling.dart index 8cf5ec376..ec7c55972 100644 --- a/lib/widgets/common/grid/scaling.dart +++ b/lib/widgets/common/grid/scaling.dart @@ -165,7 +165,7 @@ class _GridScaleGestureDetectorState extends State((v) => v.expansionTileAnimation); final theme = Theme.of(context); - return Theme( - data: theme.copyWith( - colorScheme: theme.colorScheme.copyWith( - // color used by the `ExpansionTileCard` for selected text and icons - secondary: theme.colorScheme.onBackground, - ), - ), - child: ExpansionTileCard( - // key is expected by test driver - key: Key('tilecard-$value'), - value: value, - expandedNotifier: expandedNotifier, - title: titleChild, - expandable: enabled, - initiallyExpanded: initiallyExpanded, - finalPadding: const EdgeInsets.symmetric(vertical: 6.0), - baseColor: theme.scaffoldBackgroundColor, - expandedColor: theme.canvasColor, - duration: animationDuration, - shadowColor: theme.shadowColor, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Divider(thickness: 1, height: 1), - const SizedBox(height: 4), - if (enabled) ...children, - ], - ), + return ExpansionTileCard( + // key is expected by test driver + key: Key('tilecard-$value'), + value: value, + expandedNotifier: expandedNotifier, + title: titleChild, + expandable: enabled, + initiallyExpanded: initiallyExpanded, + finalPadding: const EdgeInsets.symmetric(vertical: 6.0), + baseColor: theme.scaffoldBackgroundColor, + expandedColor: theme.canvasColor, + expandedTextColor: theme.colorScheme.onBackground, + duration: animationDuration, + shadowColor: theme.shadowColor, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Divider(thickness: 1, height: 1), + const SizedBox(height: 4), + if (enabled) ...children, + ], ), ); } diff --git a/lib/widgets/common/identity/aves_filter_chip.dart b/lib/widgets/common/identity/aves_filter_chip.dart index a58f796b8..6f61afd8b 100644 --- a/lib/widgets/common/identity/aves_filter_chip.dart +++ b/lib/widgets/common/identity/aves_filter_chip.dart @@ -105,7 +105,7 @@ class AvesFilterChip extends StatefulWidget { // after the user is done with the popup menu FocusManager.instance.primaryFocus?.unfocus(); - final overlay = Overlay.of(context)!.context.findRenderObject() as RenderBox; + final overlay = Overlay.of(context).context.findRenderObject() as RenderBox; const touchArea = Size(kMinInteractiveDimension, kMinInteractiveDimension); final selectedAction = await showMenu( context: context, diff --git a/lib/widgets/debug/app_debug_page.dart b/lib/widgets/debug/app_debug_page.dart index 20354ee8a..63fbd4870 100644 --- a/lib/widgets/debug/app_debug_page.dart +++ b/lib/widgets/debug/app_debug_page.dart @@ -123,7 +123,7 @@ class _AppDebugPageState extends State { _taskQueueOverlayEntry = OverlayEntry( builder: (context) => const DebugTaskQueueOverlay(), ); - Overlay.of(context)!.insert(_taskQueueOverlayEntry!); + Overlay.of(context).insert(_taskQueueOverlayEntry!); } else { _taskQueueOverlayEntry = null; } diff --git a/lib/widgets/dialogs/aves_dialog.dart b/lib/widgets/dialogs/aves_dialog.dart index 2233e8349..e67f3176a 100644 --- a/lib/widgets/dialogs/aves_dialog.dart +++ b/lib/widgets/dialogs/aves_dialog.dart @@ -170,7 +170,8 @@ class CancelButton extends StatelessWidget { Widget build(BuildContext context) { return TextButton( onPressed: () => Navigator.maybeOf(context)?.pop(), - child: Text(MaterialLocalizations.of(context).cancelButtonLabel), + // MD2 button labels were upper case but they are lower case in MD3 + child: Text(MaterialLocalizations.of(context).cancelButtonLabel.toUpperCase()), ); } } @@ -182,7 +183,8 @@ class OkButton extends StatelessWidget { Widget build(BuildContext context) { return TextButton( onPressed: () => Navigator.maybeOf(context)?.pop(), - child: Text(MaterialLocalizations.of(context).okButtonLabel), + // MD2 button labels were upper case but they are lower case in MD3 + child: Text(MaterialLocalizations.of(context).okButtonLabel.toUpperCase()), ); } } diff --git a/lib/widgets/filter_grids/common/filter_grid_page.dart b/lib/widgets/filter_grids/common/filter_grid_page.dart index af0455967..940ec352c 100644 --- a/lib/widgets/filter_grids/common/filter_grid_page.dart +++ b/lib/widgets/filter_grids/common/filter_grid_page.dart @@ -415,7 +415,7 @@ class _FilterGridContentState extends State<_FilterG selectable: widget.selectable, emptyBuilder: widget.emptyBuilder, bannerBuilder: _getFilterBanner, - scrollController: PrimaryScrollController.of(context)!, + scrollController: PrimaryScrollController.of(context), tileLayout: tileLayout, ), ); diff --git a/lib/widgets/map/map_page.dart b/lib/widgets/map/map_page.dart index 97d30fb9e..cb708fb97 100644 --- a/lib/widgets/map/map_page.dart +++ b/lib/widgets/map/map_page.dart @@ -517,7 +517,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin Offset tapLocalPosition, WidgetBuilder markerBuilder, ) async { - final overlay = Overlay.of(context)!.context.findRenderObject() as RenderBox; + final overlay = Overlay.of(context).context.findRenderObject() as RenderBox; const touchArea = Size(kMinInteractiveDimension, kMinInteractiveDimension); final selectedAction = await showMenu( context: context, diff --git a/lib/widgets/viewer/visual/entry_page_view.dart b/lib/widgets/viewer/visual/entry_page_view.dart index 32e1c8f2a..0b64cd867 100644 --- a/lib/widgets/viewer/visual/entry_page_view.dart +++ b/lib/widgets/viewer/visual/entry_page_view.dart @@ -283,7 +283,7 @@ class _EntryPageViewState extends State with SingleTickerProvider valueNotifier: valueNotifier, ), ); - Overlay.of(context)!.insert(_actionFeedbackOverlayEntry!); + Overlay.of(context).insert(_actionFeedbackOverlayEntry!); }; onScaleUpdate = (details) { move += details.focalPointDelta; diff --git a/plugins/aves_magnifier/pubspec.lock b/plugins/aves_magnifier/pubspec.lock index 8dbbe8b57..e07b21f96 100644 --- a/plugins/aves_magnifier/pubspec.lock +++ b/plugins/aves_magnifier/pubspec.lock @@ -5,21 +5,24 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" equatable: dependency: "direct main" description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" flutter: @@ -31,42 +34,56 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" provider: dependency: "direct main" description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" sky_engine: @@ -78,9 +95,10 @@ packages: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=1.16.0" diff --git a/plugins/aves_magnifier/pubspec.yaml b/plugins/aves_magnifier/pubspec.yaml index 59f677714..bf57a7c34 100644 --- a/plugins/aves_magnifier/pubspec.yaml +++ b/plugins/aves_magnifier/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_map/pubspec.lock b/plugins/aves_map/pubspec.lock index 9c5d491c8..bcfc9e221 100644 --- a/plugins/aves_map/pubspec.lock +++ b/plugins/aves_map/pubspec.lock @@ -5,7 +5,8 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" aves_ui: @@ -19,42 +20,48 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: "direct main" description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" custom_rounded_rectangle_border: dependency: "direct main" description: name: custom_rounded_rectangle_border - url: "https://pub.dartlang.org" + sha256: "57b7af53da4e8bf4afa5a8393c446e953a81c23dd309f4341cfc38d19ff6f062" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" equatable: dependency: "direct main" description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" fluster: dependency: "direct main" description: name: fluster - url: "https://pub.dartlang.org" + sha256: "3807f5d088b7798f0416b8578498046338af98bb4fb922a70e2810b8293963f6" + url: "https://pub.dev" source: hosted version: "1.2.0" flutter: @@ -66,119 +73,144 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_map: dependency: "direct main" description: name: flutter_map - url: "https://pub.dartlang.org" + sha256: "59dfd14267b691bea55760786b47d3172d47cdcc0d79ff930746a5ad123491b8" + url: "https://pub.dev" source: hosted version: "3.1.0" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + url: "https://pub.dev" source: hosted version: "0.18.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" latlong2: dependency: "direct main" description: name: latlong2 - url: "https://pub.dartlang.org" + sha256: "408993a0e3f46e79ce1f129e4cb0386eef6d48dfa6394939ecacfbd7049154ec" + url: "https://pub.dev" source: hosted version: "0.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mgrs_dart: dependency: transitive description: name: mgrs_dart - url: "https://pub.dartlang.org" + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" source: hosted version: "2.0.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted version: "1.8.3" polylabel: dependency: transitive description: name: polylabel - url: "https://pub.dartlang.org" + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" source: hosted version: "1.0.1" positioned_tap_detector_2: dependency: transitive description: name: positioned_tap_detector_2 - url: "https://pub.dartlang.org" + sha256: "52e06863ad3e1f82b058fd05054fc8c9caeeb3b47d5cea7a24bd9320746059c1" + url: "https://pub.dev" source: hosted version: "1.0.4" proj4dart: dependency: transitive description: name: proj4dart - url: "https://pub.dartlang.org" + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" source: hosted version: "2.1.0" provider: dependency: "direct main" description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" sky_engine: @@ -190,58 +222,66 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" wkt_parser: dependency: transitive description: name: wkt_parser - url: "https://pub.dartlang.org" + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" source: hosted version: "2.0.0" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/plugins/aves_map/pubspec.yaml b/plugins/aves_map/pubspec.yaml index 9f2e682a6..267d70a7f 100644 --- a/plugins/aves_map/pubspec.yaml +++ b/plugins/aves_map/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_platform_meta/pubspec.lock b/plugins/aves_platform_meta/pubspec.lock index abb7eae45..ca1e1c6b8 100644 --- a/plugins/aves_platform_meta/pubspec.lock +++ b/plugins/aves_platform_meta/pubspec.lock @@ -5,16 +5,18 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" flutter: dependency: "direct main" description: flutter @@ -24,35 +26,48 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" plugin_platform_interface: dependency: "direct main" description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + url: "https://pub.dev" source: hosted version: "2.1.3" sky_engine: @@ -64,8 +79,9 @@ packages: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" diff --git a/plugins/aves_platform_meta/pubspec.yaml b/plugins/aves_platform_meta/pubspec.yaml index 18c18d5a2..0cc9a2174 100644 --- a/plugins/aves_platform_meta/pubspec.yaml +++ b/plugins/aves_platform_meta/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_report/pubspec.lock b/plugins/aves_report/pubspec.lock index 9d22b49d3..8ac10f808 100644 --- a/plugins/aves_report/pubspec.lock +++ b/plugins/aves_report/pubspec.lock @@ -5,16 +5,18 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" flutter: dependency: "direct main" description: flutter @@ -24,28 +26,40 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" sky_engine: @@ -57,8 +71,9 @@ packages: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" diff --git a/plugins/aves_report/pubspec.yaml b/plugins/aves_report/pubspec.yaml index 61bcbea7c..ce2029d14 100644 --- a/plugins/aves_report/pubspec.yaml +++ b/plugins/aves_report/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_report_console/pubspec.lock b/plugins/aves_report_console/pubspec.lock index 383a26c68..9e4ee23d3 100644 --- a/plugins/aves_report_console/pubspec.lock +++ b/plugins/aves_report_console/pubspec.lock @@ -12,16 +12,18 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" flutter: dependency: "direct main" description: flutter @@ -31,28 +33,40 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" sky_engine: @@ -64,8 +78,9 @@ packages: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" diff --git a/plugins/aves_report_console/pubspec.yaml b/plugins/aves_report_console/pubspec.yaml index 45ec75833..2face2183 100644 --- a/plugins/aves_report_console/pubspec.yaml +++ b/plugins/aves_report_console/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index 0dbbd4b5a..8405da5cf 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -5,16 +5,18 @@ packages: dependency: transitive description: name: _flutterfire_internals - url: "https://pub.dartlang.org" + sha256: "3ff770dfff04a67b0863dff205a0936784de1b87a5e99b11c693fc10e66a9ce3" + url: "https://pub.dev" source: hosted version: "1.0.12" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" aves_report: dependency: "direct main" description: @@ -26,70 +28,80 @@ packages: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: "direct main" description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" firebase_core: dependency: "direct main" description: name: firebase_core - url: "https://pub.dartlang.org" + sha256: c129209ba55f3d4272c89fb4a4994c15bea77fb6de63a82d45fb6bc5c94e4355 + url: "https://pub.dev" source: hosted version: "2.4.1" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - url: "https://pub.dartlang.org" + sha256: "5fab93f5b354648efa62e7cc829c90efb68c8796eecf87e0888cae2d5f3accd4" + url: "https://pub.dev" source: hosted version: "4.5.2" firebase_core_web: dependency: transitive description: name: firebase_core_web - url: "https://pub.dartlang.org" + sha256: "18b35ce111b0a4266abf723c825bcf9d4e2519d13638cc7f06f2a8dd960c75bc" + url: "https://pub.dev" source: hosted version: "2.1.0" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics - url: "https://pub.dartlang.org" + sha256: "9a73325afa984d2f6599a96b4b076f27a4e571172eb0056151522e3daace43ce" + url: "https://pub.dev" source: hosted version: "3.0.11" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - url: "https://pub.dartlang.org" + sha256: bccde26b6d63447c4f1f3d0ae5d78c958eb7bcef48239eb3aa8844675684c055 + url: "https://pub.dev" source: hosted version: "3.3.11" flutter: @@ -101,7 +113,8 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_test: @@ -118,49 +131,56 @@ packages: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + url: "https://pub.dev" source: hosted version: "2.1.3" sky_engine: @@ -172,51 +192,58 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" stack_trace: dependency: "direct main" description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=1.20.0" diff --git a/plugins/aves_report_crashlytics/pubspec.yaml b/plugins/aves_report_crashlytics/pubspec.yaml index 72706939d..aea210f04 100644 --- a/plugins/aves_report_crashlytics/pubspec.yaml +++ b/plugins/aves_report_crashlytics/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_services/pubspec.lock b/plugins/aves_services/pubspec.lock index 0db4e95e9..184bee844 100644 --- a/plugins/aves_services/pubspec.lock +++ b/plugins/aves_services/pubspec.lock @@ -5,7 +5,8 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" aves_map: @@ -26,42 +27,48 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" custom_rounded_rectangle_border: dependency: transitive description: name: custom_rounded_rectangle_border - url: "https://pub.dartlang.org" + sha256: "57b7af53da4e8bf4afa5a8393c446e953a81c23dd309f4341cfc38d19ff6f062" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" equatable: dependency: transitive description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" fluster: dependency: transitive description: name: fluster - url: "https://pub.dartlang.org" + sha256: "3807f5d088b7798f0416b8578498046338af98bb4fb922a70e2810b8293963f6" + url: "https://pub.dev" source: hosted version: "1.2.0" flutter: @@ -73,119 +80,144 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_map: dependency: transitive description: name: flutter_map - url: "https://pub.dartlang.org" + sha256: "59dfd14267b691bea55760786b47d3172d47cdcc0d79ff930746a5ad123491b8" + url: "https://pub.dev" source: hosted version: "3.1.0" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + url: "https://pub.dev" source: hosted version: "0.18.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" latlong2: dependency: "direct main" description: name: latlong2 - url: "https://pub.dartlang.org" + sha256: "408993a0e3f46e79ce1f129e4cb0386eef6d48dfa6394939ecacfbd7049154ec" + url: "https://pub.dev" source: hosted version: "0.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mgrs_dart: dependency: transitive description: name: mgrs_dart - url: "https://pub.dartlang.org" + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" source: hosted version: "2.0.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted version: "1.8.3" polylabel: dependency: transitive description: name: polylabel - url: "https://pub.dartlang.org" + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" source: hosted version: "1.0.1" positioned_tap_detector_2: dependency: transitive description: name: positioned_tap_detector_2 - url: "https://pub.dartlang.org" + sha256: "52e06863ad3e1f82b058fd05054fc8c9caeeb3b47d5cea7a24bd9320746059c1" + url: "https://pub.dev" source: hosted version: "1.0.4" proj4dart: dependency: transitive description: name: proj4dart - url: "https://pub.dartlang.org" + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" source: hosted version: "2.1.0" provider: dependency: transitive description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" sky_engine: @@ -197,58 +229,66 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" wkt_parser: dependency: transitive description: name: wkt_parser - url: "https://pub.dartlang.org" + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" source: hosted version: "2.0.0" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/plugins/aves_services/pubspec.yaml b/plugins/aves_services/pubspec.yaml index 4dc6cf3fe..cc949a8db 100644 --- a/plugins/aves_services/pubspec.yaml +++ b/plugins/aves_services/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index c7845b7fd..e114d0866 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -5,7 +5,8 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" aves_map: @@ -33,70 +34,80 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" custom_rounded_rectangle_border: dependency: transitive description: name: custom_rounded_rectangle_border - url: "https://pub.dartlang.org" + sha256: "57b7af53da4e8bf4afa5a8393c446e953a81c23dd309f4341cfc38d19ff6f062" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" device_info_plus: dependency: "direct main" description: name: device_info_plus - url: "https://pub.dartlang.org" + sha256: "7ff671ed0a6356fa8f2e1ae7d3558d3fb7b6a41e24455e4f8df75b811fb8e4ab" + url: "https://pub.dev" source: hosted version: "8.0.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface - url: "https://pub.dartlang.org" + sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + url: "https://pub.dev" source: hosted version: "7.0.0" equatable: dependency: transitive description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" source: hosted version: "6.1.4" fluster: dependency: transitive description: name: fluster - url: "https://pub.dartlang.org" + sha256: "3807f5d088b7798f0416b8578498046338af98bb4fb922a70e2810b8293963f6" + url: "https://pub.dev" source: hosted version: "1.2.0" flutter: @@ -108,21 +119,24 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_map: dependency: transitive description: name: flutter_map - url: "https://pub.dartlang.org" + sha256: "59dfd14267b691bea55760786b47d3172d47cdcc0d79ff930746a5ad123491b8" + url: "https://pub.dev" source: hosted version: "3.1.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: "60fc7b78455b94e6de2333d2f95196d32cf5c22f4b0b0520a628804cb463503b" + url: "https://pub.dev" source: hosted version: "2.0.7" flutter_web_plugins: @@ -134,154 +148,176 @@ packages: dependency: "direct main" description: name: google_api_availability - url: "https://pub.dartlang.org" + sha256: a1f58c5213abae549fb1e1451bc68eb499da7033039f77bc289fd6faca384295 + url: "https://pub.dev" source: hosted version: "3.0.1" google_maps_flutter: dependency: "direct main" description: name: google_maps_flutter - url: "https://pub.dartlang.org" + sha256: "0c6b72b4b1e0f6204973e2b40868a75fe6380725d498f215cd7e35ed920d1c57" + url: "https://pub.dev" source: hosted version: "2.2.3" google_maps_flutter_android: dependency: "direct main" description: name: google_maps_flutter_android - url: "https://pub.dartlang.org" + sha256: "701761b234579b4cfc0f6ae0791e2bb7184b31207b0d716e536b6d1a190dc143" + url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.3" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - url: "https://pub.dartlang.org" + sha256: "33bbca8d4148ed373251ea2ec2344fdc63009926b6d6be71a0854fd42409b1ba" + url: "https://pub.dev" source: hosted version: "2.1.13" google_maps_flutter_platform_interface: dependency: "direct main" description: name: google_maps_flutter_platform_interface - url: "https://pub.dartlang.org" + sha256: "0967430c25240836b794d42336bd4c61f0e78e9fd33d1365fa9316bb36b6b410" + url: "https://pub.dev" source: hosted version: "2.2.5" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + url: "https://pub.dev" source: hosted version: "0.18.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.5" latlong2: dependency: "direct main" description: name: latlong2 - url: "https://pub.dartlang.org" + sha256: "408993a0e3f46e79ce1f129e4cb0386eef6d48dfa6394939ecacfbd7049154ec" + url: "https://pub.dev" source: hosted version: "0.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mgrs_dart: dependency: transitive description: name: mgrs_dart - url: "https://pub.dartlang.org" + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" source: hosted version: "2.0.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted version: "1.8.3" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + url: "https://pub.dev" source: hosted version: "2.1.3" polylabel: dependency: transitive description: name: polylabel - url: "https://pub.dartlang.org" + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" source: hosted version: "1.0.1" positioned_tap_detector_2: dependency: transitive description: name: positioned_tap_detector_2 - url: "https://pub.dartlang.org" + sha256: "52e06863ad3e1f82b058fd05054fc8c9caeeb3b47d5cea7a24bd9320746059c1" + url: "https://pub.dev" source: hosted version: "1.0.4" proj4dart: dependency: transitive description: name: proj4dart - url: "https://pub.dartlang.org" + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" source: hosted version: "2.1.0" provider: dependency: "direct main" description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" sky_engine: @@ -293,72 +329,82 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46 + url: "https://pub.dev" source: hosted version: "3.1.3" wkt_parser: dependency: transitive description: name: wkt_parser - url: "https://pub.dartlang.org" + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" source: hosted version: "2.0.0" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/plugins/aves_services_google/pubspec.yaml b/plugins/aves_services_google/pubspec.yaml index aaa5aa74b..e9f15853f 100644 --- a/plugins/aves_services_google/pubspec.yaml +++ b/plugins/aves_services_google/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_services_huawei/pubspec.lock b/plugins/aves_services_huawei/pubspec.lock index 12005e2fc..7b801dfc8 100644 --- a/plugins/aves_services_huawei/pubspec.lock +++ b/plugins/aves_services_huawei/pubspec.lock @@ -5,7 +5,8 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" aves_map: @@ -40,42 +41,48 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" custom_rounded_rectangle_border: dependency: transitive description: name: custom_rounded_rectangle_border - url: "https://pub.dartlang.org" + sha256: "57b7af53da4e8bf4afa5a8393c446e953a81c23dd309f4341cfc38d19ff6f062" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" equatable: dependency: transitive description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" fluster: dependency: transitive description: name: fluster - url: "https://pub.dartlang.org" + sha256: "3807f5d088b7798f0416b8578498046338af98bb4fb922a70e2810b8293963f6" + url: "https://pub.dev" source: hosted version: "1.2.0" flutter: @@ -87,140 +94,168 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_map: dependency: transitive description: name: flutter_map - url: "https://pub.dartlang.org" + sha256: "59dfd14267b691bea55760786b47d3172d47cdcc0d79ff930746a5ad123491b8" + url: "https://pub.dev" source: hosted version: "3.1.0" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" huawei_hmsavailability: dependency: "direct main" description: name: huawei_hmsavailability - url: "https://pub.dartlang.org" + sha256: ab7128852e4188fda1e052cc44d8f881061e79fdd568edd18981347906369653 + url: "https://pub.dev" source: hosted version: "6.6.0+300" huawei_map: dependency: "direct main" description: name: huawei_map - url: "https://pub.dartlang.org" + sha256: "8438cfa448711b6727cf4433ffc52bc20e36fb20105608703c644a6287b96f38" + url: "https://pub.dev" source: hosted version: "6.5.0+301" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + url: "https://pub.dev" source: hosted version: "0.18.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" latlong2: dependency: "direct main" description: name: latlong2 - url: "https://pub.dartlang.org" + sha256: "408993a0e3f46e79ce1f129e4cb0386eef6d48dfa6394939ecacfbd7049154ec" + url: "https://pub.dev" source: hosted version: "0.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mgrs_dart: dependency: transitive description: name: mgrs_dart - url: "https://pub.dartlang.org" + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" source: hosted version: "2.0.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted version: "1.8.3" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + url: "https://pub.dev" source: hosted version: "2.1.3" polylabel: dependency: transitive description: name: polylabel - url: "https://pub.dartlang.org" + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" source: hosted version: "1.0.1" positioned_tap_detector_2: dependency: transitive description: name: positioned_tap_detector_2 - url: "https://pub.dartlang.org" + sha256: "52e06863ad3e1f82b058fd05054fc8c9caeeb3b47d5cea7a24bd9320746059c1" + url: "https://pub.dev" source: hosted version: "1.0.4" proj4dart: dependency: transitive description: name: proj4dart - url: "https://pub.dartlang.org" + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" source: hosted version: "2.1.0" provider: dependency: "direct main" description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" sky_engine: @@ -232,65 +267,74 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" wkt_parser: dependency: transitive description: name: wkt_parser - url: "https://pub.dartlang.org" + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" source: hosted version: "2.0.0" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/plugins/aves_services_huawei/pubspec.yaml b/plugins/aves_services_huawei/pubspec.yaml index 86bf3f125..c50e4c239 100644 --- a/plugins/aves_services_huawei/pubspec.yaml +++ b/plugins/aves_services_huawei/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_services_none/pubspec.lock b/plugins/aves_services_none/pubspec.lock index 0c8dfed63..c43870e1d 100644 --- a/plugins/aves_services_none/pubspec.lock +++ b/plugins/aves_services_none/pubspec.lock @@ -5,7 +5,8 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" aves_map: @@ -33,42 +34,48 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" custom_rounded_rectangle_border: dependency: transitive description: name: custom_rounded_rectangle_border - url: "https://pub.dartlang.org" + sha256: "57b7af53da4e8bf4afa5a8393c446e953a81c23dd309f4341cfc38d19ff6f062" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" equatable: dependency: transitive description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" fluster: dependency: transitive description: name: fluster - url: "https://pub.dartlang.org" + sha256: "3807f5d088b7798f0416b8578498046338af98bb4fb922a70e2810b8293963f6" + url: "https://pub.dev" source: hosted version: "1.2.0" flutter: @@ -80,119 +87,144 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_map: dependency: transitive description: name: flutter_map - url: "https://pub.dartlang.org" + sha256: "59dfd14267b691bea55760786b47d3172d47cdcc0d79ff930746a5ad123491b8" + url: "https://pub.dev" source: hosted version: "3.1.0" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + url: "https://pub.dev" source: hosted version: "0.18.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" latlong2: dependency: "direct main" description: name: latlong2 - url: "https://pub.dartlang.org" + sha256: "408993a0e3f46e79ce1f129e4cb0386eef6d48dfa6394939ecacfbd7049154ec" + url: "https://pub.dev" source: hosted version: "0.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mgrs_dart: dependency: transitive description: name: mgrs_dart - url: "https://pub.dartlang.org" + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" source: hosted version: "2.0.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted version: "1.8.3" polylabel: dependency: transitive description: name: polylabel - url: "https://pub.dartlang.org" + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" source: hosted version: "1.0.1" positioned_tap_detector_2: dependency: transitive description: name: positioned_tap_detector_2 - url: "https://pub.dartlang.org" + sha256: "52e06863ad3e1f82b058fd05054fc8c9caeeb3b47d5cea7a24bd9320746059c1" + url: "https://pub.dev" source: hosted version: "1.0.4" proj4dart: dependency: transitive description: name: proj4dart - url: "https://pub.dartlang.org" + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" source: hosted version: "2.1.0" provider: dependency: transitive description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" sky_engine: @@ -204,58 +236,66 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" wkt_parser: dependency: transitive description: name: wkt_parser - url: "https://pub.dartlang.org" + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" source: hosted version: "2.0.0" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/plugins/aves_services_none/pubspec.yaml b/plugins/aves_services_none/pubspec.yaml index 9869ff9a3..a2b172f39 100644 --- a/plugins/aves_services_none/pubspec.yaml +++ b/plugins/aves_services_none/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/plugins/aves_ui/pubspec.lock b/plugins/aves_ui/pubspec.lock index 9d22b49d3..8ac10f808 100644 --- a/plugins/aves_ui/pubspec.lock +++ b/plugins/aves_ui/pubspec.lock @@ -5,16 +5,18 @@ packages: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" flutter: dependency: "direct main" description: flutter @@ -24,28 +26,40 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" sky_engine: @@ -57,8 +71,9 @@ packages: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" diff --git a/plugins/aves_ui/pubspec.yaml b/plugins/aves_ui/pubspec.yaml index b7a7e9643..c39d0df10 100644 --- a/plugins/aves_ui/pubspec.yaml +++ b/plugins/aves_ui/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.19.0 <3.0.0" dependencies: flutter: diff --git a/pubspec.lock b/pubspec.lock index e9c4eb843..cfb5fa1ed 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,44 +5,50 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: "0c80aeab9bc807ab10022cd3b2f4cf2ecdf231949dc1ddd9442406a003f19201" + url: "https://pub.dev" source: hosted - version: "47.0.0" + version: "52.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - url: "https://pub.dartlang.org" + sha256: "3ff770dfff04a67b0863dff205a0936784de1b87a5e99b11c693fc10e66a9ce3" + url: "https://pub.dev" source: hosted version: "1.0.12" analyzer: dependency: transitive description: name: analyzer - url: "https://pub.dartlang.org" + sha256: cd8ee83568a77f3ae6b913a36093a1c9b1264e7cb7f834d9ddd2311dade9c1f4 + url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "5.4.0" archive: dependency: transitive description: name: archive - url: "https://pub.dartlang.org" + sha256: "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb" + url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.2" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: "139d809800a412ebb26a3892da228b2d0ba36f0ef5d9a82166e5e52ec8d61611" + url: "https://pub.dev" source: hosted version: "2.3.2" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" aves_magnifier: dependency: "direct main" description: @@ -96,28 +102,40 @@ packages: dependency: transitive description: name: barcode - url: "https://pub.dartlang.org" + sha256: "52570564684bbb0240a9f1fdb6bad12adc5e0540103c1c96d6dd550bd928b1c9" + url: "https://pub.dev" source: hosted version: "2.2.3" + bidi: + dependency: transitive + description: + name: bidi + sha256: dc00274c7edabae2ab30c676e736ea1eb0b1b7a1b436cb5fe372e431ccb39ab0 + url: "https://pub.dev" + source: hosted + version: "2.0.6" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" charts_common: dependency: transitive description: name: charts_common - url: "https://pub.dartlang.org" + sha256: "7b8922f9b0d9b134122756a787dab1c3946ae4f3fc5022ff323ba0014998ea02" + url: "https://pub.dev" source: hosted version: "0.12.0" charts_flutter: @@ -133,112 +151,128 @@ packages: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: "direct main" description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" connectivity_plus: dependency: "direct main" description: name: connectivity_plus - url: "https://pub.dartlang.org" + sha256: "745ebcccb1ef73768386154428a55250bc8d44059c19fd27aecda2a6dc013a22" + url: "https://pub.dev" source: hosted version: "3.0.2" connectivity_plus_platform_interface: dependency: transitive description: name: connectivity_plus_platform_interface - url: "https://pub.dartlang.org" + sha256: b8795b9238bf83b64375f63492034cb3d8e222af4d9ce59dda085edf038fa06f + url: "https://pub.dev" source: hosted version: "1.2.3" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted version: "3.1.1" country_code: dependency: "direct main" description: name: country_code - url: "https://pub.dartlang.org" + sha256: f69ccd5163b1ca43011be9632e33ebe7ffac65e49ce2afcd3e3e5228af5d91fc + url: "https://pub.dev" source: hosted version: "1.0.0" coverage: dependency: transitive description: name: coverage - url: "https://pub.dartlang.org" + sha256: "961c4aebd27917269b1896382c7cb1b1ba81629ba669ba09c27a7e5710ec9040" + url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.6.2" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + url: "https://pub.dev" source: hosted version: "3.0.2" custom_rounded_rectangle_border: dependency: transitive description: name: custom_rounded_rectangle_border - url: "https://pub.dartlang.org" + sha256: "57b7af53da4e8bf4afa5a8393c446e953a81c23dd309f4341cfc38d19ff6f062" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" dbus: dependency: transitive description: name: dbus - url: "https://pub.dartlang.org" + sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" + url: "https://pub.dev" source: hosted version: "0.7.8" decorated_icon: dependency: "direct main" description: name: decorated_icon - url: "https://pub.dartlang.org" + sha256: "4e2af1906cd211905ee729960daef162cd9f0bacd1d24de99e84e37e114a3648" + url: "https://pub.dev" source: hosted version: "1.2.1" device_info_plus: dependency: "direct main" description: name: device_info_plus - url: "https://pub.dartlang.org" + sha256: "7ff671ed0a6356fa8f2e1ae7d3558d3fb7b6a41e24455e4f8df75b811fb8e4ab" + url: "https://pub.dev" source: hosted version: "8.0.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface - url: "https://pub.dartlang.org" + sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + url: "https://pub.dev" source: hosted version: "7.0.0" dynamic_color: dependency: "direct main" description: name: dynamic_color - url: "https://pub.dartlang.org" + sha256: "0ff251e8a31f54adde9ab4d4b301c94df46dcd34e4fbd6d7623631ed174b205e" + url: "https://pub.dev" source: hosted - version: "1.5.4" + version: "1.6.0" equatable: dependency: "direct main" description: name: equatable - url: "https://pub.dartlang.org" + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" source: hosted version: "2.0.5" event_bus: dependency: "direct main" description: name: event_bus - url: "https://pub.dartlang.org" + sha256: "44baa799834f4c803921873e7446a2add0f3efa45e101a054b1f0ab9b95f8edc" + url: "https://pub.dev" source: hosted version: "2.0.0" expansion_tile_card: @@ -246,7 +280,7 @@ packages: description: path: "." ref: HEAD - resolved-ref: e0380a550c4be0ef52a70f398c2211fc503094e8 + resolved-ref: "42da4c7ecf8914303bf13a959f6740c9eb15d557" url: "https://github.com/deckerst/expansion_tile_card.git" source: git version: "2.0.0" @@ -254,14 +288,16 @@ packages: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" fijkplayer: @@ -277,63 +313,72 @@ packages: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.4" firebase_core: dependency: transitive description: name: firebase_core - url: "https://pub.dartlang.org" + sha256: c129209ba55f3d4272c89fb4a4994c15bea77fb6de63a82d45fb6bc5c94e4355 + url: "https://pub.dev" source: hosted version: "2.4.1" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - url: "https://pub.dartlang.org" + sha256: "5fab93f5b354648efa62e7cc829c90efb68c8796eecf87e0888cae2d5f3accd4" + url: "https://pub.dev" source: hosted version: "4.5.2" firebase_core_web: dependency: transitive description: name: firebase_core_web - url: "https://pub.dartlang.org" + sha256: "18b35ce111b0a4266abf723c825bcf9d4e2519d13638cc7f06f2a8dd960c75bc" + url: "https://pub.dev" source: hosted version: "2.1.0" firebase_crashlytics: dependency: transitive description: name: firebase_crashlytics - url: "https://pub.dartlang.org" + sha256: "9a73325afa984d2f6599a96b4b076f27a4e571172eb0056151522e3daace43ce" + url: "https://pub.dev" source: hosted version: "3.0.11" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - url: "https://pub.dartlang.org" + sha256: bccde26b6d63447c4f1f3d0ae5d78c958eb7bcef48239eb3aa8844675684c055 + url: "https://pub.dev" source: hosted version: "3.3.11" flex_color_picker: dependency: "direct main" description: name: flex_color_picker - url: "https://pub.dartlang.org" + sha256: "607c9fdb26be84d4a5a0931ab42a7eda725372e4f5ebaa2526ab6b22ead752f9" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.0" flex_seed_scheme: dependency: transitive description: name: flex_seed_scheme - url: "https://pub.dartlang.org" + sha256: e61950ccadfb8d43ce5cdef382e8f689edc053ce6b837e277539410ecfb3b3e5 + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.2" fluster: dependency: "direct main" description: name: fluster - url: "https://pub.dartlang.org" + sha256: "3807f5d088b7798f0416b8578498046338af98bb4fb922a70e2810b8293963f6" + url: "https://pub.dev" source: hosted version: "1.2.0" flutter: @@ -345,14 +390,16 @@ packages: dependency: transitive description: name: flutter_cube - url: "https://pub.dartlang.org" + sha256: "71cf679a251166eb97f86751c56582b09abdbf859485fbf60524948813914c3b" + url: "https://pub.dev" source: hosted version: "0.1.1" flutter_displaymode: dependency: "direct main" description: name: flutter_displaymode - url: "https://pub.dartlang.org" + sha256: "136b0314fdc78fe995b0b75061fe9ff8210dffca84f8f8110f8f71029479db3b" + url: "https://pub.dev" source: hosted version: "0.5.0" flutter_driver: @@ -364,14 +411,16 @@ packages: dependency: "direct main" description: name: flutter_highlight - url: "https://pub.dartlang.org" + sha256: "7b96333867aa07e122e245c033b8ad622e4e3a42a1a2372cbb098a2541d8782c" + url: "https://pub.dev" source: hosted version: "0.7.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_localizations: @@ -383,28 +432,32 @@ packages: dependency: "direct main" description: name: flutter_map - url: "https://pub.dartlang.org" + sha256: "59dfd14267b691bea55760786b47d3172d47cdcc0d79ff930746a5ad123491b8" + url: "https://pub.dev" source: hosted version: "3.1.0" flutter_markdown: dependency: "direct main" description: name: flutter_markdown - url: "https://pub.dartlang.org" + sha256: "818cf6c28377ba2c91ed283c96fd712e9c175dd2d2488eb7fc93b6afb9ad2e08" + url: "https://pub.dev" source: hosted - version: "0.6.13" + version: "0.6.13+1" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: "60fc7b78455b94e6de2333d2f95196d32cf5c22f4b0b0520a628804cb463503b" + url: "https://pub.dev" source: hosted version: "2.0.7" flutter_staggered_animations: dependency: "direct main" description: name: flutter_staggered_animations - url: "https://pub.dartlang.org" + sha256: "81d3c816c9bb0dca9e8a5d5454610e21ffb068aedb2bde49d2f8d04f75538351" + url: "https://pub.dev" source: hosted version: "1.1.1" flutter_test: @@ -421,9 +474,10 @@ packages: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "3.2.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -433,182 +487,208 @@ packages: dependency: "direct main" description: name: get_it - url: "https://pub.dartlang.org" + sha256: "290fde3a86072e4b37dbb03c07bec6126f0ecc28dad403c12ffe2e5a2d751ab7" + url: "https://pub.dev" source: hosted version: "7.2.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" google_api_availability: dependency: transitive description: name: google_api_availability - url: "https://pub.dartlang.org" + sha256: a1f58c5213abae549fb1e1451bc68eb499da7033039f77bc289fd6faca384295 + url: "https://pub.dev" source: hosted version: "3.0.1" google_maps_flutter: dependency: transitive description: name: google_maps_flutter - url: "https://pub.dartlang.org" + sha256: "0c6b72b4b1e0f6204973e2b40868a75fe6380725d498f215cd7e35ed920d1c57" + url: "https://pub.dev" source: hosted version: "2.2.3" google_maps_flutter_android: dependency: transitive description: name: google_maps_flutter_android - url: "https://pub.dartlang.org" + sha256: "701761b234579b4cfc0f6ae0791e2bb7184b31207b0d716e536b6d1a190dc143" + url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.3" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - url: "https://pub.dartlang.org" + sha256: "33bbca8d4148ed373251ea2ec2344fdc63009926b6d6be71a0854fd42409b1ba" + url: "https://pub.dev" source: hosted version: "2.1.13" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface - url: "https://pub.dartlang.org" + sha256: "0967430c25240836b794d42336bd4c61f0e78e9fd33d1365fa9316bb36b6b410" + url: "https://pub.dev" source: hosted version: "2.2.5" highlight: dependency: transitive description: name: highlight - url: "https://pub.dartlang.org" + sha256: "5353a83ffe3e3eca7df0abfb72dcf3fa66cc56b953728e7113ad4ad88497cf21" + url: "https://pub.dev" source: hosted version: "0.7.0" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" source: hosted version: "3.2.1" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" image: dependency: transitive description: name: image - url: "https://pub.dartlang.org" + sha256: "3686865febd85c57a632d87a0fb1f0a8a9ef602fdb68d909c3e9aa29ec70fd24" + url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "4.0.13" intl: dependency: "direct main" description: name: intl - url: "https://pub.dartlang.org" + sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + url: "https://pub.dev" source: hosted version: "0.17.0" io: dependency: transitive description: name: io - url: "https://pub.dartlang.org" + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.5" latlong2: dependency: "direct main" description: name: latlong2 - url: "https://pub.dartlang.org" + sha256: "408993a0e3f46e79ce1f129e4cb0386eef6d48dfa6394939ecacfbd7049154ec" + url: "https://pub.dev" source: hosted version: "0.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" logging: dependency: transitive description: name: logging - url: "https://pub.dartlang.org" + sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" markdown: dependency: transitive description: name: markdown - url: "https://pub.dartlang.org" + sha256: c2b81e184067b41d0264d514f7cdaa2c02d38511e39d6521a1ccc238f6d7b3f2 + url: "https://pub.dev" source: hosted version: "6.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: "direct main" description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" material_design_icons_flutter: dependency: "direct main" description: name: material_design_icons_flutter - url: "https://pub.dartlang.org" + sha256: "8ef8562d16e747b2d93e5da5c2508931588939c5c00ebc8e2768e803db7dfd3c" + url: "https://pub.dev" source: hosted version: "6.0.7096" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mgrs_dart: dependency: transitive description: name: mgrs_dart - url: "https://pub.dartlang.org" + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" source: hosted version: "2.0.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" source: hosted version: "1.0.4" motion_sensors: @@ -624,56 +704,64 @@ packages: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" nm: dependency: transitive description: name: nm - url: "https://pub.dartlang.org" + sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" + url: "https://pub.dev" source: hosted version: "0.5.0" node_preamble: dependency: transitive description: name: node_preamble - url: "https://pub.dartlang.org" + sha256: "8ebdbaa3b96d5285d068f80772390d27c21e1fa10fb2df6627b1b9415043608d" + url: "https://pub.dev" source: hosted version: "2.0.1" overlay_support: dependency: "direct main" description: name: overlay_support - url: "https://pub.dartlang.org" + sha256: fc39389bfd94e6985e1e13b2a88a125fc4027608485d2d4e2847afe1b2bb339c + url: "https://pub.dev" source: hosted version: "2.1.0" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" source: hosted version: "2.1.0" package_info_plus: dependency: "direct main" description: name: package_info_plus - url: "https://pub.dartlang.org" + sha256: f619162573096d428ccde2e33f92e05b5a179cd6f0e3120c1005f181bee8ed16 + url: "https://pub.dev" source: hosted version: "3.0.2" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - url: "https://pub.dartlang.org" + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + url: "https://pub.dev" source: hosted version: "2.0.1" palette_generator: dependency: "direct main" description: name: palette_generator - url: "https://pub.dartlang.org" + sha256: "0e3cd6974e10b1434dcf4cf779efddb80e2696585e273a2dbede6af52f94568d" + url: "https://pub.dev" source: hosted version: "0.3.3+2" panorama: @@ -689,287 +777,328 @@ packages: dependency: "direct main" description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" path_parsing: dependency: transitive description: name: path_parsing - url: "https://pub.dartlang.org" + sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + url: "https://pub.dev" source: hosted version: "1.0.1" path_provider_linux: dependency: transitive description: name: path_provider_linux - url: "https://pub.dartlang.org" + sha256: ab0987bf95bc591da42dffb38c77398fc43309f0b9b894dcc5d6f40c4b26c379 + url: "https://pub.dev" source: hosted version: "2.1.7" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - url: "https://pub.dartlang.org" + sha256: f0abc8ebd7253741f05488b4813d936b4d07c6bae3e86148a09e342ee4b08e76 + url: "https://pub.dev" source: hosted version: "2.0.5" path_provider_windows: dependency: transitive description: name: path_provider_windows - url: "https://pub.dartlang.org" + sha256: bcabbe399d4042b8ee687e17548d5d3f527255253b4a639f5f8d2094a9c2b45c + url: "https://pub.dev" source: hosted version: "2.1.3" pdf: dependency: "direct main" description: name: pdf - url: "https://pub.dartlang.org" + sha256: "6cd57e8e6d052bd1078f18e0dc7cd6701fad6288231c1ce99d66ef5034d14e61" + url: "https://pub.dev" source: hosted - version: "3.8.4" + version: "3.9.0" percent_indicator: dependency: "direct main" description: name: percent_indicator - url: "https://pub.dartlang.org" + sha256: cec41f67181fbd5322aa68b355621d1a4eea827426b8eeb613f6cbe195ff7b4a + url: "https://pub.dev" source: hosted version: "4.2.2" permission_handler: dependency: "direct main" description: name: permission_handler - url: "https://pub.dartlang.org" + sha256: "33c6a1253d1f95fd06fa74b65b7ba907ae9811f9d5c1d3150e51417d04b8d6a8" + url: "https://pub.dev" source: hosted version: "10.2.0" permission_handler_android: dependency: transitive description: name: permission_handler_android - url: "https://pub.dartlang.org" + sha256: "8028362b40c4a45298f1cbfccd227c8dd6caf0e27088a69f2ba2ab15464159e2" + url: "https://pub.dev" source: hosted version: "10.2.0" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - url: "https://pub.dartlang.org" + sha256: "9c370ef6a18b1c4b2f7f35944d644a56aa23576f23abee654cf73968de93f163" + url: "https://pub.dev" source: hosted version: "9.0.7" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - url: "https://pub.dartlang.org" + sha256: "68abbc472002b5e6dfce47fe9898c6b7d8328d58b5d2524f75e277c07a97eb84" + url: "https://pub.dev" source: hosted version: "3.9.0" permission_handler_windows: dependency: transitive description: name: permission_handler_windows - url: "https://pub.dartlang.org" + sha256: f67cab14b4328574938ecea2db3475dad7af7ead6afab6338772c5f88963e38b + url: "https://pub.dev" source: hosted version: "0.1.2" petitparser: dependency: transitive description: name: petitparser - url: "https://pub.dartlang.org" + sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4" + url: "https://pub.dev" source: hosted version: "5.1.0" platform: dependency: transitive description: name: platform - url: "https://pub.dartlang.org" + sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + url: "https://pub.dev" source: hosted version: "3.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + url: "https://pub.dev" source: hosted version: "2.1.3" polylabel: dependency: transitive description: name: polylabel - url: "https://pub.dartlang.org" + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" source: hosted version: "1.0.1" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" positioned_tap_detector_2: dependency: transitive description: name: positioned_tap_detector_2 - url: "https://pub.dartlang.org" + sha256: "52e06863ad3e1f82b058fd05054fc8c9caeeb3b47d5cea7a24bd9320746059c1" + url: "https://pub.dev" source: hosted version: "1.0.4" printing: dependency: "direct main" description: name: printing - url: "https://pub.dartlang.org" + sha256: fe654363cd0114b50a0815b24e96957c7e9a60eb4e3b7ccfe71cf3f2b7114cb2 + url: "https://pub.dev" source: hosted - version: "5.9.3" + version: "5.10.1" process: dependency: transitive description: name: process - url: "https://pub.dartlang.org" + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + url: "https://pub.dev" source: hosted version: "4.2.4" proj4dart: dependency: "direct main" description: name: proj4dart - url: "https://pub.dartlang.org" + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" source: hosted version: "2.1.0" provider: dependency: "direct main" description: name: provider - url: "https://pub.dartlang.org" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" source: hosted version: "6.0.5" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17" + url: "https://pub.dev" source: hosted version: "2.1.3" qr: dependency: transitive description: name: qr - url: "https://pub.dartlang.org" + sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3" + url: "https://pub.dev" source: hosted version: "3.0.1" screen_brightness: dependency: "direct main" description: name: screen_brightness - url: "https://pub.dartlang.org" + sha256: "62fd61a64e68b32b98b840bad7d8b6822bbc40e63c2b569a5f85528484c86b41" + url: "https://pub.dev" source: hosted version: "0.2.2" screen_brightness_android: dependency: transitive description: name: screen_brightness_android - url: "https://pub.dartlang.org" + sha256: "4e4ba0c44b5c24be20030733ada0c844aa0e8f1963f5d7cd72f5b2fe54a61495" + url: "https://pub.dev" source: hosted version: "0.1.0" screen_brightness_ios: dependency: transitive description: name: screen_brightness_ios - url: "https://pub.dartlang.org" + sha256: "99adc3ca5490b8294284aad5fcc87f061ad685050e03cf45d3d018fe398fd9a2" + url: "https://pub.dev" source: hosted version: "0.1.0" screen_brightness_macos: dependency: transitive description: name: screen_brightness_macos - url: "https://pub.dartlang.org" + sha256: "64b34e7e3f4900d7687c8e8fb514246845a73ecec05ab53483ed025bd4a899fd" + url: "https://pub.dev" source: hosted version: "0.1.0+1" screen_brightness_platform_interface: dependency: transitive description: name: screen_brightness_platform_interface - url: "https://pub.dartlang.org" + sha256: b211d07f0c96637a15fb06f6168617e18030d5d74ad03795dd8547a52717c171 + url: "https://pub.dev" source: hosted version: "0.1.0" screen_brightness_windows: dependency: transitive description: name: screen_brightness_windows - url: "https://pub.dartlang.org" + sha256: "80d90ecdc63fc0823f2ecb1be323471619287937e14210650d7b25ca181abd05" + url: "https://pub.dev" source: hosted version: "0.1.1" shared_preferences: dependency: "direct main" description: name: shared_preferences - url: "https://pub.dartlang.org" + sha256: "5949029e70abe87f75cfe59d17bf5c397619c4b74a099b10116baeb34786fad9" + url: "https://pub.dev" source: hosted - version: "2.0.16" + version: "2.0.17" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - url: "https://pub.dartlang.org" + sha256: "955e9736a12ba776bdd261cf030232b30eadfcd9c79b32a3250dd4a494e8c8f7" + url: "https://pub.dev" source: hosted - version: "2.0.14" + version: "2.0.15" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - url: "https://pub.dartlang.org" + sha256: "2b55c18636a4edc529fa5cd44c03d3f3100c00513f518c5127c951978efcccd0" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.3" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - url: "https://pub.dartlang.org" + sha256: f8ea038aa6da37090093974ebdcf4397010605fd2ff65c37a66f9d28394cb874 + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - url: "https://pub.dartlang.org" + sha256: da9431745ede5ece47bc26d5d73a9d3c6936ef6945c101a5aca46f62e52c1cf3 + url: "https://pub.dev" source: hosted version: "2.1.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - url: "https://pub.dartlang.org" + sha256: a4b5bc37fe1b368bbc81f953197d55e12f49d0296e7e412dfe2d2d77d6929958 + url: "https://pub.dev" source: hosted version: "2.0.4" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - url: "https://pub.dartlang.org" + sha256: "5eaf05ae77658d3521d0e993ede1af962d4b326cd2153d312df716dc250f00c9" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c + url: "https://pub.dev" source: hosted version: "1.4.0" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler - url: "https://pub.dartlang.org" + sha256: aef74dc9195746a384843102142ab65b6a4735bb3beea791e63527b88cc83306 + url: "https://pub.dev" source: hosted version: "3.0.1" shelf_static: dependency: transitive description: name: shelf_static - url: "https://pub.dartlang.org" + sha256: e792b76b96a36d4a41b819da593aff4bdd413576b3ba6150df5d8d9996d2e74c + url: "https://pub.dev" source: hosted version: "1.1.1" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8 + url: "https://pub.dev" source: hosted version: "1.0.3" sky_engine: @@ -981,63 +1110,72 @@ packages: dependency: "direct main" description: name: smooth_page_indicator - url: "https://pub.dartlang.org" + sha256: "49e9b6a265790454c39bd4a447a02f398c02b44b2602e7c5e3a381dc2e3b4102" + url: "https://pub.dev" source: hosted version: "1.0.0+2" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - url: "https://pub.dartlang.org" + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" source: hosted version: "2.1.1" source_maps: dependency: transitive description: name: source_maps - url: "https://pub.dartlang.org" + sha256: "490098075234dcedb83c5d949b4c93dad5e6b7702748de000be2b57b8e6b2427" + url: "https://pub.dev" source: hosted version: "0.10.11" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" sqflite: dependency: "direct main" description: name: sqflite - url: "https://pub.dartlang.org" + sha256: "78324387dc81df14f78df06019175a86a2ee0437624166c382e145d0a7fd9a4f" + url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.2.4+1" sqflite_common: dependency: transitive description: name: sqflite_common - url: "https://pub.dartlang.org" + sha256: bfd6973aaeeb93475bc0d875ac9aefddf7965ef22ce09790eb963992ffc5183f + url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2+2" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted version: "2.1.0" streams_channel: @@ -1053,219 +1191,250 @@ packages: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" sync_http: dependency: transitive description: name: sync_http - url: "https://pub.dartlang.org" + sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" + url: "https://pub.dev" source: hosted version: "0.3.1" synchronized: dependency: transitive description: name: synchronized - url: "https://pub.dartlang.org" + sha256: "33b31b6beb98100bf9add464a36a8dd03eb10c7a8cf15aeec535e9b054aaf04b" + url: "https://pub.dev" source: hosted version: "3.0.1" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test: dependency: "direct dev" description: name: test - url: "https://pub.dartlang.org" + sha256: a5fcd2d25eeadbb6589e80198a47d6a464ba3e2049da473943b8af9797900c2d + url: "https://pub.dev" source: hosted - version: "1.21.4" + version: "1.22.0" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" test_core: dependency: transitive description: name: test_core - url: "https://pub.dartlang.org" + sha256: "0ef9755ec6d746951ba0aabe62f874b707690b5ede0fecc818b138fcc9b14888" + url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.4.20" transparent_image: dependency: "direct main" description: name: transparent_image - url: "https://pub.dartlang.org" + sha256: e566a616922a781489f4d91cc939b1b3203b6e4a093317805f2f82f0bb0f8dec + url: "https://pub.dev" source: hosted version: "2.0.0" tuple: dependency: "direct main" description: name: tuple - url: "https://pub.dartlang.org" + sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa" + url: "https://pub.dev" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" url_launcher: dependency: "direct main" description: name: url_launcher - url: "https://pub.dartlang.org" + sha256: "698fa0b4392effdc73e9e184403b627362eb5fbf904483ac9defbb1c2191d809" + url: "https://pub.dev" source: hosted - version: "6.1.7" + version: "6.1.8" url_launcher_android: dependency: transitive description: name: url_launcher_android - url: "https://pub.dartlang.org" + sha256: "3e2f6dfd2c7d9cd123296cab8ef66cfc2c1a13f5845f42c7a0f365690a8a7dd1" + url: "https://pub.dev" source: hosted - version: "6.0.22" + version: "6.0.23" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - url: "https://pub.dartlang.org" + sha256: bb328b24d3bccc20bdf1024a0990ac4f869d57663660de9c936fb8c043edefe3 + url: "https://pub.dev" source: hosted - version: "6.0.17" + version: "6.0.18" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - url: "https://pub.dartlang.org" + sha256: "318c42cba924e18180c029be69caf0a1a710191b9ec49bb42b5998fdcccee3cc" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - url: "https://pub.dartlang.org" + sha256: "41988b55570df53b3dd2a7fc90c76756a963de6a8c5f8e113330cb35992e2094" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - url: "https://pub.dartlang.org" + sha256: "4eae912628763eb48fc214522e58e942fd16ce195407dbf45638239523c759a6" + url: "https://pub.dev" source: hosted version: "2.1.1" url_launcher_web: dependency: transitive description: name: url_launcher_web - url: "https://pub.dartlang.org" + sha256: "44d79408ce9f07052095ef1f9a693c258d6373dc3944249374e30eff7219ccb0" + url: "https://pub.dev" source: hosted - version: "2.0.13" + version: "2.0.14" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - url: "https://pub.dartlang.org" + sha256: b6217370f8eb1fd85c8890c539f5a639a01ab209a36db82c921ebeacefc7a615 + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.3" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" vm_service: dependency: transitive description: name: vm_service - url: "https://pub.dartlang.org" + sha256: e7fb6c2282f7631712b69c19d1bff82f3767eea33a2321c14fa59ad67ea391c7 + url: "https://pub.dev" source: hosted - version: "9.0.0" + version: "9.4.0" volume_controller: dependency: "direct main" description: name: volume_controller - url: "https://pub.dartlang.org" + sha256: "3bcaadd0e3298286c4ef3b758a3ea44fc98a9abe24d0e7ef087bfab72a4b6924" + url: "https://pub.dev" source: hosted version: "2.0.6" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + url: "https://pub.dev" source: hosted version: "1.0.2" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b + url: "https://pub.dev" source: hosted version: "2.3.0" webdriver: dependency: transitive description: name: webdriver - url: "https://pub.dartlang.org" + sha256: ef67178f0cc7e32c1494645b11639dd1335f1d18814aa8435113a92e9ef9d841 + url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.1" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol - url: "https://pub.dartlang.org" + sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" + url: "https://pub.dev" source: hosted version: "1.2.0" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46 + url: "https://pub.dev" source: hosted version: "3.1.3" wkt_parser: dependency: transitive description: name: wkt_parser - url: "https://pub.dartlang.org" + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" source: hosted version: "2.0.0" xdg_directories: dependency: transitive description: name: xdg_directories - url: "https://pub.dartlang.org" + sha256: bd512f03919aac5f1313eb8249f223bacf4927031bf60b02601f81f687689e86 + url: "https://pub.dev" source: hosted version: "0.2.0+3" xml: dependency: "direct main" description: name: xml - url: "https://pub.dartlang.org" + sha256: "979ee37d622dec6365e2efa4d906c37470995871fe9ae080d967e192d88286b5" + url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.2.2" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" + url: "https://pub.dev" source: hosted version: "3.1.1" sdks: - dart: ">=2.18.0 <3.0.0" - flutter: ">=3.3.10" + dart: ">=2.19.0 <3.0.0" + flutter: ">=3.7.1" diff --git a/pubspec.yaml b/pubspec.yaml index 1b166e0ca..b3aa2e8c5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,8 +13,8 @@ publish_to: none environment: # this project bundles Flutter SDK via `flutter_wrapper` # cf https://github.com/passsy/flutter_wrapper - flutter: 3.3.10 - sdk: ">=2.18.0 <3.0.0" + flutter: 3.7.1 + sdk: ">=2.19.0 <3.0.0" # following https://github.blog/2021-09-01-improving-git-protocol-security-github/ # dependency GitHub repos should be referenced via `https://`, not `git://` diff --git a/shaders.sksl.json b/shaders.sksl.json index b1218407f..f7c429afe 100644 --- a/shaders.sksl.json +++ b/shaders.sksl.json @@ -1 +1 @@ -{"platform":"android","name":"SM G970N","engineRevision":"3316dd8728419ad3534e3f6112aa6291f587078a","data":{"AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAACAgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQEAAAAAAAAA","HUJBYAQCAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"CQAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACeBwAAdW5pZm9ybSBoYWxmIHVTcmNURl9TMFs3XTsKdW5pZm9ybSBoYWxmM3gzIHVDb2xvclhmb3JtX1MwOwp1bmlmb3JtIGhhbGYgdURzdFRGX1MwWzddOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZiBzcmNfdGZfUzAoaGFsZiB4KSAKewoJaGFsZiBHID0gdVNyY1RGX1MwWzBdOwoJaGFsZiBBID0gdVNyY1RGX1MwWzFdOwoJaGFsZiBCID0gdVNyY1RGX1MwWzJdOwoJaGFsZiBDID0gdVNyY1RGX1MwWzNdOwoJaGFsZiBEID0gdVNyY1RGX1MwWzRdOwoJaGFsZiBFID0gdVNyY1RGX1MwWzVdOwoJaGFsZiBGID0gdVNyY1RGX1MwWzZdOwoJaGFsZiBzID0gc2lnbih4KTsKCXggPSBhYnMoeCk7Cgl4ID0gKHggPCBEKSA/IChDICogeCkgKyBGIDogcG93KEEgKiB4ICsgQiwgRykgKyBFOwoJcmV0dXJuIHMgKiB4Owp9CmhhbGYgZHN0X3RmX1MwKGhhbGYgeCkgCnsKCWhhbGYgRyA9IHVEc3RURl9TMFswXTsKCWhhbGYgQSA9IHVEc3RURl9TMFsxXTsKCWhhbGYgQiA9IHVEc3RURl9TMFsyXTsKCWhhbGYgQyA9IHVEc3RURl9TMFszXTsKCWhhbGYgRCA9IHVEc3RURl9TMFs0XTsKCWhhbGYgRSA9IHVEc3RURl9TMFs1XTsKCWhhbGYgRiA9IHVEc3RURl9TMFs2XTsKCWhhbGYgcyA9IHNpZ24oeCk7Cgl4ID0gYWJzKHgpOwoJeCA9ICh4IDwgRCkgPyAoQyAqIHgpICsgRiA6IHBvdyhBICogeCArIEIsIEcpICsgRTsKCXJldHVybiBzICogeDsKfQpoYWxmNCBnYW11dF94Zm9ybV9TMChoYWxmNCBjb2xvcikgCnsKCWNvbG9yLnJnYiA9ICh1Q29sb3JYZm9ybV9TMCAqIGNvbG9yLnJnYik7CglyZXR1cm4gY29sb3I7Cn0KaGFsZjQgY29sb3JfeGZvcm1fUzAoZmxvYXQ0IGNvbG9yKSAKewoJY29sb3IuciA9IHNyY190Zl9TMChoYWxmKGNvbG9yLnIpKTsKCWNvbG9yLmcgPSBzcmNfdGZfUzAoaGFsZihjb2xvci5nKSk7Cgljb2xvci5iID0gc3JjX3RmX1MwKGhhbGYoY29sb3IuYikpOwoJY29sb3IgPSBnYW11dF94Zm9ybV9TMChoYWxmNChjb2xvcikpOwoJY29sb3IuciA9IGRzdF90Zl9TMChoYWxmKGNvbG9yLnIpKTsKCWNvbG9yLmcgPSBkc3RfdGZfUzAoaGFsZihjb2xvci5nKSk7Cgljb2xvci5iID0gZHN0X3RmX1MwKGhhbGYoY29sb3IuYikpOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoKGNvbG9yX3hmb3JtX1MwKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpKSAqIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"CQAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkID0gY2xhbXAoc3Vic2V0Q29vcmQsIHVjbGFtcF9TMV9jMC54eSwgdWNsYW1wX1MxX2MwLnp3KTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAEAAAAAAAAA","DBAAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAIAAAAAAAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CQAAAExTS1NVAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludDIgY29vcmRzID0gaW50MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJaW50IHRleElkeCA9IGNvb3Jkcy54ID4+IDEzOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGNvb3Jkcy54ICYgMHgxRkZGLCBjb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAAFoCAAB1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzFfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQml0bWFwVGV4dAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJaGFsZjQgdGV4Q29sb3I7CglpZiAodlRleEluZGV4X1MwID09IDApIAoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWVsc2UgCgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzFfUzAsIHZUZXh0dXJlQ29vcmRzX1MwKS5ycnJyOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSB0ZXhDb2xvcjsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwABAAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQMAAAAAAIAAEAAAABJYQAAAAAQAAIAAAAAWCBACAABAAAAANAECAZAAEAAAAAAAAFAAMAAAABAAAAAAABBAM":"CQAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEcGAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmMiB1SW5jcmVtZW50X1MxX2MwOwp1bmlmb3JtIGhhbGYyIHVPZmZzZXRzQW5kS2VybmVsX1MxX2MwWzEzXTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglmbG9hdDIgaW5Db29yZCA9IF9jb29yZHM7CglmbG9hdDIgc3Vic2V0Q29vcmQ7CglzdWJzZXRDb29yZC54ID0gaW5Db29yZC54OwoJc3Vic2V0Q29vcmQueSA9IGluQ29vcmQueTsKCWZsb2F0MiBjbGFtcGVkQ29vcmQ7CgljbGFtcGVkQ29vcmQueCA9IGNsYW1wKHN1YnNldENvb3JkLngsIHVjbGFtcF9TMV9jMF9jMF9jMC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueik7CgljbGFtcGVkQ29vcmQueSA9IHN1YnNldENvb3JkLnk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBTbW9vdGhfUzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgY29vcmQsIGhhbGYyIG9mZnNldEFuZEtlcm5lbCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0LCAoY29vcmQgKyBvZmZzZXRBbmRLZXJuZWwueCAqIHVJbmNyZW1lbnRfUzFfYzApKSAqIG9mZnNldEFuZEtlcm5lbC55Owp9CmhhbGY0IEdhdXNzaWFuQ29udm9sdXRpb25fUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgY29sb3IgPSBoYWxmNCgwKTsKCWZsb2F0MiBjb29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZm9yIChpbnQgaT0wOyBpPDEzOyArK2kpIAoJewoJCWNvbG9yICs9IFNtb290aF9TMV9jMChfaW5wdXQsIGNvb3JkLCB1T2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFtpXSk7Cgl9CglyZXR1cm4gY29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkNvbnZvbHV0aW9uX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"CQAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABdAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAEAAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"CQAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAIgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzAueCwgdWNsYW1wX1MxX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBjbGFtcGVkQ29vcmQpOwoJcmV0dXJuIHRleHR1cmVDb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"CQAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAZQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAABAAAAAAAAAA==","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABYQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACRAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UBAAAAAAAAAA==","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACAFBQATAAAAAAFAAMAAAABAAAAAAABBAMAAAAA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAABYBAAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBmbG9hdDIgdWludlJhZGlpWFlfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgRWxsaXB0aWNhbFJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJZmxvYXQyIFogPSBkeHkgKiB1aW52UmFkaWlYWV9TMS54eTsKCWhhbGYgaW1wbGljaXQgPSBoYWxmKGRvdChaLCBkeHkpIC0gMS4wKTsKCWhhbGYgZ3JhZF9kb3QgPSBoYWxmKDQuMCAqIGRvdChaLCBaKSk7CglncmFkX2RvdCA9IG1heChncmFkX2RvdCwgMS4wZS00KTsKCWhhbGYgYXBwcm94X2Rpc3QgPSBpbXBsaWNpdCAqIGhhbGYoaW52ZXJzZXNxcnQoZ3JhZF9kb3QpKTsKCWhhbGYgYWxwaGEgPSBjbGFtcCgwLjUgKyBhcHByb3hfZGlzdCwgMC4wLCAxLjApOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRWxsaXB0aWNhbFJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlAQAAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAA2BQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UBAAAAAAAAAA==","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"CQAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADoAQAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpICogb3V0cHV0Q29sb3JfUzApKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBTWV34ISAIAAAAEYT7ZOFIQAAAABAAAAABQAAAAAIFGB7HB2BAAAAAFQRH6PYAAAAEAAAAAAAAZGE66LR2FAEAAAIAAAAAMAAAAACAJQPRYO4IAAAAAMAI7T6YBAAAAABAAAAAGIMFGB7HB2BAAAAAAAAAAQAKYCRPE54DQAAAABAAAAAEQEFMEJ7T6AAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIA":"CQAAAExTS1OAAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNV9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAOMGAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMDsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNV9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzAsIHVlbmRfUzFfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzVfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgOS45OTk5OTk3NDczNzg3NTE2ZS0wNiwgMS4wLCAwLjAsIDAuMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTGluZWFyTGF5b3V0X1MxX2MwX2MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQ2xhbXBlZEdyYWRpZW50X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgdCA9IE1hdHJpeEVmZmVjdF9TMV9jMF9jMShfdG1wXzRfaW5Db2xvcik7CgloYWxmNCBvdXRDb2xvcjsKCWlmICghYm9vbChpbnQoMSkpICYmIHQueSA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSBoYWxmNCgwLjApOwoJfQoJZWxzZSBpZiAodC54IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IHVsZWZ0Qm9yZGVyQ29sb3JfUzFfYzA7Cgl9CgllbHNlIGlmICh0LnggPiAxLjApIAoJewoJCW91dENvbG9yID0gdXJpZ2h0Qm9yZGVyQ29sb3JfUzFfYzA7Cgl9CgllbHNlIAoJewoJCW91dENvbG9yID0gU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCWlmIChib29sKGludCgwKSkpIAoJewoJCW91dENvbG9yLnh5eiAqPSBvdXRDb2xvci53OwoJfQoJcmV0dXJuIGhhbGY0KG91dENvbG9yKTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IENsYW1wZWRHcmFkaWVudF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF81X2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAADUAANAAAAAAIBAIAAAABLCIIBAAAAABAEGABBAMAACAIAAAAAAAB2AAAAAAACAAAAAEBSAAAAA":"CQAAAExTS1M8AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAADhAwAAdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzA7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoTWF0cml4RWZmZWN0X1MxX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvbG9yX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CQAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAgBAAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWhhbGY0IGRpc3RzNCA9IGNsYW1wKGhhbGY0KDEsIDEsIC0xLCAtMSkgKiBoYWxmNChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCksIDAsIDEpOwoJaGFsZjIgZGlzdHMyID0gZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3IC0gMTsKCWhhbGYgc3Vic2V0Q292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJY292ZXJhZ2UgPSBtaW4oY292ZXJhZ2UsIHN1YnNldENvdmVyYWdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoaGFsZihjb3ZlcmFnZSkpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAQAAAAAAAAA=","DAQAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAEAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAAAAA":"CQAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAyQEAAHVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAPAAAAaW5UZXh0dXJlQ29vcmRzAAEAAAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEADZABYAAAIAAAAAACQAGAAAAAQAAAAAAAQQG":"CQAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAADsAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdmFyY2Nvb3JkX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAEAAAAAAAAA","DAQAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAEAAAAAAAAAAAAIBSQB5VRECGAEAAAMAAAAAAAAAAACAA4AAAACAAAAAAACCAYAA":"CQAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAA4wQAAGNvbnN0IGludCBrRmlsbEJXX1MxID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IFJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGNvdmVyYWdlOwoJaWYgKGludCgxKSA9PSBrRmlsbEJXX1MxIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKGFsbChncmVhdGVyVGhhbihmbG9hdDQoc2tfRnJhZ0Nvb3JkLnh5LCB1cmVjdFVuaWZvcm1fUzEuencpLCBmbG9hdDQodXJlY3RVbmlmb3JtX1MxLnh5LCBza19GcmFnQ29vcmQueHkpKSkgPyAxIDogMCk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IGNsYW1wKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MxKSwgMC4wLCAxLjApOwoJCWhhbGYyIGRpc3RzMiA9IChkaXN0czQueHkgKyBkaXN0czQuencpIC0gMS4wOwoJCWNvdmVyYWdlID0gZGlzdHMyLnggKiBkaXN0czIueTsKCX0KCWlmIChpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzEgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEFBX1MxKSAKCXsKCQljb3ZlcmFnZSA9IDEuMCAtIGNvdmVyYWdlOwoJfQoJcmV0dXJuIGhhbGY0KF9pbnB1dCAqIGNvdmVyYWdlKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQml0bWFwVGV4dAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHZUZXh0dXJlQ29vcmRzX1MwKS5ycnJyOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSB0ZXhDb2xvcjsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IFJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAPAAAAaW5UZXh0dXJlQ29vcmRzAAEAAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACAMQAHOMFARUBIAADAAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAcBQAAY29uc3QgaW50IGtGaWxsQldfUzEgPSAwOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzEgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzEgPSAzOwp1bmlmb3JtIGZsb2F0NCB1cmVjdFVuaWZvcm1fUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzEgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMS56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzEueHksIHNrX0ZyYWdDb29yZC54eSkpKSA/IDEgOiAwKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gY2xhbXAoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzEpLCAwLjAsIDEuMCk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMSB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzEpIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoX2lucHV0ICogY292ZXJhZ2UpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQEAAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAEAQAAAAGQCBAMQAAAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"CQAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAIgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzAueSwgdWNsYW1wX1MxX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBjbGFtcGVkQ29vcmQpOwoJcmV0dXJuIHRleHR1cmVDb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAACEA2X4PLOGEAAAAAAAAACAAAAAVQQAAQAAAAAQCDIBCAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"CQAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoBAAAACwQAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKdW5pZm9ybSBoYWxmNCB1Y2lyY2xlRGF0YV9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBfY29vcmRzKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBDaXJjbGVCbHVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjIgdmVjID0gaGFsZjIoKHNrX0ZyYWdDb29yZC54eSAtIGZsb2F0Mih1Y2lyY2xlRGF0YV9TMS54eSkpICogZmxvYXQodWNpcmNsZURhdGFfUzEudykpOwoJaGFsZiBkaXN0ID0gbGVuZ3RoKHZlYykgKyAoMC41IC0gdWNpcmNsZURhdGFfUzEueikgKiB1Y2lyY2xlRGF0YV9TMS53OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCAqIE1hdHJpeEVmZmVjdF9TMV9jMChfdG1wXzBfaW5Db2xvciwgZmxvYXQyKGhhbGYyKGRpc3QsIDAuNSkpKS53KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmNsZUJsdXJfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAEAAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"CQAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABGAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9ICgoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCkgKiBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAADUAANAAAAAAAAAIAAAABLAIABAAAAABAEGABBAMAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAAAAA":"CQAAAExTS1M8AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAADOAgAAdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKE1hdHJpeEVmZmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb2xvcl9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAZCBRE4GNEACAAAOAAAAAAAAAAABAAOAAAABAAAAAAABBAMAA":"CQAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAAAHBQAAY29uc3QgaW50IGtGaWxsQUFfUzEgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzEgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzEgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgQ2lyY2xlX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMSB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzEpIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzEueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMS53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzEudykpICogdWNpcmNsZV9TMS56KTsKCX0KCWlmIChpbnQoMykgPT0ga0ZpbGxBQV9TMSB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzEpIAoJewoJCXJldHVybiBoYWxmNChfaW5wdXQgKiBzYXR1cmF0ZShkKSk7Cgl9CgllbHNlIAoJewoJCXJldHVybiBoYWxmNChkID4gMC41ID8gX2lucHV0IDogaGFsZjQoMC4wKSk7Cgl9Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmNsZV9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADgAAAHJhZGlpX3NlbGVjdG9yAAAZAAAAY29ybmVyX2FuZF9yYWRpdXNfb3V0c2V0cwAAABUAAABhYV9ibG9hdF9hbmRfY292ZXJhZ2UAAAAHAAAAcmFkaWlfeAAHAAAAcmFkaWlfeQAEAAAAc2tldxkAAAB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlAAAABQAAAGNvbG9yAAAAAQAAAAAAAAA=","EABQAAAAAEAAAAAQAABQAAIOAAABCFYIAAKAUDAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"CQAAAExTS1OhAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8yX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAAC3AgAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGZsb2F0MiB2SW50VGV4dHVyZUNvb3Jkc19TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBEaXN0YW5jZUZpZWxkUGF0aAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQyIHV2ID0gdlRleHR1cmVDb29yZHNfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdXYpLnJycnI7Cgl9CgloYWxmIGRpc3RhbmNlID0gNy45Njg3NSoodGV4Q29sb3IuciAtIDAuNTAxOTYwNzg0MzEpOwoJaGFsZiBhZndpZHRoOwoJYWZ3aWR0aCA9IGFicygwLjY1KmhhbGYoZEZkeCh2SW50VGV4dHVyZUNvb3Jkc19TMC54KSkpOwoJaGFsZiB2YWwgPSBzbW9vdGhzdGVwKC1hZndpZHRoLCBhZndpZHRoLCBkaXN0YW5jZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KHZhbCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwABAAAAAAAAAA==","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAKPABAAAAAAB2AAAAAAACAAAAAEBSAAAAAAA":"CQAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAACzBAAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBmbG9hdDIgdWludlJhZGlpWFlfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdmFyY2Nvb3JkX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBFbGxpcHRpY2FsUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CglmbG9hdDIgWiA9IGR4eSAqIHVpbnZSYWRpaVhZX1MxLnh5OwoJaGFsZiBpbXBsaWNpdCA9IGhhbGYoZG90KFosIGR4eSkgLSAxLjApOwoJaGFsZiBncmFkX2RvdCA9IGhhbGYoNC4wICogZG90KFosIFopKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjBlLTQpOwoJaGFsZiBhcHByb3hfZGlzdCA9IGltcGxpY2l0ICogaGFsZihpbnZlcnNlc3FydChncmFkX2RvdCkpOwoJaGFsZiBhbHBoYSA9IGNsYW1wKDAuNSArIGFwcHJveF9kaXN0LCAwLjAsIDEuMCk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEVsbGlwdGljYWxSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADgAAAHJhZGlpX3NlbGVjdG9yAAAZAAAAY29ybmVyX2FuZF9yYWRpdXNfb3V0c2V0cwAAABUAAABhYV9ibG9hdF9hbmRfY292ZXJhZ2UAAAAHAAAAcmFkaWlfeAAHAAAAcmFkaWlfeQAEAAAAc2tldxkAAAB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlAAAABQAAAGNvbG9yAAAAAQAAAAAAAAA=","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"CQAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAHgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAEAAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBTWV34ISAIAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAH4AQAAAAAEAAAAAQGIAAAAAAA":"CQAAAExTS1PfAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMCkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAEAFAAAjZXh0ZW5zaW9uIEdMX0VYVF9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2g6IHJlcXVpcmUKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzA7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7Cmlub3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkID0gY2xhbXAoc3Vic2V0Q29vcmQsIHVjbGFtcF9TMV9jMF9jMC54eSwgdWNsYW1wX1MxX2MwX2MwLnp3KTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBNYXRyaXhFZmZlY3RfUzFfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChoYWxmKGNvdmVyYWdlKSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYgU2hhZGVyCgkJaGFsZjQgX2RzdENvbG9yID0gc2tfRnJhZ0NvbG9yOwoJCXNrX0ZyYWdDb2xvciA9IGJsZW5kX3NyYyhvdXRwdXRfUzEsIF9kc3RDb2xvcik7CgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q292ZXJhZ2VfUzAgKiBza19GcmFnQ29sb3IgKyAoaGFsZjQoMS4wKSAtIG91dHB1dENvdmVyYWdlX1MwKSAqIF9kc3RDb2xvcjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","DASAAAAAQAAWAABAYAAQBYH7777Z6QQBAEAAAAAAEAAAAAAAEBSAAAB2AAAAAAACAAAAAEBSAAAAA":"CQAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAAD4AQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQml0bWFwVGV4dAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHVDb2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCk7Cgl9CglvdXRwdXRDb2xvcl9TMCA9IG91dHB1dENvbG9yX1MwICogdGV4Q29sb3I7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAADwAAAGluVGV4dHVyZUNvb3JkcwABAAAAAAAAAA==","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CQAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoBAAAAuAIAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAQAAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBTWV34ISAIAAAAAEAACAAAAAVREAAQAAAAAQCDAAQQGAABAAAAAAAAH4AQAAAAAEAAAAAQGIAAAAAAA":"CQAAAExTS1PfAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMCkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAGMFAAAjZXh0ZW5zaW9uIEdMX0VYVF9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2g6IHJlcXVpcmUKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzA7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7Cmlub3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBjbGFtcGVkQ29vcmQpOwoJcmV0dXJuIHRleHR1cmVDb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoY292ZXJhZ2UpKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZiBTaGFkZXIKCQloYWxmNCBfZHN0Q29sb3IgPSBza19GcmFnQ29sb3I7CgkJc2tfRnJhZ0NvbG9yID0gYmxlbmRfc3JjKG91dHB1dF9TMSwgX2RzdENvbG9yKTsKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb3ZlcmFnZV9TMCAqIHNrX0ZyYWdDb2xvciArIChoYWxmNCgxLjApIC0gb3V0cHV0Q292ZXJhZ2VfUzApICogX2RzdENvbG9yOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"CQAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgABAAAAHQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAEAAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBTWV34ISAIAAAAEYT7ZOFIQAAAADAAAAABQAAAAAIFGB7HB2BAAAAAFQRH6PYAAAAEAAAAAAAAZGE66LR2FAEAAAYAAAAAMAAAAACAJQPRYO4IAAAAAMAI7T6YBAAAAABAAAAAGIMFGB7HB2BAAAAAAAAAAQAKYCRPE54DQAAAABAAAAAEQEFMEJ7T6AAAAAAAAAAAAAHIAAAAIAAQAAAAAQGIA":"CQAAAExTS1PlAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzVfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc181X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAMAcAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzVfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gX2Nvb3JkczsKCXJldHVybiBoYWxmNChtaXgodXN0YXJ0X1MxX2MwX2MwLCB1ZW5kX1MxX2MwX2MwLCBoYWxmKF90bXBfMV9jb29yZHMueCkpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc181X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDkuOTk5OTk5NzQ3Mzc4NzUxNmUtMDYsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglpZiAoYm9vbChpbnQoMSkpKSAKCXsKCQlvdXRDb2xvci54eXogKj0gb3V0Q29sb3IudzsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChoYWxmKGNvdmVyYWdlKSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"CQAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKS5ycnJyOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBTWV34ISAIAAAAEYT7ZOFIQAAAADAAAAABQAAAAAIFGB7HB2BAAAAAFQRH6PYAAAAEAAAAAAAAZGE66LR2FAEAAAYAAAAAMAAAAACAJQPRYO4IAAAAAMAI7T6YBAAAAABAAAAAGIMFGB7HB2BAAAAAAAAAAQAKYCRPE54DQAAAABAAAAAEQEFMEJ7T6AAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIA":"CQAAAExTS1OAAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNV9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAOMGAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMDsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNV9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzAsIHVlbmRfUzFfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzVfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgOS45OTk5OTk3NDczNzg3NTE2ZS0wNiwgMS4wLCAwLjAsIDAuMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTGluZWFyTGF5b3V0X1MxX2MwX2MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQ2xhbXBlZEdyYWRpZW50X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgdCA9IE1hdHJpeEVmZmVjdF9TMV9jMF9jMShfdG1wXzRfaW5Db2xvcik7CgloYWxmNCBvdXRDb2xvcjsKCWlmICghYm9vbChpbnQoMSkpICYmIHQueSA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSBoYWxmNCgwLjApOwoJfQoJZWxzZSBpZiAodC54IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IHVsZWZ0Qm9yZGVyQ29sb3JfUzFfYzA7Cgl9CgllbHNlIGlmICh0LnggPiAxLjApIAoJewoJCW91dENvbG9yID0gdXJpZ2h0Qm9yZGVyQ29sb3JfUzFfYzA7Cgl9CgllbHNlIAoJewoJCW91dENvbG9yID0gU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCWlmIChib29sKGludCgxKSkpIAoJewoJCW91dENvbG9yLnh5eiAqPSBvdXRDb2xvci53OwoJfQoJcmV0dXJuIGhhbGY0KG91dENvbG9yKTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IENsYW1wZWRHcmFkaWVudF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF81X2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"CQAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAkAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAQAAAAAAAAA=","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACAMQAHOMFARUBIAADAAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACtBQAAY29uc3QgaW50IGtGaWxsQldfUzEgPSAwOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzEgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzEgPSAzOwp1bmlmb3JtIGZsb2F0NCB1cmVjdFVuaWZvcm1fUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzEgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMS56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzEueHksIHNrX0ZyYWdDb29yZC54eSkpKSA/IDEgOiAwKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gY2xhbXAoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzEpLCAwLjAsIDEuMCk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMSB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzEpIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoX2lucHV0ICogY292ZXJhZ2UpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IFJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UBAAAAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CQAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACzAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAEAAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"CQAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAAC3AQAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9ICgoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCkgKiBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAARAGQWMHGBRIAAAAABQAAAAAAAAAAHIAAAAAAAIAAAAAQGIAA":"CQAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABhBAAAY29uc3QgaW50IGtGaWxsQUFfUzEgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzEgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzEgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBDaXJjbGVfUzEoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMSkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMS54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MxLncpIC0gMS4wKSAqIHVjaXJjbGVfUzEueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzEueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMS53KSkgKiB1Y2lyY2xlX1MxLnopOwoJfQoJaWYgKGludCgxKSA9PSBrRmlsbEFBX1MxIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMSkgCgl7CgkJcmV0dXJuIGhhbGY0KF9pbnB1dCAqIHNhdHVyYXRlKGQpKTsKCX0KCWVsc2UgCgl7CgkJcmV0dXJuIGhhbGY0KGQgPiAwLjUgPyBfaW5wdXQgOiBoYWxmNCgwLjApKTsKCX0KfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKChzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSAqIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY2xlX1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CQAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAAACAgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQEAAAAAAAAA","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"CQAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAjAgAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBSUmVjdFNoYWRvdwoJaGFsZjMgc2hhZG93UGFyYW1zOwoJc2hhZG93UGFyYW1zID0gdmluU2hhZG93UGFyYW1zX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJaGFsZiBkID0gbGVuZ3RoKHNoYWRvd1BhcmFtcy54eSk7CglmbG9hdDIgdXYgPSBmbG9hdDIoc2hhZG93UGFyYW1zLnogKiAoMS4wIC0gZCksIDAuNSk7CgloYWxmIGZhY3RvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdXYpLjAwMHIuYTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZmFjdG9yKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAOAAAAaW5TaGFkb3dQYXJhbXMAAAEAAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQMAAAAAAAAAEAAAABJYQAAAAAAAAIAAAAAWCBAAAABAAAAANAECAZAAAAAAAAAAAFAAMAAAABAAAAAAABBAM":"CQAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAAgFAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnVuaWZvcm0gaGFsZjIgdUluY3JlbWVudF9TMV9jMDsKdW5pZm9ybSBoYWxmMiB1T2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxM107CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IFNtb290aF9TMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBjb29yZCwgaGFsZjIgb2Zmc2V0QW5kS2VybmVsKSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfaW5wdXQsIChjb29yZCArIG9mZnNldEFuZEtlcm5lbC54ICogdUluY3JlbWVudF9TMV9jMCkpICogb2Zmc2V0QW5kS2VybmVsLnk7Cn0KaGFsZjQgR2F1c3NpYW5Db252b2x1dGlvbl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBjb2xvciA9IGhhbGY0KDApOwoJZmxvYXQyIGNvb3JkID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7Cglmb3IgKGludCBpPTA7IGk8MTM7ICsraSkgCgl7CgkJY29sb3IgKz0gU21vb3RoX1MxX2MwKF9pbnB1dCwgY29vcmQsIHVPZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldKTsKCX0KCXJldHVybiBjb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQ29udm9sdXRpb25fUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAQAAAAAAAAA=","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAACTAgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQEAAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"CQAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAKQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAQAAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"CQAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gc2FtcGxlckV4dGVybmFsT0VTIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9ICgoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCkgKiBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","DAQAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAEAAAAAAAAAAAAIAHSADQAAAQAAAAAAFAAMAAAABAAAAAAABBAM":"CQAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAWAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAPAAAAaW5UZXh0dXJlQ29vcmRzAAEAAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"CQAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACnAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKb3V0IGhhbGY0IHNrX0ZyYWdDb2xvcjsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQEAAAAAAAAA","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"CQAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACRAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7Cm91dCBoYWxmNCBza19GcmFnQ29sb3I7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWhhbGY0IGRpc3RzNCA9IGNsYW1wKGhhbGY0KDEsIDEsIC0xLCAtMSkgKiBoYWxmNChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCksIDAsIDEpOwoJaGFsZjIgZGlzdHMyID0gZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3IC0gMTsKCWhhbGYgc3Vic2V0Q292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJY292ZXJhZ2UgPSBtaW4oY292ZXJhZ2UsIHN1YnNldENvdmVyYWdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoaGFsZihjb3ZlcmFnZSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAQAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQMAAAAAAABAEAAAABJYQAAAAAACAIAAAAAWCBAAAIBAAAAANAECAZAAAAQAAAAAAFAAMAAAABAAAAAAABBAM":"CQAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEcGAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmMiB1SW5jcmVtZW50X1MxX2MwOwp1bmlmb3JtIGhhbGYyIHVPZmZzZXRzQW5kS2VybmVsX1MxX2MwWzEzXTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglmbG9hdDIgaW5Db29yZCA9IF9jb29yZHM7CglmbG9hdDIgc3Vic2V0Q29vcmQ7CglzdWJzZXRDb29yZC54ID0gaW5Db29yZC54OwoJc3Vic2V0Q29vcmQueSA9IGluQ29vcmQueTsKCWZsb2F0MiBjbGFtcGVkQ29vcmQ7CgljbGFtcGVkQ29vcmQueCA9IHN1YnNldENvb3JkLng7CgljbGFtcGVkQ29vcmQueSA9IGNsYW1wKHN1YnNldENvb3JkLnksIHVjbGFtcF9TMV9jMF9jMF9jMC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAudyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBTbW9vdGhfUzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgY29vcmQsIGhhbGYyIG9mZnNldEFuZEtlcm5lbCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0LCAoY29vcmQgKyBvZmZzZXRBbmRLZXJuZWwueCAqIHVJbmNyZW1lbnRfUzFfYzApKSAqIG9mZnNldEFuZEtlcm5lbC55Owp9CmhhbGY0IEdhdXNzaWFuQ29udm9sdXRpb25fUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgY29sb3IgPSBoYWxmNCgwKTsKCWZsb2F0MiBjb29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZm9yIChpbnQgaT0wOyBpPDEzOyArK2kpIAoJewoJCWNvbG9yICs9IFNtb290aF9TMV9jMChfaW5wdXQsIGNvb3JkLCB1T2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFtpXSk7Cgl9CglyZXR1cm4gY29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkNvbnZvbHV0aW9uX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAABAAAAAAAAAA==","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"CQAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAeAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwpvdXQgaGFsZjQgc2tfRnJhZ0NvbG9yOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAEAAAAAAAAA"}} \ No newline at end of file +{"platform":"android","name":"SM G970N","engineRevision":"800594f1f4a6674010a6f1603c07a919b4d7ebd7","data":{"EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"CgAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACfAgAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGZsb2F0MiB2SW50VGV4dHVyZUNvb3Jkc19TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBEaXN0YW5jZUZpZWxkUGF0aAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQyIHV2ID0gdlRleHR1cmVDb29yZHNfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdXYpLnJycnI7Cgl9CgloYWxmIGRpc3RhbmNlID0gNy45Njg3NSoodGV4Q29sb3IuciAtIDAuNTAxOTYwNzg0MzEpOwoJaGFsZiBhZndpZHRoOwoJYWZ3aWR0aCA9IGFicygwLjY1KmhhbGYoZEZkeCh2SW50VGV4dHVyZUNvb3Jkc19TMC54KSkpOwoJaGFsZiB2YWwgPSBzbW9vdGhzdGVwKC1hZndpZHRoLCBhZndpZHRoLCBkaXN0YW5jZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KHZhbCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBQU7BTXIAAAAAACAAAAAAQFV5W6JEAAAAAYAAAABQEZ2AKAWAQAABAL6SYKDYAAAACAAAAAAQEGIAAAAACAWTWL3EYAAAADAAAAACADHIJJCYCAAAEAP2LRIPAAAAAIAAAAAAABTALI3F5SOAIAABQAAAAAABTUEUZMBAAAAAH5FYUXQAAAAAAAEAAAAAZMRGOQCQFQEAAAAAAAAAGARL2LXJHAAEAAAAAEAAAABSCQX5FQUHQAAAAAAAAAACAA4AAAABAACAAAACCAYAAAAA":"CgAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc182X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAMMHAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwpoYWxmNCBTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IF9jb29yZHM7CglyZXR1cm4gaGFsZjQobWl4KHVzdGFydF9TMV9jMF9jMF9jMCwgdWVuZF9TMV9jMF9jMF9jMCwgaGFsZihfdG1wXzFfY29vcmRzLngpKSk7Cn0KaGFsZjQgTGluZWFyTGF5b3V0X1MxX2MwX2MwX2MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMl9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfM19jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKCXJldHVybiBoYWxmNChoYWxmNChoYWxmKF90bXBfM19jb29yZHMueCkgKyAxZS0wNSwgMS4wLCAwLjAsIDAuMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMF9jMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTGluZWFyTGF5b3V0X1MxX2MwX2MwX2MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgdCA9IE1hdHJpeEVmZmVjdF9TMV9jMF9jMF9jMShfdG1wXzRfaW5Db2xvcik7CgloYWxmNCBvdXRDb2xvcjsKCWlmICghYm9vbChpbnQoMSkpICYmIHQueSA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSBoYWxmNCgwLjApOwoJfQoJZWxzZSBpZiAodC54IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IHVsZWZ0Qm9yZGVyQ29sb3JfUzFfYzBfYzA7Cgl9CgllbHNlIGlmICh0LnggPiAxLjApIAoJewoJCW91dENvbG9yID0gdXJpZ2h0Qm9yZGVyQ29sb3JfUzFfYzBfYzA7Cgl9CgllbHNlIAoJewoJCW91dENvbG9yID0gU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgY29sb3JfeGZvcm1fUzFfYzAoZmxvYXQ0IGNvbG9yKSAKewoJY29sb3IucmdiICo9IGNvbG9yLmE7CglyZXR1cm4gaGFsZjQoY29sb3IpOwp9CmhhbGY0IENvbG9yU3BhY2VYZm9ybV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gY29sb3JfeGZvcm1fUzFfYzAoQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCkpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ29sb3JTcGFjZVhmb3JtX1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoaGFsZihjb3ZlcmFnZSkpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gKGhhbGY0KDEuMCkgLSBvdXRwdXRfUzEpICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAHBvc2l0aW9uCAAAAGNvdmVyYWdlBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"CgAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAHMCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKS5ycnJyOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"CgAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACfAQAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9ICgoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCkgKiBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEADZABYAAAIAAAAAACQAGAAAAAQAAAAAAAQQG":"CgAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAADUAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdmFyY2Nvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAKPABAAAAAAB2AAAAAAACAAAAAEBSAAAAAAA":"CgAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAACbBAAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBmbG9hdDIgdWludlJhZGlpWFlfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdmFyY2Nvb3JkX1MwOwpoYWxmNCBFbGxpcHRpY2FsUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CglmbG9hdDIgWiA9IGR4eSAqIHVpbnZSYWRpaVhZX1MxLnh5OwoJaGFsZiBpbXBsaWNpdCA9IGhhbGYoZG90KFosIGR4eSkgLSAxLjApOwoJaGFsZiBncmFkX2RvdCA9IGhhbGYoNC4wICogZG90KFosIFopKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjBlLTQpOwoJaGFsZiBhcHByb3hfZGlzdCA9IGltcGxpY2l0ICogaGFsZihpbnZlcnNlc3FydChncmFkX2RvdCkpOwoJaGFsZiBhbHBoYSA9IGNsYW1wKDAuNSArIGFwcHJveF9kaXN0LCAwLjAsIDEuMCk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEVsbGlwdGljYWxSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADgAAAHJhZGlpX3NlbGVjdG9yAAAZAAAAY29ybmVyX2FuZF9yYWRpdXNfb3V0c2V0cwAAABUAAABhYV9ibG9hdF9hbmRfY292ZXJhZ2UAAAAHAAAAcmFkaWlfeAAHAAAAcmFkaWlfeQAEAAAAc2tldxkAAAB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlAAAABQAAAGNvbG9yAAAAAAAAAA==","DAQAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAEAAAAAAAAAAAAIAHSADQAAAQAAAAAAFAAMAAAABAAAAAAABBAM":"CgAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAQAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAPAAAAaW5UZXh0dXJlQ29vcmRzAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"CgAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAE0DAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkID0gY2xhbXAoc3Vic2V0Q29vcmQsIHVjbGFtcF9TMV9jMC54eSwgdWNsYW1wX1MxX2MwLnp3KTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAADUAANAAAAAAIBAIAAAABLCIIBAAAAABAEGABBAMAACAIAAAAAAAB2AAAAAAACAAAAAEBSAAAAA":"CgAAAExTS1M8AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAADJAwAAdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzA7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoTWF0cml4RWZmZWN0X1MxX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvbG9yX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"CgAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAB5AgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWhhbGY0IGRpc3RzNCA9IGNsYW1wKGhhbGY0KDEsIDEsIC0xLCAtMSkgKiBoYWxmNChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCksIDAsIDEpOwoJaGFsZjIgZGlzdHMyID0gZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3IC0gMTsKCWhhbGYgc3Vic2V0Q292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJY292ZXJhZ2UgPSBtaW4oY292ZXJhZ2UsIHN1YnNldENvdmVyYWdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoaGFsZihjb3ZlcmFnZSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAACU53QJEKAAAAAAMAAAAAIAAAAAAGIRDFB2XASAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"CgAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACrBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjbGVfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMV9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MxX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzFfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41ID8gMSA6IDApKSk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9tb2R1bGF0ZShfc3JjLCBDaXJjbGVfUzFfYzAoX3NyYykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpICogaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACAFBQATAAAAAAFAAMAAAABAAAAAAABBAMAAAAA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAABABAAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBmbG9hdDIgdWludlJhZGlpWFlfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgRWxsaXB0aWNhbFJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJZmxvYXQyIFogPSBkeHkgKiB1aW52UmFkaWlYWV9TMS54eTsKCWhhbGYgaW1wbGljaXQgPSBoYWxmKGRvdChaLCBkeHkpIC0gMS4wKTsKCWhhbGYgZ3JhZF9kb3QgPSBoYWxmKDQuMCAqIGRvdChaLCBaKSk7CglncmFkX2RvdCA9IG1heChncmFkX2RvdCwgMS4wZS00KTsKCWhhbGYgYXBwcm94X2Rpc3QgPSBpbXBsaWNpdCAqIGhhbGYoaW52ZXJzZXNxcnQoZ3JhZF9kb3QpKTsKCWhhbGYgYWxwaGEgPSBjbGFtcCgwLjUgKyBhcHByb3hfZGlzdCwgMC4wLCAxLjApOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRWxsaXB0aWNhbFJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQU7BTXIAAAAAACAAAAAAQFV5W6JEAAAAAYAAAABQEZ2AKAWAQAABAL6SYKDYAAAACAAAAAAQEGIAAAAACAWTWL3EYAAAADAAAAACADHIJJCYCAAAEAP2LRIPAAAAAIAAAAAAABTALI3F5SOAIAABQAAAAAABTUEUZMBAAAAAH5FYUXQAAAAAAAEAAAAAZMRGOQCQFQEAAAAAAAAAGARL2LXJHAAEAAAAAEAAAABSCQX5FQUHQAAAAAAAAAACAA4AAAACAAAAAAACCAYAAAAA":"CgAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAdgcAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwpoYWxmNCBTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IF9jb29yZHM7CglyZXR1cm4gaGFsZjQobWl4KHVzdGFydF9TMV9jMF9jMF9jMCwgdWVuZF9TMV9jMF9jMF9jMCwgaGFsZihfdG1wXzFfY29vcmRzLngpKSk7Cn0KaGFsZjQgTGluZWFyTGF5b3V0X1MxX2MwX2MwX2MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMl9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfM19jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKCXJldHVybiBoYWxmNChoYWxmNChoYWxmKF90bXBfM19jb29yZHMueCkgKyAxZS0wNSwgMS4wLCAwLjAsIDAuMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMF9jMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTGluZWFyTGF5b3V0X1MxX2MwX2MwX2MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgdCA9IE1hdHJpeEVmZmVjdF9TMV9jMF9jMF9jMShfdG1wXzRfaW5Db2xvcik7CgloYWxmNCBvdXRDb2xvcjsKCWlmICghYm9vbChpbnQoMSkpICYmIHQueSA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSBoYWxmNCgwLjApOwoJfQoJZWxzZSBpZiAodC54IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IHVsZWZ0Qm9yZGVyQ29sb3JfUzFfYzBfYzA7Cgl9CgllbHNlIGlmICh0LnggPiAxLjApIAoJewoJCW91dENvbG9yID0gdXJpZ2h0Qm9yZGVyQ29sb3JfUzFfYzBfYzA7Cgl9CgllbHNlIAoJewoJCW91dENvbG9yID0gU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgY29sb3JfeGZvcm1fUzFfYzAoZmxvYXQ0IGNvbG9yKSAKewoJY29sb3IucmdiICo9IGNvbG9yLmE7CglyZXR1cm4gaGFsZjQoY29sb3IpOwp9CmhhbGY0IENvbG9yU3BhY2VYZm9ybV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gY29sb3JfeGZvcm1fUzFfYzAoQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCkpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ29sb3JTcGFjZVhmb3JtX1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"CgAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgABAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CgAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoBAAAAoAIAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAADUAANAAAAAAAAAIAAAABLAIABAAAAABAEGABBAMAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAAAAA":"CgAAAExTS1M8AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAC2AgAAdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKE1hdHJpeEVmZmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb2xvcl9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"CgAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMADSAB4QAAAAAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"CgAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAABfAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpICogb3V0cHV0Q29sb3JfUzApKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAEAAAAAAAAAAAAIAD2AAAAAAQAVSWGRIBAAADAAAAACAAAAAAQCGEIQOZLBIQAAAABQAAAAAAAAAAAAFAAMAAAABAAAAAAABBAMAAA":"CgAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAARQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IFJlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGNvdmVyYWdlOwoJaWYgKGludCgxKSA9PSBrRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKGFsbChncmVhdGVyVGhhbihmbG9hdDQoc2tfRnJhZ0Nvb3JkLnh5LCB1cmVjdFVuaWZvcm1fUzFfYzAuencpLCBmbG9hdDQodXJlY3RVbmlmb3JtX1MxX2MwLnh5LCBza19GcmFnQ29vcmQueHkpKSkpOwoJfQoJZWxzZSAKCXsKCQloYWxmNCBkaXN0czQgPSBzYXR1cmF0ZShoYWxmNCgxLjAsIDEuMCwgLTEuMCwgLTEuMCkgKiBoYWxmNChza19GcmFnQ29vcmQueHl4eSAtIHVyZWN0VW5pZm9ybV9TMV9jMCkpOwoJCWhhbGYyIGRpc3RzMiA9IChkaXN0czQueHkgKyBkaXN0czQuencpIC0gMS4wOwoJCWNvdmVyYWdlID0gZGlzdHMyLnggKiBkaXN0czIueTsKCX0KCWlmIChpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEFBX1MxX2MwKSAKCXsKCQljb3ZlcmFnZSA9IDEuMCAtIGNvdmVyYWdlOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGNvdmVyYWdlKSk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9tb2R1bGF0ZShSZWN0X1MxX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQml0bWFwVGV4dAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHZUZXh0dXJlQ29vcmRzX1MwKS5ycnJyOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSB0ZXhDb2xvcjsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACAAYQADAAAEAFEURUKQKAAAYAAAAAAAAIAAAABSCICWKY2FAEAAAMAAAAAAAAAAAAAIADQAAAAIAAAAAAAIIDAAAA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAB+BQAAY29uc3QgaW50IGtGaWxsQldfUzFfYzAgPSAwOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1cmVjdFVuaWZvcm1fUzFfYzA7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgUmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzFfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMV9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzFfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MxX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKFJlY3RfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CgAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAACQHEB4XIQAQAADQAAAABAAAAAAABAEMVDOMCJKRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"CgAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABRBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSA/IDEgOiAwKSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MxX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IHhfcGx1c18xPXZhcmNjb29yZF9TMC54LCB5PXZhcmNjb29yZF9TMC55OwoJaGFsZiBjb3ZlcmFnZTsKCWlmICgwID09IHhfcGx1c18xKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoeSk7Cgl9CgllbHNlIAoJewoJCWZsb2F0IGZuID0geF9wbHVzXzEgKiAoeF9wbHVzXzEgLSAyKTsKCQlmbiA9IGZtYSh5LHksIGZuKTsKCQlmbG9hdCBmbndpZHRoID0gZndpZHRoKGZuKTsKCQljb3ZlcmFnZSA9IC41IC0gaGFsZihmbi9mbndpZHRoKTsKCQljb3ZlcmFnZSA9IGNsYW1wKGNvdmVyYWdlLCAwLCAxKTsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABYQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAB5AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"CgAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADQAQAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpICogb3V0cHV0Q29sb3JfUzApKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQMAAAAAAIAAEAAAABJYQAAAAAQAAIAAAAAWCBACAABAAAAANAECAZAAEAAAAAAAAFAAMAAAABAAAAAAABBAM":"CgAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAC8GAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmMiB1SW5jcmVtZW50X1MxX2MwOwp1bmlmb3JtIGhhbGYyIHVPZmZzZXRzQW5kS2VybmVsX1MxX2MwWzEzXTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglmbG9hdDIgaW5Db29yZCA9IF9jb29yZHM7CglmbG9hdDIgc3Vic2V0Q29vcmQ7CglzdWJzZXRDb29yZC54ID0gaW5Db29yZC54OwoJc3Vic2V0Q29vcmQueSA9IGluQ29vcmQueTsKCWZsb2F0MiBjbGFtcGVkQ29vcmQ7CgljbGFtcGVkQ29vcmQueCA9IGNsYW1wKHN1YnNldENvb3JkLngsIHVjbGFtcF9TMV9jMF9jMF9jMC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueik7CgljbGFtcGVkQ29vcmQueSA9IHN1YnNldENvb3JkLnk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBTbW9vdGhfUzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgY29vcmQsIGhhbGYyIG9mZnNldEFuZEtlcm5lbCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0LCAoY29vcmQgKyBvZmZzZXRBbmRLZXJuZWwueCAqIHVJbmNyZW1lbnRfUzFfYzApKSAqIG9mZnNldEFuZEtlcm5lbC55Owp9CmhhbGY0IEdhdXNzaWFuQ29udm9sdXRpb25fUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgY29sb3IgPSBoYWxmNCgwKTsKCWZsb2F0MiBjb29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZm9yIChpbnQgaT0wOyBpPDEzOyArK2kpIAoJewoJCWNvbG9yICs9IFNtb290aF9TMV9jMChfaW5wdXQsIGNvb3JkLCB1T2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFtpXSk7Cgl9CglyZXR1cm4gY29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkNvbnZvbHV0aW9uX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"CgAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"CgAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA3AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gc2FtcGxlckV4dGVybmFsT0VTIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9ICgoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCkgKiBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"CgAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADBAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CgAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoBAAAA+wIAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdCBkeDAgPSB1aW5uZXJSZWN0X1MxLkwgLSBza19GcmFnQ29vcmQueDsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgoZmxvYXQyKG1heChkeDAsIGR4eTEueCksIGR4eTEueSksIDAuMCk7CgloYWxmIHRvcEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueSAtIHVpbm5lclJlY3RfUzEuVCkpOwoJaGFsZiBhbHBoYSA9IHRvcEFscGhhICogaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"CgAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQU7BTXIAAAAAACAWXW3ZEQAAAADAAAAAGATHIBICYCAAAEBP2LBIPAAAAAIAAAAAEARRALJ3F5SMAAAABQAAAABABTUEURMBAAACAH5FYUHQAAAAAAAEAAAAAZ4RGGRCQFAEAAAAAAAAAGARP2LVJPAAAAAAAAEAAAABSKRXZFAUHQAAAAAAAAAACAA4AAAACAAAAAAACCAYAA":"CgAAAExTS1OAAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNV9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIIGAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMDsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNV9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzAsIHVlbmRfUzFfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzVfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CgAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAANAAAAALHCKLMRAAAAAAAAABAAAAAGJBCFLQVBWAQAAAAAAQAAAAAMACQCAACAAAAA2AIBAEIAAAAAAAAAAAAIADQAAAAIAAAAAAAIIDAAAAAA":"CgAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoBAAAAeAQAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1Y2lyY2xlRGF0YV9TMV9jMDsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBfY29vcmRzKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBDaXJjbGVCbHVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjIgdmVjID0gaGFsZjIoKHNrX0ZyYWdDb29yZC54eSAtIGZsb2F0Mih1Y2lyY2xlRGF0YV9TMV9jMC54eSkpICogZmxvYXQodWNpcmNsZURhdGFfUzFfYzAudykpOwoJaGFsZiBkaXN0ID0gbGVuZ3RoKHZlYykgKyAoMC41IC0gdWNpcmNsZURhdGFfUzFfYzAueikgKiB1Y2lyY2xlRGF0YV9TMV9jMC53OwoJcmV0dXJuIGhhbGY0KE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgZmxvYXQyKGhhbGYyKGRpc3QsIDAuNSkpKS53d3d3KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKENpcmNsZUJsdXJfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","DAQAAAAAAABGAABAYAAQAIHCAIAYAQUBAEAAAAAAEAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAAAAA":"CgAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAsQEAAHVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAPAAAAaW5UZXh0dXJlQ29vcmRzAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"CgAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"CgAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFQBQU7BTXIAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAEQQGAAAAAAAAAAAA4IAPAAACAAAAAAAEABYAAAAEAAAAAAAEEBQA":"CgAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAArAQAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMjsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzI7CnVuaWZvcm0gc2FtcGxlckV4dGVybmFsT0VTIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBDaXJjdWxhclJSZWN0X1MyKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","DASAAAAAQAAWAABAYAAQBYH7777Z6QQBAEAAAAAAEAAAAAAAEBSAAAB2AAAAAAACAAAAAEBSAAAAA":"CgAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADgAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQml0bWFwVGV4dAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHVDb2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCk7Cgl9CglvdXRwdXRDb2xvcl9TMCA9IG91dHB1dENvbG9yX1MwICogdGV4Q29sb3I7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"CgAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQMAAAAAAABAEAAAABJYQAAAAAACAIAAAAAWCBAAAIBAAAAANAECAZAAAAQAAAAAAFAAMAAAABAAAAAAABBAM":"CgAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAC8GAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmMiB1SW5jcmVtZW50X1MxX2MwOwp1bmlmb3JtIGhhbGYyIHVPZmZzZXRzQW5kS2VybmVsX1MxX2MwWzEzXTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglmbG9hdDIgaW5Db29yZCA9IF9jb29yZHM7CglmbG9hdDIgc3Vic2V0Q29vcmQ7CglzdWJzZXRDb29yZC54ID0gaW5Db29yZC54OwoJc3Vic2V0Q29vcmQueSA9IGluQ29vcmQueTsKCWZsb2F0MiBjbGFtcGVkQ29vcmQ7CgljbGFtcGVkQ29vcmQueCA9IHN1YnNldENvb3JkLng7CgljbGFtcGVkQ29vcmQueSA9IGNsYW1wKHN1YnNldENvb3JkLnksIHVjbGFtcF9TMV9jMF9jMF9jMC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAudyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBTbW9vdGhfUzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgY29vcmQsIGhhbGYyIG9mZnNldEFuZEtlcm5lbCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0LCAoY29vcmQgKyBvZmZzZXRBbmRLZXJuZWwueCAqIHVJbmNyZW1lbnRfUzFfYzApKSAqIG9mZnNldEFuZEtlcm5lbC55Owp9CmhhbGY0IEdhdXNzaWFuQ29udm9sdXRpb25fUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgY29sb3IgPSBoYWxmNCgwKTsKCWZsb2F0MiBjb29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZm9yIChpbnQgaT0wOyBpPDEzOyArK2kpIAoJewoJCWNvbG9yICs9IFNtb290aF9TMV9jMChfaW5wdXQsIGNvb3JkLCB1T2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFtpXSk7Cgl9CglyZXR1cm4gY29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkNvbnZvbHV0aW9uX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"CgAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAIBAAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWhhbGY0IGRpc3RzNCA9IGNsYW1wKGhhbGY0KDEsIDEsIC0xLCAtMSkgKiBoYWxmNChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCksIDAsIDEpOwoJaGFsZjIgZGlzdHMyID0gZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3IC0gMTsKCWhhbGYgc3Vic2V0Q292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJY292ZXJhZ2UgPSBtaW4oY292ZXJhZ2UsIHN1YnNldENvdmVyYWdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoaGFsZihjb3ZlcmFnZSkpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"CgAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAALAgAAdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBSUmVjdFNoYWRvdwoJaGFsZjMgc2hhZG93UGFyYW1zOwoJc2hhZG93UGFyYW1zID0gdmluU2hhZG93UGFyYW1zX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJaGFsZiBkID0gbGVuZ3RoKHNoYWRvd1BhcmFtcy54eSk7CglmbG9hdDIgdXYgPSBmbG9hdDIoc2hhZG93UGFyYW1zLnogKiAoMS4wIC0gZCksIDAuNSk7CgloYWxmIGZhY3RvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdXYpLjAwMHIuYTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZmFjdG9yKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAOAAAAaW5TaGFkb3dQYXJhbXMAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAEAQAAAAGQCBAMQAAAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"CgAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAHADAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzAueSwgdWNsYW1wX1MxX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBjbGFtcGVkQ29vcmQpOwoJcmV0dXJuIHRleHR1cmVDb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQMAAAAAAAAAEAAAABJYQAAAAAAAAIAAAAAWCBAAAABAAAAANAECAZAAAAAAAAAAAFAAMAAAABAAAAAAABBAM":"CgAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAPAEAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnVuaWZvcm0gaGFsZjIgdUluY3JlbWVudF9TMV9jMDsKdW5pZm9ybSBoYWxmMiB1T2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxM107CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IFNtb290aF9TMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBjb29yZCwgaGFsZjIgb2Zmc2V0QW5kS2VybmVsKSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfaW5wdXQsIChjb29yZCArIG9mZnNldEFuZEtlcm5lbC54ICogdUluY3JlbWVudF9TMV9jMCkpICogb2Zmc2V0QW5kS2VybmVsLnk7Cn0KaGFsZjQgR2F1c3NpYW5Db252b2x1dGlvbl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBjb2xvciA9IGhhbGY0KDApOwoJZmxvYXQyIGNvb3JkID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7Cglmb3IgKGludCBpPTA7IGk8MTM7ICsraSkgCgl7CgkJY29sb3IgKz0gU21vb3RoX1MxX2MwKF9pbnB1dCwgY29vcmQsIHVPZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldKTsKCX0KCXJldHVybiBjb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQ29udm9sdXRpb25fUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"CgAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"CgAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAuAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9ICgoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCkgKiBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"CgAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"CgAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAHADAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgaW5Db29yZCA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzAueCwgdWNsYW1wX1MxX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCBjbGFtcGVkQ29vcmQpOwoJcmV0dXJuIHRleHR1cmVDb2xvcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA=="}} \ No newline at end of file From 9beda571f715bc4e96f9696e2248b026805235b5 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 2 Feb 2023 20:08:19 +0100 Subject: [PATCH 21/44] fixed tests using settings --- pubspec.lock | 2 +- pubspec.yaml | 1 + test/model/collection_source_test.dart | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pubspec.lock b/pubspec.lock index cfb5fa1ed..3c6a5c448 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1046,7 +1046,7 @@ packages: source: hosted version: "2.1.3" shared_preferences_platform_interface: - dependency: transitive + dependency: "direct dev" description: name: shared_preferences_platform_interface sha256: da9431745ede5ece47bc26d5d73a9d3c6936ef6945c101a5aca46f62e52c1cf3 diff --git a/pubspec.yaml b/pubspec.yaml index b3aa2e8c5..c4989ac05 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -104,6 +104,7 @@ dev_dependencies: flutter_driver: sdk: flutter flutter_lints: + shared_preferences_platform_interface: test: flutter: diff --git a/test/model/collection_source_test.dart b/test/model/collection_source_test.dart index 033a3bdde..20edbce4c 100644 --- a/test/model/collection_source_test.dart +++ b/test/model/collection_source_test.dart @@ -26,6 +26,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:latlong2/latlong.dart'; import 'package:path/path.dart' as p; +import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; import '../fake/android_app_service.dart'; import '../fake/availability.dart'; @@ -66,6 +67,7 @@ void main() { getIt.registerLazySingleton(FakeStorageService.new); getIt.registerLazySingleton(FakeWindowService.new); + SharedPreferencesStorePlatform.instance = InMemorySharedPreferencesStore.empty(); await settings.init(monitorPlatformSettings: false); settings.canUseAnalysisService = false; await androidFileUtils.init(); From c6b0357711c16bb6fa294b61b613ff68850ff5b6 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Sat, 4 Feb 2023 09:46:02 +0100 Subject: [PATCH 22/44] l10n by weblate (#497) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate-URL: https://hosted.weblate.org/projects/aves/app-android/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/th/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/id/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/eu/ Translation: Aves/App - Android Translation: Aves/App - Main Translation: Aves/Store - Full description Translation: Aves/Store - Short description Co-authored-by: Aitor Salaberria Co-authored-by: Allan Nordhøy Co-authored-by: Eric Co-authored-by: Idj Co-authored-by: Igor Sorocean Co-authored-by: Jan Co-authored-by: Jonatas de Almeida Barros Co-authored-by: Linerly Co-authored-by: Martin Frandel Co-authored-by: MeFinity Co-authored-by: Nattapong K Co-authored-by: Oğuz Ersen Co-authored-by: Salih Ail Co-authored-by: Skrripy Co-authored-by: Thibault Deckers Co-authored-by: Tijolinho Co-authored-by: Translator-3000 Co-authored-by: gallegonovato Co-authored-by: rehork Co-authored-by: slasb37 Co-authored-by: tryvseu Co-authored-by: vesp --- .../app/src/main/res/values-sk/strings.xml | 12 + .../metadata/android/sk/full_description.txt | 5 + .../metadata/android/sk/short_description.txt | 1 + lib/l10n/app_eu.arb | 783 +++++++++++++++++- lib/l10n/app_ro.arb | 4 +- lib/l10n/app_sk.arb | 93 +++ 6 files changed, 896 insertions(+), 2 deletions(-) create mode 100644 android/app/src/main/res/values-sk/strings.xml create mode 100644 fastlane/metadata/android/sk/full_description.txt create mode 100644 fastlane/metadata/android/sk/short_description.txt create mode 100644 lib/l10n/app_sk.arb diff --git a/android/app/src/main/res/values-sk/strings.xml b/android/app/src/main/res/values-sk/strings.xml new file mode 100644 index 000000000..08fd7dbe9 --- /dev/null +++ b/android/app/src/main/res/values-sk/strings.xml @@ -0,0 +1,12 @@ + + + Hľadať + Aves + Rám fotky + Tapeta + Videá + Zastaviť + Skenovanie médií + Skenovanie obrázkov & videí + Skenovanie média + \ No newline at end of file diff --git a/fastlane/metadata/android/sk/full_description.txt b/fastlane/metadata/android/sk/full_description.txt new file mode 100644 index 000000000..6c92748f8 --- /dev/null +++ b/fastlane/metadata/android/sk/full_description.txt @@ -0,0 +1,5 @@ +Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more! It scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files. + +Navigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc. + +Aves integrates with Android (from KitKat to Android 13, including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker. \ No newline at end of file diff --git a/fastlane/metadata/android/sk/short_description.txt b/fastlane/metadata/android/sk/short_description.txt new file mode 100644 index 000000000..8c9445bd5 --- /dev/null +++ b/fastlane/metadata/android/sk/short_description.txt @@ -0,0 +1 @@ +Gallery and metadata explorer \ No newline at end of file diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 965f5efb8..2582ed635 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -81,5 +81,786 @@ "doubleBackExitMessage": "Sakatu \"itzuli\" berriro irteteko.", "@doubleBackExitMessage": {}, "pickTooltip": "Aukeratu", - "@pickTooltip": {} + "@pickTooltip": {}, + "chipActionGoToAlbumPage": "Albumetan erakutsi", + "@chipActionGoToAlbumPage": {}, + "chipActionGoToTagPage": "Etiketetan erakutsi", + "@chipActionGoToTagPage": {}, + "entryActionRotateCW": "Erlojuaren orratzen noranzkoan biratu", + "@entryActionRotateCW": {}, + "entryActionPrint": "Inprimatu", + "@entryActionPrint": {}, + "entryActionConvertMotionPhotoToStillImage": "Irudi finko batean bihurtu", + "@entryActionConvertMotionPhotoToStillImage": {}, + "coordinateDmsSouth": "H", + "@coordinateDmsSouth": {}, + "coordinateDmsEast": "E", + "@coordinateDmsEast": {}, + "nameConflictStrategyRename": "Berrizendatu", + "@nameConflictStrategyRename": {}, + "videoPlaybackSkip": "Jauzi", + "@videoPlaybackSkip": {}, + "videoPlaybackWithSound": "Soinuarekin erreproduzitu", + "@videoPlaybackWithSound": {}, + "viewerTransitionFade": "Desagertu", + "@viewerTransitionFade": {}, + "storageVolumeDescriptionFallbackNonPrimary": "SD txartela", + "@storageVolumeDescriptionFallbackNonPrimary": {}, + "rootDirectoryDescription": "Erro-karpeta", + "@rootDirectoryDescription": {}, + "otherDirectoryDescription": "“{name}” karpeta", + "@otherDirectoryDescription": { + "placeholders": { + "name": { + "type": "String", + "example": "Pictures", + "description": "the name of a specific directory" + } + } + }, + "doNotAskAgain": "Ez galdetu berriro", + "@doNotAskAgain": {}, + "chipActionDelete": "Ezabatu", + "@chipActionDelete": {}, + "sourceStateLoading": "Kargatzen", + "@sourceStateLoading": {}, + "sourceStateCataloguing": "Katalogatzen", + "@sourceStateCataloguing": {}, + "sourceStateLocatingCountries": "Herrialdeak kokatzen", + "@sourceStateLocatingCountries": {}, + "sourceStateLocatingPlaces": "Lekuak kokatzen", + "@sourceStateLocatingPlaces": {}, + "chipActionGoToCountryPage": "Herrialdeetan erakutsi", + "@chipActionGoToCountryPage": {}, + "chipActionFilterIn": "Iragazi", + "@chipActionFilterIn": {}, + "chipActionFilterOut": "Ez iragazi", + "@chipActionFilterOut": {}, + "chipActionHide": "Ezkutatu", + "@chipActionHide": {}, + "chipActionPin": "Goran finkatu", + "@chipActionPin": {}, + "entryInfoActionRemoveMetadata": "Metadatuak ezabatu", + "@entryInfoActionRemoveMetadata": {}, + "slideshowActionResume": "Jarraitu", + "@slideshowActionResume": {}, + "slideshowActionShowInCollection": "Bilduman erakutsi", + "@slideshowActionShowInCollection": {}, + "entryInfoActionEditTags": "Etiketak editatu", + "@entryInfoActionEditTags": {}, + "entryInfoActionEditLocation": "Kokapena editatu", + "@entryInfoActionEditLocation": {}, + "entryInfoActionExportMetadata": "Metadatuak esportatu", + "@entryInfoActionExportMetadata": {}, + "filterAspectRatioPortraitLabel": "Formatu bertikala", + "@filterAspectRatioPortraitLabel": {}, + "entryInfoActionRemoveLocation": "Kokapena ezabatu", + "@entryInfoActionRemoveLocation": {}, + "filterAspectRatioLandscapeLabel": "Formatu horizontala", + "@filterAspectRatioLandscapeLabel": {}, + "filterBinLabel": "Zakarrontzia", + "@filterBinLabel": {}, + "filterFavouriteLabel": "Gogoko", + "@filterFavouriteLabel": {}, + "filterNoAddressLabel": "Helbiderik ez", + "@filterNoAddressLabel": {}, + "filterNoDateLabel": "Datarik gabe", + "@filterNoDateLabel": {}, + "entryActionExport": "Esportatu", + "@entryActionExport": {}, + "chipActionUnpin": "Goitik desfinkatu", + "@chipActionUnpin": {}, + "entryActionRename": "Berrizendatu", + "@entryActionRename": {}, + "chipActionRename": "Berrizendatu", + "@chipActionRename": {}, + "entryActionDelete": "Ezabatu", + "@entryActionDelete": {}, + "entryActionInfo": "Informazioa", + "@entryActionInfo": {}, + "chipActionSetCover": "Karatula ezarri", + "@chipActionSetCover": {}, + "chipActionCreateAlbum": "Albuma sortu", + "@chipActionCreateAlbum": {}, + "entryActionCopyToClipboard": "Arbelera kopiatu", + "@entryActionCopyToClipboard": {}, + "entryActionConvert": "Bihurtu", + "@entryActionConvert": {}, + "entryActionFlip": "Horizontalki buelta eman", + "@entryActionFlip": {}, + "entryActionRestore": "Berrezarri", + "@entryActionRestore": {}, + "entryActionRotateCCW": "Erlojuaren orratzen kontrako noranzkoan biratu", + "@entryActionRotateCCW": {}, + "entryActionShare": "Partekatu", + "@entryActionShare": {}, + "filterNoRatingLabel": "Kalifikaziorik gabe", + "@filterNoRatingLabel": {}, + "filterTaggedLabel": "Etiketatua", + "@filterTaggedLabel": {}, + "filterNoTitleLabel": "Izenbururik gabe", + "@filterNoTitleLabel": {}, + "filterLocatedLabel": "Kokatua", + "@filterLocatedLabel": {}, + "filterNoTagLabel": "Etiketatu gabe", + "@filterNoTagLabel": {}, + "filterTypeAnimatedLabel": "Animatua", + "@filterTypeAnimatedLabel": {}, + "filterNoLocationLabel": "Kokatu gabe", + "@filterNoLocationLabel": {}, + "filterRatingRejectedLabel": "Baztertua", + "@filterRatingRejectedLabel": {}, + "filterRecentlyAddedLabel": "Duela gutxi gehitua", + "@filterRecentlyAddedLabel": {}, + "filterOnThisDayLabel": "Egun honetan", + "@filterOnThisDayLabel": {}, + "filterTypeMotionPhotoLabel": "Argazki-mugikorra", + "@filterTypeMotionPhotoLabel": {}, + "filterTypeSphericalVideoLabel": "360°-ko bideoa", + "@filterTypeSphericalVideoLabel": {}, + "filterMimeImageLabel": "Irudi", + "@filterMimeImageLabel": {}, + "filterTypePanoramaLabel": "Panoramika", + "@filterTypePanoramaLabel": {}, + "filterTypeRawLabel": "Raw", + "@filterTypeRawLabel": {}, + "filterTypeGeotiffLabel": "GeoTIFF", + "@filterTypeGeotiffLabel": {}, + "filterMimeVideoLabel": "Bideo", + "@filterMimeVideoLabel": {}, + "entryActionShareImageOnly": "Irudia soilik partekatu", + "@entryActionShareImageOnly": {}, + "entryActionShareVideoOnly": "Bideoa soilik partekatu", + "@entryActionShareVideoOnly": {}, + "entryActionViewSource": "Iturria ikusi", + "@entryActionViewSource": {}, + "unitSystemMetric": "Metriko", + "@unitSystemMetric": {}, + "videoControlsPlay": "Erreproduzitu", + "@videoControlsPlay": {}, + "entryActionShowGeoTiffOnMap": "Gainjarritako mapa bezala erakutsi", + "@entryActionShowGeoTiffOnMap": {}, + "coordinateFormatDms": "DMS (Dokumentuak kudeatzeko sistema)", + "@coordinateFormatDms": {}, + "coordinateDmsNorth": "I", + "@coordinateDmsNorth": {}, + "coordinateDmsWest": "M", + "@coordinateDmsWest": {}, + "coordinateFormatDecimal": "Gradu hamartarrak", + "@coordinateFormatDecimal": {}, + "coordinateDms": "{coordinate} {direction}", + "@coordinateDms": { + "placeholders": { + "coordinate": { + "type": "String", + "example": "38° 41′ 47.72″" + }, + "direction": { + "type": "String", + "example": "S" + } + } + }, + "unitSystemImperial": "Inperial", + "@unitSystemImperial": {}, + "videoLoopModeAlways": "Beti", + "@videoLoopModeAlways": {}, + "videoControlsPlayOutside": "Beste erreproduzitzaile batekin ireki", + "@videoControlsPlayOutside": {}, + "videoLoopModeNever": "Inoiz", + "@videoLoopModeNever": {}, + "videoLoopModeShortOnly": "Bideo laburrak soilik", + "@videoLoopModeShortOnly": {}, + "videoControlsPlaySeek": "Erreproduzitu eta aurrera edo atzera egin", + "@videoControlsPlaySeek": {}, + "mapStyleGoogleNormal": "Google Maps", + "@mapStyleGoogleNormal": {}, + "nameConflictStrategySkip": "Jauzi", + "@nameConflictStrategySkip": {}, + "videoControlsNone": "Bat ere ez", + "@videoControlsNone": {}, + "mapStyleGoogleHybrid": "Google Maps (higikorra)", + "@mapStyleGoogleHybrid": {}, + "mapStyleGoogleTerrain": "Google Maps (lurra)", + "@mapStyleGoogleTerrain": {}, + "mapStyleHuaweiNormal": "Petal Maps", + "@mapStyleHuaweiNormal": {}, + "mapStyleOsmHot": "OSM humanitarioa", + "@mapStyleOsmHot": {}, + "mapStyleStamenWatercolor": "Stamen Watercolor (akuarela)", + "@mapStyleStamenWatercolor": {}, + "keepScreenOnNever": "Inoiz", + "@keepScreenOnNever": {}, + "mapStyleHuaweiTerrain": "Petal Maps (lurra)", + "@mapStyleHuaweiTerrain": {}, + "nameConflictStrategyReplace": "Ordezkatu", + "@nameConflictStrategyReplace": {}, + "mapStyleStamenToner": "Stamen Toner (monokromatikoa)", + "@mapStyleStamenToner": {}, + "keepScreenOnVideoPlayback": "Bideoa erreproduzitzean", + "@keepScreenOnVideoPlayback": {}, + "keepScreenOnAlways": "Beti", + "@keepScreenOnAlways": {}, + "keepScreenOnViewerOnly": "Bisorea soilik", + "@keepScreenOnViewerOnly": {}, + "subtitlePositionTop": "Goran", + "@subtitlePositionTop": {}, + "accessibilityAnimationsKeep": "Pantaila-efektuak mantendu", + "@accessibilityAnimationsKeep": {}, + "displayRefreshRatePreferLowest": "Kalifikazio baxuena", + "@displayRefreshRatePreferLowest": {}, + "accessibilityAnimationsRemove": "Pantaila-efektuak ekidin", + "@accessibilityAnimationsRemove": {}, + "displayRefreshRatePreferHighest": "Kalifikazio gorena", + "@displayRefreshRatePreferHighest": {}, + "entryActionViewMotionPhotoVideo": "Bideoa ireki", + "@entryActionViewMotionPhotoVideo": {}, + "entryActionEdit": "Editatu", + "@entryActionEdit": {}, + "entryActionOpenMap": "Mapako aplikazioan erakutsi", + "@entryActionOpenMap": {}, + "entryActionRotateScreen": "Pantaila biratu", + "@entryActionRotateScreen": {}, + "entryActionOpen": "Ireki honekin", + "@entryActionOpen": {}, + "entryActionSetAs": "Hau bezala ezarri", + "@entryActionSetAs": {}, + "subtitlePositionBottom": "Behean", + "@subtitlePositionBottom": {}, + "themeBrightnessLight": "Argi", + "@themeBrightnessLight": {}, + "videoPlaybackMuted": "Mutututa erreproduzitu", + "@videoPlaybackMuted": {}, + "themeBrightnessBlack": "Beltz", + "@themeBrightnessBlack": {}, + "themeBrightnessDark": "Ilun", + "@themeBrightnessDark": {}, + "viewerTransitionSlide": "Diapositiba", + "@viewerTransitionSlide": {}, + "entryActionAddFavourite": "Gogokoetara gehitu", + "@entryActionAddFavourite": {}, + "entryActionRemoveFavourite": "Gogokoetatik ezabatu", + "@entryActionRemoveFavourite": {}, + "viewerTransitionParallax": "Paralaxi", + "@viewerTransitionParallax": {}, + "viewerTransitionNone": "Bat ere ez", + "@viewerTransitionNone": {}, + "viewerTransitionZoomIn": "Hurbildu", + "@viewerTransitionZoomIn": {}, + "wallpaperTargetHome": "Hasierako pantaila", + "@wallpaperTargetHome": {}, + "wallpaperTargetLock": "Blokeo-pantaila", + "@wallpaperTargetLock": {}, + "wallpaperTargetHomeLock": "Hasiera- eta blokeo-pantaila", + "@wallpaperTargetHomeLock": {}, + "widgetDisplayedItemRandom": "Ausazko", + "@widgetDisplayedItemRandom": {}, + "widgetDisplayedItemMostRecent": "Berrienak", + "@widgetDisplayedItemMostRecent": {}, + "albumTierRegular": "Besteak", + "@albumTierRegular": {}, + "videoActionUnmute": "Ez mututu", + "@videoActionUnmute": {}, + "widgetOpenPageHome": "Hasierako pantaila ireki", + "@widgetOpenPageHome": {}, + "widgetOpenPageCollection": "Bilduma ireki", + "@widgetOpenPageCollection": {}, + "widgetOpenPageViewer": "Bisorea ireki", + "@widgetOpenPageViewer": {}, + "albumTierNew": "Berria", + "@albumTierNew": {}, + "albumTierPinned": "Finkatua", + "@albumTierPinned": {}, + "albumTierSpecial": "Ohiko", + "@albumTierSpecial": {}, + "albumTierApps": "Aplikazioak", + "@albumTierApps": {}, + "storageVolumeDescriptionFallbackPrimary": "Barne-biltegiratzea", + "@storageVolumeDescriptionFallbackPrimary": {}, + "videoActionCaptureFrame": "Fotograma atzitu", + "@videoActionCaptureFrame": {}, + "videoActionMute": "Mututu", + "@videoActionMute": {}, + "videoActionSelectStreams": "Pistak aukeratu", + "@videoActionSelectStreams": {}, + "entryInfoActionEditRating": "Kalifikazioa editatu", + "@entryInfoActionEditRating": {}, + "videoActionSkip10": "10 segundu aurrera egin", + "@videoActionSkip10": {}, + "videoActionPause": "Eten", + "@videoActionPause": {}, + "videoActionPlay": "Erreproduzitu", + "@videoActionPlay": {}, + "videoActionReplay10": "10 segundu atzera egin", + "@videoActionReplay10": {}, + "videoActionSettings": "Ezarpenak", + "@videoActionSettings": {}, + "entryInfoActionEditDate": "Data eta ordua editatu", + "@entryInfoActionEditDate": {}, + "entryInfoActionEditTitleDescription": "Izenburua eta deskribapena editatu", + "@entryInfoActionEditTitleDescription": {}, + "videoActionSetSpeed": "Erreproduzitze-abiadura", + "@videoActionSetSpeed": {}, + "storageAccessDialogMessage": "Mesedez, \"{volume}\"-(e)n {directory} aukera ezazu hurrengo pantailan aplikazio honi sarrera baimentzeko.", + "@storageAccessDialogMessage": { + "placeholders": { + "directory": { + "type": "String", + "description": "the name of a directory, using the output of `rootDirectoryDescription` or `otherDirectoryDescription`" + }, + "volume": { + "type": "String", + "example": "SD card", + "description": "the name of a storage volume" + } + } + }, + "restrictedAccessDialogMessage": "Aplikazio honek ez du baimenik \"{volume}\"-(e)ko {directory}-(e)n fitxategiak aldatzeko.\n\nMesedez, aurreinstalatutako fitxategi-kudeatzaile edo galeriaren aplikazio bat erabili itemak beste karpeta batera mugitzeko.", + "@restrictedAccessDialogMessage": { + "placeholders": { + "directory": { + "type": "String", + "description": "the name of a directory, using the output of `rootDirectoryDescription` or `otherDirectoryDescription`" + }, + "volume": { + "type": "String", + "example": "SD card", + "description": "the name of a storage volume" + } + } + }, + "nameConflictDialogSingleSourceMessage": "Helburuko karpetan dauden fitxategi batzuek izen bera dute.", + "@nameConflictDialogSingleSourceMessage": {}, + "binEntriesConfirmationDialogMessage": "{count, plural, =1{Elementu hau zakarrontzira bidali nahi al duzu?} other{{count} elementu hauek zakarrontzira bidali nahi al dituzu?}}", + "@binEntriesConfirmationDialogMessage": { + "placeholders": { + "count": {} + } + }, + "addShortcutDialogLabel": "Laster-bidearen etiketa", + "@addShortcutDialogLabel": {}, + "unsupportedTypeDialogMessage": "{count, plural, =1{Eragiketa hau ez da bateragarria aukeratutako hurrengo elementu-motarentzako: {types}.} other{Eragiketa hau ez da bateragarria aukeratutako hurrengo elementu-motentzako: {types}.}}", + "@unsupportedTypeDialogMessage": { + "placeholders": { + "count": {}, + "types": { + "type": "String", + "example": "GIF, TIFF, MP4", + "description": "a list of unsupported types" + } + } + }, + "moveUndatedConfirmationDialogMessage": "Elementuen datak gorde nahi al dituzu aurrera egin aurretik?", + "@moveUndatedConfirmationDialogMessage": {}, + "moveUndatedConfirmationDialogSetDate": "Datak gorde", + "@moveUndatedConfirmationDialogSetDate": {}, + "videoResumeDialogMessage": "Erreprodukzioa {time} denboran jarraitzea nahi al duzu?", + "@videoResumeDialogMessage": { + "placeholders": { + "time": { + "type": "String", + "example": "13:37" + } + } + }, + "nameConflictDialogMultipleSourceMessage": "Fitxategi batzuek izen bera dute.", + "@nameConflictDialogMultipleSourceMessage": {}, + "addShortcutButtonLabel": "GEHITU", + "@addShortcutButtonLabel": {}, + "videoStartOverButtonLabel": "BERRIRO HASI", + "@videoStartOverButtonLabel": {}, + "missingSystemFilePickerDialogMessage": "Sistemako fitxategien bilatzailea falta da edo desaktibatua dago. Mesedez, aktiba ezazu eta saia zaitez berriro.", + "@missingSystemFilePickerDialogMessage": {}, + "noMatchingAppDialogMessage": "Hau maneiatu dezakeen aplikaziorik ez dago.", + "@noMatchingAppDialogMessage": {}, + "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Elementu hau ezaba nahi al duzu?} other{{count} elementu hauek ezaba nahi al dituzu?}}", + "@deleteEntriesConfirmationDialogMessage": { + "placeholders": { + "count": {} + } + }, + "videoResumeButtonLabel": "JARRAITU", + "@videoResumeButtonLabel": {}, + "setCoverDialogLatest": "Azkeneko elementua", + "@setCoverDialogLatest": {}, + "setCoverDialogAuto": "Automatikoa", + "@setCoverDialogAuto": {}, + "setCoverDialogCustom": "Pertsonalizatua", + "@setCoverDialogCustom": {}, + "newAlbumDialogTitle": "Album berria", + "@newAlbumDialogTitle": {}, + "newAlbumDialogNameLabel": "Albumaren izena", + "@newAlbumDialogNameLabel": {}, + "newAlbumDialogNameLabelAlreadyExistsHelper": "Karpeta jada badago", + "@newAlbumDialogNameLabelAlreadyExistsHelper": {}, + "newAlbumDialogStorageLabel": "Biltegiratzea:", + "@newAlbumDialogStorageLabel": {}, + "renameAlbumDialogLabel": "Izen berria", + "@renameAlbumDialogLabel": {}, + "renameAlbumDialogLabelAlreadyExistsHelper": "Karpeta jada badago", + "@renameAlbumDialogLabelAlreadyExistsHelper": {}, + "renameEntrySetPageTitle": "Berrizendatu", + "@renameEntrySetPageTitle": {}, + "renameEntrySetPagePatternFieldLabel": "Izendapen-eredua", + "@renameEntrySetPagePatternFieldLabel": {}, + "renameEntrySetPageInsertTooltip": "Eremua txertatu", + "@renameEntrySetPageInsertTooltip": {}, + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Album hauek eta hauetan dagoen elementua ezaba nahi al dituzu?} other{Album hauek eta hauetan dauden {count} elementuak ezaba nahi al dituzu?}}", + "@deleteMultiAlbumConfirmationDialogMessage": { + "placeholders": { + "count": {} + } + }, + "exportEntryDialogFormat": "Formatua:", + "@exportEntryDialogFormat": {}, + "exportEntryDialogWidth": "Zabalera", + "@exportEntryDialogWidth": {}, + "exportEntryDialogHeight": "Altuera", + "@exportEntryDialogHeight": {}, + "renameEntryDialogLabel": "Izen berria", + "@renameEntryDialogLabel": {}, + "editEntryDialogCopyFromItem": "Beste elementu batetik kopiatu", + "@editEntryDialogCopyFromItem": {}, + "editEntryDialogTargetFieldsHeader": "Aldatzeko eremuak", + "@editEntryDialogTargetFieldsHeader": {}, + "editEntryDateDialogTitle": "Data eta ordua", + "@editEntryDateDialogTitle": {}, + "editEntryDateDialogSetCustom": "Data pertsonalizatua ezarri", + "@editEntryDateDialogSetCustom": {}, + "editEntryDateDialogCopyField": "Beste data batetik kopiatu", + "@editEntryDateDialogCopyField": {}, + "editEntryDateDialogExtractFromTitle": "Izenburutik atera", + "@editEntryDateDialogExtractFromTitle": {}, + "editEntryDateDialogShift": "Aldatu", + "@editEntryDateDialogShift": {}, + "editEntryLocationDialogLongitude": "Longitudea", + "@editEntryLocationDialogLongitude": {}, + "locationPickerUseThisLocationButton": "Kokapen hau erabili", + "@locationPickerUseThisLocationButton": {}, + "hideFilterConfirmationDialogMessage": "Bat-etortzen diren argazki eta bideoak zure bildumatik ezkutatuko dira. Berriro agerrarazi ditzakezu \"Pribatutasun\" ezarpenetatik.\n\nZiur al zaude ezkuta nahi al dituzula?", + "@hideFilterConfirmationDialogMessage": {}, + "notEnoughSpaceDialogMessage": "Eragiketa hau burutzeko {neededSize}-eko leku librea behar da \"{volume}\"-(e)n, baina, {freeSize}-eko lekua dago soilik.", + "@notEnoughSpaceDialogMessage": { + "placeholders": { + "neededSize": { + "type": "String", + "example": "314 MB" + }, + "freeSize": { + "type": "String", + "example": "123 MB" + }, + "volume": { + "type": "String", + "example": "SD card", + "description": "the name of a storage volume" + } + } + }, + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Album hau eta bertako elementua ezaba nahi al dituzu?} other{Album hau eta bertako {count} elementuak ezaba nahi al dituzu?}}", + "@deleteSingleAlbumConfirmationDialogMessage": { + "placeholders": { + "count": {} + } + }, + "editEntryLocationDialogTitle": "Kokapena", + "@editEntryLocationDialogTitle": {}, + "editEntryLocationDialogChooseOnMap": "Mapan aukeratu", + "@editEntryLocationDialogChooseOnMap": {}, + "editEntryRatingDialogTitle": "Balorazioa", + "@editEntryRatingDialogTitle": {}, + "durationDialogHours": "Ordu", + "@durationDialogHours": {}, + "renameEntrySetPagePreviewSectionTitle": "Aurrebista", + "@renameEntrySetPagePreviewSectionTitle": {}, + "renameProcessorCounter": "Kontagailu", + "@renameProcessorCounter": {}, + "renameProcessorName": "Izena", + "@renameProcessorName": {}, + "editEntryLocationDialogSetCustom": "Kokapen pertsonalizatua ezarri", + "@editEntryLocationDialogSetCustom": {}, + "editEntryLocationDialogLatitude": "Latitudea", + "@editEntryLocationDialogLatitude": {}, + "editEntryDateDialogSourceFileModifiedDate": "Fitxategia aldatu zeneko data", + "@editEntryDateDialogSourceFileModifiedDate": {}, + "durationDialogMinutes": "Minutu", + "@durationDialogMinutes": {}, + "durationDialogSeconds": "Segundu", + "@durationDialogSeconds": {}, + "videoStreamSelectionDialogAudio": "Audioa", + "@videoStreamSelectionDialogAudio": {}, + "viewDialogSortSectionTitle": "Ordenatu", + "@viewDialogSortSectionTitle": {}, + "viewDialogGroupSectionTitle": "Taldea", + "@viewDialogGroupSectionTitle": {}, + "viewDialogLayoutSectionTitle": "Diseinua", + "@viewDialogLayoutSectionTitle": {}, + "tileLayoutMosaic": "Mosaikoa", + "@tileLayoutMosaic": {}, + "coverDialogTabCover": "Azala", + "@coverDialogTabCover": {}, + "aboutLinkPolicy": "Pribatutasun-politika", + "@aboutLinkPolicy": {}, + "videoStreamSelectionDialogTrack": "Pista", + "@videoStreamSelectionDialogTrack": {}, + "removeEntryMetadataDialogTitle": "Metadatuen ezabapena", + "@removeEntryMetadataDialogTitle": {}, + "videoStreamSelectionDialogOff": "Desgaitua", + "@videoStreamSelectionDialogOff": {}, + "videoStreamSelectionDialogVideo": "Bideoa", + "@videoStreamSelectionDialogVideo": {}, + "removeEntryMetadataDialogMore": "Gehiago", + "@removeEntryMetadataDialogMore": {}, + "genericSuccessFeedback": "Egina!", + "@genericSuccessFeedback": {}, + "genericFailureFeedback": "Huts egin du", + "@genericFailureFeedback": {}, + "genericDangerWarningDialogMessage": "Ziur al zaude?", + "@genericDangerWarningDialogMessage": {}, + "menuActionSelect": "Hautatu", + "@menuActionSelect": {}, + "menuActionSelectAll": "Guztiak hautatu", + "@menuActionSelectAll": {}, + "menuActionMap": "Mapa", + "@menuActionMap": {}, + "coverDialogTabApp": "Aplikazioa", + "@coverDialogTabApp": {}, + "appPickDialogTitle": "Aplikazioa aukeratu", + "@appPickDialogTitle": {}, + "appPickDialogNone": "Bat ere ez", + "@appPickDialogNone": {}, + "aboutPageTitle": "Honi buruz", + "@aboutPageTitle": {}, + "aboutLinkLicense": "Lizentzia", + "@aboutLinkLicense": {}, + "removeEntryMetadataMotionPhotoXmpWarningDialogMessage": "Mugimendu-argazkiko bideoa erreproduzitzeko XMP behar da.\n\nZiur al zaude ezabatu nahi duzula?", + "@removeEntryMetadataMotionPhotoXmpWarningDialogMessage": {}, + "videoSpeedDialogLabel": "Erreprodukzio-abiadura", + "@videoSpeedDialogLabel": {}, + "videoStreamSelectionDialogText": "Azpitituluak", + "@videoStreamSelectionDialogText": {}, + "videoStreamSelectionDialogNoSelection": "Ez dago pista gehiagorik.", + "@videoStreamSelectionDialogNoSelection": {}, + "tooManyItemsErrorDialogMessage": "Elementu gutxiagorekin saia zaitez berriro.", + "@tooManyItemsErrorDialogMessage": {}, + "menuActionConfigureView": "Ikusi", + "@menuActionConfigureView": {}, + "menuActionSlideshow": "Aurkezpena", + "@menuActionSlideshow": {}, + "menuActionSelectNone": "Bat ere ez hautatu", + "@menuActionSelectNone": {}, + "viewDialogReverseSortOrder": "Sailkapen-ordena alderantzikatu", + "@viewDialogReverseSortOrder": {}, + "menuActionStats": "Estatistikak", + "@menuActionStats": {}, + "tileLayoutGrid": "Sareta", + "@tileLayoutGrid": {}, + "tileLayoutList": "Zerrenda", + "@tileLayoutList": {}, + "coverDialogTabColor": "Kolorea", + "@coverDialogTabColor": {}, + "aboutBugSectionTitle": "Akatsen berri eman", + "@aboutBugSectionTitle": {}, + "aboutBugCopyInfoButton": "Kopiatu", + "@aboutBugCopyInfoButton": {}, + "aboutBugSaveLogInstruction": "Aplikazioaren erregistroak fitxategi batean gorde", + "@aboutBugSaveLogInstruction": {}, + "aboutBugCopyInfoInstruction": "Sistemako informazioa kopiatu", + "@aboutBugCopyInfoInstruction": {}, + "aboutTranslatorsSectionTitle": "Itzultzaileak", + "@aboutTranslatorsSectionTitle": {}, + "aboutLicensesBanner": "Aplikazio honek hurrengo kode-irekiko pakete eta liburutegiak erabiltzen ditu.", + "@aboutLicensesBanner": {}, + "aboutLicensesAndroidLibrariesSectionTitle": "Androideko liburutegiak", + "@aboutLicensesAndroidLibrariesSectionTitle": {}, + "collectionActionEdit": "Editatu", + "@collectionActionEdit": {}, + "aboutBugReportInstruction": "GitHubera txostena erregistro eta sistemako informazioarekin bidali", + "@aboutBugReportInstruction": {}, + "aboutCreditsSectionTitle": "Kredituak", + "@aboutCreditsSectionTitle": {}, + "aboutBugReportButton": "Txostena bidali", + "@aboutBugReportButton": {}, + "aboutCreditsWorldAtlas1": "Aplikazio honek TopoJSON fitxategi bat erabiltzen du", + "@aboutCreditsWorldAtlas1": {}, + "aboutLicensesFlutterPluginsSectionTitle": "Flutterreko pluginak", + "@aboutLicensesFlutterPluginsSectionTitle": {}, + "aboutCreditsWorldAtlas2": "ISC lizentziapekoa.", + "@aboutCreditsWorldAtlas2": {}, + "collectionSelectPageTitle": "Elementuak hautatu", + "@collectionSelectPageTitle": {}, + "collectionActionHideTitleSearch": "Izenburuen iragazkiak ezkutatu", + "@collectionActionHideTitleSearch": {}, + "collectionActionAddShortcut": "Lasterbidea gehitu", + "@collectionActionAddShortcut": {}, + "collectionActionCopy": "Albumera kopiatu", + "@collectionActionCopy": {}, + "aboutLicensesSectionTitle": "Kode-irekiko lizentziak", + "@aboutLicensesSectionTitle": {}, + "collectionActionMove": "Albumera mugitu", + "@collectionActionMove": {}, + "collectionActionRescan": "Berreskaneatu", + "@collectionActionRescan": {}, + "collectionActionShowTitleSearch": "Izenburuen iragazkiak erakutsi", + "@collectionActionShowTitleSearch": {}, + "collectionActionEmptyBin": "Zakarrontzia hustu", + "@collectionActionEmptyBin": {}, + "collectionGroupAlbum": "Albumaren arabera", + "@collectionGroupAlbum": {}, + "collectionGroupDay": "Egunaren arabera", + "@collectionGroupDay": {}, + "aboutLicensesFlutterPackagesSectionTitle": "Flutterreko paketeak", + "@aboutLicensesFlutterPackagesSectionTitle": {}, + "collectionPickPageTitle": "Aukeratu", + "@collectionPickPageTitle": {}, + "collectionSearchTitlesHintText": "Izenburuak bilatu", + "@collectionSearchTitlesHintText": {}, + "collectionGroupMonth": "Hilabetearen arabera", + "@collectionGroupMonth": {}, + "collectionGroupNone": "Ez taldekatu", + "@collectionGroupNone": {}, + "sectionUnknown": "Ezezaguna", + "@sectionUnknown": {}, + "dateThisMonth": "Hilabete honetan", + "@dateThisMonth": {}, + "collectionCopyFailureFeedback": "{count, plural, =1{Akatsa elementu 1 kopiatzean} other{Akatsa {count} elementu kopiatzean}}", + "@collectionCopyFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionMoveFailureFeedback": "{count, plural, =1{Akatsa elementu 1 mugitzean} other{Akatsa {count} elementu mugitzean}}", + "@collectionMoveFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionRenameFailureFeedback": "{count, plural, =1{Akatsa elementu 1 berrizendatzean} other{Akatsa {count} elementu berrizendatzean}}", + "@collectionRenameFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionEmptyFavourites": "Gogokorik ez", + "@collectionEmptyFavourites": {}, + "collectionCopySuccessFeedback": "{count, plural, =1{Elementu 1 kopiatuta} other{{count} elementu kopiatuta}}", + "@collectionCopySuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionMoveSuccessFeedback": "{count, plural, =1{Elementu 1 mugituta} other{{count} elementu mugituta}}", + "@collectionMoveSuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionRenameSuccessFeedback": "{count, plural, =1{Elementu 1 berrizendatuta} other{{count} elementu berrizendatuta}}", + "@collectionRenameSuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionEditSuccessFeedback": "{count, plural, =1{Elementu 1 editatuta} other{{count} elementu editatuta}}", + "@collectionEditSuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionEmptyImages": "Irudirik ez", + "@collectionEmptyImages": {}, + "collectionEmptyVideos": "Bideorik ez", + "@collectionEmptyVideos": {}, + "aboutLicensesDartPackagesSectionTitle": "Darteko paketeak", + "@aboutLicensesDartPackagesSectionTitle": {}, + "aboutLicensesShowAllButtonLabel": "Lizentzia guztiak erakutsi", + "@aboutLicensesShowAllButtonLabel": {}, + "policyPageTitle": "Pribatutasun-politika", + "@policyPageTitle": {}, + "collectionPageTitle": "Bilduma", + "@collectionPageTitle": {}, + "dateToday": "Gaur", + "@dateToday": {}, + "dateYesterday": "Atzo", + "@dateYesterday": {}, + "collectionDeleteFailureFeedback": "{count, plural, =1{Akatsa elementu 1 ezabatzean} other{Akatsa {count} elementu ezabatzean}}", + "@collectionDeleteFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionEditFailureFeedback": "{count, plural, =1{Akatsa elementu 1 editatzean} other{Akatsa {count} elementu editatzean}}", + "@collectionEditFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionExportFailureFeedback": "{count, plural, =1{Akatsa orri 1 esportatzean} other{Akatsa {count} orri esportatzean}}", + "@collectionExportFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "sortByRating": "Balorazioaren arabera", + "@sortByRating": {}, + "drawerSettingsButton": "Ezarpenak", + "@drawerSettingsButton": {}, + "drawerCountryPage": "Herrialdeak", + "@drawerCountryPage": {}, + "drawerCollectionPanoramas": "Panoramikak", + "@drawerCollectionPanoramas": {}, + "drawerAlbumPage": "Albumak", + "@drawerAlbumPage": {}, + "sortByItemCount": "Elementuen kopuruaren arabera", + "@sortByItemCount": {}, + "sortByAlbumFileName": "Album eta fitxategien izenaren arabera", + "@sortByAlbumFileName": {}, + "drawerCollectionAll": "Bilduma osoa", + "@drawerCollectionAll": {}, + "drawerCollectionFavourites": "Gogokoak", + "@drawerCollectionFavourites": {}, + "drawerCollectionImages": "Irudiak", + "@drawerCollectionImages": {}, + "drawerCollectionAnimated": "Animazioak", + "@drawerCollectionAnimated": {}, + "drawerCollectionMotionPhotos": "Mugimendu-argazkiak", + "@drawerCollectionMotionPhotos": {}, + "drawerCollectionRaws": "Raw argazkiak", + "@drawerCollectionRaws": {}, + "drawerCollectionSphericalVideos": "360°-ko bideoak", + "@drawerCollectionSphericalVideos": {}, + "drawerTagPage": "Etiketak", + "@drawerTagPage": {}, + "sortByDate": "Dataren arabera", + "@sortByDate": {}, + "sortOrderNewestFirst": "Berriena lehenengo", + "@sortOrderNewestFirst": {}, + "drawerCollectionVideos": "Bideoak", + "@drawerCollectionVideos": {}, + "sortByName": "Izenaren arabera", + "@sortByName": {}, + "sortBySize": "Tamainaren arabera", + "@sortBySize": {}, + "collectionEmptyGrantAccessButtonLabel": "Sarrera baimendu", + "@collectionEmptyGrantAccessButtonLabel": {}, + "collectionSelectSectionTooltip": "Atala aukeratu", + "@collectionSelectSectionTooltip": {}, + "collectionDeselectSectionTooltip": "Atala baztertu", + "@collectionDeselectSectionTooltip": {}, + "drawerAboutButton": "Honi buruz", + "@drawerAboutButton": {}, + "sortOrderAtoZ": "Atik Zra", + "@sortOrderAtoZ": {}, + "sortOrderZtoA": "Ztik Ara", + "@sortOrderZtoA": {}, + "sortOrderHighestFirst": "Altuena lehenengo", + "@sortOrderHighestFirst": {}, + "sortOrderLowestFirst": "Baxuena lehenengo", + "@sortOrderLowestFirst": {}, + "sortOrderLargestFirst": "Handiena lehenengo", + "@sortOrderLargestFirst": {}, + "sortOrderOldestFirst": "Zaharrena lehenengo", + "@sortOrderOldestFirst": {}, + "sortOrderSmallestFirst": "Txikiena lehenengo", + "@sortOrderSmallestFirst": {} } diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 4fe017638..3a4a363a5 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -1366,5 +1366,7 @@ "settingsDisplayUseTvInterface": "Interfață Android TV", "@settingsDisplayUseTvInterface": {}, "tooManyItemsErrorDialogMessage": "Încearcă din nou cu mai puține elemente.", - "@tooManyItemsErrorDialogMessage": {} + "@tooManyItemsErrorDialogMessage": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Glisați în sus sau în jos pentru a regla luminozitatea/volumul", + "@settingsVideoGestureVerticalDragBrightnessVolume": {} } diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb new file mode 100644 index 000000000..077d7227a --- /dev/null +++ b/lib/l10n/app_sk.arb @@ -0,0 +1,93 @@ +{ + "deleteButtonLabel": "ODSTRÁNIŤ", + "@deleteButtonLabel": {}, + "appName": "Aves", + "@appName": {}, + "welcomeMessage": "Vitajte v Aves", + "@welcomeMessage": {}, + "cancelTooltip": "ZRUŠIŤ", + "@cancelTooltip": {}, + "changeTooltip": "ZMENIŤ", + "@changeTooltip": {}, + "clearTooltip": "VYČISTIŤ", + "@clearTooltip": {}, + "previousTooltip": "PREDCHÁDZAJÚCE", + "@previousTooltip": {}, + "nextTooltip": "Ďalej", + "@nextTooltip": {}, + "showTooltip": "Zobraziť", + "@showTooltip": {}, + "resetTooltip": "Znovu", + "@resetTooltip": {}, + "saveTooltip": "Uložiť", + "@saveTooltip": {}, + "pickTooltip": "Vybrať", + "@pickTooltip": {}, + "chipActionDelete": "Odstrániť", + "@chipActionDelete": {}, + "welcomeTermsToggle": "Súhlasím s pravidlami a podmienkami", + "@welcomeTermsToggle": {}, + "timeDays": "Dni", + "@timeDays": { + "placeholders": { + "days": {} + } + }, + "focalLength": "Dĺžka", + "@focalLength": { + "placeholders": { + "length": { + "type": "String", + "example": "5.4" + } + } + }, + "applyButtonLabel": "POUŽIŤ", + "@applyButtonLabel": {}, + "continueButtonLabel": "POKRAČOVAŤ", + "@continueButtonLabel": {}, + "doubleBackExitMessage": "Stlač znovu \"späť\" pre ukončenie.", + "@doubleBackExitMessage": {}, + "welcomeOptional": "Voliteľné", + "@welcomeOptional": {}, + "timeMinutes": "Minúty", + "@timeMinutes": { + "placeholders": { + "minutes": {} + } + }, + "nextButtonLabel": "ĎALEJ", + "@nextButtonLabel": {}, + "showButtonLabel": "ZOBRAZIŤ", + "@showButtonLabel": {}, + "hideButtonLabel": "SCHOVAŤ", + "@hideButtonLabel": {}, + "hideTooltip": "Schovať", + "@hideTooltip": {}, + "actionRemove": "Odstrániť", + "@actionRemove": {}, + "sourceStateLoading": "Načítavanie", + "@sourceStateLoading": {}, + "sourceStateCataloguing": "Indexovanie", + "@sourceStateCataloguing": {}, + "doNotAskAgain": "Nepýtať sa znovu", + "@doNotAskAgain": {}, + "chipActionGoToAlbumPage": "Zobraziť v albumoch", + "@chipActionGoToAlbumPage": {}, + "sourceStateLocatingCountries": "Hľadanie krajín", + "@sourceStateLocatingCountries": {}, + "sourceStateLocatingPlaces": "Hľadanie miest", + "@sourceStateLocatingPlaces": {}, + "chipActionGoToCountryPage": "Zobraziť v krajinách", + "@chipActionGoToCountryPage": {}, + "chipActionGoToTagPage": "Zobraziť v označeniach", + "@chipActionGoToTagPage": {}, + "chipActionFilterOut": "Filtrovať", + "@chipActionFilterOut": {}, + "chipActionFilterIn": "Prefiltrovať", + "@chipActionFilterIn": {}, + "chipActionHide": "Skryť", + "@chipActionHide": {}, + "chipActionPin": "Pripnúť na začiatok", + "@chipActionPin": {} +} From c7869ea48df8424894020d3e288c76cdcfb3df49 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Sat, 4 Feb 2023 09:54:24 +0100 Subject: [PATCH 23/44] l10n by weblate (#509) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate-URL: https://hosted.weblate.org/projects/aves/app-android/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/th/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/id/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/eu/ Translation: Aves/App - Android Translation: Aves/App - Main Translation: Aves/Store - Full description Translation: Aves/Store - Short description Co-authored-by: Aitor Salaberria Co-authored-by: Allan Nordhøy Co-authored-by: Eric Co-authored-by: Idj Co-authored-by: Igor Sorocean Co-authored-by: Jan Co-authored-by: Jonatas de Almeida Barros Co-authored-by: Linerly Co-authored-by: Martin Frandel Co-authored-by: MeFinity Co-authored-by: Nattapong K Co-authored-by: Oğuz Ersen Co-authored-by: Salih Ail Co-authored-by: Skrripy Co-authored-by: Thibault Deckers Co-authored-by: Tijolinho Co-authored-by: Translator-3000 Co-authored-by: gallegonovato Co-authored-by: rehork Co-authored-by: slasb37 Co-authored-by: tryvseu Co-authored-by: vesp --- lib/l10n/app_sk.arb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 077d7227a..2fe3e4b6e 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -27,13 +27,13 @@ "@chipActionDelete": {}, "welcomeTermsToggle": "Súhlasím s pravidlami a podmienkami", "@welcomeTermsToggle": {}, - "timeDays": "Dni", + "timeDays": "{days, plural, other{{days} dni}}", "@timeDays": { "placeholders": { "days": {} } }, - "focalLength": "Dĺžka", + "focalLength": "{length} mm", "@focalLength": { "placeholders": { "length": { @@ -50,7 +50,7 @@ "@doubleBackExitMessage": {}, "welcomeOptional": "Voliteľné", "@welcomeOptional": {}, - "timeMinutes": "Minúty", + "timeMinutes": "{minutes, plural, other{{minutes} minúty}}", "@timeMinutes": { "placeholders": { "minutes": {} From 52b60e15b9aacb121dfc376889be85ad6b065599 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 4 Feb 2023 09:59:59 +0100 Subject: [PATCH 24/44] l10n --- lib/widgets/about/translators.dart | 1 + lib/widgets/aves_app.dart | 2 +- untranslated.json | 898 ++++++++++++++++++----------- 3 files changed, 571 insertions(+), 330 deletions(-) diff --git a/lib/widgets/about/translators.dart b/lib/widgets/about/translators.dart index e3155a111..8e6b6cbca 100644 --- a/lib/widgets/about/translators.dart +++ b/lib/widgets/about/translators.dart @@ -54,6 +54,7 @@ class AboutTranslators extends StatelessWidget { // Contributor('Nattapong K', 'mixer5056@gmail.com'), // Thai // Contributor('Idj', 'joneltmp+goahn@gmail.com'), // Hebrew // Contributor('Aitor Salaberria', 'trslbrr@gmail.com'), // Basque + // Contributor('Martin Frandel', 'martinko.fr@gmail.com'), // Slovak }; @override diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 474e7db8b..eb6017bfa 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -55,7 +55,7 @@ class AvesApp extends StatefulWidget { final AppFlavor flavor; // temporary exclude locales not ready yet for prime time - static final _unsupportedLocales = {'ar', 'eu', 'fa', 'gl', 'he', 'nn', 'th'}.map(Locale.new).toSet(); + static final _unsupportedLocales = {'ar', 'eu', 'fa', 'gl', 'he', 'nn', 'sk', 'th'}.map(Locale.new).toSet(); static final List supportedLocales = AppLocalizations.supportedLocales.where((v) => !_unsupportedLocales.contains(v)).toList(); static final ValueNotifier cutoutInsetsNotifier = ValueNotifier(EdgeInsets.zero); static final GlobalKey navigatorKey = GlobalKey(debugLabel: 'app-navigator'); diff --git a/untranslated.json b/untranslated.json index ecf5791fa..ffc6638a6 100644 --- a/untranslated.json +++ b/untranslated.json @@ -577,331 +577,6 @@ ], "eu": [ - "doNotAskAgain", - "sourceStateLoading", - "sourceStateCataloguing", - "sourceStateLocatingCountries", - "sourceStateLocatingPlaces", - "chipActionDelete", - "chipActionGoToAlbumPage", - "chipActionGoToCountryPage", - "chipActionGoToTagPage", - "chipActionFilterOut", - "chipActionFilterIn", - "chipActionHide", - "chipActionPin", - "chipActionUnpin", - "chipActionRename", - "chipActionSetCover", - "chipActionCreateAlbum", - "entryActionCopyToClipboard", - "entryActionDelete", - "entryActionConvert", - "entryActionExport", - "entryActionInfo", - "entryActionRename", - "entryActionRestore", - "entryActionRotateCCW", - "entryActionRotateCW", - "entryActionFlip", - "entryActionPrint", - "entryActionShare", - "entryActionShareImageOnly", - "entryActionShareVideoOnly", - "entryActionViewSource", - "entryActionShowGeoTiffOnMap", - "entryActionConvertMotionPhotoToStillImage", - "entryActionViewMotionPhotoVideo", - "entryActionEdit", - "entryActionOpen", - "entryActionSetAs", - "entryActionOpenMap", - "entryActionRotateScreen", - "entryActionAddFavourite", - "entryActionRemoveFavourite", - "videoActionCaptureFrame", - "videoActionMute", - "videoActionUnmute", - "videoActionPause", - "videoActionPlay", - "videoActionReplay10", - "videoActionSkip10", - "videoActionSelectStreams", - "videoActionSetSpeed", - "videoActionSettings", - "slideshowActionResume", - "slideshowActionShowInCollection", - "entryInfoActionEditDate", - "entryInfoActionEditLocation", - "entryInfoActionEditTitleDescription", - "entryInfoActionEditRating", - "entryInfoActionEditTags", - "entryInfoActionRemoveMetadata", - "entryInfoActionExportMetadata", - "entryInfoActionRemoveLocation", - "filterAspectRatioLandscapeLabel", - "filterAspectRatioPortraitLabel", - "filterBinLabel", - "filterFavouriteLabel", - "filterNoDateLabel", - "filterNoAddressLabel", - "filterLocatedLabel", - "filterNoLocationLabel", - "filterNoRatingLabel", - "filterTaggedLabel", - "filterNoTagLabel", - "filterNoTitleLabel", - "filterOnThisDayLabel", - "filterRecentlyAddedLabel", - "filterRatingRejectedLabel", - "filterTypeAnimatedLabel", - "filterTypeMotionPhotoLabel", - "filterTypePanoramaLabel", - "filterTypeRawLabel", - "filterTypeSphericalVideoLabel", - "filterTypeGeotiffLabel", - "filterMimeImageLabel", - "filterMimeVideoLabel", - "coordinateFormatDms", - "coordinateFormatDecimal", - "coordinateDms", - "coordinateDmsNorth", - "coordinateDmsSouth", - "coordinateDmsEast", - "coordinateDmsWest", - "unitSystemMetric", - "unitSystemImperial", - "videoLoopModeNever", - "videoLoopModeShortOnly", - "videoLoopModeAlways", - "videoControlsPlay", - "videoControlsPlaySeek", - "videoControlsPlayOutside", - "videoControlsNone", - "mapStyleGoogleNormal", - "mapStyleGoogleHybrid", - "mapStyleGoogleTerrain", - "mapStyleHuaweiNormal", - "mapStyleHuaweiTerrain", - "mapStyleOsmHot", - "mapStyleStamenToner", - "mapStyleStamenWatercolor", - "nameConflictStrategyRename", - "nameConflictStrategyReplace", - "nameConflictStrategySkip", - "keepScreenOnNever", - "keepScreenOnVideoPlayback", - "keepScreenOnViewerOnly", - "keepScreenOnAlways", - "accessibilityAnimationsRemove", - "accessibilityAnimationsKeep", - "displayRefreshRatePreferHighest", - "displayRefreshRatePreferLowest", - "subtitlePositionTop", - "subtitlePositionBottom", - "videoPlaybackSkip", - "videoPlaybackMuted", - "videoPlaybackWithSound", - "themeBrightnessLight", - "themeBrightnessDark", - "themeBrightnessBlack", - "viewerTransitionSlide", - "viewerTransitionParallax", - "viewerTransitionFade", - "viewerTransitionZoomIn", - "viewerTransitionNone", - "wallpaperTargetHome", - "wallpaperTargetLock", - "wallpaperTargetHomeLock", - "widgetDisplayedItemRandom", - "widgetDisplayedItemMostRecent", - "widgetOpenPageHome", - "widgetOpenPageCollection", - "widgetOpenPageViewer", - "albumTierNew", - "albumTierPinned", - "albumTierSpecial", - "albumTierApps", - "albumTierRegular", - "storageVolumeDescriptionFallbackPrimary", - "storageVolumeDescriptionFallbackNonPrimary", - "rootDirectoryDescription", - "otherDirectoryDescription", - "storageAccessDialogMessage", - "restrictedAccessDialogMessage", - "notEnoughSpaceDialogMessage", - "missingSystemFilePickerDialogMessage", - "unsupportedTypeDialogMessage", - "nameConflictDialogSingleSourceMessage", - "nameConflictDialogMultipleSourceMessage", - "addShortcutDialogLabel", - "addShortcutButtonLabel", - "noMatchingAppDialogMessage", - "binEntriesConfirmationDialogMessage", - "deleteEntriesConfirmationDialogMessage", - "moveUndatedConfirmationDialogMessage", - "moveUndatedConfirmationDialogSetDate", - "videoResumeDialogMessage", - "videoStartOverButtonLabel", - "videoResumeButtonLabel", - "setCoverDialogLatest", - "setCoverDialogAuto", - "setCoverDialogCustom", - "hideFilterConfirmationDialogMessage", - "newAlbumDialogTitle", - "newAlbumDialogNameLabel", - "newAlbumDialogNameLabelAlreadyExistsHelper", - "newAlbumDialogStorageLabel", - "renameAlbumDialogLabel", - "renameAlbumDialogLabelAlreadyExistsHelper", - "renameEntrySetPageTitle", - "renameEntrySetPagePatternFieldLabel", - "renameEntrySetPageInsertTooltip", - "renameEntrySetPagePreviewSectionTitle", - "renameProcessorCounter", - "renameProcessorName", - "deleteSingleAlbumConfirmationDialogMessage", - "deleteMultiAlbumConfirmationDialogMessage", - "exportEntryDialogFormat", - "exportEntryDialogWidth", - "exportEntryDialogHeight", - "renameEntryDialogLabel", - "editEntryDialogCopyFromItem", - "editEntryDialogTargetFieldsHeader", - "editEntryDateDialogTitle", - "editEntryDateDialogSetCustom", - "editEntryDateDialogCopyField", - "editEntryDateDialogExtractFromTitle", - "editEntryDateDialogShift", - "editEntryDateDialogSourceFileModifiedDate", - "durationDialogHours", - "durationDialogMinutes", - "durationDialogSeconds", - "editEntryLocationDialogTitle", - "editEntryLocationDialogSetCustom", - "editEntryLocationDialogChooseOnMap", - "editEntryLocationDialogLatitude", - "editEntryLocationDialogLongitude", - "locationPickerUseThisLocationButton", - "editEntryRatingDialogTitle", - "removeEntryMetadataDialogTitle", - "removeEntryMetadataDialogMore", - "removeEntryMetadataMotionPhotoXmpWarningDialogMessage", - "videoSpeedDialogLabel", - "videoStreamSelectionDialogVideo", - "videoStreamSelectionDialogAudio", - "videoStreamSelectionDialogText", - "videoStreamSelectionDialogOff", - "videoStreamSelectionDialogTrack", - "videoStreamSelectionDialogNoSelection", - "genericSuccessFeedback", - "genericFailureFeedback", - "genericDangerWarningDialogMessage", - "tooManyItemsErrorDialogMessage", - "menuActionConfigureView", - "menuActionSelect", - "menuActionSelectAll", - "menuActionSelectNone", - "menuActionMap", - "menuActionSlideshow", - "menuActionStats", - "viewDialogSortSectionTitle", - "viewDialogGroupSectionTitle", - "viewDialogLayoutSectionTitle", - "viewDialogReverseSortOrder", - "tileLayoutMosaic", - "tileLayoutGrid", - "tileLayoutList", - "coverDialogTabCover", - "coverDialogTabApp", - "coverDialogTabColor", - "appPickDialogTitle", - "appPickDialogNone", - "aboutPageTitle", - "aboutLinkLicense", - "aboutLinkPolicy", - "aboutBugSectionTitle", - "aboutBugSaveLogInstruction", - "aboutBugCopyInfoInstruction", - "aboutBugCopyInfoButton", - "aboutBugReportInstruction", - "aboutBugReportButton", - "aboutCreditsSectionTitle", - "aboutCreditsWorldAtlas1", - "aboutCreditsWorldAtlas2", - "aboutTranslatorsSectionTitle", - "aboutLicensesSectionTitle", - "aboutLicensesBanner", - "aboutLicensesAndroidLibrariesSectionTitle", - "aboutLicensesFlutterPluginsSectionTitle", - "aboutLicensesFlutterPackagesSectionTitle", - "aboutLicensesDartPackagesSectionTitle", - "aboutLicensesShowAllButtonLabel", - "policyPageTitle", - "collectionPageTitle", - "collectionPickPageTitle", - "collectionSelectPageTitle", - "collectionActionShowTitleSearch", - "collectionActionHideTitleSearch", - "collectionActionAddShortcut", - "collectionActionEmptyBin", - "collectionActionCopy", - "collectionActionMove", - "collectionActionRescan", - "collectionActionEdit", - "collectionSearchTitlesHintText", - "collectionGroupAlbum", - "collectionGroupMonth", - "collectionGroupDay", - "collectionGroupNone", - "sectionUnknown", - "dateToday", - "dateYesterday", - "dateThisMonth", - "collectionDeleteFailureFeedback", - "collectionCopyFailureFeedback", - "collectionMoveFailureFeedback", - "collectionRenameFailureFeedback", - "collectionEditFailureFeedback", - "collectionExportFailureFeedback", - "collectionCopySuccessFeedback", - "collectionMoveSuccessFeedback", - "collectionRenameSuccessFeedback", - "collectionEditSuccessFeedback", - "collectionEmptyFavourites", - "collectionEmptyVideos", - "collectionEmptyImages", - "collectionEmptyGrantAccessButtonLabel", - "collectionSelectSectionTooltip", - "collectionDeselectSectionTooltip", - "drawerAboutButton", - "drawerSettingsButton", - "drawerCollectionAll", - "drawerCollectionFavourites", - "drawerCollectionImages", - "drawerCollectionVideos", - "drawerCollectionAnimated", - "drawerCollectionMotionPhotos", - "drawerCollectionPanoramas", - "drawerCollectionRaws", - "drawerCollectionSphericalVideos", - "drawerAlbumPage", - "drawerCountryPage", - "drawerTagPage", - "sortByDate", - "sortByName", - "sortByItemCount", - "sortBySize", - "sortByAlbumFileName", - "sortByRating", - "sortOrderNewestFirst", - "sortOrderOldestFirst", - "sortOrderAtoZ", - "sortOrderZtoA", - "sortOrderHighestFirst", - "sortOrderLowestFirst", - "sortOrderLargestFirst", - "sortOrderSmallestFirst", "albumGroupTier", "albumGroupType", "albumGroupVolume", @@ -3029,10 +2704,6 @@ "settingsVideoGestureVerticalDragBrightnessVolume" ], - "ro": [ - "settingsVideoGestureVerticalDragBrightnessVolume" - ], - "ru": [ "filterLocatedLabel", "filterTaggedLabel", @@ -3042,6 +2713,575 @@ "settingsDisplayUseTvInterface" ], + "sk": [ + "itemCount", + "columnCount", + "timeSeconds", + "chipActionUnpin", + "chipActionRename", + "chipActionSetCover", + "chipActionCreateAlbum", + "entryActionCopyToClipboard", + "entryActionDelete", + "entryActionConvert", + "entryActionExport", + "entryActionInfo", + "entryActionRename", + "entryActionRestore", + "entryActionRotateCCW", + "entryActionRotateCW", + "entryActionFlip", + "entryActionPrint", + "entryActionShare", + "entryActionShareImageOnly", + "entryActionShareVideoOnly", + "entryActionViewSource", + "entryActionShowGeoTiffOnMap", + "entryActionConvertMotionPhotoToStillImage", + "entryActionViewMotionPhotoVideo", + "entryActionEdit", + "entryActionOpen", + "entryActionSetAs", + "entryActionOpenMap", + "entryActionRotateScreen", + "entryActionAddFavourite", + "entryActionRemoveFavourite", + "videoActionCaptureFrame", + "videoActionMute", + "videoActionUnmute", + "videoActionPause", + "videoActionPlay", + "videoActionReplay10", + "videoActionSkip10", + "videoActionSelectStreams", + "videoActionSetSpeed", + "videoActionSettings", + "slideshowActionResume", + "slideshowActionShowInCollection", + "entryInfoActionEditDate", + "entryInfoActionEditLocation", + "entryInfoActionEditTitleDescription", + "entryInfoActionEditRating", + "entryInfoActionEditTags", + "entryInfoActionRemoveMetadata", + "entryInfoActionExportMetadata", + "entryInfoActionRemoveLocation", + "filterAspectRatioLandscapeLabel", + "filterAspectRatioPortraitLabel", + "filterBinLabel", + "filterFavouriteLabel", + "filterNoDateLabel", + "filterNoAddressLabel", + "filterLocatedLabel", + "filterNoLocationLabel", + "filterNoRatingLabel", + "filterTaggedLabel", + "filterNoTagLabel", + "filterNoTitleLabel", + "filterOnThisDayLabel", + "filterRecentlyAddedLabel", + "filterRatingRejectedLabel", + "filterTypeAnimatedLabel", + "filterTypeMotionPhotoLabel", + "filterTypePanoramaLabel", + "filterTypeRawLabel", + "filterTypeSphericalVideoLabel", + "filterTypeGeotiffLabel", + "filterMimeImageLabel", + "filterMimeVideoLabel", + "coordinateFormatDms", + "coordinateFormatDecimal", + "coordinateDms", + "coordinateDmsNorth", + "coordinateDmsSouth", + "coordinateDmsEast", + "coordinateDmsWest", + "unitSystemMetric", + "unitSystemImperial", + "videoLoopModeNever", + "videoLoopModeShortOnly", + "videoLoopModeAlways", + "videoControlsPlay", + "videoControlsPlaySeek", + "videoControlsPlayOutside", + "videoControlsNone", + "mapStyleGoogleNormal", + "mapStyleGoogleHybrid", + "mapStyleGoogleTerrain", + "mapStyleHuaweiNormal", + "mapStyleHuaweiTerrain", + "mapStyleOsmHot", + "mapStyleStamenToner", + "mapStyleStamenWatercolor", + "nameConflictStrategyRename", + "nameConflictStrategyReplace", + "nameConflictStrategySkip", + "keepScreenOnNever", + "keepScreenOnVideoPlayback", + "keepScreenOnViewerOnly", + "keepScreenOnAlways", + "accessibilityAnimationsRemove", + "accessibilityAnimationsKeep", + "displayRefreshRatePreferHighest", + "displayRefreshRatePreferLowest", + "subtitlePositionTop", + "subtitlePositionBottom", + "videoPlaybackSkip", + "videoPlaybackMuted", + "videoPlaybackWithSound", + "themeBrightnessLight", + "themeBrightnessDark", + "themeBrightnessBlack", + "viewerTransitionSlide", + "viewerTransitionParallax", + "viewerTransitionFade", + "viewerTransitionZoomIn", + "viewerTransitionNone", + "wallpaperTargetHome", + "wallpaperTargetLock", + "wallpaperTargetHomeLock", + "widgetDisplayedItemRandom", + "widgetDisplayedItemMostRecent", + "widgetOpenPageHome", + "widgetOpenPageCollection", + "widgetOpenPageViewer", + "albumTierNew", + "albumTierPinned", + "albumTierSpecial", + "albumTierApps", + "albumTierRegular", + "storageVolumeDescriptionFallbackPrimary", + "storageVolumeDescriptionFallbackNonPrimary", + "rootDirectoryDescription", + "otherDirectoryDescription", + "storageAccessDialogMessage", + "restrictedAccessDialogMessage", + "notEnoughSpaceDialogMessage", + "missingSystemFilePickerDialogMessage", + "unsupportedTypeDialogMessage", + "nameConflictDialogSingleSourceMessage", + "nameConflictDialogMultipleSourceMessage", + "addShortcutDialogLabel", + "addShortcutButtonLabel", + "noMatchingAppDialogMessage", + "binEntriesConfirmationDialogMessage", + "deleteEntriesConfirmationDialogMessage", + "moveUndatedConfirmationDialogMessage", + "moveUndatedConfirmationDialogSetDate", + "videoResumeDialogMessage", + "videoStartOverButtonLabel", + "videoResumeButtonLabel", + "setCoverDialogLatest", + "setCoverDialogAuto", + "setCoverDialogCustom", + "hideFilterConfirmationDialogMessage", + "newAlbumDialogTitle", + "newAlbumDialogNameLabel", + "newAlbumDialogNameLabelAlreadyExistsHelper", + "newAlbumDialogStorageLabel", + "renameAlbumDialogLabel", + "renameAlbumDialogLabelAlreadyExistsHelper", + "renameEntrySetPageTitle", + "renameEntrySetPagePatternFieldLabel", + "renameEntrySetPageInsertTooltip", + "renameEntrySetPagePreviewSectionTitle", + "renameProcessorCounter", + "renameProcessorName", + "deleteSingleAlbumConfirmationDialogMessage", + "deleteMultiAlbumConfirmationDialogMessage", + "exportEntryDialogFormat", + "exportEntryDialogWidth", + "exportEntryDialogHeight", + "renameEntryDialogLabel", + "editEntryDialogCopyFromItem", + "editEntryDialogTargetFieldsHeader", + "editEntryDateDialogTitle", + "editEntryDateDialogSetCustom", + "editEntryDateDialogCopyField", + "editEntryDateDialogExtractFromTitle", + "editEntryDateDialogShift", + "editEntryDateDialogSourceFileModifiedDate", + "durationDialogHours", + "durationDialogMinutes", + "durationDialogSeconds", + "editEntryLocationDialogTitle", + "editEntryLocationDialogSetCustom", + "editEntryLocationDialogChooseOnMap", + "editEntryLocationDialogLatitude", + "editEntryLocationDialogLongitude", + "locationPickerUseThisLocationButton", + "editEntryRatingDialogTitle", + "removeEntryMetadataDialogTitle", + "removeEntryMetadataDialogMore", + "removeEntryMetadataMotionPhotoXmpWarningDialogMessage", + "videoSpeedDialogLabel", + "videoStreamSelectionDialogVideo", + "videoStreamSelectionDialogAudio", + "videoStreamSelectionDialogText", + "videoStreamSelectionDialogOff", + "videoStreamSelectionDialogTrack", + "videoStreamSelectionDialogNoSelection", + "genericSuccessFeedback", + "genericFailureFeedback", + "genericDangerWarningDialogMessage", + "tooManyItemsErrorDialogMessage", + "menuActionConfigureView", + "menuActionSelect", + "menuActionSelectAll", + "menuActionSelectNone", + "menuActionMap", + "menuActionSlideshow", + "menuActionStats", + "viewDialogSortSectionTitle", + "viewDialogGroupSectionTitle", + "viewDialogLayoutSectionTitle", + "viewDialogReverseSortOrder", + "tileLayoutMosaic", + "tileLayoutGrid", + "tileLayoutList", + "coverDialogTabCover", + "coverDialogTabApp", + "coverDialogTabColor", + "appPickDialogTitle", + "appPickDialogNone", + "aboutPageTitle", + "aboutLinkLicense", + "aboutLinkPolicy", + "aboutBugSectionTitle", + "aboutBugSaveLogInstruction", + "aboutBugCopyInfoInstruction", + "aboutBugCopyInfoButton", + "aboutBugReportInstruction", + "aboutBugReportButton", + "aboutCreditsSectionTitle", + "aboutCreditsWorldAtlas1", + "aboutCreditsWorldAtlas2", + "aboutTranslatorsSectionTitle", + "aboutLicensesSectionTitle", + "aboutLicensesBanner", + "aboutLicensesAndroidLibrariesSectionTitle", + "aboutLicensesFlutterPluginsSectionTitle", + "aboutLicensesFlutterPackagesSectionTitle", + "aboutLicensesDartPackagesSectionTitle", + "aboutLicensesShowAllButtonLabel", + "policyPageTitle", + "collectionPageTitle", + "collectionPickPageTitle", + "collectionSelectPageTitle", + "collectionActionShowTitleSearch", + "collectionActionHideTitleSearch", + "collectionActionAddShortcut", + "collectionActionEmptyBin", + "collectionActionCopy", + "collectionActionMove", + "collectionActionRescan", + "collectionActionEdit", + "collectionSearchTitlesHintText", + "collectionGroupAlbum", + "collectionGroupMonth", + "collectionGroupDay", + "collectionGroupNone", + "sectionUnknown", + "dateToday", + "dateYesterday", + "dateThisMonth", + "collectionDeleteFailureFeedback", + "collectionCopyFailureFeedback", + "collectionMoveFailureFeedback", + "collectionRenameFailureFeedback", + "collectionEditFailureFeedback", + "collectionExportFailureFeedback", + "collectionCopySuccessFeedback", + "collectionMoveSuccessFeedback", + "collectionRenameSuccessFeedback", + "collectionEditSuccessFeedback", + "collectionEmptyFavourites", + "collectionEmptyVideos", + "collectionEmptyImages", + "collectionEmptyGrantAccessButtonLabel", + "collectionSelectSectionTooltip", + "collectionDeselectSectionTooltip", + "drawerAboutButton", + "drawerSettingsButton", + "drawerCollectionAll", + "drawerCollectionFavourites", + "drawerCollectionImages", + "drawerCollectionVideos", + "drawerCollectionAnimated", + "drawerCollectionMotionPhotos", + "drawerCollectionPanoramas", + "drawerCollectionRaws", + "drawerCollectionSphericalVideos", + "drawerAlbumPage", + "drawerCountryPage", + "drawerTagPage", + "sortByDate", + "sortByName", + "sortByItemCount", + "sortBySize", + "sortByAlbumFileName", + "sortByRating", + "sortOrderNewestFirst", + "sortOrderOldestFirst", + "sortOrderAtoZ", + "sortOrderZtoA", + "sortOrderHighestFirst", + "sortOrderLowestFirst", + "sortOrderLargestFirst", + "sortOrderSmallestFirst", + "albumGroupTier", + "albumGroupType", + "albumGroupVolume", + "albumGroupNone", + "albumMimeTypeMixed", + "albumPickPageTitleCopy", + "albumPickPageTitleExport", + "albumPickPageTitleMove", + "albumPickPageTitlePick", + "albumCamera", + "albumDownload", + "albumScreenshots", + "albumScreenRecordings", + "albumVideoCaptures", + "albumPageTitle", + "albumEmpty", + "createAlbumTooltip", + "createAlbumButtonLabel", + "newFilterBanner", + "countryPageTitle", + "countryEmpty", + "tagPageTitle", + "tagEmpty", + "binPageTitle", + "searchCollectionFieldHint", + "searchRecentSectionTitle", + "searchDateSectionTitle", + "searchAlbumsSectionTitle", + "searchCountriesSectionTitle", + "searchPlacesSectionTitle", + "searchTagsSectionTitle", + "searchRatingSectionTitle", + "searchMetadataSectionTitle", + "settingsPageTitle", + "settingsSystemDefault", + "settingsDefault", + "settingsDisabled", + "settingsModificationWarningDialogMessage", + "settingsSearchFieldLabel", + "settingsSearchEmpty", + "settingsActionExport", + "settingsActionExportDialogTitle", + "settingsActionImport", + "settingsActionImportDialogTitle", + "appExportCovers", + "appExportFavourites", + "appExportSettings", + "settingsNavigationSectionTitle", + "settingsHomeTile", + "settingsHomeDialogTitle", + "settingsShowBottomNavigationBar", + "settingsKeepScreenOnTile", + "settingsKeepScreenOnDialogTitle", + "settingsDoubleBackExit", + "settingsConfirmationTile", + "settingsConfirmationDialogTitle", + "settingsConfirmationBeforeDeleteItems", + "settingsConfirmationBeforeMoveToBinItems", + "settingsConfirmationBeforeMoveUndatedItems", + "settingsConfirmationAfterMoveToBinItems", + "settingsNavigationDrawerTile", + "settingsNavigationDrawerEditorPageTitle", + "settingsNavigationDrawerBanner", + "settingsNavigationDrawerTabTypes", + "settingsNavigationDrawerTabAlbums", + "settingsNavigationDrawerTabPages", + "settingsNavigationDrawerAddAlbum", + "settingsThumbnailSectionTitle", + "settingsThumbnailOverlayTile", + "settingsThumbnailOverlayPageTitle", + "settingsThumbnailShowFavouriteIcon", + "settingsThumbnailShowTagIcon", + "settingsThumbnailShowLocationIcon", + "settingsThumbnailShowMotionPhotoIcon", + "settingsThumbnailShowRating", + "settingsThumbnailShowRawIcon", + "settingsThumbnailShowVideoDuration", + "settingsCollectionQuickActionsTile", + "settingsCollectionQuickActionEditorPageTitle", + "settingsCollectionQuickActionTabBrowsing", + "settingsCollectionQuickActionTabSelecting", + "settingsCollectionBrowsingQuickActionEditorBanner", + "settingsCollectionSelectionQuickActionEditorBanner", + "settingsViewerSectionTitle", + "settingsViewerGestureSideTapNext", + "settingsViewerUseCutout", + "settingsViewerMaximumBrightness", + "settingsMotionPhotoAutoPlay", + "settingsImageBackground", + "settingsViewerQuickActionsTile", + "settingsViewerQuickActionEditorPageTitle", + "settingsViewerQuickActionEditorBanner", + "settingsViewerQuickActionEditorDisplayedButtonsSectionTitle", + "settingsViewerQuickActionEditorAvailableButtonsSectionTitle", + "settingsViewerQuickActionEmpty", + "settingsViewerOverlayTile", + "settingsViewerOverlayPageTitle", + "settingsViewerShowOverlayOnOpening", + "settingsViewerShowMinimap", + "settingsViewerShowInformation", + "settingsViewerShowInformationSubtitle", + "settingsViewerShowRatingTags", + "settingsViewerShowShootingDetails", + "settingsViewerShowDescription", + "settingsViewerShowOverlayThumbnails", + "settingsViewerEnableOverlayBlurEffect", + "settingsViewerSlideshowTile", + "settingsViewerSlideshowPageTitle", + "settingsSlideshowRepeat", + "settingsSlideshowShuffle", + "settingsSlideshowFillScreen", + "settingsSlideshowAnimatedZoomEffect", + "settingsSlideshowTransitionTile", + "settingsSlideshowIntervalTile", + "settingsSlideshowVideoPlaybackTile", + "settingsSlideshowVideoPlaybackDialogTitle", + "settingsVideoPageTitle", + "settingsVideoSectionTitle", + "settingsVideoShowVideos", + "settingsVideoEnableHardwareAcceleration", + "settingsVideoAutoPlay", + "settingsVideoLoopModeTile", + "settingsVideoLoopModeDialogTitle", + "settingsSubtitleThemeTile", + "settingsSubtitleThemePageTitle", + "settingsSubtitleThemeSample", + "settingsSubtitleThemeTextAlignmentTile", + "settingsSubtitleThemeTextAlignmentDialogTitle", + "settingsSubtitleThemeTextPositionTile", + "settingsSubtitleThemeTextPositionDialogTitle", + "settingsSubtitleThemeTextSize", + "settingsSubtitleThemeShowOutline", + "settingsSubtitleThemeTextColor", + "settingsSubtitleThemeTextOpacity", + "settingsSubtitleThemeBackgroundColor", + "settingsSubtitleThemeBackgroundOpacity", + "settingsSubtitleThemeTextAlignmentLeft", + "settingsSubtitleThemeTextAlignmentCenter", + "settingsSubtitleThemeTextAlignmentRight", + "settingsVideoControlsTile", + "settingsVideoControlsPageTitle", + "settingsVideoButtonsTile", + "settingsVideoGestureDoubleTapTogglePlay", + "settingsVideoGestureSideDoubleTapSeek", + "settingsVideoGestureVerticalDragBrightnessVolume", + "settingsPrivacySectionTitle", + "settingsAllowInstalledAppAccess", + "settingsAllowInstalledAppAccessSubtitle", + "settingsAllowErrorReporting", + "settingsSaveSearchHistory", + "settingsEnableBin", + "settingsEnableBinSubtitle", + "settingsAllowMediaManagement", + "settingsHiddenItemsTile", + "settingsHiddenItemsPageTitle", + "settingsHiddenItemsTabFilters", + "settingsHiddenFiltersBanner", + "settingsHiddenFiltersEmpty", + "settingsHiddenItemsTabPaths", + "settingsHiddenPathsBanner", + "addPathTooltip", + "settingsStorageAccessTile", + "settingsStorageAccessPageTitle", + "settingsStorageAccessBanner", + "settingsStorageAccessEmpty", + "settingsStorageAccessRevokeTooltip", + "settingsAccessibilitySectionTitle", + "settingsRemoveAnimationsTile", + "settingsRemoveAnimationsDialogTitle", + "settingsTimeToTakeActionTile", + "settingsAccessibilityShowPinchGestureAlternatives", + "settingsDisplaySectionTitle", + "settingsThemeBrightnessTile", + "settingsThemeBrightnessDialogTitle", + "settingsThemeColorHighlights", + "settingsThemeEnableDynamicColor", + "settingsDisplayRefreshRateModeTile", + "settingsDisplayRefreshRateModeDialogTitle", + "settingsDisplayUseTvInterface", + "settingsLanguageSectionTitle", + "settingsLanguageTile", + "settingsLanguagePageTitle", + "settingsCoordinateFormatTile", + "settingsCoordinateFormatDialogTitle", + "settingsUnitSystemTile", + "settingsUnitSystemDialogTitle", + "settingsScreenSaverPageTitle", + "settingsWidgetPageTitle", + "settingsWidgetShowOutline", + "settingsWidgetOpenPage", + "settingsWidgetDisplayedItem", + "settingsCollectionTile", + "statsPageTitle", + "statsWithGps", + "statsTopCountriesSectionTitle", + "statsTopPlacesSectionTitle", + "statsTopTagsSectionTitle", + "statsTopAlbumsSectionTitle", + "viewerOpenPanoramaButtonLabel", + "viewerSetWallpaperButtonLabel", + "viewerErrorUnknown", + "viewerErrorDoesNotExist", + "viewerInfoPageTitle", + "viewerInfoBackToViewerTooltip", + "viewerInfoUnknown", + "viewerInfoLabelDescription", + "viewerInfoLabelTitle", + "viewerInfoLabelDate", + "viewerInfoLabelResolution", + "viewerInfoLabelSize", + "viewerInfoLabelUri", + "viewerInfoLabelPath", + "viewerInfoLabelDuration", + "viewerInfoLabelOwner", + "viewerInfoLabelCoordinates", + "viewerInfoLabelAddress", + "mapStyleDialogTitle", + "mapStyleTooltip", + "mapZoomInTooltip", + "mapZoomOutTooltip", + "mapPointNorthUpTooltip", + "mapAttributionOsmHot", + "mapAttributionStamen", + "openMapPageTooltip", + "mapEmptyRegion", + "viewerInfoOpenEmbeddedFailureFeedback", + "viewerInfoOpenLinkText", + "viewerInfoViewXmlLinkText", + "viewerInfoSearchFieldLabel", + "viewerInfoSearchEmpty", + "viewerInfoSearchSuggestionDate", + "viewerInfoSearchSuggestionDescription", + "viewerInfoSearchSuggestionDimensions", + "viewerInfoSearchSuggestionResolution", + "viewerInfoSearchSuggestionRights", + "wallpaperUseScrollEffect", + "tagEditorPageTitle", + "tagEditorPageNewTagFieldLabel", + "tagEditorPageAddTagTooltip", + "tagEditorSectionRecent", + "tagEditorSectionPlaceholders", + "tagPlaceholderCountry", + "tagPlaceholderPlace", + "panoramaEnableSensorControl", + "panoramaDisableSensorControl", + "sourceViewerPageTitle", + "filePickerShowHiddenFiles", + "filePickerDoNotShowHiddenFiles", + "filePickerOpenFrom", + "filePickerNoItems", + "filePickerUseThisFolder" + ], + "th": [ "itemCount", "columnCount", From f07244c144e742d59b76f33744e7d27a77d20df3 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 5 Feb 2023 17:02:44 +0100 Subject: [PATCH 25/44] #490 viewer: export actions available as quick actions --- CHANGELOG.md | 1 + lib/model/actions/entry_actions.dart | 8 +++++--- .../settings/viewer/viewer_actions_editor.dart | 1 + lib/widgets/viewer/overlay/viewer_buttons.dart | 13 +++++++------ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba69ded24..ad150379a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. ### Added - Viewer: overlay details expand/collapse on tap +- Viewer: export actions available as quick actions - TV: improved support for Info ### Changed diff --git a/lib/model/actions/entry_actions.dart b/lib/model/actions/entry_actions.dart index 0a653b736..bbb10638b 100644 --- a/lib/model/actions/entry_actions.dart +++ b/lib/model/actions/entry_actions.dart @@ -71,13 +71,15 @@ class EntryActions { ]; static const export = [ + ...exportInternal, + ...exportExternal, + ]; + + static const exportInternal = [ EntryAction.convert, EntryAction.addShortcut, EntryAction.copyToClipboard, EntryAction.print, - EntryAction.open, - EntryAction.openMap, - EntryAction.setAs, ]; static const exportExternal = [ diff --git a/lib/widgets/settings/viewer/viewer_actions_editor.dart b/lib/widgets/settings/viewer/viewer_actions_editor.dart index 8b63bf131..98e58fa27 100644 --- a/lib/widgets/settings/viewer/viewer_actions_editor.dart +++ b/lib/widgets/settings/viewer/viewer_actions_editor.dart @@ -25,6 +25,7 @@ class ViewerActionEditorPage extends StatelessWidget { EntryAction.flip, ], [ + ...EntryActions.exportInternal, EntryAction.videoCaptureFrame, EntryAction.videoToggleMute, EntryAction.videoSetSpeed, diff --git a/lib/widgets/viewer/overlay/viewer_buttons.dart b/lib/widgets/viewer/overlay/viewer_buttons.dart index 3ce1e4c6d..a02bb9899 100644 --- a/lib/widgets/viewer/overlay/viewer_buttons.dart +++ b/lib/widgets/viewer/overlay/viewer_buttons.dart @@ -71,15 +71,16 @@ class ViewerButtons extends StatelessWidget { selector: (context, s) => s.isRotationLocked, builder: (context, s, child) { final quickActions = (trashed ? EntryActions.trashed : settings.viewerQuickActions).where(actionDelegate.isVisible).where(actionDelegate.canApply).take(availableCount - 1).toList(); - final topLevelActions = EntryActions.topLevel.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); - final exportActions = EntryActions.export.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); - final videoActions = EntryActions.video.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); + List getMenuActions(List categoryActions) { + return categoryActions.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); + } + return ViewerButtonRowContent( actionDelegate: EntryActionDelegate(mainEntry, pageEntry, collection), quickActions: quickActions, - topLevelActions: topLevelActions, - exportActions: exportActions, - videoActions: videoActions, + topLevelActions: getMenuActions(EntryActions.topLevel), + exportActions: getMenuActions(EntryActions.export), + videoActions: getMenuActions(EntryActions.video), scale: scale, mainEntry: mainEntry, pageEntry: pageEntry, From f62c31a46bbb45f0fac90eb9e1e5edf23503cdcf Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 5 Feb 2023 18:07:41 +0100 Subject: [PATCH 26/44] minor --- .../main/kotlin/deckers/thibault/aves/AnalysisService.kt | 5 ++++- .../kotlin/deckers/thibault/aves/HomeWidgetProvider.kt | 7 +++++-- .../deckers/thibault/aves/SearchSuggestionsProvider.kt | 5 ++++- lib/widgets/viewer/info/basic_section.dart | 8 +++++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt b/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt index 23204d09a..af0be10bb 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisService.kt @@ -79,7 +79,10 @@ class AnalysisService : Service() { } private fun initChannels(context: Context) { - val messenger = flutterEngine!!.dartExecutor + val engine = flutterEngine + engine ?: throw Exception("Flutter engine is not initialized") + + val messenger = engine.dartExecutor // channels for analysis diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt index 307eadc55..20961ea40 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetProvider.kt @@ -90,7 +90,7 @@ class HomeWidgetProvider : AppWidgetProvider() { val messenger = flutterEngine!!.dartExecutor val channel = MethodChannel(messenger, WIDGET_DRAW_CHANNEL) try { - val bytes = suspendCoroutine { cont -> + val bytes = suspendCoroutine { cont -> defaultScope.launch { FlutterUtils.runOnUiThread { channel.invokeMethod("drawWidget", hashMapOf( @@ -194,7 +194,10 @@ class HomeWidgetProvider : AppWidgetProvider() { } private fun initChannels(context: Context) { - val messenger = flutterEngine!!.dartExecutor + val engine = flutterEngine + engine ?: throw Exception("Flutter engine is not initialized") + + val messenger = engine.dartExecutor // dart -> platform -> dart // - need Context diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt index 4627eeb52..4429cd878 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt @@ -72,7 +72,10 @@ class SearchSuggestionsProvider : ContentProvider() { } } - val messenger = flutterEngine!!.dartExecutor + val engine = flutterEngine + engine ?: throw Exception("Flutter engine is not initialized") + + val messenger = engine.dartExecutor val backgroundChannel = MethodChannel(messenger, BACKGROUND_CHANNEL).apply { setMethodCallHandler { call, result -> when (call.method) { diff --git a/lib/widgets/viewer/info/basic_section.dart b/lib/widgets/viewer/info/basic_section.dart index f35351432..1f3d8e7e4 100644 --- a/lib/widgets/viewer/info/basic_section.dart +++ b/lib/widgets/viewer/info/basic_section.dart @@ -235,9 +235,11 @@ class _BasicSectionState extends State { void _onScrollingChanged() { if (!widget.isScrollingNotifier.value) { - // using `autofocus` while scrolling seems to fail for widget built offscreen - // so we give focus to this page when the screen is no longer scrolling - _chipFocusNode.children.firstOrNull?.requestFocus(); + if (settings.useTvLayout) { + // using `autofocus` while scrolling seems to fail for widget built offscreen + // so we give focus to this page when the screen is no longer scrolling + _chipFocusNode.children.firstOrNull?.requestFocus(); + } } } } From 8ced40a85320424341f770b06a1291bb15ff5d14 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 5 Feb 2023 19:45:03 +0100 Subject: [PATCH 27/44] #401 slideshow: added settings quick action --- CHANGELOG.md | 1 + lib/l10n/app_cs.arb | 2 +- lib/l10n/app_de.arb | 2 +- lib/l10n/app_el.arb | 2 +- lib/l10n/app_en.arb | 3 +- lib/l10n/app_es.arb | 2 +- lib/l10n/app_eu.arb | 2 +- lib/l10n/app_fa.arb | 2 +- lib/l10n/app_fr.arb | 2 +- lib/l10n/app_gl.arb | 2 +- lib/l10n/app_id.arb | 2 +- lib/l10n/app_it.arb | 2 +- lib/l10n/app_ja.arb | 2 +- lib/l10n/app_ko.arb | 2 +- lib/l10n/app_lt.arb | 2 +- lib/l10n/app_nb.arb | 2 +- lib/l10n/app_nl.arb | 2 +- lib/l10n/app_nn.arb | 2 +- lib/l10n/app_pl.arb | 2 +- lib/l10n/app_pt.arb | 2 +- lib/l10n/app_ro.arb | 2 +- lib/l10n/app_ru.arb | 2 +- lib/l10n/app_th.arb | 2 +- lib/l10n/app_tr.arb | 2 +- lib/l10n/app_uk.arb | 2 +- lib/l10n/app_zh.arb | 2 +- lib/l10n/app_zh_Hant.arb | 2 +- lib/model/actions/entry_actions.dart | 2 +- lib/model/actions/slideshow_actions.dart | 5 ++ lib/widgets/viewer/entry_viewer_stack.dart | 1 + .../viewer/overlay/slideshow_buttons.dart | 1 + lib/widgets/viewer/slideshow_page.dart | 84 ++++++++++++++----- untranslated.json | 6 +- 33 files changed, 101 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad150379a..3c27b5109 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - Viewer: overlay details expand/collapse on tap - Viewer: export actions available as quick actions +- Slideshow: added settings quick action - TV: improved support for Info ### Changed diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index a71ed9f5b..ef6c8405d 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -168,7 +168,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Rychlost přehrávání", "@videoActionSetSpeed": {}, - "videoActionSettings": "Nastavení", + "viewerActionSettings": "Nastavení", "@videoActionSettings": {}, "slideshowActionResume": "Pokračovat", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 3e93771d4..850f08333 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Wiedergabegeschwindigkeit", "@videoActionSetSpeed": {}, - "videoActionSettings": "Einstellungen", + "viewerActionSettings": "Einstellungen", "@videoActionSettings": {}, "slideshowActionResume": "Wiedergabe", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index 6214117be..e5cd50c77 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Ταχύτητα αναπαραγωγής", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ρυθμίσεις", + "viewerActionSettings": "Ρυθμίσεις", "@videoActionSettings": {}, "slideshowActionResume": "Συνέχιση", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1141b9bfb..cabefa0be 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -119,7 +119,8 @@ "videoActionSkip10": "Seek forward 10 seconds", "videoActionSelectStreams": "Select tracks", "videoActionSetSpeed": "Playback speed", - "videoActionSettings": "Settings", + + "viewerActionSettings": "Settings", "slideshowActionResume": "Resume", "slideshowActionShowInCollection": "Show in Collection", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index e4609e5fd..14779c3c9 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocidad de reproducción", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ajustes", + "viewerActionSettings": "Ajustes", "@videoActionSettings": {}, "slideshowActionResume": "Reanudar", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 2582ed635..752a6cf37 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -393,7 +393,7 @@ "@videoActionPlay": {}, "videoActionReplay10": "10 segundu atzera egin", "@videoActionReplay10": {}, - "videoActionSettings": "Ezarpenak", + "viewerActionSettings": "Ezarpenak", "@videoActionSettings": {}, "entryInfoActionEditDate": "Data eta ordua editatu", "@entryInfoActionEditDate": {}, diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 9c1c2e9a3..81da9fdb4 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -161,7 +161,7 @@ "@videoActionUnmute": {}, "videoActionSkip10": "جلو رفتن 10 ثانیه", "@videoActionSkip10": {}, - "videoActionSettings": "تنظیمات", + "viewerActionSettings": "تنظیمات", "@videoActionSettings": {}, "entryInfoActionEditRating": "ویرایش رتبه", "@entryInfoActionEditRating": {}, diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index c62ac6bb8..3932636d0 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Vitesse de lecture", "@videoActionSetSpeed": {}, - "videoActionSettings": "Préférences", + "viewerActionSettings": "Préférences", "@videoActionSettings": {}, "slideshowActionResume": "Reprendre", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_gl.arb b/lib/l10n/app_gl.arb index 19cb3e1ed..5cb9f7131 100644 --- a/lib/l10n/app_gl.arb +++ b/lib/l10n/app_gl.arb @@ -119,7 +119,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocidade de reprodución", "@videoActionSetSpeed": {}, - "videoActionSettings": "Configuración", + "viewerActionSettings": "Configuración", "@videoActionSettings": {}, "slideshowActionResume": "Resumo", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 1d9639b19..c2b23a731 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Kecepatan pemutaran", "@videoActionSetSpeed": {}, - "videoActionSettings": "Pengaturan", + "viewerActionSettings": "Pengaturan", "@videoActionSettings": {}, "slideshowActionResume": "Lanjutkan", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index ef917a0ab..eb95d8a80 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocità di riproduzione", "@videoActionSetSpeed": {}, - "videoActionSettings": "Impostazioni", + "viewerActionSettings": "Impostazioni", "@videoActionSettings": {}, "slideshowActionResume": "Riprendi", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 3c0255923..3e042b44d 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "再生速度", "@videoActionSetSpeed": {}, - "videoActionSettings": "設定", + "viewerActionSettings": "設定", "@videoActionSettings": {}, "slideshowActionResume": "再開", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index 4a3c0ee2a..14366a476 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "재생 배속", "@videoActionSetSpeed": {}, - "videoActionSettings": "설정", + "viewerActionSettings": "설정", "@videoActionSettings": {}, "slideshowActionResume": "이어서", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_lt.arb b/lib/l10n/app_lt.arb index 753348ed7..70b40b769 100644 --- a/lib/l10n/app_lt.arb +++ b/lib/l10n/app_lt.arb @@ -97,7 +97,7 @@ "@videoActionSkip10": {}, "videoActionSetSpeed": "Atkūrimo greitis", "@videoActionSetSpeed": {}, - "videoActionSettings": "Nustatymai", + "viewerActionSettings": "Nustatymai", "@videoActionSettings": {}, "slideshowActionResume": "Tęsti", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index ecd127a82..29c74a4f8 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -76,7 +76,7 @@ "@videoActionSkip10": {}, "videoActionSetSpeed": "Avspillingshastighet", "@videoActionSetSpeed": {}, - "videoActionSettings": "Innstillinger", + "viewerActionSettings": "Innstillinger", "@videoActionSettings": {}, "entryInfoActionEditTitleDescription": "Rediger navn og beskrivelse", "@entryInfoActionEditTitleDescription": {}, diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index d1cc8730f..5543820a9 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Afspeelsnelheid", "@videoActionSetSpeed": {}, - "videoActionSettings": "Instellingen", + "viewerActionSettings": "Instellingen", "@videoActionSettings": {}, "slideshowActionResume": "Hervatten", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_nn.arb b/lib/l10n/app_nn.arb index d4bd4a9a3..16954c140 100644 --- a/lib/l10n/app_nn.arb +++ b/lib/l10n/app_nn.arb @@ -170,7 +170,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Avspelingssnøggleik", "@videoActionSetSpeed": {}, - "videoActionSettings": "Innstillingar", + "viewerActionSettings": "Innstillingar", "@videoActionSettings": {}, "slideshowActionResume": "Hald fram", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 94c91822e..a4f8fdb9c 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -85,7 +85,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Prędkość odtwarzania", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ustawienia", + "viewerActionSettings": "Ustawienia", "@videoActionSettings": {}, "slideshowActionResume": "Wznów", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 075bb96f4..f9d564f2b 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocidade de reprodução", "@videoActionSetSpeed": {}, - "videoActionSettings": "Configurações", + "viewerActionSettings": "Configurações", "@videoActionSettings": {}, "slideshowActionResume": "Retomar", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 3a4a363a5..70501c96e 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -152,7 +152,7 @@ "@videoActionSkip10": {}, "videoActionSelectStreams": "Selectați piese", "@videoActionSelectStreams": {}, - "videoActionSettings": "Setări", + "viewerActionSettings": "Setări", "@videoActionSettings": {}, "slideshowActionResume": "Reluare", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 3cd48cd05..ac49dbd93 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Скорость вопспроизведения", "@videoActionSetSpeed": {}, - "videoActionSettings": "Настройки", + "viewerActionSettings": "Настройки", "@videoActionSettings": {}, "slideshowActionResume": "Продолжить", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_th.arb b/lib/l10n/app_th.arb index 25e93a4c7..d3be8ab38 100644 --- a/lib/l10n/app_th.arb +++ b/lib/l10n/app_th.arb @@ -121,7 +121,7 @@ "@videoActionSkip10": {}, "slideshowActionShowInCollection": "แสดงคอลเลกชัน", "@slideshowActionShowInCollection": {}, - "videoActionSettings": "ตั้งค่า", + "viewerActionSettings": "ตั้งค่า", "@videoActionSettings": {}, "slideshowActionResume": "เล่นต่อ", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 4f1945b97..8dbff6a11 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Oynatma hızı", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ayarlar", + "viewerActionSettings": "Ayarlar", "@videoActionSettings": {}, "entryInfoActionEditDate": "Tarih ve saati düzenle", "@entryInfoActionEditDate": {}, diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 3f0f8c3d4..7439e796e 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -126,7 +126,7 @@ "@videoActionSkip10": {}, "videoActionSelectStreams": "Вибрати доріжку", "@videoActionSelectStreams": {}, - "videoActionSettings": "Налаштування", + "viewerActionSettings": "Налаштування", "@videoActionSettings": {}, "slideshowActionResume": "Продовжити", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 40ad3fa1b..9678abe2e 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "播放速度", "@videoActionSetSpeed": {}, - "videoActionSettings": "设置", + "viewerActionSettings": "设置", "@videoActionSettings": {}, "slideshowActionResume": "继续", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_zh_Hant.arb b/lib/l10n/app_zh_Hant.arb index 2bd8c6010..1fc9ee5cd 100644 --- a/lib/l10n/app_zh_Hant.arb +++ b/lib/l10n/app_zh_Hant.arb @@ -124,7 +124,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "播放速度", "@videoActionSetSpeed": {}, - "videoActionSettings": "設定", + "viewerActionSettings": "設定", "@videoActionSettings": {}, "slideshowActionResume": "繼續", "@slideshowActionResume": {}, diff --git a/lib/model/actions/entry_actions.dart b/lib/model/actions/entry_actions.dart index bbb10638b..880142a25 100644 --- a/lib/model/actions/entry_actions.dart +++ b/lib/model/actions/entry_actions.dart @@ -188,7 +188,7 @@ extension ExtraEntryAction on EntryAction { case EntryAction.videoSetSpeed: return context.l10n.videoActionSetSpeed; case EntryAction.videoSettings: - return context.l10n.videoActionSettings; + return context.l10n.viewerActionSettings; case EntryAction.videoTogglePlay: // different data depending on toggle state return context.l10n.videoActionPlay; diff --git a/lib/model/actions/slideshow_actions.dart b/lib/model/actions/slideshow_actions.dart index 6e0b51fd8..55d40847f 100644 --- a/lib/model/actions/slideshow_actions.dart +++ b/lib/model/actions/slideshow_actions.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; enum SlideshowAction { resume, showInCollection, + settings, } extension ExtraSlideshowAction on SlideshowAction { @@ -14,6 +15,8 @@ extension ExtraSlideshowAction on SlideshowAction { return context.l10n.slideshowActionResume; case SlideshowAction.showInCollection: return context.l10n.slideshowActionShowInCollection; + case SlideshowAction.settings: + return context.l10n.viewerActionSettings; } } @@ -25,6 +28,8 @@ extension ExtraSlideshowAction on SlideshowAction { return AIcons.play; case SlideshowAction.showInCollection: return AIcons.allCollection; + case SlideshowAction.settings: + return AIcons.settings; } } } diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 3dfb0f3dc..c157b1ae8 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -260,6 +260,7 @@ class _EntryViewerStackState extends State with EntryViewContr return []; case AppMode.slideshow: return [ + _buildViewerTopOverlay(availableSize), _buildSlideshowBottomOverlay(availableSize), ]; default: diff --git a/lib/widgets/viewer/overlay/slideshow_buttons.dart b/lib/widgets/viewer/overlay/slideshow_buttons.dart index d7d282d4a..ee630d502 100644 --- a/lib/widgets/viewer/overlay/slideshow_buttons.dart +++ b/lib/widgets/viewer/overlay/slideshow_buttons.dart @@ -29,6 +29,7 @@ class _SlideshowButtonsState extends State { static const List _actions = [ SlideshowAction.resume, SlideshowAction.showInCollection, + SlideshowAction.settings, ]; static const double _padding = ViewerButtonRowContent.padding; diff --git a/lib/widgets/viewer/slideshow_page.dart b/lib/widgets/viewer/slideshow_page.dart index 1592cd69f..e070459f5 100644 --- a/lib/widgets/viewer/slideshow_page.dart +++ b/lib/widgets/viewer/slideshow_page.dart @@ -1,21 +1,26 @@ import 'package:aves/app_mode.dart'; import 'package:aves/model/actions/slideshow_actions.dart'; +import 'package:aves/model/entry.dart'; import 'package:aves/model/filters/album.dart'; import 'package:aves/model/filters/mime.dart'; import 'package:aves/model/settings/enums/enums.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; +import 'package:aves/model/source/collection_source.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/empty.dart'; +import 'package:aves/widgets/settings/viewer/slideshow.dart'; import 'package:aves/widgets/viewer/controller.dart'; import 'package:aves/widgets/viewer/entry_viewer_page.dart'; import 'package:aves/widgets/viewer/entry_viewer_stack.dart'; import 'package:aves_magnifier/aves_magnifier.dart'; +import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:tuple/tuple.dart'; class SlideshowPage extends StatefulWidget { static const routeName = '/collection/slideshow'; @@ -32,36 +37,33 @@ class SlideshowPage extends StatefulWidget { } class _SlideshowPageState extends State { - late final ViewerController _viewerController; - late final CollectionLens _slideshowCollection; + late ViewerController _viewerController; + late CollectionLens _slideshowCollection; + AvesEntry? _initialEntry; + + CollectionSource get source => widget.collection.source; @override void initState() { super.initState(); - _viewerController = ViewerController( - initialScale: ScaleLevel(ref: settings.slideshowFillScreen ? ScaleReference.covered : ScaleReference.contained), - transition: settings.slideshowTransition, - repeat: settings.slideshowRepeat, - autopilot: true, - autopilotInterval: Duration(seconds: settings.slideshowInterval), - autopilotAnimatedZoom: settings.slideshowAnimatedZoomEffect, - ); + _initViewerController(autopilot: true); _initSlideshowCollection(); + _initialEntry = _slideshowCollection.sortedEntries.firstOrNull; } @override void dispose() { - _viewerController.dispose(); + _disposeViewerController(); super.dispose(); } @override Widget build(BuildContext context) { - final entries = _slideshowCollection.sortedEntries; + final initialEntry = _initialEntry; return ListenableProvider>.value( value: ValueNotifier(AppMode.slideshow), child: AvesScaffold( - body: entries.isEmpty + body: initialEntry == null ? EmptyContent( icon: AIcons.image, text: context.l10n.collectionEmptyImages, @@ -76,8 +78,9 @@ class _SlideshowPageState extends State { return true; }, child: EntryViewerStack( + key: ValueKey(_viewerController), collection: _slideshowCollection, - initialEntry: entries.first, + initialEntry: initialEntry, viewerController: _viewerController, ), ), @@ -88,9 +91,21 @@ class _SlideshowPageState extends State { ); } + void _initViewerController({required bool autopilot}) { + _viewerController = ViewerController( + initialScale: ScaleLevel(ref: settings.slideshowFillScreen ? ScaleReference.covered : ScaleReference.contained), + transition: settings.slideshowTransition, + repeat: settings.slideshowRepeat, + autopilot: autopilot, + autopilotInterval: Duration(seconds: settings.slideshowInterval), + autopilotAnimatedZoom: settings.slideshowAnimatedZoomEffect, + ); + } + + void _disposeViewerController() => _viewerController.dispose(); + void _initSlideshowCollection() { - final originalCollection = widget.collection; - var entries = originalCollection.sortedEntries; + var entries = List.of(widget.collection.sortedEntries); if (settings.slideshowVideoPlayback == SlideshowVideoPlayback.skip) { entries = entries.where((entry) => !MimeFilter.video.test(entry)).toList(); } @@ -98,7 +113,7 @@ class _SlideshowPageState extends State { entries.shuffle(); } _slideshowCollection = CollectionLens( - source: originalCollection.source, + source: source, listenToSource: false, fixedSort: true, fixedSelection: entries, @@ -113,16 +128,18 @@ class _SlideshowPageState extends State { case SlideshowAction.showInCollection: _showInCollection(); break; + case SlideshowAction.settings: + _showSettings(context); + break; } } void _showInCollection() { - final entry = _viewerController.entryNotifier.value; - if (entry == null) return; + final currentEntry = _viewerController.entryNotifier.value; + if (currentEntry == null) return; - final source = _slideshowCollection.source; - final album = entry.directory; - final uri = entry.uri; + final album = currentEntry.directory; + final uri = currentEntry.uri; Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( @@ -136,6 +153,29 @@ class _SlideshowPageState extends State { (route) => false, ); } + + Tuple2 get collectionSettings => Tuple2(settings.slideshowShuffle, settings.slideshowVideoPlayback == SlideshowVideoPlayback.skip); + + Future _showSettings(BuildContext context) async { + final oldCollectionSettings = collectionSettings; + final currentEntry = _viewerController.entryNotifier.value; + + await Navigator.maybeOf(context)?.push( + MaterialPageRoute( + settings: const RouteSettings(name: ViewerSlideshowPage.routeName), + builder: (context) => const ViewerSlideshowPage(), + ), + ); + + _disposeViewerController(); + _initViewerController(autopilot: false); + if (oldCollectionSettings != collectionSettings) { + _initSlideshowCollection(); + } + final slideshowEntries = _slideshowCollection.sortedEntries; + _initialEntry = slideshowEntries.contains(currentEntry) ? currentEntry : slideshowEntries.firstOrNull; + setState(() {}); + } } class SlideshowActionNotification extends Notification { diff --git a/untranslated.json b/untranslated.json index ffc6638a6..40bb90f6e 100644 --- a/untranslated.json +++ b/untranslated.json @@ -57,7 +57,7 @@ "videoActionSkip10", "videoActionSelectStreams", "videoActionSetSpeed", - "videoActionSettings", + "viewerActionSettings", "slideshowActionResume", "slideshowActionShowInCollection", "entryInfoActionEditDate", @@ -1822,7 +1822,7 @@ "videoActionSkip10", "videoActionSelectStreams", "videoActionSetSpeed", - "videoActionSettings", + "viewerActionSettings", "slideshowActionResume", "slideshowActionShowInCollection", "entryInfoActionEditDate", @@ -2755,7 +2755,7 @@ "videoActionSkip10", "videoActionSelectStreams", "videoActionSetSpeed", - "videoActionSettings", + "viewerActionSettings", "slideshowActionResume", "slideshowActionShowInCollection", "entryInfoActionEditDate", From 5b25894c330c8b35dfeacb951329e012ccffdc5a Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 7 Feb 2023 11:28:30 +0100 Subject: [PATCH 28/44] l10n --- lib/l10n/app_cs.arb | 2 +- lib/l10n/app_de.arb | 2 +- lib/l10n/app_el.arb | 2 +- lib/l10n/app_es.arb | 2 +- lib/l10n/app_eu.arb | 2 +- lib/l10n/app_fa.arb | 2 +- lib/l10n/app_fr.arb | 2 +- lib/l10n/app_gl.arb | 2 +- lib/l10n/app_id.arb | 2 +- lib/l10n/app_it.arb | 2 +- lib/l10n/app_ja.arb | 2 +- lib/l10n/app_ko.arb | 2 +- lib/l10n/app_lt.arb | 2 +- lib/l10n/app_nb.arb | 2 +- lib/l10n/app_nl.arb | 2 +- lib/l10n/app_nn.arb | 2 +- lib/l10n/app_pl.arb | 2 +- lib/l10n/app_pt.arb | 2 +- lib/l10n/app_ro.arb | 2 +- lib/l10n/app_ru.arb | 2 +- lib/l10n/app_th.arb | 2 +- lib/l10n/app_tr.arb | 2 +- lib/l10n/app_uk.arb | 2 +- lib/l10n/app_zh.arb | 2 +- lib/l10n/app_zh_Hant.arb | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index ef6c8405d..365ed5558 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -169,7 +169,7 @@ "videoActionSetSpeed": "Rychlost přehrávání", "@videoActionSetSpeed": {}, "viewerActionSettings": "Nastavení", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Pokračovat", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Zobrazit ve sbírce", diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 850f08333..d19acec2b 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Wiedergabegeschwindigkeit", "@videoActionSetSpeed": {}, "viewerActionSettings": "Einstellungen", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Wiedergabe", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "In Sammlung anzeigen", diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index e5cd50c77..57efa4323 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Ταχύτητα αναπαραγωγής", "@videoActionSetSpeed": {}, "viewerActionSettings": "Ρυθμίσεις", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Συνέχιση", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Εμφάνιση στη Συλλογή", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 14779c3c9..fa7045e8f 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -148,7 +148,7 @@ "videoActionSetSpeed": "Velocidad de reproducción", "@videoActionSetSpeed": {}, "viewerActionSettings": "Ajustes", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Reanudar", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Mostrar en Colección", diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 752a6cf37..08cb9d116 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -394,7 +394,7 @@ "videoActionReplay10": "10 segundu atzera egin", "@videoActionReplay10": {}, "viewerActionSettings": "Ezarpenak", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "entryInfoActionEditDate": "Data eta ordua editatu", "@entryInfoActionEditDate": {}, "entryInfoActionEditTitleDescription": "Izenburua eta deskribapena editatu", diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 81da9fdb4..26d09535b 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -162,7 +162,7 @@ "videoActionSkip10": "جلو رفتن 10 ثانیه", "@videoActionSkip10": {}, "viewerActionSettings": "تنظیمات", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "entryInfoActionEditRating": "ویرایش رتبه", "@entryInfoActionEditRating": {}, "entryInfoActionEditTags": "ویرایش برچسب ها", diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 3932636d0..aeba1bcc7 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Vitesse de lecture", "@videoActionSetSpeed": {}, "viewerActionSettings": "Préférences", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Reprendre", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Afficher dans Collection", diff --git a/lib/l10n/app_gl.arb b/lib/l10n/app_gl.arb index 5cb9f7131..6d135d232 100644 --- a/lib/l10n/app_gl.arb +++ b/lib/l10n/app_gl.arb @@ -120,7 +120,7 @@ "videoActionSetSpeed": "Velocidade de reprodución", "@videoActionSetSpeed": {}, "viewerActionSettings": "Configuración", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Resumo", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Mostrar na colección", diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index c2b23a731..f108f1f76 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -148,7 +148,7 @@ "videoActionSetSpeed": "Kecepatan pemutaran", "@videoActionSetSpeed": {}, "viewerActionSettings": "Pengaturan", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Lanjutkan", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Tampilkan di Koleksi", diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index eb95d8a80..11479d840 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Velocità di riproduzione", "@videoActionSetSpeed": {}, "viewerActionSettings": "Impostazioni", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Riprendi", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Mostra nella Collezione", diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 3e042b44d..4a53702e9 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -148,7 +148,7 @@ "videoActionSetSpeed": "再生速度", "@videoActionSetSpeed": {}, "viewerActionSettings": "設定", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "再開", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "コレクションで表示", diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index 14366a476..0a8bcedd7 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "재생 배속", "@videoActionSetSpeed": {}, "viewerActionSettings": "설정", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "이어서", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "미디어 페이지에서 보기", diff --git a/lib/l10n/app_lt.arb b/lib/l10n/app_lt.arb index 70b40b769..7841b851c 100644 --- a/lib/l10n/app_lt.arb +++ b/lib/l10n/app_lt.arb @@ -98,7 +98,7 @@ "videoActionSetSpeed": "Atkūrimo greitis", "@videoActionSetSpeed": {}, "viewerActionSettings": "Nustatymai", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Tęsti", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Rodyti kolekcijoje", diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index 29c74a4f8..119d95314 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -77,7 +77,7 @@ "videoActionSetSpeed": "Avspillingshastighet", "@videoActionSetSpeed": {}, "viewerActionSettings": "Innstillinger", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "entryInfoActionEditTitleDescription": "Rediger navn og beskrivelse", "@entryInfoActionEditTitleDescription": {}, "filterNoDateLabel": "Udatert", diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 5543820a9..6b165c103 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Afspeelsnelheid", "@videoActionSetSpeed": {}, "viewerActionSettings": "Instellingen", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Hervatten", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Tonen in Collectie", diff --git a/lib/l10n/app_nn.arb b/lib/l10n/app_nn.arb index 16954c140..11c247896 100644 --- a/lib/l10n/app_nn.arb +++ b/lib/l10n/app_nn.arb @@ -171,7 +171,7 @@ "videoActionSetSpeed": "Avspelingssnøggleik", "@videoActionSetSpeed": {}, "viewerActionSettings": "Innstillingar", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Hald fram", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Vis i Samling", diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index a4f8fdb9c..83099d58d 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -86,7 +86,7 @@ "videoActionSetSpeed": "Prędkość odtwarzania", "@videoActionSetSpeed": {}, "viewerActionSettings": "Ustawienia", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Wznów", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Pokaż w Kolekcji", diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index f9d564f2b..d3e668519 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Velocidade de reprodução", "@videoActionSetSpeed": {}, "viewerActionSettings": "Configurações", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Retomar", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Mostrar na Coleção", diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 70501c96e..6ed7e43c4 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -153,7 +153,7 @@ "videoActionSelectStreams": "Selectați piese", "@videoActionSelectStreams": {}, "viewerActionSettings": "Setări", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Reluare", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Afișați în colecție", diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index ac49dbd93..d7f41f79b 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "Скорость вопспроизведения", "@videoActionSetSpeed": {}, "viewerActionSettings": "Настройки", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Продолжить", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Показать в Коллекции", diff --git a/lib/l10n/app_th.arb b/lib/l10n/app_th.arb index d3be8ab38..0ffe918a1 100644 --- a/lib/l10n/app_th.arb +++ b/lib/l10n/app_th.arb @@ -122,7 +122,7 @@ "slideshowActionShowInCollection": "แสดงคอลเลกชัน", "@slideshowActionShowInCollection": {}, "viewerActionSettings": "ตั้งค่า", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "เล่นต่อ", "@slideshowActionResume": {}, "entryInfoActionEditTitleDescription": "แก้ไขชื่อและคำบรรยาย", diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 8dbff6a11..96f5316cd 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -148,7 +148,7 @@ "videoActionSetSpeed": "Oynatma hızı", "@videoActionSetSpeed": {}, "viewerActionSettings": "Ayarlar", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "entryInfoActionEditDate": "Tarih ve saati düzenle", "@entryInfoActionEditDate": {}, "entryInfoActionEditLocation": "Konumu düzenle", diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 7439e796e..5ee7e579d 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -127,7 +127,7 @@ "videoActionSelectStreams": "Вибрати доріжку", "@videoActionSelectStreams": {}, "viewerActionSettings": "Налаштування", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "Продовжити", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "Показати у Колекції", diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 9678abe2e..0d1b41de5 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -152,7 +152,7 @@ "videoActionSetSpeed": "播放速度", "@videoActionSetSpeed": {}, "viewerActionSettings": "设置", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "继续", "@slideshowActionResume": {}, "slideshowActionShowInCollection": "在媒体集中显示", diff --git a/lib/l10n/app_zh_Hant.arb b/lib/l10n/app_zh_Hant.arb index 1fc9ee5cd..9724bd52d 100644 --- a/lib/l10n/app_zh_Hant.arb +++ b/lib/l10n/app_zh_Hant.arb @@ -125,7 +125,7 @@ "videoActionSetSpeed": "播放速度", "@videoActionSetSpeed": {}, "viewerActionSettings": "設定", - "@videoActionSettings": {}, + "@viewerActionSettings": {}, "slideshowActionResume": "繼續", "@slideshowActionResume": {}, "entryInfoActionEditLocation": "編輯位置", From d1e3df6c3d4de13c1ad2768a285dd126455ba0a7 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Wed, 8 Feb 2023 12:43:24 +0100 Subject: [PATCH 29/44] l10n by weblate (#510) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate-URL: https://hosted.weblate.org/projects/aves/app-android/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-android/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/he/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ja/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/lt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ru/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/th/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/id/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/sk/ Translation: Aves/App - Android Translation: Aves/App - Main Translation: Aves/Store - Full description Translation: Aves/Store - Short description Co-authored-by: Aitor Salaberria Co-authored-by: Allan Nordhøy Co-authored-by: Eric Co-authored-by: Idj Co-authored-by: Igor Sorocean Co-authored-by: Jan Co-authored-by: Jonatas de Almeida Barros Co-authored-by: Linerly Co-authored-by: Martin Frandel Co-authored-by: MeFinity Co-authored-by: Nattapong K Co-authored-by: Oğuz Ersen Co-authored-by: Salih Ail Co-authored-by: Skrripy Co-authored-by: Thibault Deckers Co-authored-by: Tijolinho Co-authored-by: Translator-3000 Co-authored-by: gallegonovato Co-authored-by: rehork Co-authored-by: slasb37 Co-authored-by: tryvseu Co-authored-by: vesp --- .../metadata/android/sk/full_description.txt | 6 +- .../metadata/android/sk/short_description.txt | 2 +- lib/l10n/app_eu.arb | 632 ++++++++++++++++-- lib/l10n/app_sk.arb | 52 +- 4 files changed, 624 insertions(+), 68 deletions(-) diff --git a/fastlane/metadata/android/sk/full_description.txt b/fastlane/metadata/android/sk/full_description.txt index 6c92748f8..74557d170 100644 --- a/fastlane/metadata/android/sk/full_description.txt +++ b/fastlane/metadata/android/sk/full_description.txt @@ -1,5 +1,5 @@ -Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more! It scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files. +Aves aplikácia je schopná si poradiť s veľkým množstvom rôznych formátov obrázkov a videí, ako napríklad typickými JPEG a MP4, ale aj s exotickejšími TIFF, SVG, AVI a mnoho iných! Aplikácia skenuje média v zariadení a identifikje fotky v pohybe, panorámy , 360° videá, ako aj GeoTIFF súbory. -Navigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc. +Navigácia a vyhľadávanie je dôležitou súčasťou aplikácie Aves. Jej cieľom je poskytnúť užívateľom jednoduchý prechod z albumov, do fotiek, tagov, máp, atď. -Aves integrates with Android (from KitKat to Android 13, including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker. \ No newline at end of file +Aves je schopný pracovať s Android (od KitKat do Android 13, včetne Android TV) a ponúka rozšírenia ako miniaplikácie (widgety), skratky aplikácie, šetrič obrazovky a globálne vyhľadávanie. Rovnako poskytuje prehľadávnie médií. \ No newline at end of file diff --git a/fastlane/metadata/android/sk/short_description.txt b/fastlane/metadata/android/sk/short_description.txt index 8c9445bd5..fa44ffa8c 100644 --- a/fastlane/metadata/android/sk/short_description.txt +++ b/fastlane/metadata/android/sk/short_description.txt @@ -1 +1 @@ -Gallery and metadata explorer \ No newline at end of file +Prehliadač galérie a metadát \ No newline at end of file diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 08cb9d116..7b5f23cfc 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -78,19 +78,19 @@ "@resetTooltip": {}, "hideTooltip": "Ezkutatu", "@hideTooltip": {}, - "doubleBackExitMessage": "Sakatu \"itzuli\" berriro irteteko.", + "doubleBackExitMessage": "Sakatu «itzuli» berriro irteteko.", "@doubleBackExitMessage": {}, "pickTooltip": "Aukeratu", "@pickTooltip": {}, - "chipActionGoToAlbumPage": "Albumetan erakutsi", + "chipActionGoToAlbumPage": "Erakutsi albumetan", "@chipActionGoToAlbumPage": {}, - "chipActionGoToTagPage": "Etiketetan erakutsi", + "chipActionGoToTagPage": "Erakutsi etiketetan", "@chipActionGoToTagPage": {}, - "entryActionRotateCW": "Erlojuaren orratzen noranzkoan biratu", + "entryActionRotateCW": "Biratu erlojuaren orratzen noranzkoan", "@entryActionRotateCW": {}, "entryActionPrint": "Inprimatu", "@entryActionPrint": {}, - "entryActionConvertMotionPhotoToStillImage": "Irudi finko batean bihurtu", + "entryActionConvertMotionPhotoToStillImage": "Bihurtu irudi finko batean", "@entryActionConvertMotionPhotoToStillImage": {}, "coordinateDmsSouth": "H", "@coordinateDmsSouth": {}, @@ -108,7 +108,7 @@ "@storageVolumeDescriptionFallbackNonPrimary": {}, "rootDirectoryDescription": "Erro-karpeta", "@rootDirectoryDescription": {}, - "otherDirectoryDescription": "“{name}” karpeta", + "otherDirectoryDescription": "«{name}» karpeta", "@otherDirectoryDescription": { "placeholders": { "name": { @@ -130,7 +130,7 @@ "@sourceStateLocatingCountries": {}, "sourceStateLocatingPlaces": "Lekuak kokatzen", "@sourceStateLocatingPlaces": {}, - "chipActionGoToCountryPage": "Herrialdeetan erakutsi", + "chipActionGoToCountryPage": "Erakutsi herrialdeetan", "@chipActionGoToCountryPage": {}, "chipActionFilterIn": "Iragazi", "@chipActionFilterIn": {}, @@ -138,29 +138,29 @@ "@chipActionFilterOut": {}, "chipActionHide": "Ezkutatu", "@chipActionHide": {}, - "chipActionPin": "Goran finkatu", + "chipActionPin": "Finkatu goran", "@chipActionPin": {}, - "entryInfoActionRemoveMetadata": "Metadatuak ezabatu", + "entryInfoActionRemoveMetadata": "Kendu metadatuak", "@entryInfoActionRemoveMetadata": {}, "slideshowActionResume": "Jarraitu", "@slideshowActionResume": {}, - "slideshowActionShowInCollection": "Bilduman erakutsi", + "slideshowActionShowInCollection": "Erakutsi bilduman", "@slideshowActionShowInCollection": {}, - "entryInfoActionEditTags": "Etiketak editatu", + "entryInfoActionEditTags": "Editatu etiketak", "@entryInfoActionEditTags": {}, - "entryInfoActionEditLocation": "Kokapena editatu", + "entryInfoActionEditLocation": "Editatu kokapena", "@entryInfoActionEditLocation": {}, - "entryInfoActionExportMetadata": "Metadatuak esportatu", + "entryInfoActionExportMetadata": "Esportatu metadatuak", "@entryInfoActionExportMetadata": {}, "filterAspectRatioPortraitLabel": "Formatu bertikala", "@filterAspectRatioPortraitLabel": {}, - "entryInfoActionRemoveLocation": "Kokapena ezabatu", + "entryInfoActionRemoveLocation": "Ezabatu kokapena", "@entryInfoActionRemoveLocation": {}, "filterAspectRatioLandscapeLabel": "Formatu horizontala", "@filterAspectRatioLandscapeLabel": {}, "filterBinLabel": "Zakarrontzia", "@filterBinLabel": {}, - "filterFavouriteLabel": "Gogoko", + "filterFavouriteLabel": "Gogokoa", "@filterFavouriteLabel": {}, "filterNoAddressLabel": "Helbiderik ez", "@filterNoAddressLabel": {}, @@ -168,29 +168,29 @@ "@filterNoDateLabel": {}, "entryActionExport": "Esportatu", "@entryActionExport": {}, - "chipActionUnpin": "Goitik desfinkatu", + "chipActionUnpin": "Desfinkatu goitik", "@chipActionUnpin": {}, - "entryActionRename": "Berrizendatu", + "entryActionRename": "Aldatu izena", "@entryActionRename": {}, - "chipActionRename": "Berrizendatu", + "chipActionRename": "Aldatu izena", "@chipActionRename": {}, "entryActionDelete": "Ezabatu", "@entryActionDelete": {}, "entryActionInfo": "Informazioa", "@entryActionInfo": {}, - "chipActionSetCover": "Karatula ezarri", + "chipActionSetCover": "Ezarri azala", "@chipActionSetCover": {}, - "chipActionCreateAlbum": "Albuma sortu", + "chipActionCreateAlbum": "Sortu albuma", "@chipActionCreateAlbum": {}, - "entryActionCopyToClipboard": "Arbelera kopiatu", + "entryActionCopyToClipboard": "Kopiatu arbelera", "@entryActionCopyToClipboard": {}, "entryActionConvert": "Bihurtu", "@entryActionConvert": {}, - "entryActionFlip": "Horizontalki buelta eman", + "entryActionFlip": "Buelta eman horizontalki", "@entryActionFlip": {}, "entryActionRestore": "Berrezarri", "@entryActionRestore": {}, - "entryActionRotateCCW": "Erlojuaren orratzen kontrako noranzkoan biratu", + "entryActionRotateCCW": "Biratu erlojuaren orratzen kontrako noranzkoan", "@entryActionRotateCCW": {}, "entryActionShare": "Partekatu", "@entryActionShare": {}, @@ -228,17 +228,17 @@ "@filterTypeGeotiffLabel": {}, "filterMimeVideoLabel": "Bideo", "@filterMimeVideoLabel": {}, - "entryActionShareImageOnly": "Irudia soilik partekatu", + "entryActionShareImageOnly": "Partekatu irudia soilik", "@entryActionShareImageOnly": {}, - "entryActionShareVideoOnly": "Bideoa soilik partekatu", + "entryActionShareVideoOnly": "Partekatu bideoa soilik", "@entryActionShareVideoOnly": {}, - "entryActionViewSource": "Iturria ikusi", + "entryActionViewSource": "Ikusi iturria", "@entryActionViewSource": {}, "unitSystemMetric": "Metriko", "@unitSystemMetric": {}, "videoControlsPlay": "Erreproduzitu", "@videoControlsPlay": {}, - "entryActionShowGeoTiffOnMap": "Gainjarritako mapa bezala erakutsi", + "entryActionShowGeoTiffOnMap": "Erakutsi gainjarritako mapa bezala", "@entryActionShowGeoTiffOnMap": {}, "coordinateFormatDms": "DMS (Dokumentuak kudeatzeko sistema)", "@coordinateFormatDms": {}, @@ -265,7 +265,7 @@ "@unitSystemImperial": {}, "videoLoopModeAlways": "Beti", "@videoLoopModeAlways": {}, - "videoControlsPlayOutside": "Beste erreproduzitzaile batekin ireki", + "videoControlsPlayOutside": "Ireki beste erreproduzitzaile batekin", "@videoControlsPlayOutside": {}, "videoLoopModeNever": "Inoiz", "@videoLoopModeNever": {}, @@ -313,17 +313,17 @@ "@accessibilityAnimationsRemove": {}, "displayRefreshRatePreferHighest": "Kalifikazio gorena", "@displayRefreshRatePreferHighest": {}, - "entryActionViewMotionPhotoVideo": "Bideoa ireki", + "entryActionViewMotionPhotoVideo": "Ireki bideoa", "@entryActionViewMotionPhotoVideo": {}, "entryActionEdit": "Editatu", "@entryActionEdit": {}, - "entryActionOpenMap": "Mapako aplikazioan erakutsi", + "entryActionOpenMap": "Erakutsi mapako aplikazioan", "@entryActionOpenMap": {}, - "entryActionRotateScreen": "Pantaila biratu", + "entryActionRotateScreen": "Biratu pantaila", "@entryActionRotateScreen": {}, "entryActionOpen": "Ireki honekin", "@entryActionOpen": {}, - "entryActionSetAs": "Hau bezala ezarri", + "entryActionSetAs": "Ezarri hau bezala", "@entryActionSetAs": {}, "subtitlePositionBottom": "Behean", "@subtitlePositionBottom": {}, @@ -337,9 +337,9 @@ "@themeBrightnessDark": {}, "viewerTransitionSlide": "Diapositiba", "@viewerTransitionSlide": {}, - "entryActionAddFavourite": "Gogokoetara gehitu", + "entryActionAddFavourite": "Gehitu gogokoetara", "@entryActionAddFavourite": {}, - "entryActionRemoveFavourite": "Gogokoetatik ezabatu", + "entryActionRemoveFavourite": "Kendu gogokoetatik", "@entryActionRemoveFavourite": {}, "viewerTransitionParallax": "Paralaxi", "@viewerTransitionParallax": {}, @@ -361,11 +361,11 @@ "@albumTierRegular": {}, "videoActionUnmute": "Ez mututu", "@videoActionUnmute": {}, - "widgetOpenPageHome": "Hasierako pantaila ireki", + "widgetOpenPageHome": "Ireki hasierako pantaila", "@widgetOpenPageHome": {}, - "widgetOpenPageCollection": "Bilduma ireki", + "widgetOpenPageCollection": "Ireki bilduma", "@widgetOpenPageCollection": {}, - "widgetOpenPageViewer": "Bisorea ireki", + "widgetOpenPageViewer": "Ireki bisorea", "@widgetOpenPageViewer": {}, "albumTierNew": "Berria", "@albumTierNew": {}, @@ -377,31 +377,31 @@ "@albumTierApps": {}, "storageVolumeDescriptionFallbackPrimary": "Barne-biltegiratzea", "@storageVolumeDescriptionFallbackPrimary": {}, - "videoActionCaptureFrame": "Fotograma atzitu", + "videoActionCaptureFrame": "Atzitu fotograma", "@videoActionCaptureFrame": {}, "videoActionMute": "Mututu", "@videoActionMute": {}, - "videoActionSelectStreams": "Pistak aukeratu", + "videoActionSelectStreams": "Hautatu pistak", "@videoActionSelectStreams": {}, - "entryInfoActionEditRating": "Kalifikazioa editatu", + "entryInfoActionEditRating": "Editatu balorazioa", "@entryInfoActionEditRating": {}, - "videoActionSkip10": "10 segundu aurrera egin", + "videoActionSkip10": "Aurrera 10 segundu egin", "@videoActionSkip10": {}, "videoActionPause": "Eten", "@videoActionPause": {}, "videoActionPlay": "Erreproduzitu", "@videoActionPlay": {}, - "videoActionReplay10": "10 segundu atzera egin", + "videoActionReplay10": "Atzera 10 segundu egin", "@videoActionReplay10": {}, "viewerActionSettings": "Ezarpenak", "@viewerActionSettings": {}, - "entryInfoActionEditDate": "Data eta ordua editatu", + "entryInfoActionEditDate": "Editatu data eta ordua", "@entryInfoActionEditDate": {}, - "entryInfoActionEditTitleDescription": "Izenburua eta deskribapena editatu", + "entryInfoActionEditTitleDescription": "Editatu izenburua eta deskribapena", "@entryInfoActionEditTitleDescription": {}, "videoActionSetSpeed": "Erreproduzitze-abiadura", "@videoActionSetSpeed": {}, - "storageAccessDialogMessage": "Mesedez, \"{volume}\"-(e)n {directory} aukera ezazu hurrengo pantailan aplikazio honi sarrera baimentzeko.", + "storageAccessDialogMessage": "Mesedez, «{volume}»-(e)n {directory} aukera ezazu hurrengo pantailan aplikazio honi sarrera baimentzeko.", "@storageAccessDialogMessage": { "placeholders": { "directory": { @@ -415,7 +415,7 @@ } } }, - "restrictedAccessDialogMessage": "Aplikazio honek ez du baimenik \"{volume}\"-(e)ko {directory}-(e)n fitxategiak aldatzeko.\n\nMesedez, aurreinstalatutako fitxategi-kudeatzaile edo galeriaren aplikazio bat erabili itemak beste karpeta batera mugitzeko.", + "restrictedAccessDialogMessage": "Aplikazio honek ez du baimenik «{volume}»-(e)ko {directory}-(e)n fitxategiak aldatzeko.\n\nMesedez, aurreinstalatutako fitxategi-kudeatzaile edo galeriaren aplikazio bat erabili itemak beste karpeta batera mugitzeko.", "@restrictedAccessDialogMessage": { "placeholders": { "directory": { @@ -452,7 +452,7 @@ }, "moveUndatedConfirmationDialogMessage": "Elementuen datak gorde nahi al dituzu aurrera egin aurretik?", "@moveUndatedConfirmationDialogMessage": {}, - "moveUndatedConfirmationDialogSetDate": "Datak gorde", + "moveUndatedConfirmationDialogSetDate": "Gorde datak", "@moveUndatedConfirmationDialogSetDate": {}, "videoResumeDialogMessage": "Erreprodukzioa {time} denboran jarraitzea nahi al duzu?", "@videoResumeDialogMessage": { @@ -497,13 +497,13 @@ "@newAlbumDialogStorageLabel": {}, "renameAlbumDialogLabel": "Izen berria", "@renameAlbumDialogLabel": {}, - "renameAlbumDialogLabelAlreadyExistsHelper": "Karpeta jada badago", + "renameAlbumDialogLabelAlreadyExistsHelper": "Direktorioa jada badago", "@renameAlbumDialogLabelAlreadyExistsHelper": {}, - "renameEntrySetPageTitle": "Berrizendatu", + "renameEntrySetPageTitle": "Aldatu izena", "@renameEntrySetPageTitle": {}, "renameEntrySetPagePatternFieldLabel": "Izendapen-eredua", "@renameEntrySetPagePatternFieldLabel": {}, - "renameEntrySetPageInsertTooltip": "Eremua txertatu", + "renameEntrySetPageInsertTooltip": "Txertatu eremua", "@renameEntrySetPageInsertTooltip": {}, "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Album hauek eta hauetan dagoen elementua ezaba nahi al dituzu?} other{Album hauek eta hauetan dauden {count} elementuak ezaba nahi al dituzu?}}", "@deleteMultiAlbumConfirmationDialogMessage": { @@ -519,27 +519,27 @@ "@exportEntryDialogHeight": {}, "renameEntryDialogLabel": "Izen berria", "@renameEntryDialogLabel": {}, - "editEntryDialogCopyFromItem": "Beste elementu batetik kopiatu", + "editEntryDialogCopyFromItem": "Kopiatu beste elementu batetik", "@editEntryDialogCopyFromItem": {}, "editEntryDialogTargetFieldsHeader": "Aldatzeko eremuak", "@editEntryDialogTargetFieldsHeader": {}, "editEntryDateDialogTitle": "Data eta ordua", "@editEntryDateDialogTitle": {}, - "editEntryDateDialogSetCustom": "Data pertsonalizatua ezarri", + "editEntryDateDialogSetCustom": "Ezarri data pertsonalizatua", "@editEntryDateDialogSetCustom": {}, - "editEntryDateDialogCopyField": "Beste data batetik kopiatu", + "editEntryDateDialogCopyField": "Kopiatu beste data batetik", "@editEntryDateDialogCopyField": {}, - "editEntryDateDialogExtractFromTitle": "Izenburutik atera", + "editEntryDateDialogExtractFromTitle": "Atera izenburutik", "@editEntryDateDialogExtractFromTitle": {}, "editEntryDateDialogShift": "Aldatu", "@editEntryDateDialogShift": {}, "editEntryLocationDialogLongitude": "Longitudea", "@editEntryLocationDialogLongitude": {}, - "locationPickerUseThisLocationButton": "Kokapen hau erabili", + "locationPickerUseThisLocationButton": "Erabili kokapen hau", "@locationPickerUseThisLocationButton": {}, - "hideFilterConfirmationDialogMessage": "Bat-etortzen diren argazki eta bideoak zure bildumatik ezkutatuko dira. Berriro agerrarazi ditzakezu \"Pribatutasun\" ezarpenetatik.\n\nZiur al zaude ezkuta nahi al dituzula?", + "hideFilterConfirmationDialogMessage": "Bat-etortzen diren argazki eta bideoak zure bildumatik ezkutatuko dira. Berriro agerrarazi ditzakezu «Pribatutasuna» ezarpenetatik.\n\nZiur al zaude ezkuta nahi al dituzula?", "@hideFilterConfirmationDialogMessage": {}, - "notEnoughSpaceDialogMessage": "Eragiketa hau burutzeko {neededSize}-eko leku librea behar da \"{volume}\"-(e)n, baina, {freeSize}-eko lekua dago soilik.", + "notEnoughSpaceDialogMessage": "Eragiketa hau burutzeko {neededSize}-eko leku librea behar da «{volume}»-(e)n, baina, {freeSize}-eko lekua dago soilik.", "@notEnoughSpaceDialogMessage": { "placeholders": { "neededSize": { @@ -565,11 +565,11 @@ }, "editEntryLocationDialogTitle": "Kokapena", "@editEntryLocationDialogTitle": {}, - "editEntryLocationDialogChooseOnMap": "Mapan aukeratu", + "editEntryLocationDialogChooseOnMap": "Aukeratu mapan", "@editEntryLocationDialogChooseOnMap": {}, "editEntryRatingDialogTitle": "Balorazioa", "@editEntryRatingDialogTitle": {}, - "durationDialogHours": "Ordu", + "durationDialogHours": "Orduak", "@durationDialogHours": {}, "renameEntrySetPagePreviewSectionTitle": "Aurrebista", "@renameEntrySetPagePreviewSectionTitle": {}, @@ -577,15 +577,15 @@ "@renameProcessorCounter": {}, "renameProcessorName": "Izena", "@renameProcessorName": {}, - "editEntryLocationDialogSetCustom": "Kokapen pertsonalizatua ezarri", + "editEntryLocationDialogSetCustom": "Ezarri kokapen pertsonalizatua", "@editEntryLocationDialogSetCustom": {}, "editEntryLocationDialogLatitude": "Latitudea", "@editEntryLocationDialogLatitude": {}, "editEntryDateDialogSourceFileModifiedDate": "Fitxategia aldatu zeneko data", "@editEntryDateDialogSourceFileModifiedDate": {}, - "durationDialogMinutes": "Minutu", + "durationDialogMinutes": "Minutuak", "@durationDialogMinutes": {}, - "durationDialogSeconds": "Segundu", + "durationDialogSeconds": "Segunduak", "@durationDialogSeconds": {}, "videoStreamSelectionDialogAudio": "Audioa", "@videoStreamSelectionDialogAudio": {}, @@ -862,5 +862,511 @@ "sortOrderOldestFirst": "Zaharrena lehenengo", "@sortOrderOldestFirst": {}, "sortOrderSmallestFirst": "Txikiena lehenengo", - "@sortOrderSmallestFirst": {} + "@sortOrderSmallestFirst": {}, + "albumGroupTier": "Mailaren arabera", + "@albumGroupTier": {}, + "albumGroupType": "Motaren arabera", + "@albumGroupType": {}, + "albumGroupNone": "Ez taldekatu", + "@albumGroupNone": {}, + "albumPickPageTitleCopy": "Albumera kopiatu", + "@albumPickPageTitleCopy": {}, + "albumPickPageTitleExport": "Albumera esportatu", + "@albumPickPageTitleExport": {}, + "albumPickPageTitleMove": "Albumera mugitu", + "@albumPickPageTitleMove": {}, + "albumCamera": "Kamera", + "@albumCamera": {}, + "albumScreenRecordings": "Pantaila-grabaketak", + "@albumScreenRecordings": {}, + "albumGroupVolume": "Biltegiratze-tamainaren arabera", + "@albumGroupVolume": {}, + "albumDownload": "Deskargatu", + "@albumDownload": {}, + "albumMimeTypeMixed": "Nahastua", + "@albumMimeTypeMixed": {}, + "albumPickPageTitlePick": "Albuma aukeratu", + "@albumPickPageTitlePick": {}, + "albumScreenshots": "Pantaila-argazkiak", + "@albumScreenshots": {}, + "albumVideoCaptures": "Bideotako argazkiak", + "@albumVideoCaptures": {}, + "albumPageTitle": "Albumak", + "@albumPageTitle": {}, + "createAlbumTooltip": "Albuma sortu", + "@createAlbumTooltip": {}, + "createAlbumButtonLabel": "SORTU", + "@createAlbumButtonLabel": {}, + "newFilterBanner": "berria", + "@newFilterBanner": {}, + "countryPageTitle": "Herrialdeak", + "@countryPageTitle": {}, + "tagPageTitle": "Etiketak", + "@tagPageTitle": {}, + "tagEmpty": "Etiketarik ez", + "@tagEmpty": {}, + "binPageTitle": "Zakarrontzia", + "@binPageTitle": {}, + "searchCollectionFieldHint": "Bilduman bilatu", + "@searchCollectionFieldHint": {}, + "searchRecentSectionTitle": "Berria", + "@searchRecentSectionTitle": {}, + "searchCountriesSectionTitle": "Herrialdeak", + "@searchCountriesSectionTitle": {}, + "searchPlacesSectionTitle": "Lekuak", + "@searchPlacesSectionTitle": {}, + "searchRatingSectionTitle": "Balorazioak", + "@searchRatingSectionTitle": {}, + "settingsSystemDefault": "Sistemakoa", + "@settingsSystemDefault": {}, + "settingsDisabled": "Desgaitua", + "@settingsDisabled": {}, + "settingsModificationWarningDialogMessage": "Beste ezarpenak aldatuko dira.", + "@settingsModificationWarningDialogMessage": {}, + "settingsSearchFieldLabel": "Bilaketaren ezarpenak", + "@settingsSearchFieldLabel": {}, + "settingsSearchEmpty": "Kointzidentziarik gabe", + "@settingsSearchEmpty": {}, + "settingsActionImport": "Inportatu", + "@settingsActionImport": {}, + "appExportFavourites": "Gogokoak", + "@appExportFavourites": {}, + "settingsNavigationSectionTitle": "Nabigazio", + "@settingsNavigationSectionTitle": {}, + "settingsHomeTile": "Hasiera", + "@settingsHomeTile": {}, + "settingsShowBottomNavigationBar": "Azpiko nabigazio-barra erakutsi", + "@settingsShowBottomNavigationBar": {}, + "settingsKeepScreenOnDialogTitle": "Pantaila piztuta mantendu", + "@settingsKeepScreenOnDialogTitle": {}, + "settingsDoubleBackExit": "Sakatu «atzera» bi aldiz irteteko", + "@settingsDoubleBackExit": {}, + "settingsConfirmationTile": "Baieztapen-leihoak", + "@settingsConfirmationTile": {}, + "settingsConfirmationBeforeDeleteItems": "Galdetu elementuak betirako ezabatu aurretik", + "@settingsConfirmationBeforeDeleteItems": {}, + "settingsConfirmationBeforeMoveToBinItems": "Galdetu elementuak zakarrontzira bidali aurretik", + "@settingsConfirmationBeforeMoveToBinItems": {}, + "settingsConfirmationBeforeMoveUndatedItems": "Galdetu data ez duten elementuak mugitu aurretik", + "@settingsConfirmationBeforeMoveUndatedItems": {}, + "settingsConfirmationAfterMoveToBinItems": "Mezua erakutsi elementuak zakarrontzira bidali ondoren", + "@settingsConfirmationAfterMoveToBinItems": {}, + "settingsNavigationDrawerEditorPageTitle": "Nabigazio-menua", + "@settingsNavigationDrawerEditorPageTitle": {}, + "settingsNavigationDrawerBanner": "Sakatu eta mantendu menuko elementuak mugitu edo berrordenatzeko.", + "@settingsNavigationDrawerBanner": {}, + "settingsNavigationDrawerTabTypes": "Motak", + "@settingsNavigationDrawerTabTypes": {}, + "settingsNavigationDrawerTabPages": "Orriak", + "@settingsNavigationDrawerTabPages": {}, + "settingsNavigationDrawerAddAlbum": "Albuma gehitu", + "@settingsNavigationDrawerAddAlbum": {}, + "settingsThumbnailSectionTitle": "Miniaturak", + "@settingsThumbnailSectionTitle": {}, + "settingsThumbnailShowFavouriteIcon": "Gogokoen ikonoa erakutsi", + "@settingsThumbnailShowFavouriteIcon": {}, + "settingsThumbnailShowTagIcon": "Etiketaren ikonoa erakutsi", + "@settingsThumbnailShowTagIcon": {}, + "settingsThumbnailShowMotionPhotoIcon": "Mugimendu-argazkiaren ikonoa erakutsi", + "@settingsThumbnailShowMotionPhotoIcon": {}, + "settingsThumbnailShowRawIcon": "Raw ikonoa erakutsi", + "@settingsThumbnailShowRawIcon": {}, + "settingsThumbnailShowVideoDuration": "Bideoaren iraupena erakutsi", + "@settingsThumbnailShowVideoDuration": {}, + "settingsCollectionQuickActionEditorPageTitle": "Ekintza azkarrak", + "@settingsCollectionQuickActionEditorPageTitle": {}, + "settingsCollectionQuickActionTabBrowsing": "Araketa", + "@settingsCollectionQuickActionTabBrowsing": {}, + "settingsThumbnailOverlayPageTitle": "Inkrustazioak", + "@settingsThumbnailOverlayPageTitle": {}, + "settingsThumbnailShowLocationIcon": "Kokapenaren ikonoa erakutsi", + "@settingsThumbnailShowLocationIcon": {}, + "settingsThumbnailShowRating": "Balorazioa erakutsi", + "@settingsThumbnailShowRating": {}, + "settingsCollectionQuickActionsTile": "Ekintza azkarrak", + "@settingsCollectionQuickActionsTile": {}, + "settingsCollectionQuickActionTabSelecting": "Aukeraketa", + "@settingsCollectionQuickActionTabSelecting": {}, + "searchMetadataSectionTitle": "Metadatuak", + "@searchMetadataSectionTitle": {}, + "settingsPageTitle": "Ezarpenak", + "@settingsPageTitle": {}, + "countryEmpty": "Herrialderik ez", + "@countryEmpty": {}, + "albumEmpty": "Albumik ez", + "@albumEmpty": {}, + "searchTagsSectionTitle": "Etiketak", + "@searchTagsSectionTitle": {}, + "searchDateSectionTitle": "Data", + "@searchDateSectionTitle": {}, + "settingsActionExport": "Esportatu", + "@settingsActionExport": {}, + "searchAlbumsSectionTitle": "Albumak", + "@searchAlbumsSectionTitle": {}, + "settingsDefault": "Lehenetsia", + "@settingsDefault": {}, + "settingsActionExportDialogTitle": "Esportazio", + "@settingsActionExportDialogTitle": {}, + "settingsKeepScreenOnTile": "Pantaila piztuta mantendu", + "@settingsKeepScreenOnTile": {}, + "settingsActionImportDialogTitle": "Inportazio", + "@settingsActionImportDialogTitle": {}, + "settingsHomeDialogTitle": "Hasiera", + "@settingsHomeDialogTitle": {}, + "appExportCovers": "Azalak", + "@appExportCovers": {}, + "appExportSettings": "Ezarpenak", + "@appExportSettings": {}, + "settingsNavigationDrawerTile": "Nabigazio-menua", + "@settingsNavigationDrawerTile": {}, + "settingsConfirmationDialogTitle": "Baieztapen-leihoak", + "@settingsConfirmationDialogTitle": {}, + "settingsNavigationDrawerTabAlbums": "Albumak", + "@settingsNavigationDrawerTabAlbums": {}, + "settingsThumbnailOverlayTile": "Inkrustazioak", + "@settingsThumbnailOverlayTile": {}, + "settingsViewerSectionTitle": "Bisorea", + "@settingsViewerSectionTitle": {}, + "settingsViewerGestureSideTapNext": "Pantailaren ertzetan sakatu aurreko/hurrengo elementua bistaratzeko", + "@settingsViewerGestureSideTapNext": {}, + "settingsViewerUseCutout": "Moztutako eremua erabili", + "@settingsViewerUseCutout": {}, + "settingsImageBackground": "Atzeko irudia", + "@settingsImageBackground": {}, + "settingsViewerQuickActionsTile": "Ekintza azkarrak", + "@settingsViewerQuickActionsTile": {}, + "settingsViewerQuickActionEditorPageTitle": "Ekintza azkarrak", + "@settingsViewerQuickActionEditorPageTitle": {}, + "settingsViewerQuickActionEditorBanner": "Sakatu eta luze mantendu botoiak mugitzeko eta bisorean zein ekintza bistaratuko diren aukeratzeko.", + "@settingsViewerQuickActionEditorBanner": {}, + "settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": "Bistaratutako botoiak", + "@settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": {}, + "settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "Botoi erabilgarriak", + "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {}, + "settingsViewerQuickActionEmpty": "Botoirik ez", + "@settingsViewerQuickActionEmpty": {}, + "settingsViewerOverlayPageTitle": "Inkrustazioak", + "@settingsViewerOverlayPageTitle": {}, + "settingsViewerShowMinimap": "Bistaratu minimapa", + "@settingsViewerShowMinimap": {}, + "settingsViewerShowInformation": "Bistaratu informazioa", + "@settingsViewerShowInformation": {}, + "settingsViewerShowInformationSubtitle": "Bistaratu izenburua, data, kokapena, etab.", + "@settingsViewerShowInformationSubtitle": {}, + "settingsViewerShowDescription": "Bistaratu deskribapena", + "@settingsViewerShowDescription": {}, + "settingsViewerShowOverlayThumbnails": "Bistaratu miniaturak", + "@settingsViewerShowOverlayThumbnails": {}, + "settingsSlideshowTransitionTile": "Trantsizioa", + "@settingsSlideshowTransitionTile": {}, + "settingsSlideshowIntervalTile": "Tartea", + "@settingsSlideshowIntervalTile": {}, + "settingsSlideshowVideoPlaybackDialogTitle": "Bideo-erreprodukzioa", + "@settingsSlideshowVideoPlaybackDialogTitle": {}, + "settingsVideoAutoPlay": "Autoerreprodukzioa", + "@settingsVideoAutoPlay": {}, + "settingsVideoLoopModeTile": "Begizta modua", + "@settingsVideoLoopModeTile": {}, + "settingsVideoLoopModeDialogTitle": "Begizta modua", + "@settingsVideoLoopModeDialogTitle": {}, + "settingsSubtitleThemeTile": "Azpitituluak", + "@settingsSubtitleThemeTile": {}, + "settingsSubtitleThemePageTitle": "Azpitituluak", + "@settingsSubtitleThemePageTitle": {}, + "settingsSubtitleThemeSample": "Hau adibide bat da.", + "@settingsSubtitleThemeSample": {}, + "settingsSubtitleThemeTextAlignmentDialogTitle": "Testuaren lerrokatzea", + "@settingsSubtitleThemeTextAlignmentDialogTitle": {}, + "settingsSubtitleThemeTextAlignmentTile": "Testuaren lerrokatzea", + "@settingsSubtitleThemeTextAlignmentTile": {}, + "settingsSubtitleThemeTextSize": "Testuaren tamaina", + "@settingsSubtitleThemeTextSize": {}, + "settingsSubtitleThemeShowOutline": "Bistaratu ingerada eta itzala", + "@settingsSubtitleThemeShowOutline": {}, + "settingsSubtitleThemeTextColor": "Testuaren kolorea", + "@settingsSubtitleThemeTextColor": {}, + "settingsSubtitleThemeTextOpacity": "Testuaren opakutasuna", + "@settingsSubtitleThemeTextOpacity": {}, + "settingsSubtitleThemeBackgroundColor": "Atzeko kolorea", + "@settingsSubtitleThemeBackgroundColor": {}, + "settingsSubtitleThemeBackgroundOpacity": "Atzeko opakutasuna", + "@settingsSubtitleThemeBackgroundOpacity": {}, + "settingsSubtitleThemeTextAlignmentLeft": "Ezkerra", + "@settingsSubtitleThemeTextAlignmentLeft": {}, + "settingsSubtitleThemeTextAlignmentCenter": "Erdigune", + "@settingsSubtitleThemeTextAlignmentCenter": {}, + "settingsSubtitleThemeTextAlignmentRight": "Eskuina", + "@settingsSubtitleThemeTextAlignmentRight": {}, + "settingsVideoGestureSideDoubleTapSeek": "Pantailaren ertzetan bi aldiz sakatu aurrera/atzera egiteko", + "@settingsVideoGestureSideDoubleTapSeek": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Gora edo behera irristatu distira/bolumena egokitzeko", + "@settingsVideoGestureVerticalDragBrightnessVolume": {}, + "settingsPrivacySectionTitle": "Pribatutasuna", + "@settingsPrivacySectionTitle": {}, + "settingsAllowErrorReporting": "Onartu akatsen txosten anonimoa", + "@settingsAllowErrorReporting": {}, + "settingsSaveSearchHistory": "Gorde bilaketen historia", + "@settingsSaveSearchHistory": {}, + "settingsEnableBin": "Erabili zakarrontzia", + "@settingsEnableBin": {}, + "settingsAllowMediaManagement": "Baimendu mediaren kudeaketa", + "@settingsAllowMediaManagement": {}, + "settingsHiddenItemsTile": "Ezkutuko elementuak", + "@settingsHiddenItemsTile": {}, + "settingsHiddenItemsPageTitle": "Ezkutuko elementuak", + "@settingsHiddenItemsPageTitle": {}, + "settingsHiddenFiltersBanner": "Iragazkiekin bat datozen argazki eta bideoak ez dira zure bilduman agertuko.", + "@settingsHiddenFiltersBanner": {}, + "settingsHiddenItemsTabPaths": "Ezkutuko bideak", + "@settingsHiddenItemsTabPaths": {}, + "settingsHiddenFiltersEmpty": "Ezkutuko iragazkirik ez", + "@settingsHiddenFiltersEmpty": {}, + "settingsStorageAccessTile": "Biltegiratzerako sarrera", + "@settingsStorageAccessTile": {}, + "settingsStorageAccessBanner": "Karpeta batzuek baimen berezi bat behar dute bertak fitxategiak edita ahal izateko. Hemen, lehendik baimena eman diezun karpetak ikus ditzakezu.", + "@settingsStorageAccessBanner": {}, + "settingsStorageAccessRevokeTooltip": "Ezeztatu", + "@settingsStorageAccessRevokeTooltip": {}, + "settingsAccessibilitySectionTitle": "Irisgarritasuna", + "@settingsAccessibilitySectionTitle": {}, + "settingsRemoveAnimationsTile": "Kendu animazioak", + "@settingsRemoveAnimationsTile": {}, + "settingsRemoveAnimationsDialogTitle": "Kendu animazioak", + "@settingsRemoveAnimationsDialogTitle": {}, + "settingsTimeToTakeActionTile": "Ekintza aurretik igarotako denbora", + "@settingsTimeToTakeActionTile": {}, + "settingsCollectionSelectionQuickActionEditorBanner": "Sakatu eta luze mantendu botoiak mugitzeko eta elementuak aukeratzerakoan zein ekintza bistaratuko diren aukeratzeko.", + "@settingsCollectionSelectionQuickActionEditorBanner": {}, + "settingsCollectionBrowsingQuickActionEditorBanner": "Sakatu eta luze mantendu botoiak mugitzeko eta elementuak arakatzean zein ekintza bistaratuko diren aukeratzeko.", + "@settingsCollectionBrowsingQuickActionEditorBanner": {}, + "settingsViewerMaximumBrightness": "Gehienezko distira", + "@settingsViewerMaximumBrightness": {}, + "settingsMotionPhotoAutoPlay": "Automatikoki erreproduzitu mugimendu-argazkiak", + "@settingsMotionPhotoAutoPlay": {}, + "settingsViewerOverlayTile": "Inkrustazioak", + "@settingsViewerOverlayTile": {}, + "settingsViewerShowOverlayOnOpening": "Bistaratu hasieran", + "@settingsViewerShowOverlayOnOpening": {}, + "settingsViewerShowRatingTags": "Bistaratu balorazioa eta etiketak", + "@settingsViewerShowRatingTags": {}, + "settingsViewerEnableOverlayBlurEffect": "Lausotze efektua", + "@settingsViewerEnableOverlayBlurEffect": {}, + "settingsViewerShowShootingDetails": "Bistaratu hartualdiaren xehetasunak", + "@settingsViewerShowShootingDetails": {}, + "settingsViewerSlideshowPageTitle": "Aurkezpena", + "@settingsViewerSlideshowPageTitle": {}, + "settingsViewerSlideshowTile": "Aurkezpena", + "@settingsViewerSlideshowTile": {}, + "settingsSlideshowShuffle": "Nahastu", + "@settingsSlideshowShuffle": {}, + "settingsSlideshowFillScreen": "Pantaila bete", + "@settingsSlideshowFillScreen": {}, + "settingsSlideshowRepeat": "Errepikatu", + "@settingsSlideshowRepeat": {}, + "settingsSlideshowAnimatedZoomEffect": "Zoom animatuaren efektua", + "@settingsSlideshowAnimatedZoomEffect": {}, + "settingsSlideshowVideoPlaybackTile": "Bideo-erreprodukzioa", + "@settingsSlideshowVideoPlaybackTile": {}, + "settingsSubtitleThemeTextPositionTile": "Testuaren posizioa", + "@settingsSubtitleThemeTextPositionTile": {}, + "settingsVideoShowVideos": "Bideoak erakutsi", + "@settingsVideoShowVideos": {}, + "settingsVideoPageTitle": "Bideoen ezarpenak", + "@settingsVideoPageTitle": {}, + "settingsVideoSectionTitle": "Bideo", + "@settingsVideoSectionTitle": {}, + "settingsVideoEnableHardwareAcceleration": "Hardwarearen azelerazioa", + "@settingsVideoEnableHardwareAcceleration": {}, + "settingsVideoButtonsTile": "Botoiak", + "@settingsVideoButtonsTile": {}, + "settingsSubtitleThemeTextPositionDialogTitle": "Testuaren posizioa", + "@settingsSubtitleThemeTextPositionDialogTitle": {}, + "settingsVideoControlsTile": "Aginteak", + "@settingsVideoControlsTile": {}, + "settingsVideoGestureDoubleTapTogglePlay": "Bi aldiz sakatu erreproduzitzeko/gelditzeko", + "@settingsVideoGestureDoubleTapTogglePlay": {}, + "settingsVideoControlsPageTitle": "Aginteak", + "@settingsVideoControlsPageTitle": {}, + "settingsAllowInstalledAppAccess": "Aplikazioen zerrendarako sarrera baimendu", + "@settingsAllowInstalledAppAccess": {}, + "settingsAllowInstalledAppAccessSubtitle": "Albumen bistaratzea hobetzeko erabilia", + "@settingsAllowInstalledAppAccessSubtitle": {}, + "settingsEnableBinSubtitle": "Mantendu ezabatutako elementuak 30 egunez", + "@settingsEnableBinSubtitle": {}, + "settingsHiddenItemsTabFilters": "Ezkutuko iragazkiak", + "@settingsHiddenItemsTabFilters": {}, + "settingsHiddenPathsBanner": "Karpeta hauetako argazki eta bideoak, hauen azpikarpetak barne, ez dira zure bilduman agertuko.", + "@settingsHiddenPathsBanner": {}, + "addPathTooltip": "Gehitu bidea", + "@addPathTooltip": {}, + "settingsStorageAccessPageTitle": "Biltegiratzerako sarrera", + "@settingsStorageAccessPageTitle": {}, + "settingsStorageAccessEmpty": "Baimenik ez", + "@settingsStorageAccessEmpty": {}, + "settingsCollectionTile": "Bilduma", + "@settingsCollectionTile": {}, + "statsPageTitle": "Estatistikak", + "@statsPageTitle": {}, + "statsWithGps": "{count, plural, =1{Elementu 1 kokapenarekin} other{{count} elementu kokapenarekin}}", + "@statsWithGps": { + "placeholders": { + "count": {} + } + }, + "statsTopCountriesSectionTitle": "Herrialde nagusiak", + "@statsTopCountriesSectionTitle": {}, + "statsTopPlacesSectionTitle": "Leku nagusiak", + "@statsTopPlacesSectionTitle": {}, + "statsTopTagsSectionTitle": "Etiketa nagusiak", + "@statsTopTagsSectionTitle": {}, + "statsTopAlbumsSectionTitle": "Album nagusiak", + "@statsTopAlbumsSectionTitle": {}, + "viewerOpenPanoramaButtonLabel": "IREKI PANORAMIKA", + "@viewerOpenPanoramaButtonLabel": {}, + "viewerSetWallpaperButtonLabel": "EZARRI HORMA-PAPERA", + "@viewerSetWallpaperButtonLabel": {}, + "viewerErrorUnknown": "Ui!", + "@viewerErrorUnknown": {}, + "viewerErrorDoesNotExist": "Fitxategia jada ez da existitzen.", + "@viewerErrorDoesNotExist": {}, + "viewerInfoPageTitle": "Informazioa", + "@viewerInfoPageTitle": {}, + "viewerInfoBackToViewerTooltip": "Itzuli bisorera", + "@viewerInfoBackToViewerTooltip": {}, + "viewerInfoUnknown": "ezezaguna", + "@viewerInfoUnknown": {}, + "viewerInfoLabelDescription": "Deskribapena", + "@viewerInfoLabelDescription": {}, + "viewerInfoLabelTitle": "Izenburua", + "@viewerInfoLabelTitle": {}, + "viewerInfoLabelDate": "Data", + "@viewerInfoLabelDate": {}, + "viewerInfoLabelResolution": "Bereizmena", + "@viewerInfoLabelResolution": {}, + "viewerInfoLabelSize": "Tamaina", + "@viewerInfoLabelSize": {}, + "viewerInfoLabelUri": "URI", + "@viewerInfoLabelUri": {}, + "viewerInfoLabelPath": "Bidea", + "@viewerInfoLabelPath": {}, + "viewerInfoLabelDuration": "Iraupena", + "@viewerInfoLabelDuration": {}, + "viewerInfoLabelOwner": "Jabea", + "@viewerInfoLabelOwner": {}, + "viewerInfoLabelCoordinates": "Koordenatuak", + "@viewerInfoLabelCoordinates": {}, + "viewerInfoLabelAddress": "Helbidea", + "@viewerInfoLabelAddress": {}, + "mapStyleDialogTitle": "Maparen estiloa", + "@mapStyleDialogTitle": {}, + "mapStyleTooltip": "Hautatu maparen estiloa", + "@mapStyleTooltip": {}, + "mapZoomInTooltip": "Hurreratu", + "@mapZoomInTooltip": {}, + "mapZoomOutTooltip": "Aldendu", + "@mapZoomOutTooltip": {}, + "mapPointNorthUpTooltip": "Zuzendu iparra gorantz", + "@mapPointNorthUpTooltip": {}, + "openMapPageTooltip": "Ikusi maparen gunean", + "@openMapPageTooltip": {}, + "mapEmptyRegion": "Irudirik ez eskualde honetan", + "@mapEmptyRegion": {}, + "viewerInfoOpenEmbeddedFailureFeedback": "Huts egitea erantsitako data ateratzean", + "@viewerInfoOpenEmbeddedFailureFeedback": {}, + "viewerInfoOpenLinkText": "Ireki", + "@viewerInfoOpenLinkText": {}, + "viewerInfoSearchEmpty": "Bat datozen gakorik ez", + "@viewerInfoSearchEmpty": {}, + "viewerInfoSearchSuggestionDate": "Data eta ordua", + "@viewerInfoSearchSuggestionDate": {}, + "viewerInfoSearchSuggestionDescription": "Deskribapena", + "@viewerInfoSearchSuggestionDescription": {}, + "viewerInfoSearchSuggestionDimensions": "Dimentsioak", + "@viewerInfoSearchSuggestionDimensions": {}, + "viewerInfoSearchSuggestionResolution": "Bereizmena", + "@viewerInfoSearchSuggestionResolution": {}, + "viewerInfoSearchSuggestionRights": "Eskubideak", + "@viewerInfoSearchSuggestionRights": {}, + "tagEditorPageTitle": "Editatu etiketak", + "@tagEditorPageTitle": {}, + "tagPlaceholderCountry": "Herrialdea", + "@tagPlaceholderCountry": {}, + "tagEditorSectionPlaceholders": "Leku-markak", + "@tagEditorSectionPlaceholders": {}, + "tagPlaceholderPlace": "Lekua", + "@tagPlaceholderPlace": {}, + "panoramaEnableSensorControl": "Gaitu sentsoreen agintea", + "@panoramaEnableSensorControl": {}, + "panoramaDisableSensorControl": "Desgaitu sentsoreen agintea", + "@panoramaDisableSensorControl": {}, + "sourceViewerPageTitle": "Iturria", + "@sourceViewerPageTitle": {}, + "filePickerShowHiddenFiles": "Erakutsi ezkutuko fitxategiak", + "@filePickerShowHiddenFiles": {}, + "filePickerDoNotShowHiddenFiles": "Ez erakutsi ezkutuko fitxategiak", + "@filePickerDoNotShowHiddenFiles": {}, + "settingsThemeBrightnessTile": "Gaia", + "@settingsThemeBrightnessTile": {}, + "settingsDisplayUseTvInterface": "Android TV interfazea", + "@settingsDisplayUseTvInterface": {}, + "settingsThemeBrightnessDialogTitle": "Gaia", + "@settingsThemeBrightnessDialogTitle": {}, + "settingsAccessibilityShowPinchGestureAlternatives": "Ukimen ugariko keinu alternatiboak erakutsi", + "@settingsAccessibilityShowPinchGestureAlternatives": {}, + "settingsDisplaySectionTitle": "Pantaila", + "@settingsDisplaySectionTitle": {}, + "settingsThemeColorHighlights": "Nabarmen koloreak", + "@settingsThemeColorHighlights": {}, + "settingsThemeEnableDynamicColor": "Kolore dinamikoa", + "@settingsThemeEnableDynamicColor": {}, + "settingsDisplayRefreshRateModeTile": "Pantailaren freskatze-maiztasuna", + "@settingsDisplayRefreshRateModeTile": {}, + "settingsCoordinateFormatTile": "Koordenatuen formatua", + "@settingsCoordinateFormatTile": {}, + "settingsLanguageSectionTitle": "Hizkuntza eta formatuak", + "@settingsLanguageSectionTitle": {}, + "settingsLanguagePageTitle": "Hizkuntza", + "@settingsLanguagePageTitle": {}, + "settingsCoordinateFormatDialogTitle": "Koordenatuen formatua", + "@settingsCoordinateFormatDialogTitle": {}, + "settingsUnitSystemTile": "Unitateak", + "@settingsUnitSystemTile": {}, + "settingsScreenSaverPageTitle": "Pantaila-babeslea", + "@settingsScreenSaverPageTitle": {}, + "settingsDisplayRefreshRateModeDialogTitle": "Freskatze-maiztasuna", + "@settingsDisplayRefreshRateModeDialogTitle": {}, + "settingsLanguageTile": "Hizkuntza", + "@settingsLanguageTile": {}, + "settingsUnitSystemDialogTitle": "Unitateak", + "@settingsUnitSystemDialogTitle": {}, + "settingsWidgetPageTitle": "Argazki-markoa", + "@settingsWidgetPageTitle": {}, + "settingsWidgetShowOutline": "Ingerada", + "@settingsWidgetShowOutline": {}, + "settingsWidgetDisplayedItem": "Bistaratutako elementua", + "@settingsWidgetDisplayedItem": {}, + "tagEditorPageNewTagFieldLabel": "Etiketa berria", + "@tagEditorPageNewTagFieldLabel": {}, + "mapAttributionStamen": "Maparen datuak © [OpenStreetMap](https://www.openstreetmap.org/copyright) contributors • Teselak: [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)", + "@mapAttributionStamen": {}, + "mapAttributionOsmHot": "Maparen datuak © [OpenStreetMap](https://www.openstreetmap.org/copyright) laguntzaileak • Teselak: [HOT](https://www.hotosm.org/) • Ostalaria: [OSM France](https://openstreetmap.fr/)", + "@mapAttributionOsmHot": {}, + "filePickerNoItems": "Elementurik ez", + "@filePickerNoItems": {}, + "viewerInfoSearchFieldLabel": "Bilatu metadatuak", + "@viewerInfoSearchFieldLabel": {}, + "viewerInfoViewXmlLinkText": "Ikusi XML", + "@viewerInfoViewXmlLinkText": {}, + "wallpaperUseScrollEffect": "Erabili lekualdatze-efektua hasierako pantailan", + "@wallpaperUseScrollEffect": {}, + "tagEditorPageAddTagTooltip": "Gehitu etiketa", + "@tagEditorPageAddTagTooltip": {}, + "tagEditorSectionRecent": "Berrienak", + "@tagEditorSectionRecent": {}, + "filePickerOpenFrom": "Ireki hemendik", + "@filePickerOpenFrom": {}, + "filePickerUseThisFolder": "Erabili karpeta hau", + "@filePickerUseThisFolder": {}, + "settingsWidgetOpenPage": "Widgetan sakatzean", + "@settingsWidgetOpenPage": {} } diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 2fe3e4b6e..5108a40c4 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -89,5 +89,55 @@ "chipActionHide": "Skryť", "@chipActionHide": {}, "chipActionPin": "Pripnúť na začiatok", - "@chipActionPin": {} + "@chipActionPin": {}, + "chipActionUnpin": "Odstrániť z pripnutia", + "@chipActionUnpin": {}, + "chipActionRename": "Premenovať", + "@chipActionRename": {}, + "chipActionSetCover": "Nastaviť pozadie", + "@chipActionSetCover": {}, + "chipActionCreateAlbum": "Vytvoriť album", + "@chipActionCreateAlbum": {}, + "entryActionCopyToClipboard": "Skopírovať", + "@entryActionCopyToClipboard": {}, + "entryActionDelete": "Odstrániť", + "@entryActionDelete": {}, + "entryActionConvert": "Zmeniť", + "@entryActionConvert": {}, + "entryActionExport": "Exportovať", + "@entryActionExport": {}, + "entryActionRename": "Premenovať", + "@entryActionRename": {}, + "entryActionRestore": "Obnoviť", + "@entryActionRestore": {}, + "entryActionRotateCCW": "Otočiť proti smeru hodinových ručičiek", + "@entryActionRotateCCW": {}, + "entryActionFlip": "Prevrátiť horizontálne", + "@entryActionFlip": {}, + "entryActionPrint": "Vytlačiť", + "@entryActionPrint": {}, + "entryActionShareImageOnly": "Zdieľať iba obrázok", + "@entryActionShareImageOnly": {}, + "entryActionShareVideoOnly": "Zdieľať iba video", + "@entryActionShareVideoOnly": {}, + "entryActionViewSource": "Zobraziť zdroj", + "@entryActionViewSource": {}, + "entryActionShowGeoTiffOnMap": "Zobraziť na mape", + "@entryActionShowGeoTiffOnMap": {}, + "entryActionConvertMotionPhotoToStillImage": "Konvertovať na statický obrázok", + "@entryActionConvertMotionPhotoToStillImage": {}, + "entryActionViewMotionPhotoVideo": "Otvoriť video", + "@entryActionViewMotionPhotoVideo": {}, + "entryActionOpen": "Otvoriť v", + "@entryActionOpen": {}, + "entryActionSetAs": "Nastaviť ako", + "@entryActionSetAs": {}, + "entryActionInfo": "Informácie", + "@entryActionInfo": {}, + "entryActionRotateCW": "Otočiť po smere hodinových ručičiek", + "@entryActionRotateCW": {}, + "entryActionShare": "Zdieľať", + "@entryActionShare": {}, + "entryActionEdit": "Upraviť", + "@entryActionEdit": {} } From f4a66ffc15a1bfd35942077ccad2fe4d1e91cd7e Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Wed, 8 Feb 2023 13:07:11 +0100 Subject: [PATCH 30/44] l10n: eu --- CHANGELOG.md | 1 + .../android/eu/images/featureGraphic.png | Bin 0 -> 17476 bytes .../android/eu/images/phoneScreenshots/1.png | Bin 0 -> 291934 bytes .../android/eu/images/phoneScreenshots/2.png | Bin 0 -> 510674 bytes .../android/eu/images/phoneScreenshots/3.png | Bin 0 -> 216739 bytes .../android/eu/images/phoneScreenshots/4.png | Bin 0 -> 95698 bytes .../android/eu/images/phoneScreenshots/5.png | Bin 0 -> 73885 bytes .../android/eu/images/phoneScreenshots/6.png | Bin 0 -> 350539 bytes .../android/eu/images/phoneScreenshots/7.png | Bin 0 -> 348183 bytes lib/widgets/about/translators.dart | 2 +- lib/widgets/aves_app.dart | 2 +- lib/widgets/settings/language/locales.dart | 1 + untranslated.json | 279 ------------------ 13 files changed, 4 insertions(+), 281 deletions(-) create mode 100644 fastlane/metadata/android/eu/images/featureGraphic.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/eu/images/phoneScreenshots/7.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c27b5109..b491d4702 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. - Viewer: export actions available as quick actions - Slideshow: added settings quick action - TV: improved support for Info +- Basque translation (thanks Aitor Salaberria) ### Changed diff --git a/fastlane/metadata/android/eu/images/featureGraphic.png b/fastlane/metadata/android/eu/images/featureGraphic.png new file mode 100644 index 0000000000000000000000000000000000000000..ad29dfe39faf6046cba7a20090f11ee06e3b1e72 GIT binary patch literal 17476 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 z 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 Oz~JfX=d#Wzp$PyF(5cq| literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/eu/images/phoneScreenshots/3.png b/fastlane/metadata/android/eu/images/phoneScreenshots/3.png new file mode 100644 index 0000000000000000000000000000000000000000..98fa51b082e55822560ae3fdc6db16a0a9be91d1 GIT binary patch literal 216739 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%0Ac(krDz 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 a+#EKzh>&#FtO5rOVkl!& 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%0A8`J~7 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 z
U4Qz~Y(O#B0a~%)hpm;2g4jqVE)U^Cjun6yW?U$tPwU#!JH(FPAdN0b5}&u9> z$Q3uksCuXG309*UByR>dqMGkqM||rTqdx48%cr#pJ|Cn22<4US?M%psOD{F@zyt2t z0VRzE1=)WemkWfyBs+MKk`2Rp-k>j&$S7=*WE&U}46wYEandiV{ZRg8f*$}@8K^u_ zh&Jr6rpEjQ*C`R5?2%^ongh3r!O`TI`I`Ygy-igQJU0CKr9wT<01VUWDUS3)mv(cd zWy{@My7Fx56=X$@D-B@OU1@OBTJ(oEQMKH-j*Um#io~pCZl_d#TBQeHB0kd#Ir&Sm zmlD|+-V0Nhzu9Gh43nM4$2ek=q9^Bc8Hp_{K}^-|M8?5+A^v5CM)3E9OB5Ggj;2O9 z&~LUbsd}N!JkcTY&M)#t^ssl+;OH1^7Uu@Bdw;uadLaQl5hyh6+rAH4zY{s@1fU~n zA33rxfcr?=L}xT7>9?n%vTh@Du+Uxe#R*Wwu9Wb#+d>Ah^G-P^XG<6Lr;pzM%(r=A z@P(81b%Pv2S6*EcnEJd0nd})>%j@%Ze20`5az{PmvCV19VxfC_Abu3;k1DKB4L>xN zy@Mz}IUc(qoLDx?4FS@y7+_9DyMdDq`=2-wbpYYBPh5{%9!Cpl#PilV&rGt$?pg?%t7fw4J zPkG)OB3pKaD1m9{g%%-89E49ED4}& zdId7Eu`81y7I39lObC-nzW#E}Sp^1M{!JaxN^=8J(j=cS4)CUP^Y;J_+1oLY=kZY& ztTC?$d{jXlAAg&?XSpMTe(cYcPcy;*TdzLmdTl{?^>J8B)WRh&aLk=|^=tqx2zfh1|`GRMuQDGrb}Yb9d-H zc-R*kuP3r-FzZOV?-`nBu(F!{rTod{{6=JFG_yBArkDsIJ9=d^SMWG`ig72MQFj@QGc)mnwu3uU6rH^>R*)I0yb7W?3 z>*o4a)fGwC^*h@(9*+m_We``;$oh$fM?(V#YEFH>5!5xP|^n8I-|8r-pMbrI)4 zN2GG=Gl$rBLRrF*4J$l4Q zu6hwyYg5FsVfAI~m+>ok(iC3)}3jL@IYyPg`5wi?86ZF_guVjxN^O+s4A7}z&tB>MTW(+yJ;B}}yMZ*MaiAzKvV zSbeI_^~cx&YhPSWVeqXW`)mRW=eb?yM)9x2B&5FUMFSMpsXJ_%2$PivdtnAlx=d)H zqmTkANVKvr#AB*S(GFYwVaOp(c%e%8NM-FSJ@$%@qeVGGUFk1W19pUPo6bfMjT~#F z_B2n(x95LduO!WBmkhcXBh_<>l|xM=ljwB-$a-vx^h&;7{hruZYU?dAfihq3wL-Pv zv3sZ=V+z+^s1mO*iT!K&1qt}dNZ8E<>m=>+ntRv_EJK^Eg-0b%ed)$Mc7L|&*Db)j z{g0Dmg;%PPF1$G$r+_r+7Wi3y)(aHwpc$Bb2RmZ(sNZ1z9J8VlrIx>ZdYXb9%kwY$ zASxJ|&J@rIEfw)<``adVo6F3Zotq8XJi=G#$8Hg38Rd>MwTUlIE80@#I+{$<0IJ(xE{Upo=row;wqe;-EDWaK2eQVZ$ryZEPyy?3xAR~bG zR6)?J3f$zhwxJ%d6zK%4iQcDL85laXvldEPG@Dx)1Ak)n~)1sa;AtjKGjCYV7T5b7On8J8; zve`&X+o=^bJ{Y~Rd>(h_8Lk$^t@JTjXY!^0yX_N`@0DcOHzKNp$r~9lZ+(wO&hGxx zBW<2xSuioKes65u8YFI004b3{2rSDq{~X6UPj`)&jPWF0>l5bh`N%D8VW`T3b!EL~ zRUZZ!5s$>uwk$G5_YNq;66Hx+f9#ACie-AJf z-u2{!g25<=u=1@-T$D>4B3gQY#72U`%J1GC>{LVk@GDsw804P(uT3%MTmfy${oxIY z0M4PCYMMh|6@w?dYW!?iLRRw|z0HTrk1Oi}V|JB%krx2CtESC^x;s*4=B~TS9x0c% z~J^_U98JWes=? z_1x*FE;L|^${cjIX2VFKRnAO)wNzijIE5CpJ#kulhwWxkdR<=LYto?oqi}pd?0ai! z<4*i1#AQFB>xfKv&kJc;s1GSbT0WPDn?vu_r};*(A)=8NkiicFMDZHKO8#B!in1se zYzTki{h5OVG9uR0+LpJRC|R}JS`;42vD2T_>0sjgL5Yi|wW(IPuE%Cho5zsa=IhVA zn97&W5ec5vn8P0_-m<&y)y16w!GL}ytk_Y%o@1@>Lxi*V&t_6en@?k^oHf>@H81U( zPJx3dbO^Twb?`!A(47|y&mx6-*+b5HzA(ro^}3dWKHwnUBLuAdO~Jioht zkQPb|^@*OS*$c6cmbAC}DK;zu-^m~%Wy1WIRN&BEj=|z)2~)e@$@QR>O{R1+xIKAL z3Q_XN(bPbldy&BF{V{M_hL02XJbQtR9yr2rEZMf8umJ&i4zi=e(~r8Z{kWzky|Bs~ zbnJ~fd{%u1FY{z1Q|*5L9{ZX_E@N)fJ>(}%__RVBLrG~9u-p@@SgMRV%z1O%Ts?gu zW%M#O?|Xb3@I&0ED3jS9_m&D!$jy}V$Wqi9R5aiD$*V@#NbCwyO64YQww&U%^L%d8 zmEV%HiTrUjrJz2Yo&76x{0#S+{j?J*JW0%^rPr$0@U4BJi6Y=1_;UBVEX=4WBhpeNbDHw zpC1b9g`S3Tl&3JNNUtToDSAcdF@NaY%%oZpx`vs-7|SIv>dmh7eI0$dB1SR>d+q>x zN^{7a*P=y7b$W76JUaBiN2>%a@>c|^+_cTmjb8)KYMsvRGnwKVUdr*K{0Vru&EGY3z0{8@Eb4;aOZ5x*fhBL=a4~-+hfL?2*XXDX;Q6G!Zs`L`jtytPyWq-D zi0F-AA6+YQ%+cWfCLR95Bm%Oa!0b!T9WwUsoLG+!7o7&3MoBiKkW_g>^U0gus!2s;vve+3}*nR$DBV_VCJZry}N6_UwzG z|Kd{O1(^Gkg0oXSs8{)BNASmdqYPDJhA=qz?HSYB$v$A3m~g8%ZbMz4l~q(u;=(qSY|VDm4oGNY`_e7SIq zKp@I=2rEm)RHgIcUDKD`0TPU-I2SI=y1BZaW32avUlv=K6Qn6c6%UJ1k_(;aTq1PC!(O$h#?L_{Ux`fmia8 zD=oYEx24+xI22$MOA}SX95;B}Em=?L^V@ce^#hPbk_ zTNc!?ohY#QeO}S=Cb^>?t^~uLx2a&LgNIJjwwKz@+}zwQ{FWz#+PDi@gL3Ma*O$f% zqIv|*`hb~krw}~@Jp-xgKYog~#W)aDkVL-@0`2`y>herJ1m)#r|DJbj0+s+k3iipS z%KvKe(HK)x(cYs^gxOp1q4)2Z3+cg3F|sn0gAM>w7IRz zq6r0*Fv=qgE-5Aj>HZDLuN=se!{24BI}IkwV?MFrHc86CeU=G$WF(pB*1 zo9mO~wfk-R1ikr<>u3hdhGBBWTBcN!JF zvR?$VvuNOsV;xsF%uJk$bfBvBZqFvn=(6;psO4Tg#b6}#5bPA)y4AY9k^`AI&CWAd zUo%yD&f5T1BXK}YaL#dtyR%=5>P;zT6I+c_*pmVFQ#8fJ%Yn3fVTw?;FTW~x8i}Ms zLw*Z(3uWReFhg;QOEXg~tJ9fH{u3ljeb3q9uZ+}hyg>_bu$n`m|Pn~?a>>upU?PGH*0-r3<+qn69Zlr~rUv`f-U;$zANI7c~_p-|C+k?dk56Y}j zaLWOEy8pC+J(g^C^?Zd*CP>^P0qd|>ozH3Vjh%eo(O&Hd3oX0j4$h5-l*X0pa!dRt zlZ09J#>QHdD^WFyK2o=;(VC%g`6oI&WO|vprv7K|x0Ix+I$fvcwhjp!(3!qtmR@m! zjDTb^jx41udLa}8;wPSIH7oS2Wn)ThsWnhwlILm7lNYujG)8 ziB#{Q&#y~u-TU|LLpX6dORzFkJ`2|l@V&*Pf7uWj18D!eF0QJ=V zejF69^72G%q%NgmFu;_Tg2eln%|rd&%#N2n-p4(1)v4>C`l5Y@^fX1SqDpk7FXuz;!z&98(4}&(B*| zkT%N2X3$Yb5+ezim54O&qJ#Q$Lm6d_%C$(TuKtu?Ti2zU98VQbN|J|aclPIK{2$;rCo1Z+iE7xtVh8l)Yc79mml1#QK_R%4D)+DN2MH5!O0nx1sbWJrjM=noAW<`V;0Vi@QKsXPSR3Ge z%oMkArzk9p@N{-Z`!3PtGAT2&@6LO|_hM6qb5XU+{4Pn}k=k{^cSBl;N&C2Qhdqc< zUi}rrm1TNN;1tKkX*&c%!pD2ogN?hRyD8s~hyRpG$BGSPj({2z3I>o=7eWiLejm?HpDhaQQqG4N<}GucW)`+E<-1n{~`<0g-4jnlaOuX=ixaDXV*Rp z2RQA4UJ|M6*@i~!hQFMJpP??+>U`&tH(#Y%EZaTYjFV04;1>wkEUY z%yA72Wc_q_C4i9aF~?UYezF7S!MVW6R+5?7Ve?5GK`bOOeMWE-N_9KZDQEP%cAF<9 zl(0A;YV{zOYwK=C!fk6QxkZh=wcIz@il{iLSch5DtVVCD&(WO(4|{jLB2uc`_`k-7 z9WcuIY82)%t>7t~tbj8FA2StB<{!nq1nml_o; z_4GyB=b#L*2;mXnW2Aj2>N#eTR4m}JIQVQjA^U;)eAc6qN^c?qsq}#YYGXo1Z1{|n zICbmqXZ+Z+c3ik;X?f~tib*E#!eXI|c7{=uu=c&JIBwV^>15-vf8+5&ie{vVZavve zs$7PiX}5=jQ~FA?b$=R?e8&0}YnBp?Xs1Rkd6H;71qt$uosz286&@CjeUum#w!`rW z*qcMts#5$>tG@e}tv8*l+P?B~@9(G+BuybW9Wa|33jNl)Q#nD3R#kd=mQQIwD>pbr zi0*nh(@^WgaBY`C%*Y55opgC|;&FB_$P1Y9(+2O~t84efI~%U><9lI(ujlox8uoZS z{?i^6jQKAayU%8-IF^i_Ui;4SkrMOgD(a^F5nDXoIA>~vH(+92$HN`_@;a`063LS+ zUU?WU|FGEEz0GdRA`iG-epaSNW@>=ytuKPqJD@*(+rZ7?FiXHh0BC0duayD+34#QK z;~&|VM<@7U-PYPdIdQueLUAQ%4*Ke;#g}&EM~2S=zBsh4wfw6A^0*=gkhV+|AZY{w zp3A2J4=vwSDau06yd-7RmoAnxHN{^E$`y&xg>x`1$aW0tHgzYfg%{BO)OwWS!WyZQtZjs~jyRqBb zdztq4Meuf9dMjk3yL$>?Xr<{q?04Ov{I0I2?O;`TZgR?NK5?5@21cT*w=2PoFc5Fv z9sj=)Eu!!X)De)KZf{rPDdJ@edo=X+=-5gq7oR7H<|qL$S6P{Q7_NHfZ%V8}TKi*~TH9UxHoNZL0}PUb*JdK3VRFGh6%zAM!z)ik!a z<(J`&UuoIEtgl{^>-7gT4_j|EoLSFO+%ohx>KJujU?rt?igK^a@+(Y8Urxul7-*AX z_%I$zBGqie+8y+-+^&J^pcI+9dh~;<>edoE*_f&Kl6C7RxBWHt3#hRvSt?m48)O8J zQHs0U0}ZQc&_v&MHDtA!`+DF&FhlPvgK;&|zF4HEK1F`PbRiYOC^xYxq>H1j$>XCt zKB>-wrHPm%UlG}7Bk%PrzU!&};mf>}+HQMTkWL-BrSPbM94h6c<1PMPmoKG3VIr07 zvV&W`hBCb0G+&-@k>cXc`-vB2X@iRf94q8Kf&A0l)flo$hk4hpGrc^Rk8jz3HnQ34 zKYr|waua@S9wn&%LT|EGQpnT5Z;WIVi2-zkI;mh2N?1Gk6dV4Qzyn;|fe3U3=Zv>O;7nVC4l%9${3VbpaotqUyLDpws#5$~mbfgf;ki~%+2 zVG$WZ8#?=sUreYFW;dg3S3o~-f@VM4T|*hEp4DTF`)^brj+O7rLEvSOa2jn0X#Fne zFwDHaP@M}+LW+0#8nsge;Jvwf0rDx5{Eb4KPV2jTRx2sZ=8ei**B3hA|g*&$(~X< zqK=wd;3pyu#|e3#kxd$kQZi%qH9xP#fK{OF-PpUg9!GDu^XjGrPOc~r?3ai4Y!^5e zt#^Be{_&%h0C=ABm#QwNVDRX1p0^;40{$|m#SLVAIm-XGac8CF?Z|vo+L#fS?8aQGM6Q)^lw zdqjTu=Tg}r`D^0i3i`3=iC;@QP@i4IFjksu^&!XyG&8mX23tAz9-{Wv^&|JBW;`3#fN*Kl_ESuRDpKkG=7(q$Vy8QH!rtrb=^l}#jX zf0X5Rtetg1b+;#*plw;>PZx;a7#+4m&GSb+pe~GaoZD~4_oWzmSrp&wkIX_Z?q7923y@88!LEYr&Riv0igTCHhueC6gV@2ZB*6- zT#`Vo^l`Qkgg-KrwW@XYW?vb6H&jGeonYZ|vW$IO|Zk`C;tpj3@7Y zTU+O07O3*qM`}|P|M#8l?q-{Fc6-Mu2J?y?NWIAtQl!IYidmO$Y5Z1vu z1FXLtN|lTo)tIlc$#UGyCL)=VjsB2#7=1F(uNOzY;{HRdUfvzP;~U>ub8R%&DJv}6 zEZ9)r;87@jtMpI5q5h!JP)1j4>f7PdqJqwnGBV5}tp6bPGW_V!_4iKB!bKG4G6En- z;NW7)LW&fm(hVIs6E38w^;00BrFOZ58f>!0HLb-y;;g-$DK__}8J4yZ64Q+um5`Bz zr6TL%Myv6FlQNnr@=PUj0{!(c-{sUQdv$>7hOB4wy) z$Ihq1^`S9h$~~9O{;R{=(Frf2tA3r9=#y(k>g?G`czA`N1A&mjLK8DsftPm&S2zzR zfkiMq%eq(osFT|(jMVaPMkvKNct~d${)lL9Tr+IcUKB*{ZI>}d(F({L=+15WgcV0` zn#kEBm25WFshvBaB93|r&=;tHi-tdPt$cVC)$CL>#cJotEw^G zCoR?d$>~Gx!y8+P;60;1lf{%I`vLcIP4_prmB-hxe!P(_aX)?RSK}IN^k%wOmNxTy z(a-eJPNCH#S0kaz&-IRz|Ew(8sy3#kZ>Dme@>Ur@lL@Mv&8GY1-QQewFvgEI%N! zrqy?<3G-N)`q%B@|8E^@);$S%Vem*TD{RPAv|n|`3ORGxDKk5tF0E`Ri$2|mMKSWz zQ_&t7YQ$=e8CiIpJ3g@8ig0ja1%X80E6%+gzwA6onGS-VWzL&N*(^|~Pb{sPe~1^? z9U+XdNX%8bghlVQ>?$)^B3P7A2vTEyYzG`4#P~)Fq(ZpGF|`BovkaQQ_r18E-2wcu z?<*{`-Bu3Gx7Xi>F!dDiaN;AoJq=p5{!qrP8|ysPT*Q~6dbA0Gs23n~hyFD`DRDr3 zw?m&ErdGTi#vbELxjaTJC7ud|A)b5xdRE{5dX4N|Ccdhwnq#faYYy7gDNdurbRA9@g`MD<@T)3nIs zOQY3iqMdxpNB41U$P4r!xH{r^(M#;mJ1~Az{_`d9_GOG()>nRspNWr8k%|)s3GwJA z)I5eY^lkRYb&WiJ3VJrueo&g%1o-v2Q5q=ovw;o|@S8I;g~wzzRS2bktja8d7pUUD z4{`-l8`tU989+F&l5cK=fN|EDVxne5?E?lH99dhu&3q^U*lA6CO}B@4I0}peFc_@4 zqoo%|7(g(KCz+G=4_!S596u*O*Z2n-DVExOLP#z_fW*t$6YH|5J?S25RNwTVK%^{{fzvMqo9>O7aLgTRDlnlUl8i>rlqBM=gOq!UOJx`U8g05 zg2GwJv{GxLU!1l3QSX0a9vqNp=cK<+M4@Kod!^w@jH3D^t}ja|QbK!tyey`6#p(bsxqe%OCC;a?a3t8H|+ zGFD*ZfZ8}ecq{9sqIZ@=Q(%mwgiO2G%N3GTf23pKN8qADY@#YA=2cRNpeE{kl&LHh zNgg=}ZjnaKzk=9tt1f~$>>LfvRi=T$%L~ECoh=q{>nHzax4F*!&E7Bn=Yspa)xuxz z(@JlLk%9v2qKuz)M3YN{CP??nP%*t_6%E7quRo{CVFb^U1gU<(HdEFi#E(=d)UCUV zz6=PpEIs+r_|~&J%t+#ms0pqy%gRLkv+!^VJ=aQ@g{sy|X_Z^p^Jb(b=8B^{lDC!G zPCCU5!M)}q>g)ID8>_+s6!FATp0mYLFze)ePnkYBvXc*2()5jpzeR@GCUM-(aIm{Z z#r3D3|J?H}PgftDZjafYUUxnc+?F=y9@%>FA+6O`a<$3N0Ac>>cZ-oBzIP|O4Q`$b z%0pOm$&Bo2`H8$RiYd8y7(}=gr&9Oe62FPkIA?B) z-SsSsN~G2H$q2tHLMP3XfD$6cALEjmWaTek&(wqoX&*f$;A->o0-y97C_7s%Funj*~>+2ai{iadax0cA5^#Vn|TBc{522+tW_HmL7IU-`Uj#atR&n@PHvB-fam1DPYsRMHIaeCpdBr07gyy8R#mQk*Me zIij`{p4ZAf`)39?C=BauV))Te-G_>IAA>BB^}s3+Iee~Cn%6Kb#-zxV$e9_|>c~Asi}`$*y2`dVC(n(z*KD7m?yiuHV)u$Rf%E zNmj$)e8TKxHs1)nF=&OQJ^42LJZ`V7N)LNMHi?>{68aQNx<9uy@!3v-q`ihx0yH6l zJ?g)ZQ+L`?PFbT&=xNej&#WD37(J0;B2`}|qq-SxC{SN%m2-V#TBC`ckd>F8eGVPh z_-s7;M%ai)KkTZ6=a5tc8tm$;=Sv1b{;ch07xF`OpHQqYGamX0BYSy-MO!Xo zG+m`<&uSIeT%&{wA+7<}TQV+0{~uMt6G>V-Ujc8;T|N5g*|zNb(ZwKsdOLu zV0hM)+CDnGc$!ZY;nneM%*}&ZVcww$qRl!i_g)y}JaEhRzbGPALDpm_T7{Z~TIk*` z$AkM`F5qqlRXzE{)+j~8VrV|&U(?QLm~b-VH#nRp%)~~{VZa^SjQRl}Nb%}$zp{wY zKM#0nMxo;umz~OpsXxM7PS)X#)GTsrl`=8{FTFRiZ=1%&vTi?RVCr58C zK)4bRJ9dAGJ|Sw{QRCw&Sq-`~VWOHTOJevo0VqGU97dz$Z@*pxH6mOmbPvj;eUG9TKKBadE+;B^$=To`P;x$ z6TGJ{s`C8fY&`xfwKMQ2U@8b-nCV*Col!Kgi2qf!6eu=*0>Ap8ZmTsrluzUH`zVhC zQ(cZ0%dBXABo55d49d0MMOx~meznjC&!CE0r%5_@!?6TgbmwfXv|vr)D3o+~f(P>` zY$jv|vq)D;lb4h*R9u{t@ug!T{iI{lvtH^$v`T?DEiD~poEhUYM9>4o_P55Z&q}(| zo`SO0(48Mbb5%|5{xVu}eaJHdUj$T~7~OEfc%8vbtdAZ2zXRXb#Kcm`L;qO~Rgr5l zuooCr=qk>-2KKUtCsa;cd zx#evfnvc=PakzT|zaQ+nyjc#@>?7WAAblDR3`&A*q&zc1U4R#gm)ZJfL(RYZmqBBI z+3I1KOvDm4LBNFfa5^ehYgFZ8K(0{D7Si~n@P>cwK63I)Bq;}`hYp1W7#c zwZF}bIyu*gl#pH;PPE6fh3YEfEMv@d3dD%Ux$Odet($a3#7wB_d)!NVK07R)kL%Nm zi)bQH_U1ehI8M)m(B1A84?n=!_MnSXE)AzG3-dD#&9-1dxn|c32N|&R@#0V^ug2T%3dlUE&V`6uM$h<()z&TZroW7oHD6_8s@7biq!gVPZCpun?oeCS!JNbSY3y5_p3t8d-*;G|ANMA(mPqn+H#WQ= zmdJd9E28!CWj>!m&@r=fNdD1m3Qn|11V+R3iy=-d3K`z*O1=GSqg2r_6K1aZ*Ofem zVt+`<{5~1Hlt?Hzz}f=HSS(7VptESzHklJ)B7JX==!iXW;2)(j;rc!m`!BSUY zDLD*Ql`%%5VCg1$*Ru}%;@qQOk6Z=EJ+WNymwkBi{O@0NZsMW8RwYebziPIBID%6R zWyLIQHLU(-jL^#dlmn7b;Ob?Ab8(RJn)^jSyu7a+ zjHM2L_}(5RAC)7}9XAr}Na0GSNc}eDSl_i*(u@q#`NqR{fQk?HP}L&TlqC!e_Ry~c zvOWH&(rv&2yp3yh09kqIVcoq50xOcVP?ul}q4cn#ao-}c*3xfXNDc2eMJ)=Slk?9} z$9+f5+F6?K|G|skF`VVrZ%T;{GE=!n{|OyMkjZhA!O{$8)n>m5zFrIAqiE0BK(MjR zacS)Aw>gIX1M^}{t)db-u+~`k&CHkbtzPl@?w_gbE(+`bT->jT{B%=sGmVvRnJsK) zFGLjC&L&eWSZidd`S7v!OTQ^nd|l?xn2mMzR)!}}mQXzYRKW|EkVAY-5g6+i)#Al6 ze5b03sP&+Aqu;P4{XkPkQ5xa&c>&t%;%_iUve-;Cc)@NW0E@N|LKlzNX(bISrf1iN z{eiMH<&;gbHB}SPFR|5(wc=47+l#L6-YUR4Zzy4#D|3^$H1~MGy@`XPRkeWco!+|fp;ILZ{vngjzgrxcW zWiH&cfi}wGQJ0{8jSgfT2)96m5Z2_h1cJ^rbyt1xkxdX2!_y9N3dM-k^t%A%)R)gp zIWva)vNrz&G_Q}2iK(YPK@3ScGKv(HB!9Q=O%S`izp!s4Px9^wXxqd=1;}g8R%mTP zh*|x_zV8TvLFA#w1{P`qE?EWZTSXg*STqVUD=Esa3E~2{T=HU@`Fi&V9 zY81ckxKv{(W|F~pvYteZIYjhhujQ?5QnlFr+Jeg3Zu~QfF^jrI=g)y7$Ga4W+HY78 z*_7^1P%HWP(u(X|9WFE7?;qTE-JYHtxKIqGG3H`sPzn_?m=$Od!?$XOukQR6QhCPfx=`(TFhWFTtMkU;@sP!4c~) z`kw~M&I7KjG4yc}epa#xgRIu+Q74&Hk~JxDO^wIGe2PPNbR*rPmhwnX0Gp}&&-E;p zPDH~26eYQXlM2h6xqbdwVRB5W2;$g==_EOcl1(KuSO?8Bi`fy{qAl~4s-35^XU@Xf z0Vt)+Y^-mF=;ySF8nT&@ea8AdI3JUAR)-l3kxBF`Ua&G-Ng-^O52%Zl=4Ruz#VCnx zl7I0fp0%B6v-L2$jFgZs^s>$(N4~zDV}6|pm(7ozo+>@MHmZXpvfCqHu_?(yGEHXX zQl_~vx64es#1hss(8V?|{;R!}G+NhCnI%kj%sjRA`X^KE8*ee> zVEaXjTT@<>`;@0%Gkii{A(+L5J%9H5C^%xH%3^h>sNZ5aV}yDEP(S=q(L4o4LJJ!0 z^R3VjzJvt+4HVmMW^{4 zm5Z&etR$_QvV@m!a(#jT#ViPK^Q>ET7siLbOSRMm-&Gl=ec0Zc$KNQs5`KUz4dG~ap64C^`vM$cI#S}(?cXG;EamH0S$FBzvoF2|4h`c zIlsads(yrq{kpg8?ND9H*>xg_E_Ph%TE7ts7}f5&iNC#E^%7n})hybxe@-rGV|wlQ z+Bzz193x{)yJBN=4l3a*XS1zE>>BGhiqyh*nU7!$%`Z~5AuU|hcmvyvAR6jSVAuf#7B1VdZpr&}Qt~ad7!9uU<4GWRO=~y4TO)EAc zrS&8{T&9S-j%mb|!ouLWTopNiZPH+JW=iLdi(y)={UGPj-b?GnqMZgwb$w4Ee``#I z7cOY0ty9+MV%B8Muqxxrc(yhu%LtG5{HOzx)pw$>WLDbF=ME{&eaMa}6CPxePWPh| zX7_(2omE^^-P?vOK$Mb_MwFBxMWjPox}>{PKw3gVx??CE1Z3zMU_g)@V1N;a5C<4( zX?f`mzxDrpCmwL(0ef%OdY=2fu8`Ru4};j`X_H(3={2&_LZR1|o%{^+lIwSvsFfb5 zJ>FZYq~vs?xI@V*O2ULI9emr+@Kv}&?MZx552J|)xw^sp!NyF=x54Onvuwn!>(g!1 zt>y^ZR^51lq0#HMqQVim!>d}CQs%a5rE?+k5XndPIHN6--l%Alh);M8yEYWpFoM0E zcKS*ytjbU?M(0kmoR6@YmqlvlPV3n&3^0zt=QJoJuv<_QcmwbDs#bnH?ASVEfe9!W z)zp%sn;V!5P+?$1QZxACX&LxC7SZD?v2tk+^@VXEWrFYCD%|jmbTN^VezlzFVrFh( zvG;c~;o{;#*E2Ze+ghNM?K_stp)5?Iy0n3228hQly(~V^9So5%qJ1m)nw)P{T|+;C z>W42SY2^D2-vM`-H7~I=Zn4ckF+FM;m!}RDh-VauX6ZR0SCdBH!Y@*;7Q1a5tUHbM zCTUFa_K&YgmCPtK;dj(tihLSv;w!lFH1|4@HvTvAZ*xA3XTbT4O&hLHqEIB{A-!4# zlEC1w`I8h@=TVF7DJ$&kd+PxKJxgf|3#vet3seLc@8%;#M+T@pu z7jMKJRgf1oS}K&J{Fqy4-_lz6&U%64?{ZHVOHgpD)75GBGK%jc;006aJ8>yY{$cLh z87Fs~Txj!w}-jj-FiY~fzXBAS}|FW##e4%wT&AnjaJ zr!UNy_UpVepZ_auk0|uc`BMLZDg)))THwZP3Mt~ zIoO4$k{}r-gq4kxBG@b(&v#mDvG&3=c)(8Q&DWKAM42I^G2qgF5;|PWa4`z_)J$f(1G+FJ)8( zNBIROtOJbDK?N3hy7K3hW5(Y~h!$=eno!({=-g4F#TL_zZ@~=fkO$WRM(qWOqR1qi*t-k=&H-rJZODqSssM`Y-lhBv$4k62zW7+wHEJ zZd!{L0-F)|toLOS2jv|!y<5_O1s-qwkGI-?*68%n!peJZDL--R*=iM!<+{x~&R<I<!oG!s_b zZHJoLTuWk{cW?V;Ol`he9~ktX5RrJE(~CE}GS5#ZH8)}q-E15CQ&d55p(UH!IjlbX zMu&D+4wj){0WSmRNxGOm(+5vto812;B0i7%n&F#=Q5ypWUoP|bV#aLptl40mX0U}O zKLraUwTV)?VU`jf`4>1^1mcbw@Kanv()e(o(ould`-)Q2RHBcH2W2iRt!r5NnPTl( zuj+j!B42w-Ds=kP6%&u-)K1IPxpgM4mbqk{oSYnZrIKj}xKoHP-y=N&PpJV64=1|8v zzvE4vSnVan)2rY4V~Cv%LnN2|n=o2icmJ?y0LlDo>$yCISCIFJuV_i-Qy2^e$nQ&+ zm*zck>fgFiNItT%+b4LUrzH-Ek9NUipKM0W2$4I2d4RT86L>cC94COSzh1Svn$F4G zxPzwQR?UZ3vlenEX0*4z^T$hHTs;UDVbe=nL+D)mZNw?+c2D-xz;7z$O^h|lew<>~ zZt75*z^r})h5)KdK}G%BZ5}6aCApYHx7u1*;*Xq%PqMpq-c=%~1-zi?ueCf@ci3O)4s*DZCm&G_fF|N2o1gRXI& z@I-|P#1|z~3;JY!!q_{XHAZ{_2|8c+n+By|d?iW;33LSXt04T$Ys-;t5}#hV4(A|e z+A579wEHtID_E83fyr{PC>s}<{J^rjxZQ@_&GJh?@|op4^~oLnLtT#cYvofN>_1nM zRJ6bp@#`rktp%O$RvvEcH}Dm7ADMiAxZEoufM{T9+%lbfyVC8)M1>aic25*cd&P$H zZ>Sflcix0PuB*6j6K|lTIo}h4TyXzNDPFn_gfi3aS|-#GqpH2F<51T5lLnHgMs$U zA)Daa+Slqrn6hzJ1#Xx9JQIX8rc}LjTQAWBLIIF4qg_w?UqSB*gcjgeOWtz313} ziU0m$Qc`MZs(ztRQSU=1%)1wqN@;nE&UQ|?+G;`YFKKJ*K0K4S>ud=dbbUz^I}s6k zM0K)7s*UGkCM1;(vY221Spg~zs-Y`M;Rghrqv0U4&V6r*+eXH!oMd#P`0*3%XXDEe zms#V#NJDugsvUA$k&uL2vfa&}yoo{aPnYiC%&BYD-A~K#9@Pu=XC5S8LVmB@W|Vyi zuLNy#!x08iVeF)&6Lm4$M>+_Z;INU@-A{`@g$+|T54Tw2oS|)mBoo~TrH4oeqkb6% zk-=k-TUvVh0iD#2@|9qI5QXG;&Y%5?u0zx$T3!{Wple{@poxzoZ)3H;<)L4@W%^lw zL6NRp4`qe2`L(quYh1*zUF%~(jyv&vEc6q~#o#hOL^&Zs());#A{3XdLFtZJ^&Q@o zDqQj5(J4aGGZSDY?_vDuAe`A+0-ZZ{&dcw&g6w9KE4&IGQINOT$T6WmYVicYsFZt7 z-;tBI)b2DrpXyhfqk{5eer;O3_slkso0J^4xU1AW_x+tn4Rk z*uR?n)npO%>~~WdQRkZR9ay4Wq9O0SD4~$WDSqUNYGgh4k-W{axXc>nnWeexnyudt zpN4Kf^VLQ$)6Ee}(UekCU5eJ0y;8gzoM-%-@V5&!n(mj%jZEJ`HM66%JNKi~Dk(++ zMGMj$c*-V-QE4Bh3SPW%&WAq47B06g?Z)>~Or-q+Ab0hAM(g6L)oDB0-0(e3=O>{65#plRL8NmW3O~)lA7hLznT+6n=98hrrcqH-?~b4tb_5$ zQAYM5-y}yPLyq0zPN%P?lu8XUgB+I&Us+6`0E5`MbMSZix!Pl$6Lf6sUgK4L*yjz` zOYZJT#aah^ev?NgTV`^|l5K8NyoM7&Nk+sezt(%k0fBS_A9UTfrm9g~s%#N>_vR-dyunhN^UrEMsI zMz^o!()(Hr^{iO1$0(s|1$C6-4E7oBt8?jazIw`t`mxZjo-Sy-5N;Fsf?AgIUPVE0CyP7`1{%|jqs4in*AO2bmP{y2s4M0&TIjiCQHH!a`vYY`(?~g!me2g<;^UL z=Mvp|?!dD@>I>oye8a^HYlY#C9YBp*3pA2zv8>^b6CN+IuX;&5P3l-^oxlIvB1$-> zC-C$Q4EfEdJ7tQ35inS1xK*l?%0x;%O^XGg#TZlgRliS)gDIFW0HwgeSGj1GLYAq& zET!*iv*meUoHKVGx5!UWWUY?0lN*Qc-R0nQmVEs_gU{{?<>HB)2S_9qft z=s$1+PD*UQ+;$tH{Haf|*sA}*;A&tN;jM|@CT0yZAwDB3V-0*`-O)Yk_Bmc+ADf!^ zm#>dgX8qA3c@(EIN>Dx8uctPod&^@d4^>9y_6Um3xj8a3JbHkei(#JvK;}9}+cJ zuuAFI^$|i{?8=Q=JsBVhWXtA~gMB!69-?3DBpifz|J&{sn;#%%x%4qEZ8&`#x8v71;SVgmt zY4A=6d`MB^hg52R$SWp-Cc_UN41vhx65Z3(rVYuw*HgbGXD;#I!`a(F3E}f z*EpH564DbEKKet*8%cMiLZ@SBXy6xLlZe^yeahs4PiM5rUz*}isZ#AL6}zETwoFGh zvvUIA+OQY0|Gr-Y>?kPcS z048m&5Ls~eNkA;@9Yfn(2UgUmiNI(BxG>5K6587($JzUjES6kfxlPf*QVS0cf$5<+ zwQnDiaars zf2I1)rT#cHgPpcB(gv8BeO;gJg+@36O)cFWka`C@*qoe)OynwB8}Vl${73qJ&u6|9 z#yi~jL!vp3^w4|#fn`(2@aXhW{Goh+6bpJ@Mb&S`*x|{by1Kgchu_WBKMY@s>*dg- zI2(wyFmU>z4}p3CnGHlg0{z8ht455YB0 zT^DoPx6gthQjExmxMZq06B*Dt_xFpN!0t(+8iI~5#Q_ej46RbkZqp^ZyWJB02Q@<4 zbv{`K&hfX>wJC=yZCd~_M>YhVI{%M-U3X&ja-RWv5O_5NDE{LRg`U0EhiNj>sar%g z$vNUdVZ|kD|DlLjU@YFusa98KR!iq>9!69|`n6cup6i0HGc(6VanN^bk?rD;bl9i% zW~y34@oEu)jENRsm_U_g zoBo*a&+2OOZFF|x0;{6QXSCjL#<-|E=*&-;@_9Hd=f{}ak@6T-^YWp85~YY-zUpy& zLv~-32(>OWa$TZk{uLQxquP}l7Mil`cHmY@&XouZ?VE&FL3cr*(wKeU&u@FGdF4Vz zmpWyq%hD|_M3&CXk(HG-cf=7y*E7U^akyamR|vL_Oe@_S_18)FHENG7=2LK++zA6i z!7X@~hs;2hbF@lp9~5KPKK|=7k@pwN<6>?D2HhNVxA7>4uG{ch--$wqK-vCFaPg_A z`dAoto-!K-Ag7!dE$aSw%bSwYqoZ;-%*YRsz0maAfL588wYS_*2jS=)pNkqq zA4rXh7{U}I)`HAs+d1>@cD=v?Ik02P{Hv+*N+G_2$FdFh?Yqml;Fx0a>rff(+Wd$_ zvG`s{c=ShE87bGULN!C9%iW38QyWF5SYQr4@CuqYOh zjO6(m-L@SVeh?9UuHCgVeV}a&c|8^LkuSy0#>fG@oGYx?i#w<7UH{VzJt2{9L#}Oj z^OeRrXigePg@@eyuAjDLFw4XMCgHiX^F-%Pcw$kFZle3z~K!Wf>;Rg z9Ya?Vju0$`LJt8U zC%oU_J`?WX53a!9K)g*W@P6%<&gBpw2APsVRn?3UH)N=Ve;M`;Hm8%TQZ=+Xu6h*2! zOm|!D@Od(!?5mYn`<@K}xf!CGlJopwSZwaTb!x6athAmCj0~+Mq5bz40l0bXmtij>P>eZ0I?4bFG6u>m{A5UilCK-bOVy}(D zWCG)LHuL>mSsDLQJSnLgy%)W5k2O&OkEE|d$GF(~j+tsg$Y44^?OHdUbN&Pe6RB&>yp#y(zz;lf}`wmcB-RLJl74MF7z# zAz5sDsVvDvW&olfDwH+YL?J
JNfXm`pyC&HcK$X`9bkK{;N`Z7cCf|1~gwAj~aC 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