From 17379394bd0dd999862f97695ffd6c550af5c5c7 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 12 May 2026 16:08:19 +0200 Subject: [PATCH 01/45] multi-byte paths --- docs/BLE_PROTOCOL.md | 99 ++++++++++++++++++++ lib/helpers/path_helper.dart | 63 ++++++++++--- lib/screens/channel_message_path_screen.dart | 57 ++++++++--- lib/screens/chat_screen.dart | 6 +- lib/widgets/path_management_dialog.dart | 7 +- lib/widgets/path_selection_dialog.dart | 13 ++- test/helpers/path_helper_test.dart | 41 +++++++- 7 files changed, 251 insertions(+), 35 deletions(-) diff --git a/docs/BLE_PROTOCOL.md b/docs/BLE_PROTOCOL.md index c17c3e7a..a8edc89a 100644 --- a/docs/BLE_PROTOCOL.md +++ b/docs/BLE_PROTOCOL.md @@ -1287,6 +1287,105 @@ if (reactionInfo != null) { Reactions are parsed, processed to update target message's reaction counts, but never displayed as standalone messages. +## Routing Paths + +MeshCore supports variable-length multi-byte routing paths to scale mesh networks from 256 unique nodes (1-byte hashes) to millions (3-byte hashes). + +### Path Encoding Format + +**Single Byte Encodes Both Hop Count and Hash Mode**: +``` +Path Byte Format: +Bit 7-6: Hash mode (2 bits) → hash_bytes = 1 << mode +Bit 5-0: Hop count (6 bits) → max 63 hops +``` + +**Supported Modes**: + +| Mode | Hash Bytes | Max Hops | Max Unique Nodes | Firmware | +|------|-----------|----------|------------------|----------| +| 0 | 1 | 63 | 256 | v1.13+ | +| 1 | 2 | 63 | 65,536 | v1.14+ | +| 2 | 3 | 63 | 16.7M | v1.14+ | +| 3 | 4 | 63 | 4.3B | v1.14+ | + +**Special Values**: +- Path byte = **255** → Direct or flooded message (no path) +- Path byte = **0** → End of contact path data (padding byte) + +### Path Byte Calculation + +```dart +// Extract mode and hop count from wire byte +final pathLenRaw = frameData[index]; // Single byte +final hopCount = pathLenRaw & 0x3F; // Bits 5-0 +final hashMode = (pathLenRaw >> 6) & 0x03; // Bits 7-6 +final hashBytes = 1 << hashMode; // 1, 2, 4, or 8 + +// Total path bytes = hopCount * hashBytes +final pathByteLength = hopCount * hashBytes; +final pathData = frameData.sublist(index + 1, index + 1 + pathByteLength); +``` + +### Device Capability Detection + +The device firmware version determines multi-byte path support: + +**Firmware Byte 81** (from `RESP_CODE_SELF_INFO` and device initialization): +- Bits 3-0: Path hash mode capability (0-3) +- v1.13 and earlier: Hardcoded mode 0 (1-byte only) +- v1.14+: Firmware reports mode in byte 81; device generates paths in this mode + +**Detection in App**: +```dart +// After receiving RESP_CODE_SELF_INFO +if (firmwareBytes.length >= 82) { + final mode = (firmwareBytes[81] & 0xFF).clamp(0, 2); + pathHashByteWidth = mode + 1; // Sets to 1, 2, 3, or 4 bytes +} else { + pathHashByteWidth = 1; // Fallback for v1.13 +} +``` + +### Path Usage in Different Message Types + +**Direct Messages** (`RESP_CODE_CONTACT_MSG_RECV`/`RESP_CODE_CONTACT_MSG_RECV_V3`): +- Path extracted from payload after decryption +- Used to trace back to sender + +**Channel Messages** (`RESP_CODE_CHANNEL_MSG_RECV`/`RESP_CODE_CHANNEL_MSG_RECV_V3`): +- Group address + encrypted path in payload +- Decrypted to reveal hop-by-hop routing chain + +**Contact Storage** (from `RESP_CODE_CONTACT` frames): +- Byte 32: Path length encoding (hop_count | (mode << 6)) +- Bytes 33-96: Path data (max 64 bytes stored, variable interpretation) + +**Example Contact Path Parsing**: +```dart +// Mode 0 (1-byte): 3 hops = 3 bytes needed +// [0x83, 0xA1, 0xB2, 0xC3] → hopCount=3, mode=0, path=[A1,B2,C3] + +// Mode 1 (2-byte): 3 hops = 6 bytes needed +// [0xC3, 0xA1, 0xA2, 0xB1, 0xB2, 0xC1, 0xC2] +// → hopCount=3, mode=1, path=[A1A2, B1B2, C1C2] +``` + +### Path Validation During Input + +When user enters custom paths in the UI: + +1. **Parse comma-separated hex segments**: `"A1B2,C1C2,D1D2"` +2. **Validate segment length**: Each must be exactly `hashBytes * 2` hex characters +3. **Convert to bytes**: Group hex pairs into single bytes +4. **Check hop count**: Total bytes ÷ hashBytes must be ≤ 63 + +**Example with 2-byte mode**: +- Device reports: `pathHashByteWidth = 2` +- User enters: `"A1B2,C1C2"` (2 hops) +- Parse result: `[0xA1, 0xB2, 0xC1, 0xC2]` (4 bytes total) +- Validation: `4 bytes ÷ 2 bytes/hop = 2 hops` ✓ + ## References - **Firmware Repository**: https://github.com/nonik0/meshcore diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index fe51d636..5a6d15b5 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import '../models/contact.dart'; import '../connector/meshcore_protocol.dart'; @@ -8,24 +9,56 @@ class PathHelper { .join(','); } + /// Resolves path bytes to contact names, supporting multi-byte hash widths. + /// + /// Groups path bytes according to [hashByteWidth]: + /// - 1: Single byte per hop (256 unique nodes) + /// - 2: Two bytes per hop (65K unique nodes) + /// - 3: Three bytes per hop (16M unique nodes) static String resolvePathNames( List pathBytes, List allContacts, + int hashByteWidth, ) { - return pathBytes - .map((b) { - final hex = b.toRadixString(16).padLeft(2, '0').toUpperCase(); - final matches = allContacts - .where( - (c) => - c.publicKey.first == b && - (c.type == advTypeRepeater || c.type == advTypeRoom), - ) - .toList(); - if (matches.isEmpty) return hex; - if (matches.length == 1) return matches.first.name; - return matches.map((c) => c.name).join(' | '); - }) - .join(' \u2192 '); + if (pathBytes.isEmpty) return ''; + + final width = hashByteWidth.clamp(1, 8); + final parts = []; + + // Group bytes according to width + for (int i = 0; i < pathBytes.length; i += width) { + final endIdx = (i + width).clamp(0, pathBytes.length); + final hopBytes = pathBytes.sublist(i, endIdx); + + if (hopBytes.isEmpty) continue; + + // Format hex for display + final hex = hopBytes + .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) + .join(''); + + // Find matching contacts by comparing public key prefix + final matches = allContacts + .where((c) { + if (c.publicKey.length < hopBytes.length) return false; + if (c.type != advTypeRepeater && c.type != advTypeRoom) return false; + // Compare bytes using listEquals for multi-byte support + return listEquals( + c.publicKey.sublist(0, hopBytes.length), + hopBytes, + ); + }) + .toList(); + + if (matches.isEmpty) { + parts.add(hex); + } else if (matches.length == 1) { + parts.add(matches.first.name); + } else { + parts.add(matches.map((c) => c.name).join(' | ')); + } + } + + return parts.join(' \u2192 '); } } diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index afb2b906..47c1181d 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -42,9 +42,14 @@ class ChannelMessagePathScreen extends StatelessWidget { : primaryPathTmp; final hops = _buildPathHops(primaryPath, connector, l10n); final hasHopDetails = primaryPath.isNotEmpty; + + // Convert path byte length to hop count based on device width + final width = connector.pathHashByteWidth.clamp(1, 8); + final observedHopCount = primaryPath.length ~/ width; + final observedLabel = _formatObservedHops( - primaryPath.length, - message.pathLength, + observedHopCount, + message.pathLength != null ? message.pathLength! ~/ width : null, l10n, ); final extraPaths = _otherPaths(primaryPath, message.pathVariants); @@ -886,6 +891,7 @@ class _PathHop { final Contact? contact; final LatLng? position; final AppLocalizations l10n; + final Uint8List? hopBytes; const _PathHop({ required this.index, @@ -893,12 +899,15 @@ class _PathHop { required this.contact, required this.position, required this.l10n, + this.hopBytes, }); bool get hasLocation => position != null; String get displayLabel { - final prefixLabel = _formatPrefix(prefix); + final prefixLabel = hopBytes != null && hopBytes!.isNotEmpty + ? hopBytes!.map((b) => b.toRadixString(16).padLeft(2, '0')).join('').toUpperCase() + : _formatPrefix(prefix); return '($prefixLabel) ${_resolveName(contact, l10n)}'; } } @@ -916,19 +925,30 @@ List<_PathHop> _buildPathHops( AppLocalizations l10n, ) { if (pathBytes.isEmpty) return const []; - final candidatesByPrefix = >{}; + + final width = connector.pathHashByteWidth.clamp(1, 8); + final candidatesByHashBytes = , List>{}; final allContacts = connector.allContacts; + + // Build lookup map using hash byte sequences for (final contact in allContacts) { if (contact.publicKey.isEmpty) continue; if (contact.type != advTypeRepeater && contact.type != advTypeRoom) { continue; } - final prefix = contact.publicKey.first; - candidatesByPrefix.putIfAbsent(prefix, () => []).add(contact); + // Extract the hash bytes that match the device width + final keyBytes = contact.publicKey.sublist( + 0, + min(width, contact.publicKey.length), + ); + candidatesByHashBytes.putIfAbsent(keyBytes, () => []).add(contact); } - for (final candidates in candidatesByPrefix.values) { + + // Sort candidates by last seen + for (final candidates in candidatesByHashBytes.values) { candidates.sort((a, b) => b.lastSeen.compareTo(a.lastSeen)); } + final startPoint = (connector.selfLatitude != null && connector.selfLongitude != null) ? LatLng(connector.selfLatitude!, connector.selfLongitude!) @@ -938,10 +958,17 @@ List<_PathHop> _buildPathHops( var lastDistance = 0.0; var bestDistance = 0.0; final hops = <_PathHop>[]; - for (var i = 0; i < pathBytes.length; i++) { - final searchPoint = i == 0 ? startPoint : previousPosition; - final candidates = candidatesByPrefix[pathBytes[i]]; + + // Process path in hop-sized chunks + for (var hopIdx = 0; hopIdx * width < pathBytes.length; hopIdx++) { + final startByte = hopIdx * width; + final endByte = min(startByte + width, pathBytes.length); + final hopBytes = pathBytes.sublist(startByte, endByte); + + final searchPoint = hopIdx == 0 ? startPoint : previousPosition; + final candidates = candidatesByHashBytes[hopBytes.toList()]; Contact? contact; + if (candidates != null && candidates.isNotEmpty) { var bestIndex = 0; if (searchPoint != null) { @@ -965,7 +992,7 @@ List<_PathHop> _buildPathHops( } contact = candidates.removeAt(bestIndex); if (candidates.isEmpty) { - candidatesByPrefix.remove(pathBytes[i]); + candidatesByHashBytes.remove(hopBytes.toList()); } } @@ -973,11 +1000,12 @@ List<_PathHop> _buildPathHops( if (resolvedPosition != null) { previousPosition = resolvedPosition; } + // If the best candidate is much farther than the previous hop, it's likely not the correct match. if (lastDistance + bestDistance > 50000 && candidates != null && candidates.isNotEmpty) { - i--; + hopIdx--; lastDistance = bestDistance; continue; } @@ -985,11 +1013,12 @@ List<_PathHop> _buildPathHops( hops.add( _PathHop( - index: i + 1, - prefix: pathBytes[i], + index: hopIdx + 1, + prefix: hopBytes.isNotEmpty ? hopBytes[0] : 0, contact: contact, position: resolvedPosition, l10n: l10n, + hopBytes: hopBytes, ), ); } diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index 8d3bc66c..903e67b2 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -1111,7 +1111,11 @@ class _ChatScreenState extends State { final allContacts = connector.allContacts; final formattedPath = PathHelper.formatPathHex(pathBytes); - final resolvedNames = PathHelper.resolvePathNames(pathBytes, allContacts); + final resolvedNames = PathHelper.resolvePathNames( + pathBytes, + allContacts, + connector.pathHashByteWidth, + ); showDialog( context: context, diff --git a/lib/widgets/path_management_dialog.dart b/lib/widgets/path_management_dialog.dart index a2122f46..aa877369 100644 --- a/lib/widgets/path_management_dialog.dart +++ b/lib/widgets/path_management_dialog.dart @@ -79,7 +79,11 @@ class _PathManagementDialogState extends State<_PathManagementDialog> { final allContacts = connector.allContacts; final formattedPath = PathHelper.formatPathHex(pathBytes); - final resolvedNames = PathHelper.resolvePathNames(pathBytes, allContacts); + final resolvedNames = PathHelper.resolvePathNames( + pathBytes, + allContacts, + connector.pathHashByteWidth, + ); showDialog( context: context, @@ -150,6 +154,7 @@ class _PathManagementDialogState extends State<_PathManagementDialog> { initialPath: pathForInput.isEmpty ? null : pathForInput, currentPathLabel: currentContact.pathLabel(l10n), onRefresh: connector.isConnected ? connector.getContacts : null, + pathHashByteWidth: connector.pathHashByteWidth, ); if (result != null && context.mounted) { diff --git a/lib/widgets/path_selection_dialog.dart b/lib/widgets/path_selection_dialog.dart index 44ae58f9..70ba7601 100644 --- a/lib/widgets/path_selection_dialog.dart +++ b/lib/widgets/path_selection_dialog.dart @@ -12,6 +12,7 @@ class PathSelectionDialog extends StatefulWidget { final String? initialPath; final String? currentPathLabel; final VoidCallback? onRefresh; + final int pathHashByteWidth; const PathSelectionDialog({ super.key, @@ -20,6 +21,7 @@ class PathSelectionDialog extends StatefulWidget { this.initialPath, this.currentPathLabel, this.onRefresh, + this.pathHashByteWidth = 1, }); @override @@ -32,6 +34,7 @@ class PathSelectionDialog extends StatefulWidget { String? initialPath, String? currentPathLabel, VoidCallback? onRefresh, + int pathHashByteWidth = 1, }) { return showDialog( context: context, @@ -41,6 +44,7 @@ class PathSelectionDialog extends StatefulWidget { initialPath: initialPath, currentPathLabel: currentPathLabel, onRefresh: onRefresh, + pathHashByteWidth: pathHashByteWidth, ), ); } @@ -73,10 +77,12 @@ class _PathSelectionDialogState extends State { } void _updateTextFromContacts() { + final width = widget.pathHashByteWidth.clamp(1, 8); + final hexCharsPerHop = width * 2; final pathParts = _selectedContacts .map((contact) { - if (contact.publicKeyHex.length >= 2) { - return contact.publicKeyHex.substring(0, 2); + if (contact.publicKeyHex.length >= hexCharsPerHop) { + return contact.publicKeyHex.substring(0, hexCharsPerHop); } return ''; }) @@ -112,6 +118,9 @@ class _PathSelectionDialogState extends State { return; } + final width = widget.pathHashByteWidth.clamp(1, 8); + final expectedHexLen = width * 2; // 2 hex chars per byte + // Parse comma-separated hex prefixes final pathIds = path .split(',') diff --git a/test/helpers/path_helper_test.dart b/test/helpers/path_helper_test.dart index 38abf2cd..e2da8776 100644 --- a/test/helpers/path_helper_test.dart +++ b/test/helpers/path_helper_test.dart @@ -22,15 +22,52 @@ Contact _contact({ } void main() { - test('resolvePathNames ignores chat nodes and keeps repeater/room nodes', () { + test('resolvePathNames ignores chat nodes and keeps repeater/room nodes with 1-byte paths', () { final contacts = [ _contact(firstByte: 0xF2, name: 'MunTui', type: advTypeChat), _contact(firstByte: 0x7E, name: 'zrepeater', type: advTypeRepeater), _contact(firstByte: 0xBA, name: 'USS Ronald Reagan', type: advTypeRoom), ]; - final resolved = PathHelper.resolvePathNames([0xF2, 0x7E, 0xBA], contacts); + final resolved = PathHelper.resolvePathNames( + [0xF2, 0x7E, 0xBA], + contacts, + 1, // 1-byte hash width + ); expect(resolved, equals('F2 → zrepeater → USS Ronald Reagan')); }); + + test('resolvePathNames supports multi-byte paths', () { + final contacts = [ + _contact(firstByte: 0xA1, name: 'Repeater1', type: advTypeRepeater), + _contact(firstByte: 0xC1, name: 'Room42', type: advTypeRoom), + ]; + + // Contacts with 2-byte public keys + contacts[0] = Contact( + publicKey: Uint8List.fromList([0xA1, 0xA2, ...List.filled(30, 0)]), + name: 'Repeater1', + type: advTypeRepeater, + pathLength: 0, + path: Uint8List(0), + lastSeen: DateTime.now(), + ); + contacts[1] = Contact( + publicKey: Uint8List.fromList([0xC1, 0xC2, ...List.filled(30, 0)]), + name: 'Room42', + type: advTypeRoom, + pathLength: 0, + path: Uint8List(0), + lastSeen: DateTime.now(), + ); + + final resolved = PathHelper.resolvePathNames( + [0xA1, 0xA2, 0xC1, 0xC2], + contacts, + 2, // 2-byte hash width + ); + + expect(resolved, equals('Repeater1 → Room42')); + }); } From b62c1c7338b4254f83fe09ba887a92415b28fff3 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 12 May 2026 16:33:33 +0200 Subject: [PATCH 02/45] multi-byte paths-debug --- lib/widgets/path_selection_dialog.dart | 3 --- linux/flutter/generated_plugins.cmake | 1 + windows/flutter/generated_plugins.cmake | 1 + 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/widgets/path_selection_dialog.dart b/lib/widgets/path_selection_dialog.dart index 70ba7601..c1cd3d01 100644 --- a/lib/widgets/path_selection_dialog.dart +++ b/lib/widgets/path_selection_dialog.dart @@ -118,9 +118,6 @@ class _PathSelectionDialogState extends State { return; } - final width = widget.pathHashByteWidth.clamp(1, 8); - final expectedHexLen = width * 2; // 2 hex chars per byte - // Parse comma-separated hex prefixes final pathIds = path .split(',') diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 379e36fa..93e46829 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flserial + jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index f02857f4..533a1712 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -11,6 +11,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flserial flutter_local_notifications_windows + jni ) set(PLUGIN_BUNDLED_LIBRARIES) From 6e2abfeb2da14366e1eaf25a255977bcef3ca391 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 12 May 2026 16:40:34 +0200 Subject: [PATCH 03/45] multi-byte paths-doc --- docs/BLE_PROTOCOL.md | 99 ----------------------------- documentation/README.md | 3 +- documentation/chat-and-messaging.md | 1 + documentation/routing-paths.md | 66 +++++++++++++++++++ 4 files changed, 69 insertions(+), 100 deletions(-) create mode 100644 documentation/routing-paths.md diff --git a/docs/BLE_PROTOCOL.md b/docs/BLE_PROTOCOL.md index a8edc89a..c17c3e7a 100644 --- a/docs/BLE_PROTOCOL.md +++ b/docs/BLE_PROTOCOL.md @@ -1287,105 +1287,6 @@ if (reactionInfo != null) { Reactions are parsed, processed to update target message's reaction counts, but never displayed as standalone messages. -## Routing Paths - -MeshCore supports variable-length multi-byte routing paths to scale mesh networks from 256 unique nodes (1-byte hashes) to millions (3-byte hashes). - -### Path Encoding Format - -**Single Byte Encodes Both Hop Count and Hash Mode**: -``` -Path Byte Format: -Bit 7-6: Hash mode (2 bits) → hash_bytes = 1 << mode -Bit 5-0: Hop count (6 bits) → max 63 hops -``` - -**Supported Modes**: - -| Mode | Hash Bytes | Max Hops | Max Unique Nodes | Firmware | -|------|-----------|----------|------------------|----------| -| 0 | 1 | 63 | 256 | v1.13+ | -| 1 | 2 | 63 | 65,536 | v1.14+ | -| 2 | 3 | 63 | 16.7M | v1.14+ | -| 3 | 4 | 63 | 4.3B | v1.14+ | - -**Special Values**: -- Path byte = **255** → Direct or flooded message (no path) -- Path byte = **0** → End of contact path data (padding byte) - -### Path Byte Calculation - -```dart -// Extract mode and hop count from wire byte -final pathLenRaw = frameData[index]; // Single byte -final hopCount = pathLenRaw & 0x3F; // Bits 5-0 -final hashMode = (pathLenRaw >> 6) & 0x03; // Bits 7-6 -final hashBytes = 1 << hashMode; // 1, 2, 4, or 8 - -// Total path bytes = hopCount * hashBytes -final pathByteLength = hopCount * hashBytes; -final pathData = frameData.sublist(index + 1, index + 1 + pathByteLength); -``` - -### Device Capability Detection - -The device firmware version determines multi-byte path support: - -**Firmware Byte 81** (from `RESP_CODE_SELF_INFO` and device initialization): -- Bits 3-0: Path hash mode capability (0-3) -- v1.13 and earlier: Hardcoded mode 0 (1-byte only) -- v1.14+: Firmware reports mode in byte 81; device generates paths in this mode - -**Detection in App**: -```dart -// After receiving RESP_CODE_SELF_INFO -if (firmwareBytes.length >= 82) { - final mode = (firmwareBytes[81] & 0xFF).clamp(0, 2); - pathHashByteWidth = mode + 1; // Sets to 1, 2, 3, or 4 bytes -} else { - pathHashByteWidth = 1; // Fallback for v1.13 -} -``` - -### Path Usage in Different Message Types - -**Direct Messages** (`RESP_CODE_CONTACT_MSG_RECV`/`RESP_CODE_CONTACT_MSG_RECV_V3`): -- Path extracted from payload after decryption -- Used to trace back to sender - -**Channel Messages** (`RESP_CODE_CHANNEL_MSG_RECV`/`RESP_CODE_CHANNEL_MSG_RECV_V3`): -- Group address + encrypted path in payload -- Decrypted to reveal hop-by-hop routing chain - -**Contact Storage** (from `RESP_CODE_CONTACT` frames): -- Byte 32: Path length encoding (hop_count | (mode << 6)) -- Bytes 33-96: Path data (max 64 bytes stored, variable interpretation) - -**Example Contact Path Parsing**: -```dart -// Mode 0 (1-byte): 3 hops = 3 bytes needed -// [0x83, 0xA1, 0xB2, 0xC3] → hopCount=3, mode=0, path=[A1,B2,C3] - -// Mode 1 (2-byte): 3 hops = 6 bytes needed -// [0xC3, 0xA1, 0xA2, 0xB1, 0xB2, 0xC1, 0xC2] -// → hopCount=3, mode=1, path=[A1A2, B1B2, C1C2] -``` - -### Path Validation During Input - -When user enters custom paths in the UI: - -1. **Parse comma-separated hex segments**: `"A1B2,C1C2,D1D2"` -2. **Validate segment length**: Each must be exactly `hashBytes * 2` hex characters -3. **Convert to bytes**: Group hex pairs into single bytes -4. **Check hop count**: Total bytes ÷ hashBytes must be ≤ 63 - -**Example with 2-byte mode**: -- Device reports: `pathHashByteWidth = 2` -- User enters: `"A1B2,C1C2"` (2 hops) -- Parse result: `[0xA1, 0xB2, 0xC1, 0xC2]` (4 bytes total) -- Validation: `4 bytes ÷ 2 bytes/hop = 2 hops` ✓ - ## References - **Firmware Repository**: https://github.com/nonik0/meshcore diff --git a/documentation/README.md b/documentation/README.md index 13670134..a3700fc6 100644 --- a/documentation/README.md +++ b/documentation/README.md @@ -14,7 +14,8 @@ MeshCore Open is an open-source Flutter client for MeshCore LoRa mesh networking 8. [Notifications](notifications.md) - System notifications, unread badges, and notification preferences 9. [Repeater Management](repeater-management.md) - Repeater hub, status, CLI, telemetry, and neighbors 10. [Additional Features](additional-features.md) - GIF picker, localization, debug logs, SMAZ compression, and more -11. [BLE Protocol & Data Layer](ble-protocol.md) - Technical reference for the communication protocol and data architecture +11. [Routing Paths](routing-paths.md) - Path encoding, validation, device capability detection, and storage +12. [BLE Protocol & Data Layer](ble-protocol.md) - Technical reference for the communication protocol and data architecture ## App Overview diff --git a/documentation/chat-and-messaging.md b/documentation/chat-and-messaging.md index baf2ab8d..19dc4f05 100644 --- a/documentation/chat-and-messaging.md +++ b/documentation/chat-and-messaging.md @@ -21,6 +21,7 @@ From the Contacts screen, tap any Chat-type contact to open the ChatScreen. - **Action buttons**: - **Routing mode** (waves icon): Switch between Auto, Direct, and Flood routing - **Path management** (timeline icon): View recent paths with hop count, round-trip time, age, and success count. Paths are color-coded by direct repeater (green/yellow/red/blue for ranked repeaters, grey for unknown). Tap a path to activate it (the device verifies and confirms via snackbar), long-press to view full path details, set custom paths, or force flood mode. A warning banner appears when history reaches 100 entries. + - Custom path entry follows the device's current hash width, so multibyte paths are entered as comma-separated hex prefixes such as `A1B2,C1C2` when that mode is enabled. - **Info** (info icon): Contact info dialog showing type, path, GPS coordinates, public key, and SMAZ compression toggle ### Message List diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md new file mode 100644 index 00000000..2a25683e --- /dev/null +++ b/documentation/routing-paths.md @@ -0,0 +1,66 @@ +# Routing Paths + +This page covers how MeshCore Open represents, selects, validates, and stores routing paths in the UI and data layer. + +## Path Routing + +MeshCore supports variable-length multi-byte routing paths so the app can scale from small meshes to very large node sets. + +### Path Encoding Format + +Each path byte packs both the hop count and the hash width: + +``` +Bit 7-6: Hash mode (2 bits) → hash_bytes = 1 << mode +Bit 5-0: Hop count (6 bits) → max 63 hops +``` + +| Mode | Hash Bytes | Max Hops | Max Unique Nodes | Firmware | +|------|-----------|----------|------------------|----------| +| 0 | 1 | 63 | 256 | v1.13+ | +| 1 | 2 | 63 | 65,536 | v1.14+ | +| 2 | 3 | 63 | 16.7M | v1.14+ | +| 3 | 4 | 63 | 4.3B | v1.14+ | + +### Path Byte Calculation + +```dart +final pathLenRaw = frameData[index]; +final hopCount = pathLenRaw & 0x3F; +final hashMode = (pathLenRaw >> 6) & 0x03; +final hashBytes = 1 << hashMode; + +final pathByteLength = hopCount * hashBytes; +final pathData = frameData.sublist(index + 1, index + 1 + pathByteLength); +``` + +### Device Capability Detection + +The app reads the device's reported capability byte to determine whether multi-byte paths are available: + +```dart +if (firmwareBytes.length >= 82) { + final mode = (firmwareBytes[81] & 0xFF).clamp(0, 2); + pathHashByteWidth = mode + 1; +} else { + pathHashByteWidth = 1; +} +``` + +### Path Usage in Different Message Types + +- Direct messages extract the path from the decrypted payload to trace the sender route. +- Channel messages decrypt a hop-by-hop routing chain from the payload. +- Contact storage keeps the path length encoding in byte 32 and the raw path bytes in bytes 33-96. + +### Example Contact Path Parsing + +```dart +// Mode 0 (1-byte): 3 hops = 3 bytes needed +// [0x83, 0xA1, 0xB2, 0xC3] → hopCount=3, mode=0, path=[A1,B2,C3] + +// Mode 1 (2-byte): 3 hops = 6 bytes needed +// [0xC3, 0xA1, 0xA2, 0xB1, 0xB2, 0xC1, 0xC2] +// → hopCount=3, mode=1, path=[A1A2, B1B2, C1C2] +``` + From ca02197414a5727bc2385cc317a3cc12ba9e45bf Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 13 May 2026 08:49:24 +0200 Subject: [PATCH 04/45] UI fix --- Capture d’écran du 2026-05-12 19-43-48.png | Bin 0 -> 88355 bytes Capture d’écran du 2026-05-12 19-44-15.png | Bin 0 -> 72696 bytes Capture d’écran du 2026-05-13 08-27-59.png | Bin 0 -> 65589 bytes Capture d’écran du 2026-05-13 08-28-26.png | Bin 0 -> 100616 bytes Capture d’écran du 2026-05-13 08-39-35.png | Bin 0 -> 68146 bytes lib/helpers/path_helper.dart | 45 ++-- lib/screens/channel_message_path_screen.dart | 118 +++++++---- lib/screens/path_trace_map.dart | 209 ++++++++++--------- lib/services/notification_service.dart | 12 +- lib/widgets/path_selection_dialog.dart | 12 +- test/helpers/path_helper_test.dart | 9 + 11 files changed, 238 insertions(+), 167 deletions(-) create mode 100644 Capture d’écran du 2026-05-12 19-43-48.png create mode 100644 Capture d’écran du 2026-05-12 19-44-15.png create mode 100644 Capture d’écran du 2026-05-13 08-27-59.png create mode 100644 Capture d’écran du 2026-05-13 08-28-26.png create mode 100644 Capture d’écran du 2026-05-13 08-39-35.png diff --git a/Capture d’écran du 2026-05-12 19-43-48.png b/Capture d’écran du 2026-05-12 19-43-48.png new file mode 100644 index 0000000000000000000000000000000000000000..a498227cb6cae9aa1a5a8fc2e248f1be9237988b GIT binary patch literal 88355 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 z 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 literal 0 HcmV?d00001 diff --git a/Capture d’écran du 2026-05-13 08-27-59.png b/Capture d’écran du 2026-05-13 08-27-59.png new file mode 100644 index 0000000000000000000000000000000000000000..30b7f93b06a01f2529eb096c5ea5dbf8c804afb7 GIT binary patch literal 65589 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 oPuV0H1Oa2*r* zao(E>K2`!1JVzh?!J>JNMCa84G$_OJ7}=jf#%q6qcvj#4Q+L7k0L^&E8R>Aqr> zkeEmX&-=Axv#2L24xPzZHMNB>n~TWMwZjXbr}@t(u`P-(SK>*boNos@^bLt#1H2qh zqm2>^TWj7w*4KYa*M9>uDzRiss^+h?>$zVg-0Pk#osKXJo?fHSBr$?!h*-SrGt*FM z;%l$?|%H9*L7m@YmXCUArWCQ?%| z7)(#CflX@iTRabo_TVc%pDzzI&HYrp+RhR3BXuGPNl~1Cs+w`ri3mUYm2%px_LC=A z?&sZXj4RZDZA@s`*1CSoIH%;l^BO*0|6ROyfj1ba!f31pb_cB6ctA)N#8=Um3YD!G}#YIAR4bcAPvCECZC{n!- z^%Q1CnYA{s$c{@^WjJAWAk~)eUe0r5sdE6-3zD@n?5Xi4Y5dbqqhJUJaKNNn_G~P3 z)}eRUeEcYj9aug*9fTCSGSG@iLF1s0%=(47GMM9ONB-tNefB2k!SZ@F7cCa7nH=54HgN3v)ZetY2(QiE+I)l%40qj%9q_uYk_3>D6En;2~Q+mh~URadueWNb|p%w7aH;(VwrVaR}uBgF>p z$-NeR9veD&FoPPiO*S{CZK(?=tU4N~UiaJ5s+0fsY;cWHw~8-rAClS+Ax&i7&R^YS z6)rspj2=uMrchw*%r&te3d|JAH7m_7)eIw2Os?ncPs7J+Mk{($+?hh+RI0L2NH6G` z1`GICLA`T3l|#rNxMe!$t8L19NY~2-qKKoZu8+($gO#;BjYKIG8r$m9T50!tqYUk= zzfa@T77{?w(HYln1kTKy;IaZNTpDR(JG+j#3@v9inU&ksVk;AHNpC-ju58>`!gN-ala`1;B!Swv;^|6Z1{j;hLs=9;b zh8&Jk7=LphXW9kJ(0p%PGk$s>YR|C~-I1|%U7s*6sVX`;HnbxAKpZDle5;XjKk7P! zefecwJf!rU@tb`IppBP+RGv$2R7F?5YH9z&VDr=DfeuZuz0Ll=(T%9*Vk7kv-nPt! zDsN$HDtK+AZ>woy2GTNlzWn{hhU7T6kq3dcF+Md7JA9kq5LN{n(i42 z+ZEo{)Y8Hf+trOVzmGFM2rk8zaz^YQ=WV5n6ac3_tXZ8TQ z9`8K>mM65}@4`T#c_8^rE)#mZJlLIK(xR~{_k0bFU){guYW_p5xb*9%HUgDbpfA~9T*<3x*{M@*05o-ijTw2RGxzsZ6tjYytb8<>ealv zH}Eh^!?-w3ELp~HW7H+1szWgN&%QXN(JbB){Ll^B|1gJZyusudCM%rQHaf-}m!v&i z=)#qIh0OBr^*@$6Y|5l-uoF{y48}FaJr;G8;mhS1wZ@%a!s%Nr2Az3y(UoXfb2ft5 z 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 literal 0 HcmV?d00001 diff --git a/Capture d’écran du 2026-05-13 08-39-35.png b/Capture d’écran du 2026-05-13 08-39-35.png new file mode 100644 index 0000000000000000000000000000000000000000..5230bda77ae0470c5feaccf1c70e9b789e394ef9 GIT binary patch literal 68146 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 literal 0 HcmV?d00001 diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index 5a6d15b5..ff6448c7 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -1,3 +1,5 @@ +import 'dart:typed_data'; + import 'package:flutter/foundation.dart'; import '../models/contact.dart'; import '../connector/meshcore_protocol.dart'; @@ -9,8 +11,29 @@ class PathHelper { .join(','); } + static String formatHopHex(List hopBytes) { + return hopBytes + .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) + .join(); + } + + static List splitPathBytes(List pathBytes, int hashByteWidth) { + if (pathBytes.isEmpty) return const []; + + final width = hashByteWidth.clamp(1, 8); + final hops = []; + for (int i = 0; i < pathBytes.length; i += width) { + final endIdx = (i + width).clamp(0, pathBytes.length); + final hopBytes = pathBytes.sublist(i, endIdx); + if (hopBytes.isNotEmpty) { + hops.add(Uint8List.fromList(hopBytes)); + } + } + return hops; + } + /// Resolves path bytes to contact names, supporting multi-byte hash widths. - /// + /// Groups path bytes according to [hashByteWidth]: /// - 1: Single byte per hop (256 unique nodes) /// - 2: Two bytes per hop (65K unique nodes) @@ -21,22 +44,12 @@ class PathHelper { int hashByteWidth, ) { if (pathBytes.isEmpty) return ''; - - final width = hashByteWidth.clamp(1, 8); + final parts = []; - - // Group bytes according to width - for (int i = 0; i < pathBytes.length; i += width) { - final endIdx = (i + width).clamp(0, pathBytes.length); - final hopBytes = pathBytes.sublist(i, endIdx); - - if (hopBytes.isEmpty) continue; - - // Format hex for display - final hex = hopBytes - .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) - .join(''); - + + for (final hopBytes in splitPathBytes(pathBytes, hashByteWidth)) { + final hex = formatHopHex(hopBytes); + // Find matching contacts by comparing public key prefix final matches = allContacts .where((c) { diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index 47c1181d..d30b0c2f 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -4,6 +4,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; +import 'package:meshcore_open/helpers/path_helper.dart'; import 'package:meshcore_open/screens/path_trace_map.dart'; import 'package:provider/provider.dart'; @@ -42,14 +43,22 @@ class ChannelMessagePathScreen extends StatelessWidget { : primaryPathTmp; final hops = _buildPathHops(primaryPath, connector, l10n); final hasHopDetails = primaryPath.isNotEmpty; - + // Convert path byte length to hop count based on device width final width = connector.pathHashByteWidth.clamp(1, 8); - final observedHopCount = primaryPath.length ~/ width; - + final observedHopCount = _hopCountFromBytes(primaryPath.length, width); + final reportedHopCount = message.pathLength == null + ? null + : (message.pathLength! < 0 + ? message.pathLength + : _hopCountFromBytes(message.pathLength!, width)); + final effectiveHopCount = observedHopCount > 0 + ? observedHopCount + : reportedHopCount; + final observedLabel = _formatObservedHops( observedHopCount, - message.pathLength != null ? message.pathLength! ~/ width : null, + effectiveHopCount, l10n, ); final extraPaths = _otherPaths(primaryPath, message.pathVariants); @@ -92,7 +101,11 @@ class ChannelMessagePathScreen extends StatelessWidget { child: ListView( padding: const EdgeInsets.all(16), children: [ - _buildSummaryCard(context, observedLabel: observedLabel), + _buildSummaryCard( + context, + observedLabel: observedLabel, + effectiveHopCount: effectiveHopCount, + ), const SizedBox(height: 16), if (extraPaths.isNotEmpty) ...[ Text( @@ -100,7 +113,7 @@ class ChannelMessagePathScreen extends StatelessWidget { style: Theme.of(context).textTheme.titleSmall, ), const SizedBox(height: 8), - _buildPathVariants(context, extraPaths), + _buildPathVariants(context, extraPaths, width), const SizedBox(height: 16), ], Text( @@ -123,7 +136,11 @@ class ChannelMessagePathScreen extends StatelessWidget { ); } - Widget _buildSummaryCard(BuildContext context, {String? observedLabel}) { + Widget _buildSummaryCard( + BuildContext context, { + String? observedLabel, + required int? effectiveHopCount, + }) { final l10n = context.l10n; return Card( child: Padding( @@ -148,7 +165,7 @@ class ChannelMessagePathScreen extends StatelessWidget { ), _buildDetailRow( l10n.channelPath_pathLabelTitle, - _formatPathLabel(message.pathLength, l10n), + _formatPathLabel(effectiveHopCount, l10n), ), if (observedLabel != null) _buildDetailRow(l10n.channelPath_observedLabel, observedLabel), @@ -158,7 +175,11 @@ class ChannelMessagePathScreen extends StatelessWidget { ); } - Widget _buildPathVariants(BuildContext context, List variants) { + Widget _buildPathVariants( + BuildContext context, + List variants, + int hashByteWidth, + ) { final l10n = context.l10n; return Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -171,10 +192,10 @@ class ChannelMessagePathScreen extends StatelessWidget { title: Text( l10n.channelPath_observedPathTitle( i + 1, - _formatHopCount(variants[i].length, l10n), + _formatHopCount(variants[i].length, hashByteWidth, l10n), ), ), - subtitle: Text(_formatPathPrefixes(variants[i])), + subtitle: Text(_formatPathPrefixes(variants[i], hashByteWidth)), trailing: const Icon(Icons.map_outlined, size: 20), onTap: () => _openPathMap( context, @@ -228,31 +249,31 @@ class ChannelMessagePathScreen extends StatelessWidget { ); } - String _formatPathLabel(int? pathLength, AppLocalizations l10n) { - if (pathLength == null) return l10n.channelPath_unknownPath; - if (pathLength < 0) return l10n.channelPath_floodPath; - if (pathLength == 0) return l10n.channelPath_directPath; - return l10n.chat_hopsCount(pathLength); + String _formatPathLabel(int? hopCount, AppLocalizations l10n) { + if (hopCount == null) return l10n.channelPath_unknownPath; + if (hopCount < 0) return l10n.channelPath_floodPath; + if (hopCount == 0) return l10n.channelPath_directPath; + return l10n.chat_hopsCount(hopCount); } String? _formatObservedHops( int observedCount, - int? pathLength, + int? targetHopCount, AppLocalizations l10n, ) { - if (observedCount <= 0 && (pathLength == null || pathLength <= 0)) { + if (observedCount <= 0 && (targetHopCount == null || targetHopCount <= 0)) { return null; } - if (pathLength == null || pathLength < 0) { + if (targetHopCount == null || targetHopCount < 0) { return observedCount > 0 ? l10n.chat_hopsCount(observedCount) : null; } if (observedCount == 0) { - return l10n.channelPath_observedZeroOf(pathLength); + return l10n.channelPath_observedZeroOf(targetHopCount); } - if (observedCount == pathLength) { + if (observedCount == targetHopCount) { return l10n.chat_hopsCount(observedCount); } - return l10n.channelPath_observedSomeOf(observedCount, pathLength); + return l10n.channelPath_observedSomeOf(observedCount, targetHopCount); } Widget _buildDetailRow(String label, String value) { @@ -470,6 +491,7 @@ class _ChannelMessagePathMapScreenState final selectedIndex = _indexForPath(selectedPath, observedPaths); final hops = _buildPathHops(selectedPath, connector, context.l10n); + final width = connector.pathHashByteWidth.clamp(1, 8); final points = []; @@ -510,7 +532,7 @@ class _ChannelMessagePathMapScreenState ? LatLngBounds.fromPoints(points) : null; final mapKey = ValueKey( - '${_formatPathPrefixes(selectedPath)},${context.l10n.pathTrace_you}', + '${_formatPathPrefixes(selectedPath, width)},${context.l10n.pathTrace_you}', ); _pathDistance = _getPathDistance(points); @@ -623,6 +645,10 @@ class _ChannelMessagePathMapScreenState ValueChanged onSelected, ) { final l10n = context.l10n; + final width = context.read().pathHashByteWidth.clamp( + 1, + 8, + ); final selectedPath = paths[selectedIndex]; final label = selectedPath.isPrimary ? l10n.channelPath_primaryPath(selectedIndex + 1) @@ -653,7 +679,7 @@ class _ChannelMessagePathMapScreenState value: i, child: Text( '${paths[i].isPrimary ? l10n.channelPath_primaryPath(i + 1) : l10n.channelPath_pathLabel(i + 1)}' - ' • ${_formatHopCount(paths[i].pathBytes.length, l10n)}', + ' • ${_formatHopCount(paths[i].pathBytes.length, width, l10n)}', ), ), ], @@ -667,7 +693,7 @@ class _ChannelMessagePathMapScreenState Text( l10n.channelPath_selectedPathLabel( label, - _formatPathPrefixes(selectedPath.pathBytes), + _formatPathPrefixes(selectedPath.pathBytes, width), ), style: TextStyle(color: Colors.grey[700], fontSize: 12), ), @@ -925,11 +951,11 @@ List<_PathHop> _buildPathHops( AppLocalizations l10n, ) { if (pathBytes.isEmpty) return const []; - + final width = connector.pathHashByteWidth.clamp(1, 8); - final candidatesByHashBytes = , List>{}; + final candidatesByHashBytes = >{}; final allContacts = connector.allContacts; - + // Build lookup map using hash byte sequences for (final contact in allContacts) { if (contact.publicKey.isEmpty) continue; @@ -941,14 +967,15 @@ List<_PathHop> _buildPathHops( 0, min(width, contact.publicKey.length), ); - candidatesByHashBytes.putIfAbsent(keyBytes, () => []).add(contact); + final keyHex = PathHelper.formatHopHex(keyBytes); + candidatesByHashBytes.putIfAbsent(keyHex, () => []).add(contact); } - + // Sort candidates by last seen for (final candidates in candidatesByHashBytes.values) { candidates.sort((a, b) => b.lastSeen.compareTo(a.lastSeen)); } - + final startPoint = (connector.selfLatitude != null && connector.selfLongitude != null) ? LatLng(connector.selfLatitude!, connector.selfLongitude!) @@ -958,17 +985,18 @@ List<_PathHop> _buildPathHops( var lastDistance = 0.0; var bestDistance = 0.0; final hops = <_PathHop>[]; - + // Process path in hop-sized chunks for (var hopIdx = 0; hopIdx * width < pathBytes.length; hopIdx++) { final startByte = hopIdx * width; final endByte = min(startByte + width, pathBytes.length); final hopBytes = pathBytes.sublist(startByte, endByte); - + final hopKey = PathHelper.formatHopHex(hopBytes); + final searchPoint = hopIdx == 0 ? startPoint : previousPosition; - final candidates = candidatesByHashBytes[hopBytes.toList()]; + final candidates = candidatesByHashBytes[hopKey]; Contact? contact; - + if (candidates != null && candidates.isNotEmpty) { var bestIndex = 0; if (searchPoint != null) { @@ -992,7 +1020,7 @@ List<_PathHop> _buildPathHops( } contact = candidates.removeAt(bestIndex); if (candidates.isEmpty) { - candidatesByHashBytes.remove(hopBytes.toList()); + candidatesByHashBytes.remove(hopKey); } } @@ -1000,7 +1028,7 @@ List<_PathHop> _buildPathHops( if (resolvedPosition != null) { previousPosition = resolvedPosition; } - + // If the best candidate is much farther than the previous hop, it's likely not the correct match. if (lastDistance + bestDistance > 50000 && candidates != null && @@ -1038,14 +1066,20 @@ String _formatPrefix(int prefix) { return prefix.toRadixString(16).padLeft(2, '0').toUpperCase(); } -String _formatPathPrefixes(Uint8List pathBytes) { - return pathBytes - .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) +String _formatPathPrefixes(Uint8List pathBytes, int hashByteWidth) { + return PathHelper.splitPathBytes(pathBytes, hashByteWidth) + .map(PathHelper.formatHopHex) .join(','); } -String _formatHopCount(int count, AppLocalizations l10n) { - return l10n.chat_hopsCount(count); +int _hopCountFromBytes(int byteCount, int hashByteWidth) { + if (byteCount <= 0) return 0; + final width = hashByteWidth.clamp(1, 8); + return (byteCount + width - 1) ~/ width; +} + +String _formatHopCount(int byteCount, int hashByteWidth, AppLocalizations l10n) { + return l10n.chat_hopsCount(_hopCountFromBytes(byteCount, hashByteWidth)); } String _resolveName(Contact? contact, AppLocalizations l10n) { diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index c810570d..3bf1e7e3 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -7,6 +7,7 @@ import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; import 'package:meshcore_open/connector/meshcore_connector.dart'; import 'package:meshcore_open/connector/meshcore_protocol.dart'; +import 'package:meshcore_open/helpers/path_helper.dart'; import 'package:meshcore_open/l10n/l10n.dart'; import 'package:meshcore_open/models/app_settings.dart'; import 'package:meshcore_open/models/contact.dart'; @@ -37,9 +38,9 @@ String formatDistance(double distanceMeters, {required bool isImperial}) { } class PathTraceData { - final Uint8List pathData; + final List pathData; final List snrData; - final Map pathContacts; + final Map pathContacts; PathTraceData({ required this.pathData, @@ -48,6 +49,8 @@ class PathTraceData { }); } +String _hopKey(Uint8List hopBytes) => PathHelper.formatHopHex(hopBytes); + class PathTraceMapScreen extends StatefulWidget { final String title; final Uint8List path; @@ -89,8 +92,8 @@ class _PathTraceMapScreenState extends State { bool _failed2Loaded = false; bool _hasData = false; PathTraceData? _traceData; - // Inferred positions for hops that have no GPS location, keyed by hop byte. - Map _inferredHopPositions = {}; + // Inferred positions for hops that have no GPS location, keyed by hop prefix. + Map _inferredHopPositions = {}; // Endpoint position for the target contact (GPS or guessed). LatLng? _targetContactPosition; bool _targetContactIsGuessed = false; @@ -105,8 +108,8 @@ class _PathTraceMapScreenState extends State { Contact? _targetContact; String _formatPathPrefixes(Uint8List pathBytes) { - return pathBytes - .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) + return PathHelper.splitPathBytes(pathBytes, widget.pathHashByteWidth) + .map(PathHelper.formatHopHex) .join(','); } @@ -188,44 +191,43 @@ class _PathTraceMapScreenState extends State { } Uint8List buildPath(Uint8List pathBytes) { - Uint8List traceBytes; + final pathHops = PathHelper.splitPathBytes( + pathBytes, + widget.pathHashByteWidth, + ); + final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); - if (pathBytes.isEmpty) { + if (pathHops.isEmpty) { final pk = widget.targetContact?.publicKey; - final n = widget.pathHashByteWidth.clamp(1, pubKeySize); - if (pk != null && pk.length >= n) { - return Uint8List.fromList(pk.sublist(0, n)); + if (pk != null && pk.length >= hopWidth) { + return Uint8List.fromList(pk.sublist(0, hopWidth)); } - traceBytes = Uint8List(1); - traceBytes[0] = pk?[0] ?? 0; - return traceBytes; + return Uint8List.fromList( + pk != null && pk.isNotEmpty ? [pk[0]] : const [0], + ); } + final mirroredHops = [...pathHops]; if (widget.targetContact?.type == advTypeRepeater || widget.targetContact?.type == advTypeRoom) { - final len = (pathBytes.length + pathBytes.length + 1); - traceBytes = Uint8List(len); - traceBytes[pathBytes.length] = widget.targetContact?.publicKey[0] ?? 0; - for (int i = 0; i < pathBytes.length; i++) { - traceBytes[i] = pathBytes[i]; - if (i < pathBytes.length) { - traceBytes[len - 1 - i] = pathBytes[i]; - } - } - } else { - if (pathBytes.length < 2) { - return pathBytes[0] == 0 ? Uint8List(0) : pathBytes; - } - final len = (pathBytes.length + pathBytes.length - 1); - traceBytes = Uint8List(len); - for (int i = 0; i < pathBytes.length; i++) { - traceBytes[i] = pathBytes[i]; - if (i < pathBytes.length - 1) { - traceBytes[len - 1 - i] = pathBytes[i]; - } + final pk = widget.targetContact?.publicKey; + if (pk != null && pk.length >= hopWidth) { + mirroredHops.add(Uint8List.fromList(pk.sublist(0, hopWidth))); + } else { + mirroredHops.add( + Uint8List.fromList( + pk != null && pk.isNotEmpty ? [pk[0]] : const [0], + ), + ); } } - return traceBytes; + mirroredHops.addAll(pathHops.reversed); + + final traceBytes = []; + for (final hop in mirroredHops) { + traceBytes.addAll(hop); + } + return Uint8List.fromList(traceBytes); } Future _doPathTrace() async { @@ -329,13 +331,17 @@ class _PathTraceMapScreenState extends State { int pathLength = buffer.readUInt8(); buffer.skipBytes(5); // Skip Flag byte and tag data buffer.skipBytes(4); // Skip auth code - Uint8List pathData = buffer.readBytes(pathLength); + final pathBytes = buffer.readBytes(pathLength); + final pathData = PathHelper.splitPathBytes( + pathBytes, + widget.pathHashByteWidth, + ); List snrData = buffer .readRemainingBytes() .map((snr) => snr.toSigned(8).toDouble() / 4) .toList(); - Map pathContacts = {}; + Map pathContacts = {}; Contact lastContact = Contact( path: Uint8List(0), pathLength: 0, @@ -347,7 +353,12 @@ class _PathTraceMapScreenState extends State { lastSeen: DateTime.now(), ); if (widget.pathContacts != null) { - pathContacts = {for (var c in widget.pathContacts!) c.publicKey[0]: c}; + final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); + pathContacts = { + for (var c in widget.pathContacts!) + if (c.publicKey.length >= hopWidth) + _hopKey(Uint8List.fromList(c.publicKey.sublist(0, hopWidth))): c, + }; } else { final contacts = connector.allContactsUnfiltered; contacts.where((c) => c.type != advTypeChat).forEach((repeater) { @@ -362,12 +373,11 @@ class _PathTraceMapScreenState extends State { _maxRepeaterMatchDistanceMeters) { return; //skip reapeaters that are far away from the last one with known GPS, to avoid false matches } - for (var repeaterData in pathData) { - if (listEquals( - repeater.publicKey.sublist(0, 1), - Uint8List.fromList([repeaterData]), - )) { - pathContacts[repeaterData] = repeater; + for (final repeaterData in pathData) { + final hopWidth = repeaterData.length; + if (repeater.publicKey.length < hopWidth) continue; + if (listEquals(repeater.publicKey.sublist(0, hopWidth), repeaterData)) { + pathContacts[_hopKey(repeaterData)] = repeater; lastContact = repeater; } } @@ -376,13 +386,17 @@ class _PathTraceMapScreenState extends State { // For hops with no GPS contact, infer position from other contacts // with known GPS that share the same last-hop byte. - final Map inferredPositions = {}; + final Map inferredPositions = {}; for (final hop in pathData) { - final contact = pathContacts[hop]; + final hopKey = _hopKey(hop); + final contact = pathContacts[hopKey]; if (contact != null && contact.hasLocation) continue; final peers = connector.contacts .where( - (c) => c.hasLocation && c.path.isNotEmpty && c.path.last == hop, + (c) => + c.hasLocation && + c.path.isNotEmpty && + _hopKey(Uint8List.fromList([c.path.last])) == hopKey, ) .toList(); if (peers.isNotEmpty) { @@ -392,7 +406,7 @@ class _PathTraceMapScreenState extends State { final lon = peers.map((c) => c.longitude!).reduce((a, b) => a + b) / peers.length; - inferredPositions[hop] = LatLng(lat, lon); + inferredPositions[hopKey] = LatLng(lat, lon); } } @@ -414,20 +428,21 @@ class _PathTraceMapScreenState extends State { final tc = _targetContact!; if (tc.hasLocation) { targetPos = LatLng(tc.latitude!, tc.longitude!); - } else if (widget.path.length > 1) { + } else if (pathData.length > 1) { // Infer from the last hop: average GPS contacts sharing that hop. // For a round-trip path (flipPathAround/reversePathAround), the target-side hop // sits in the middle of the symmetric sequence; .last is the local side. final lastHop = widget.reversePathAround - ? widget.path.first - : widget.path.last; + ? pathData.first + : pathData.last; + final lastHopKey = _hopKey(lastHop); final peers = connector.allContacts .where( (c) => c.hasLocation && c.path.isNotEmpty && - c.path.last == lastHop, + _hopKey(Uint8List.fromList([c.path.last])) == lastHopKey, ) .toList(); if (peers.isNotEmpty) { @@ -444,9 +459,9 @@ class _PathTraceMapScreenState extends State { lon + offsetDeg * sin(angle), ); targetGuessed = true; - } else if (inferredPositions.containsKey(lastHop)) { - final lat = inferredPositions[lastHop]!.latitude; - final lon = inferredPositions[lastHop]!.longitude; + } else if (inferredPositions.containsKey(lastHopKey)) { + final lat = inferredPositions[lastHopKey]!.latitude; + final lon = inferredPositions[lastHopKey]!.longitude; const offsetDeg = 0.003; final angle = (tc.publicKey[1] / 255.0) * 2 * pi; targetPos = LatLng( @@ -456,7 +471,7 @@ class _PathTraceMapScreenState extends State { targetGuessed = true; } else { // As a last resort, just place it at the same position as the last hop. - final contact = pathContacts[lastHop]; + final contact = pathContacts[lastHopKey]; if (contact != null && contact.hasLocation) { const offsetDeg = 0.003; final angle = (tc.publicKey[1] / 255.0) * 2 * pi; @@ -474,21 +489,22 @@ class _PathTraceMapScreenState extends State { _points = []; _points.add(LatLng(connector.selfLatitude!, connector.selfLongitude!)); - int hopLast = 0; - int hopLastLast = 0; + String hopLast = ''; + String hopLastLast = ''; for (final hop in _traceData!.pathData) { - if (hop == hopLastLast && widget.flipPathAround) { + final hopKey = _hopKey(hop); + if (hopKey == hopLastLast && widget.flipPathAround) { break; //skip duplicate hops in round-trip paths } - final contact = _traceData!.pathContacts[hop]; + final contact = _traceData!.pathContacts[hopKey]; if (contact != null && contact.hasLocation) { _points.add(LatLng(contact.latitude!, contact.longitude!)); } else { - final inferred = inferredPositions[hop]; + final inferred = inferredPositions[hopKey]; if (inferred != null) _points.add(inferred); } hopLastLast = hopLast; - hopLast = hop; + hopLast = hopKey; } if (targetPos != null) { if (_targetContact != null && _targetContact!.type == advTypeChat) { @@ -511,7 +527,7 @@ class _PathTraceMapScreenState extends State { _initialZoom = _points.isNotEmpty ? 13.0 : 2.0; _bounds = _points.length > 1 ? LatLngBounds.fromPoints(_points) : null; _mapKey = ValueKey( - '${context.l10n.pathTrace_you},${_formatPathPrefixes(_traceData!.pathData)}', + '${context.l10n.pathTrace_you},${_traceData!.pathData.map(PathHelper.formatHopHex).join(',')}', ); _pathDistanceMeters = getPathDistanceMeters(_points); }); @@ -613,29 +629,30 @@ class _PathTraceMapScreenState extends State { } List _buildHopMarkers( - List pathData, { + List pathData, { required bool showLabels, required Contact? target, }) { final markers = []; - int hopLast = 0; - int hopLastLast = 0; + String hopLast = ''; + String hopLastLast = ''; for (final hop in pathData) { - final contact = _traceData!.pathContacts[hop]; - final inferred = _inferredHopPositions[hop]; + final hopKey = _hopKey(hop); + final contact = _traceData!.pathContacts[hopKey]; + final inferred = _inferredHopPositions[hopKey]; final hasGps = contact != null && contact.hasLocation; - if (hop == hopLastLast && widget.flipPathAround) { + if (hopKey == hopLastLast && widget.flipPathAround) { continue; //skip duplicate hops in round-trip paths } if (!hasGps && inferred == null) { hopLastLast = hopLast; - hopLast = hop; + hopLast = hopKey; continue; //skip hops with no GPS and no inferred position } final point = hasGps ? LatLng(contact.latitude!, contact.longitude!) : inferred!; - final label = hop.toRadixString(16).padLeft(2, '0').toUpperCase(); + final label = PathHelper.formatHopHex(hop); markers.add( Marker( @@ -679,7 +696,7 @@ class _PathTraceMapScreenState extends State { ); } hopLastLast = hopLast; - hopLast = hop; + hopLast = hopKey; } final selfLat = context.read().selfLatitude; @@ -807,29 +824,24 @@ class _PathTraceMapScreenState extends State { } String formatDirectionText(PathTraceData pathTraceData, int index) { - if (index == 0 || index == pathTraceData.snrData.length - 1) { + if (pathTraceData.pathData.isEmpty) { + return context.l10n.pathTrace_you; + } + if (index == 0 || index == pathTraceData.pathData.length - 1) { if (index == 0) { return context.l10n.pathTrace_you; } else { - final contactName = pathTraceData - .pathContacts[pathTraceData.pathData[pathTraceData.pathData.length - - 1]] - ?.name; - final hex = pathTraceData.pathData[pathTraceData.pathData.length - 1] - .toRadixString(16) - .padLeft(2, '0') - .toUpperCase(); + final hop = pathTraceData.pathData.last; + final contactName = pathTraceData.pathContacts[_hopKey(hop)]?.name; + final hex = PathHelper.formatHopHex(hop); return contactName != null ? "$hex: $contactName" : "$hex: ${context.l10n.channelPath_unknownRepeater}"; } } else { - final contactName = - pathTraceData.pathContacts[pathTraceData.pathData[index - 1]]?.name; - final hex = pathTraceData.pathData[index - 1] - .toRadixString(16) - .padLeft(2, '0') - .toUpperCase(); + final hop = pathTraceData.pathData[index - 1]; + final contactName = pathTraceData.pathContacts[_hopKey(hop)]?.name; + final hex = PathHelper.formatHopHex(hop); return contactName != null ? "$hex: $contactName" : "$hex: ${context.l10n.channelPath_unknownRepeater}"; @@ -837,14 +849,14 @@ class _PathTraceMapScreenState extends State { } String formatDirectionSubText(PathTraceData pathTraceData, int index) { - if (index == 0 || index == pathTraceData.snrData.length - 1) { + if (pathTraceData.pathData.isEmpty) { + return context.l10n.pathTrace_you; + } + if (index == 0 || index == pathTraceData.pathData.length - 1) { if (index == 0) { - final contactName = - pathTraceData.pathContacts[pathTraceData.pathData[0]]?.name; - final hex = pathTraceData.pathData[0] - .toRadixString(16) - .padLeft(2, '0') - .toUpperCase(); + final hop = pathTraceData.pathData.first; + final contactName = pathTraceData.pathContacts[_hopKey(hop)]?.name; + final hex = PathHelper.formatHopHex(hop); return contactName != null ? "$hex: $contactName" : "$hex: ${context.l10n.channelPath_unknownRepeater}"; @@ -852,12 +864,9 @@ class _PathTraceMapScreenState extends State { return context.l10n.pathTrace_you; } } else { - final contactName = - pathTraceData.pathContacts[pathTraceData.pathData[index]]?.name; - final hex = pathTraceData.pathData[index] - .toRadixString(16) - .padLeft(2, '0') - .toUpperCase(); + final hop = pathTraceData.pathData[index]; + final contactName = pathTraceData.pathContacts[_hopKey(hop)]?.name; + final hex = PathHelper.formatHopHex(hop); return contactName != null ? "$hex: $contactName" : "$hex: ${context.l10n.channelPath_unknownRepeater}"; diff --git a/lib/services/notification_service.dart b/lib/services/notification_service.dart index b367e0e5..708eabff 100644 --- a/lib/services/notification_service.dart +++ b/lib/services/notification_service.dart @@ -27,6 +27,10 @@ class NotificationService { AppLocalizations get _l10n => lookupAppLocalizations(_locale); + String _logSafe(String value) { + return Uri.encodeComponent(value.replaceAll('\n', ' ')); + } + // Rate limiting to prevent notification storms // (Added after getting notification-flooded while evaluating RF flood management. The irony.) static const _minNotificationInterval = Duration(seconds: 3); @@ -322,11 +326,11 @@ class NotificationService { String _getNotificationIdentifier(_PendingNotification n) { switch (n.type) { case _NotificationType.advert: - return n.body; + return _logSafe(n.body); case _NotificationType.message: - return 'from: ${n.title}'; + return 'from: ${_logSafe(n.title)}'; case _NotificationType.channelMessage: - return 'in: ${n.title}'; + return 'in: ${_logSafe(n.title)}'; } } @@ -572,7 +576,7 @@ class NotificationService { // Show first few device names in batch summary for debugging (only if adverts exist) final deviceInfo = adverts.isNotEmpty - ? ' (${adverts.take(5).map((n) => n.body).join(', ')}${adverts.length > 5 ? ', ...' : ''})' + ? ' (${adverts.take(5).map((n) => _logSafe(n.body)).join(', ')}${adverts.length > 5 ? ', ...' : ''})' : ''; debugPrint('[Notification] batch summary: ${parts.join(", ")}$deviceInfo'); diff --git a/lib/widgets/path_selection_dialog.dart b/lib/widgets/path_selection_dialog.dart index c1cd3d01..29a5588e 100644 --- a/lib/widgets/path_selection_dialog.dart +++ b/lib/widgets/path_selection_dialog.dart @@ -126,17 +126,19 @@ class _PathSelectionDialogState extends State { .toList(); final pathBytesList = []; final invalidPrefixes = []; + final hexCharsPerHop = widget.pathHashByteWidth.clamp(1, 8) * 2; for (final id in pathIds) { - if (id.length < 2) { + if (id.length < hexCharsPerHop) { invalidPrefixes.add(id); continue; } - final prefix = id.substring(0, 2); + final prefix = id.substring(0, hexCharsPerHop); try { - final byte = int.parse(prefix, radix: 16); - pathBytesList.add(byte); + for (int i = 0; i < prefix.length; i += 2) { + pathBytesList.add(int.parse(prefix.substring(i, i + 2), radix: 16)); + } } catch (e) { invalidPrefixes.add(id); } @@ -318,7 +320,7 @@ class _PathSelectionDialogState extends State { style: const TextStyle(fontSize: 14), ), subtitle: Text( - '${contact.typeLabel(l10n)} • ${contact.publicKeyHex.substring(0, 2)}', + '${contact.typeLabel(l10n)} • ${contact.publicKeyHex.substring(0, widget.pathHashByteWidth.clamp(1, 8) * 2)}', style: const TextStyle(fontSize: 10), ), trailing: isSelected diff --git a/test/helpers/path_helper_test.dart b/test/helpers/path_helper_test.dart index e2da8776..f873b72f 100644 --- a/test/helpers/path_helper_test.dart +++ b/test/helpers/path_helper_test.dart @@ -22,6 +22,15 @@ Contact _contact({ } void main() { + test('splitPathBytes groups bytes by hash width', () { + final hops = PathHelper.splitPathBytes([0xA1, 0xA2, 0xC1, 0xC2], 2); + + expect(hops, hasLength(2)); + expect(hops.first, equals(Uint8List.fromList([0xA1, 0xA2]))); + expect(hops.last, equals(Uint8List.fromList([0xC1, 0xC2]))); + expect(PathHelper.formatHopHex(hops.first), equals('A1A2')); + }); + test('resolvePathNames ignores chat nodes and keeps repeater/room nodes with 1-byte paths', () { final contacts = [ _contact(firstByte: 0xF2, name: 'MunTui', type: advTypeChat), From 4e70fd2a5ee5f121612cadf13c750eb85ee38d78 Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 13 May 2026 08:51:44 +0200 Subject: [PATCH 05/45] clean --- Capture d’écran du 2026-05-12 19-43-48.png | Bin 88355 -> 0 bytes Capture d’écran du 2026-05-12 19-44-15.png | Bin 72696 -> 0 bytes Capture d’écran du 2026-05-13 08-27-59.png | Bin 65589 -> 0 bytes Capture d’écran du 2026-05-13 08-28-26.png | Bin 100616 -> 0 bytes Capture d’écran du 2026-05-13 08-39-35.png | Bin 68146 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Capture d’écran du 2026-05-12 19-43-48.png delete mode 100644 Capture d’écran du 2026-05-12 19-44-15.png delete mode 100644 Capture d’écran du 2026-05-13 08-27-59.png delete mode 100644 Capture d’écran du 2026-05-13 08-28-26.png delete mode 100644 Capture d’écran du 2026-05-13 08-39-35.png diff --git a/Capture d’écran du 2026-05-12 19-43-48.png b/Capture d’écran du 2026-05-12 19-43-48.png deleted file mode 100644 index a498227cb6cae9aa1a5a8fc2e248f1be9237988b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88355 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 z 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 diff --git a/Capture d’écran du 2026-05-13 08-27-59.png b/Capture d’écran du 2026-05-13 08-27-59.png deleted file mode 100644 index 30b7f93b06a01f2529eb096c5ea5dbf8c804afb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65589 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 oPuV0H1Oa2*r* zao(E>K2`!1JVzh?!J>JNMCa84G$_OJ7}=jf#%q6qcvj#4Q+L7k0L^&E8R>Aqr> zkeEmX&-=Axv#2L24xPzZHMNB>n~TWMwZjXbr}@t(u`P-(SK>*boNos@^bLt#1H2qh zqm2>^TWj7w*4KYa*M9>uDzRiss^+h?>$zVg-0Pk#osKXJo?fHSBr$?!h*-SrGt*FM z;%l$?|%H9*L7m@YmXCUArWCQ?%| z7)(#CflX@iTRabo_TVc%pDzzI&HYrp+RhR3BXuGPNl~1Cs+w`ri3mUYm2%px_LC=A z?&sZXj4RZDZA@s`*1CSoIH%;l^BO*0|6ROyfj1ba!f31pb_cB6ctA)N#8=Um3YD!G}#YIAR4bcAPvCECZC{n!- z^%Q1CnYA{s$c{@^WjJAWAk~)eUe0r5sdE6-3zD@n?5Xi4Y5dbqqhJUJaKNNn_G~P3 z)}eRUeEcYj9aug*9fTCSGSG@iLF1s0%=(47GMM9ONB-tNefB2k!SZ@F7cCa7nH=54HgN3v)ZetY2(QiE+I)l%40qj%9q_uYk_3>D6En;2~Q+mh~URadueWNb|p%w7aH;(VwrVaR}uBgF>p z$-NeR9veD&FoPPiO*S{CZK(?=tU4N~UiaJ5s+0fsY;cWHw~8-rAClS+Ax&i7&R^YS z6)rspj2=uMrchw*%r&te3d|JAH7m_7)eIw2Os?ncPs7J+Mk{($+?hh+RI0L2NH6G` z1`GICLA`T3l|#rNxMe!$t8L19NY~2-qKKoZu8+($gO#;BjYKIG8r$m9T50!tqYUk= zzfa@T77{?w(HYln1kTKy;IaZNTpDR(JG+j#3@v9inU&ksVk;AHNpC-ju58>`!gN-ala`1;B!Swv;^|6Z1{j;hLs=9;b zh8&Jk7=LphXW9kJ(0p%PGk$s>YR|C~-I1|%U7s*6sVX`;HnbxAKpZDle5;XjKk7P! zefecwJf!rU@tb`IppBP+RGv$2R7F?5YH9z&VDr=DfeuZuz0Ll=(T%9*Vk7kv-nPt! zDsN$HDtK+AZ>woy2GTNlzWn{hhU7T6kq3dcF+Md7JA9kq5LN{n(i42 z+ZEo{)Y8Hf+trOVzmGFM2rk8zaz^YQ=WV5n6ac3_tXZ8TQ z9`8K>mM65}@4`T#c_8^rE)#mZJlLIK(xR~{_k0bFU){guYW_p5xb*9%HUgDbpfA~9T*<3x*{M@*05o-ijTw2RGxzsZ6tjYytb8<>ealv zH}Eh^!?-w3ELp~HW7H+1szWgN&%QXN(JbB){Ll^B|1gJZyusudCM%rQHaf-}m!v&i z=)#qIh0OBr^*@$6Y|5l-uoF{y48}FaJr;G8;mhS1wZ@%a!s%Nr2Az3y(UoXfb2ft5 z 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 diff --git a/Capture d’écran du 2026-05-13 08-39-35.png b/Capture d’écran du 2026-05-13 08-39-35.png deleted file mode 100644 index 5230bda77ae0470c5feaccf1c70e9b789e394ef9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68146 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 From 8296f44a4e0e34bddbc01e6955bffeccc865583c Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 13 May 2026 09:09:11 +0200 Subject: [PATCH 06/45] update doc --- documentation/routing-paths.md | 91 +++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index 2a25683e..1de549bd 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -6,61 +6,70 @@ This page covers how MeshCore Open represents, selects, validates, and stores ro MeshCore supports variable-length multi-byte routing paths so the app can scale from small meshes to very large node sets. -### Path Encoding Format +### Hash Width and Multi-Byte Paths -Each path byte packs both the hop count and the hash width: +The device capability determines the hash width (number of bytes per hop): -``` -Bit 7-6: Hash mode (2 bits) → hash_bytes = 1 << mode -Bit 5-0: Hop count (6 bits) → max 63 hops -``` - -| Mode | Hash Bytes | Max Hops | Max Unique Nodes | Firmware | -|------|-----------|----------|------------------|----------| -| 0 | 1 | 63 | 256 | v1.13+ | -| 1 | 2 | 63 | 65,536 | v1.14+ | -| 2 | 3 | 63 | 16.7M | v1.14+ | -| 3 | 4 | 63 | 4.3B | v1.14+ | - -### Path Byte Calculation - -```dart -final pathLenRaw = frameData[index]; -final hopCount = pathLenRaw & 0x3F; -final hashMode = (pathLenRaw >> 6) & 0x03; -final hashBytes = 1 << hashMode; - -final pathByteLength = hopCount * hashBytes; -final pathData = frameData.sublist(index + 1, index + 1 + pathByteLength); -``` +| Width | Max Unique Nodes | Typical Use | +|-------|-----------------|-------------| +| 1 byte | 256 | Single-byte node IDs | +| 2 bytes | 65,536 | Medium meshes | +| 3 bytes | 16.7M | Large networks | +| 4 bytes | 4.3B | Gigantic deployments | ### Device Capability Detection -The app reads the device's reported capability byte to determine whether multi-byte paths are available: +On device connection, the app reads the firmware capability to set `pathHashByteWidth`: ```dart -if (firmwareBytes.length >= 82) { - final mode = (firmwareBytes[81] & 0xFF).clamp(0, 2); - pathHashByteWidth = mode + 1; -} else { - pathHashByteWidth = 1; -} +// Read from device info response (offset 81) +final modeRaw = firmwareBytes.length >= 82 + ? (firmwareBytes[81] & 0x3F) + : 0; +final mode = modeRaw.clamp(0, 3); +_pathHashByteWidth = mode + 1; // 1, 2, 3, or 4 bytes per hop ``` +### Path Data Structure + +Paths in messages and storage consist of: + +- **`pathLength`**: Hop count reported in the radio header (may differ from decoded path) +- **`pathBytes`**: Raw bytes of the path, grouped by `pathHashByteWidth` +- **Example**: With `pathHashByteWidth=2`, a 3-hop path needs 6 bytes: + - `pathBytes = [0xA1, 0xA2, 0xB1, 0xB2, 0xC1, 0xC2]` + - Hops: `[0xA1A2]`, `[0xB1B2]`, `[0xC1C2]` + +### Hop Count Calculation + +Convert path byte length to hop count: + +```dart +int hopCount = (byteCount + hashByteWidth - 1) ~/ hashByteWidth; +``` + +Use this consistently when displaying hop counts in UI to avoid mismatch between metadata (`pathLength`) and observed paths (`pathBytes`). + ### Path Usage in Different Message Types -- Direct messages extract the path from the decrypted payload to trace the sender route. -- Channel messages decrypt a hop-by-hop routing chain from the payload. -- Contact storage keeps the path length encoding in byte 32 and the raw path bytes in bytes 33-96. +- **Direct messages**: Extract path from decrypted payload to trace sender route. +- **Channel messages**: Decrypt hop-by-hop routing chain from payload; header includes `pathLength` metadata. +- **Contact storage**: Path length in byte 32, raw path bytes in bytes 33-96, grouped by detected `pathHashByteWidth`. -### Example Contact Path Parsing +### UI Hop Count Display + +⚠️ **Important**: In screens like "Channel Message Path", prefer the actual decoded `pathBytes` hop count over `pathLength` metadata: ```dart -// Mode 0 (1-byte): 3 hops = 3 bytes needed -// [0x83, 0xA1, 0xB2, 0xC3] → hopCount=3, mode=0, path=[A1,B2,C3] +// Preferred: use actual observed path length +final effectiveHopCount = (pathBytes.length + width - 1) ~/ width; -// Mode 1 (2-byte): 3 hops = 6 bytes needed -// [0xC3, 0xA1, 0xA2, 0xB1, 0xB2, 0xC1, 0xC2] -// → hopCount=3, mode=1, path=[A1A2, B1B2, C1C2] +// Avoid: using radio metadata directly +// pathLength can diverge from decoded bytes and cause UI mismatches ``` +Example scenario: +- Radio header reports `pathLength: 32` +- Decoded path bytes: `[0xAB, 0xCD]` (2 bytes = 1 hop with width=2) +- **Display**: "1 hop" (from pathBytes), NOT "32 hops" (from pathLength) + From 94ed729985fec83267df2b61b73d5c018ef2736f Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 13 May 2026 10:43:57 +0200 Subject: [PATCH 07/45] bug fix --- documentation/routing-paths.md | 11 ++++++----- lib/screens/path_trace_map.dart | 29 ++++++++++++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index 1de549bd..83d297a3 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -15,7 +15,6 @@ The device capability determines the hash width (number of bytes per hop): | 1 byte | 256 | Single-byte node IDs | | 2 bytes | 65,536 | Medium meshes | | 3 bytes | 16.7M | Large networks | -| 4 bytes | 4.3B | Gigantic deployments | ### Device Capability Detection @@ -23,13 +22,15 @@ On device connection, the app reads the firmware capability to set `pathHashByte ```dart // Read from device info response (offset 81) -final modeRaw = firmwareBytes.length >= 82 - ? (firmwareBytes[81] & 0x3F) +final modeRaw = firmwareBytes.length >= 82 + ? (firmwareBytes[81] & 0xFF) : 0; -final mode = modeRaw.clamp(0, 3); -_pathHashByteWidth = mode + 1; // 1, 2, 3, or 4 bytes per hop +final mode = modeRaw.clamp(0, 2); +_pathHashByteWidth = mode + 1; // 1, 2, or 3 bytes per hop ``` +The current implementation intentionally clamps to modes `0..2`, so the supported hop width is `1..3` bytes. Do not document 4-byte hops unless the connector implementation is widened first. + ### Path Data Structure Paths in messages and storage consist of: diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index 3bf1e7e3..34690a8b 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -51,6 +51,12 @@ class PathTraceData { String _hopKey(Uint8List hopBytes) => PathHelper.formatHopHex(hopBytes); +Uint8List _lastHopChunk(Uint8List path, int hopWidth) { + if (path.isEmpty) return Uint8List(0); + final width = hopWidth.clamp(1, path.length); + return Uint8List.fromList(path.sublist(path.length - width)); +} + class PathTraceMapScreen extends StatefulWidget { final String title; final Uint8List path; @@ -208,8 +214,9 @@ class _PathTraceMapScreenState extends State { } final mirroredHops = [...pathHops]; - if (widget.targetContact?.type == advTypeRepeater || - widget.targetContact?.type == advTypeRoom) { + final isRepeaterOrRoom = widget.targetContact?.type == advTypeRepeater || + widget.targetContact?.type == advTypeRoom; + if (isRepeaterOrRoom) { final pk = widget.targetContact?.publicKey; if (pk != null && pk.length >= hopWidth) { mirroredHops.add(Uint8List.fromList(pk.sublist(0, hopWidth))); @@ -220,8 +227,16 @@ class _PathTraceMapScreenState extends State { ), ); } + // For repeaters/rooms, include full reversed path + mirroredHops.addAll(pathHops.reversed); + } else { + // For non-repeater/room targets, reverse without duplicating the pivot hop + if (pathHops.length > 1) { + mirroredHops.addAll( + pathHops.sublist(0, pathHops.length - 1).reversed, + ); + } } - mirroredHops.addAll(pathHops.reversed); final traceBytes = []; for (final hop in mirroredHops) { @@ -396,7 +411,8 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(Uint8List.fromList([c.path.last])) == hopKey, + _hopKey(_lastHopChunk(c.path, widget.pathHashByteWidth)) == + hopKey, ) .toList(); if (peers.isNotEmpty) { @@ -442,7 +458,10 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(Uint8List.fromList([c.path.last])) == lastHopKey, + _hopKey( + _lastHopChunk(c.path, widget.pathHashByteWidth), + ) == + lastHopKey, ) .toList(); if (peers.isNotEmpty) { From 4a066e08dcabfb2ab7ce7fd648c5c682a4f93207 Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 13 May 2026 13:44:42 +0200 Subject: [PATCH 08/45] fix from PR review --- documentation/routing-paths.md | 17 +++++++++-------- lib/services/notification_service.dart | 3 ++- lib/widgets/path_selection_dialog.dart | 4 ++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index 83d297a3..1db0eed2 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -35,9 +35,10 @@ The current implementation intentionally clamps to modes `0..2`, so the supporte Paths in messages and storage consist of: -- **`pathLength`**: Hop count reported in the radio header (may differ from decoded path) +- **`pathLength`**: Encoded path length in bytes as carried by the frame/header. This is not the hop count when `pathHashByteWidth > 1`. - **`pathBytes`**: Raw bytes of the path, grouped by `pathHashByteWidth` -- **Example**: With `pathHashByteWidth=2`, a 3-hop path needs 6 bytes: +- **`hopCount`**: Derived display value computed from bytes and width: `(byteCount + hashByteWidth - 1) ~/ hashByteWidth` +- **Example**: With `pathHashByteWidth=2`, a 3-hop path needs 6 bytes, so `pathLength = 6` and `hopCount = 3`: - `pathBytes = [0xA1, 0xA2, 0xB1, 0xB2, 0xC1, 0xC2]` - Hops: `[0xA1A2]`, `[0xB1B2]`, `[0xC1C2]` @@ -49,12 +50,12 @@ Convert path byte length to hop count: int hopCount = (byteCount + hashByteWidth - 1) ~/ hashByteWidth; ``` -Use this consistently when displaying hop counts in UI to avoid mismatch between metadata (`pathLength`) and observed paths (`pathBytes`). +Use this consistently when displaying hop counts in UI. Do not treat `pathLength` as a hop count when the path uses multi-byte hop hashes. ### Path Usage in Different Message Types - **Direct messages**: Extract path from decrypted payload to trace sender route. -- **Channel messages**: Decrypt hop-by-hop routing chain from payload; header includes `pathLength` metadata. +- **Channel messages**: Decrypt hop-by-hop routing chain from payload; the header carries the encoded byte length for the path blob, not the derived hop count. - **Contact storage**: Path length in byte 32, raw path bytes in bytes 33-96, grouped by detected `pathHashByteWidth`. ### UI Hop Count Display @@ -65,12 +66,12 @@ Use this consistently when displaying hop counts in UI to avoid mismatch between // Preferred: use actual observed path length final effectiveHopCount = (pathBytes.length + width - 1) ~/ width; -// Avoid: using radio metadata directly -// pathLength can diverge from decoded bytes and cause UI mismatches +// Avoid: using encoded byte length as if it were a hop count +// pathLength is bytes; converting it twice causes inflated counts ``` Example scenario: -- Radio header reports `pathLength: 32` +- Radio header reports `pathLength: 32` bytes - Decoded path bytes: `[0xAB, 0xCD]` (2 bytes = 1 hop with width=2) -- **Display**: "1 hop" (from pathBytes), NOT "32 hops" (from pathLength) +- **Display**: "1 hop" (from `pathBytes`), not "32 hops" (which would double-count the encoded length) diff --git a/lib/services/notification_service.dart b/lib/services/notification_service.dart index 708eabff..dce8398f 100644 --- a/lib/services/notification_service.dart +++ b/lib/services/notification_service.dart @@ -28,7 +28,8 @@ class NotificationService { AppLocalizations get _l10n => lookupAppLocalizations(_locale); String _logSafe(String value) { - return Uri.encodeComponent(value.replaceAll('\n', ' ')); + final sanitized = value.replaceAll(RegExp(r'[\x00-\x1F\x7F]'), ' '); + return Uri.encodeComponent(sanitized); } // Rate limiting to prevent notification storms diff --git a/lib/widgets/path_selection_dialog.dart b/lib/widgets/path_selection_dialog.dart index 29a5588e..5c36279e 100644 --- a/lib/widgets/path_selection_dialog.dart +++ b/lib/widgets/path_selection_dialog.dart @@ -157,8 +157,8 @@ class _PathSelectionDialogState extends State { return; } - // Check max path length (64 hops) - if (pathBytesList.length > 64) { + // Check max path size in bytes, as defined by the protocol. + if (pathBytesList.length > maxPathSize) { showDismissibleSnackBar( context, content: Text(l10n.path_tooLong), From 87b0fd6fc73b6b89f2c9c4c0a0a2a6ccff66724f Mon Sep 17 00:00:00 2001 From: PacoX Date: Thu, 14 May 2026 12:55:46 +0200 Subject: [PATCH 09/45] removed distance-based rejection filter --- lib/screens/channel_message_path_screen.dart | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index d30b0c2f..0ed7dd95 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -982,7 +982,6 @@ List<_PathHop> _buildPathHops( : null; var previousPosition = startPoint; final distance = Distance(); - var lastDistance = 0.0; var bestDistance = 0.0; final hops = <_PathHop>[]; @@ -1029,15 +1028,9 @@ List<_PathHop> _buildPathHops( previousPosition = resolvedPosition; } - // If the best candidate is much farther than the previous hop, it's likely not the correct match. - if (lastDistance + bestDistance > 50000 && - candidates != null && - candidates.isNotEmpty) { - hopIdx--; - lastDistance = bestDistance; - continue; - } - lastDistance = bestDistance; + // NOTE: removed distance-based rejection filter. Accept the best candidate + // even if the distance is large — historical filtering could drop valid + // long-distance links and cause cascading mismatches. hops.add( _PathHop( From d6647f470172e13cc85a2e63c36c0ddfc8adba0c Mon Sep 17 00:00:00 2001 From: PacoX Date: Sun, 17 May 2026 15:50:25 +0200 Subject: [PATCH 10/45] PR review modif + packet aware --- Capture d’écran du 2026-05-17 13-48-42.png | Bin 0 -> 40694 bytes Capture d’écran du 2026-05-17 13-48-55.png | Bin 0 -> 71765 bytes Capture d’écran du 2026-05-17 14-04-55.png | Bin 0 -> 67045 bytes Capture d’écran du 2026-05-17 14-12-52.png | Bin 0 -> 123725 bytes Capture d’écran du 2026-05-17 15-00-31.png | Bin 0 -> 104900 bytes documentation/routing-paths.md | 30 ++++-- lib/connector/meshcore_connector.dart | 2 +- lib/helpers/path_helper.dart | 17 +++- lib/models/channel_message.dart | 16 +++- lib/models/contact.dart | 2 +- lib/screens/channel_chat_screen.dart | 9 +- lib/screens/channel_message_path_screen.dart | 29 +++--- lib/screens/chat_screen.dart | 1 + lib/screens/map_screen.dart | 54 ++++++----- lib/screens/path_trace_map.dart | 94 +++++++++++-------- lib/widgets/path_selection_dialog.dart | 6 +- test/helpers/path_helper_packet_test.dart | 40 ++++++++ 17 files changed, 200 insertions(+), 100 deletions(-) create mode 100644 Capture d’écran du 2026-05-17 13-48-42.png create mode 100644 Capture d’écran du 2026-05-17 13-48-55.png create mode 100644 Capture d’écran du 2026-05-17 14-04-55.png create mode 100644 Capture d’écran du 2026-05-17 14-12-52.png create mode 100644 Capture d’écran du 2026-05-17 15-00-31.png create mode 100644 test/helpers/path_helper_packet_test.dart diff --git a/Capture d’écran du 2026-05-17 13-48-42.png b/Capture d’écran du 2026-05-17 13-48-42.png new file mode 100644 index 0000000000000000000000000000000000000000..c984676b0b5b82971bbcc9826ab3962aac1edac0 GIT binary patch literal 40694 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 pGgcCi3-*x?wQbk%yC^$9jFXpr493?zGOkR_Nv( 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

Yw@wZbvaoqf2mpQT=_ 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

    S|%>5>wN1S<1b5&k35_`wA3(L{!Qb8wI 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

  1. Z`-Nwy}rB~=w_czR$5v;5d~`C76^d*P>YB(@Rs;X zI^A{y#BJr2SjMk5Lo8XWPdu8v}{7C1DH5qz8TUdJ{r(MH$jgm(LWzV6Y9~} z1CX2n-qz2rcK?9`$_1UP>(M-@)!!E`fRD5#yc4XADmS!#2!s`t;@QKD$|>dR9>d73WMp2C zC2nZghjDCfZZ7{&BJOirvS*(k>cdC=a=}gxi5OJ*>{hTpe z=02q@U;(cNWlKKz^hw&t=+j{V4`Aa4W-MpgEJXzacs-)c4%%S(Wd&NF^3w^}eov)> znyKqk8?8lEHs}a6{VgF-u)MH-YNU=-HC5I(Thro1F>>*ZC%>uE&x2Ht&w>3>mQ0;r*a zW?@+Gv!%gr#`g2N&48lZAP<$ksjqracXNQYAq_Yc^i5%5(bXw$n~*5 z3td_ih$i|I$|i6Xz;0u12LBf9ci{}a8-nGS>CZf#0R0DkVIKT^Ulr0P|Gq5VhwCYU zE9l(1 zI4JterUbtjQXcY5+IkY~)f6eU_TnEt2VVfA+NS$CQ_jq!D&VOU!ty&MWZ!+(#(mH< zT{I@R|0Mn+orh0@8hFETrE^@iNl7D77ae-}^7)z3c@WT4dZ&aNWudKRL4{*Qo<6#O z#9D=m1ta8(ochK-kFaLDWUL*qjXQhfhrMfR?D%3Kunh3bX2>Z6TR?CoEYNFdcwxJ% zre@P16aIl$Wyp!2G=?Yj7u;NfR5DG~+RMPbj+m2K=tcGK+1Y$dQS=W+Wj9aZVdmr3 z>^T_K~LN=RCF-jCNIR7IEvJqVbO;F*ybNBJvw=e59z{uR1tu`?drc z>E#96l$-kOoGGE!H2XWf zw>C7aCcss@0#;B&>S;)aeZ9+~h&fv6CBeZWo-zd<%-qkCa;Zs4DuMX}t^;W|ghL{~ zSJCHs{LZ$itYrn4!@O`D0?tKwNI4)L;R4rolm;w%_GKvs=AVCC0?Ztq+y7 z6|_gtm7Xl)ajT55%h>sh(C|=G?4D@!XQ-r`=ApvZd_lZRbZ?K|D~KTkKWGeK>%4YB z`F)*!XEqGKWPd6Ic2P-#LpR+Gak;}Bb`_UlAwfKTfP?70a@u9q7Z+VE2nWaA3cbimqa9-8N(3i5*T_!|6eY@|a; z$>mBvjwNS_`(Ux(LHvEA5lt0nK#qErXtG-S`OAHmRkZP6H6zdFA~_nM)Hw^Qy+(x4 z&JL*#-yFaBHa0e8rKHpjoXbdk^u!=kT}0zva+YmV)aDe^=dRPPpQ#{A{=iImJrfga zI9yZdWmg`S&lB`?th~|@InMsZod|cD$xF3>XL1Nto7vQL+iBP(P~PTm`CFwG`!~y+ zoYeLEmTt-wtzPrJ=b7o;bpn>0mXjTj)^Bh#f&??5JblPHX}o{m5en*Iy^EzcR%)%r z*xU;d7zs;eEDlUn7_m2(!>ezRZ?u=2ho~9j<16`6)Oa0Z4d2E?-1st1o{oXU* z8p=QDiCZ|EXUn|qQE%FyT>u5m`ueDHhX-@r*`izbj%)&)={)>xf3!mYIj#CS-}BcS z8*PX)H3H~ji#V+g7WtcR?7FkfY_M_a2TZd zmoZ4WmUM)PETIP6o2+KOWQ3j!#Y!xK_9YfeI1Yi6#XyD?kzsE9v+??QPXCOHlFyLm6JII&zmh5?g^dzd2O%^03T~o<27fyl+bX8#H`%)oim~k zf^}9JL6?|>O$!M^tLJ3{BOs0eQXB8rFL+acFZH#cE|jOQIRxLb4ceyTui)VXCN2SU z@(KT2XCG2dYWHVbl=aW0LuTl`Ox_41U#*`(99bIG5G|~(wiYlWT?9vxVlS|q`wC!a zTL$kl=UN5s%S!XTE1iNM1TqR?iKbyC4PHY5Bv`V$`-AM9!d75pQMw}yGVSy*ddVw& z#u3wc(l7*-qQgz_pQfba^V8~2HZ`^6gF#EI=*gWS0BubS$E>Apiin7ozQVVuP1&U|4ADTMCb_| zQ@9f+=UnJozQJ!=_%LRvKc`)~aOSmKQb*o>^m$JYkAXbfCXhWK(1sz{7O?HkMTFfD zFGk(Iq#);zV4eV$v{pJuT7h%#$It5e3r3_Ko0ICtGbXlRf075vBi}mOoOI49@aucP z45e=H?2OFpT;3F4A1VTRMK_&YHQGBnol~ubyGfR=1i#hiY?>vPEJnO- zvPLxA3#z6>M*tkPV`mG4ilY)u;EN6ipi`d6Q7gBow(dG><3aaMlkREn6^;N@=gH=p5h=%5x^uZKxj#} zq9F6- jRkBW=J*?XNRmF${w_cUhRGF#Vp{m=JcPm#LFCqy-rRR(m6yz&Zh75*{v zPyNyN&`q+EnQD9(sy!WHKw}zgWIEhH8zWeN0zi}Cd_D7Z_~wD(iDCU&cIXIidBwO4!uY@nq|q|{6_e=Z&qE_4UPhkKw{_n z^PisrP-Xuf)S=S{)ApzQl)fyrcr(^E+5OK2|NEb;{vEqOg6rp-Sy{?c04N!`zmV@F z@S1VQf4$~$aM-E-`sZB%um3;zHs0mny2P!Dk`EvLY-;&R&dohf%*;MN7z-LkB@t)y zz*URT0GQanoF3x;i?AC=2=8AwcfkheC4a80c82-s22rXKNC$+13+h?^z?|hXn{7AY_pP%M8DOq%dfQuK7D$`FCZ|m z0IE>$2rPN`it&5|p{5nu*RKa<}yE$Y IK54h8XxsC|rbLU0oHK3?wXdIvDPCZ@h+ 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 j-zI54!u@ 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 literal 0 HcmV?d00001 diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index 1db0eed2..f1480841 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -18,18 +18,18 @@ The device capability determines the hash width (number of bytes per hop): ### Device Capability Detection -On device connection, the app reads the firmware capability to set `pathHashByteWidth`: +On device connection, the app reads the firmware capability to set `pathHashByteWidth` reported by the device. The device encodes a "mode" value (0..3) which maps to `width = mode + 1` (1..4 bytes per hop). The connector uses this width as the authoritative send width when composing paths for that device. ```dart // Read from device info response (offset 81) final modeRaw = firmwareBytes.length >= 82 - ? (firmwareBytes[81] & 0xFF) - : 0; -final mode = modeRaw.clamp(0, 2); -_pathHashByteWidth = mode + 1; // 1, 2, or 3 bytes per hop + ? (firmwareBytes[81] & 0xFF) + : 0; +final mode = modeRaw.clamp(0, 3); +_pathHashByteWidth = mode + 1; // 1..4 bytes per hop ``` -The current implementation intentionally clamps to modes `0..2`, so the supported hop width is `1..3` bytes. Do not document 4-byte hops unless the connector implementation is widened first. +Note: the app now supports up to 4 bytes per hop when reported by devices. UI validation for user-entered paths still uses the device's configured `pathHashByteWidth` for outbound paths, but inbound packets are interpreted per-packet (see below). ### Path Data Structure @@ -56,6 +56,24 @@ Use this consistently when displaying hop counts in UI. Do not treat `pathLength - **Direct messages**: Extract path from decrypted payload to trace sender route. - **Channel messages**: Decrypt hop-by-hop routing chain from payload; the header carries the encoded byte length for the path blob, not the derived hop count. +### Packet-aware parsing (incoming packets) + +Inbound frames may encode the effective hop width inside the path bytes themselves (top two bits of the first path byte). To avoid misinterpreting a 1-byte packet as a 2-byte path when the node configuration differs, the client detects the packet's width and uses it when splitting and matching hops for that specific packet. + +Use the per-packet detection for display, contact lookups and inferred-position calculations. Continue to use the device's configured `pathHashByteWidth` for composing and validating outbound paths. + +The helper used by the client implements detection equivalent to meshcore_py: + +```dart +static int detectPathHashWidth(List pathBytes, {int fallback = 1}) { + if (pathBytes.isEmpty) return fallback.clamp(1,4); + final first = pathBytes[0]; + final mode = ((first & 0xC0) >> 6) & 0x03; + return (mode + 1).clamp(1,4); +} +``` + +This ensures that display and matching are packet-aware and robust across mixed-width networks. - **Contact storage**: Path length in byte 32, raw path bytes in bytes 33-96, grouped by detected `pathHashByteWidth`. ### UI Hop Count Display diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 538ee38a..3da4450d 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -3854,7 +3854,7 @@ class MeshCoreConnector extends ChangeNotifier { } // Path hash mode v10+ (byte 81): width = mode + 1 byte(s) per hop if (frame.length >= 82) { - final mode = (frame[81] & 0xFF).clamp(0, 2); + final mode = (frame[81] & 0xFF).clamp(0, 3); _pathHashByteWidth = mode + 1; } else { _pathHashByteWidth = 1; diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index ff6448c7..c5cb21f1 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -20,7 +20,7 @@ class PathHelper { static List splitPathBytes(List pathBytes, int hashByteWidth) { if (pathBytes.isEmpty) return const []; - final width = hashByteWidth.clamp(1, 8); + final width = hashByteWidth.clamp(1, 4); final hops = []; for (int i = 0; i < pathBytes.length; i += width) { final endIdx = (i + width).clamp(0, pathBytes.length); @@ -32,6 +32,21 @@ class PathHelper { return hops; } + /// Detect the path hash width encoded in a packet's path bytes. + /// + /// MeshCore packets encode a "mode" in the high bits of the path bytes + /// (same rule used by meshcore_py): mode = ((firstByte & 0xC0) >> 6), + /// width = mode + 1 (yielding 1..4). If the packet is empty or detection + /// fails, `fallback` is returned (clamped to 1..4). + static int detectPathHashWidth(List pathBytes, {int fallback = 1}) { + final fb = fallback.clamp(1, 4); + if (pathBytes.isEmpty) return fb; + final first = pathBytes[0] & 0xFF; + final mode = (first & 0xC0) >> 6; + final width = (mode & 0x03) + 1; + return width.clamp(1, 4); + } + /// Resolves path bytes to contact names, supporting multi-byte hash widths. /// Groups path bytes according to [hashByteWidth]: diff --git a/lib/models/channel_message.dart b/lib/models/channel_message.dart index 80c9705b..b29b7d64 100644 --- a/lib/models/channel_message.dart +++ b/lib/models/channel_message.dart @@ -163,12 +163,18 @@ class ChannelMessage { final hasPath = (flags & 0x01) != 0; reader.skipBytes(1); // Skip reserved byte channelIdx = reader.readByte(); - pathLen = reader.readInt8(); - txtType = reader.readByte(); - if (hasPath && pathLen > 0) { - reader.rewind(); // Rewind to read path length again for pathBytes - pathBytes = reader.readBytes(pathLen); + final pathByte = reader.readUInt8(); + // pathByte packs: top 2 bits = hash width mode, low 6 bits = hop count + final packetPathHashWidth = ((pathByte & 0xC0) >> 6) + 1; + final hopCount = pathByte & 0x3F; + pathLen = hopCount; + // If a path is present, read hopCount * width bytes + if (hasPath && hopCount > 0) { + final totalPathBytes = hopCount * packetPathHashWidth; + pathBytes = reader.readBytes(totalPathBytes); } + // After consuming optional path bytes, read the text type byte. + txtType = reader.readByte(); } else { channelIdx = reader.readByte(); pathLen = reader.readInt8(); diff --git a/lib/models/contact.dart b/lib/models/contact.dart index 01d10a9c..a5808ed3 100644 --- a/lib/models/contact.dart +++ b/lib/models/contact.dart @@ -119,7 +119,7 @@ class Contact { String pathFormattedIdList(int hashByteWidth) { final pathBytes = pathBytesForDisplay; if (pathBytes.isEmpty) return ''; - final w = hashByteWidth.clamp(1, 8); + final w = hashByteWidth.clamp(1, 4); final parts = []; for (int i = 0; i < pathBytes.length; i += w) { final end = (i + w) <= pathBytes.length ? (i + w) : pathBytes.length; diff --git a/lib/screens/channel_chat_screen.dart b/lib/screens/channel_chat_screen.dart index fcd50861..64aedb58 100644 --- a/lib/screens/channel_chat_screen.dart +++ b/lib/screens/channel_chat_screen.dart @@ -36,6 +36,7 @@ import '../widgets/translated_message_content.dart'; import '../widgets/unread_divider.dart'; import 'channel_message_path_screen.dart'; import 'map_screen.dart'; +import '../helpers/path_helper.dart'; class ChannelChatScreen extends StatefulWidget { final Channel channel; @@ -1433,8 +1434,12 @@ class _ChannelChatScreenState extends State { } String _formatPathPrefixes(Uint8List pathBytes) { - return pathBytes - .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) + final width = PathHelper.detectPathHashWidth( + pathBytes, + fallback: context.read().pathHashByteWidth, + ); + return PathHelper.splitPathBytes(pathBytes, width) + .map(PathHelper.formatHopHex) .join(','); } } diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index 0ed7dd95..cb6a8d23 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -45,16 +45,16 @@ class ChannelMessagePathScreen extends StatelessWidget { final hasHopDetails = primaryPath.isNotEmpty; // Convert path byte length to hop count based on device width - final width = connector.pathHashByteWidth.clamp(1, 8); + final width = primaryPath.isNotEmpty + ? PathHelper.detectPathHashWidth(primaryPath, fallback: connector.pathHashByteWidth) + : connector.pathHashByteWidth.clamp(1, 4); final observedHopCount = _hopCountFromBytes(primaryPath.length, width); final reportedHopCount = message.pathLength == null ? null : (message.pathLength! < 0 - ? message.pathLength - : _hopCountFromBytes(message.pathLength!, width)); - final effectiveHopCount = observedHopCount > 0 - ? observedHopCount - : reportedHopCount; + ? message.pathLength + : _hopCountFromBytes(message.pathLength!, width)); + final effectiveHopCount = observedHopCount > 0 ? observedHopCount : reportedHopCount; final observedLabel = _formatObservedHops( observedHopCount, @@ -76,11 +76,11 @@ class ChannelMessagePathScreen extends StatelessWidget { title: context.l10n.contacts_repeaterPathTrace, path: primaryPath, flipPathAround: true, - reversePathAround: - !(!channelMessage && !message.isOutgoing), - pathHashByteWidth: context - .read() - .pathHashByteWidth, + reversePathAround: !(!channelMessage && !message.isOutgoing), + pathHashByteWidth: PathHelper.detectPathHashWidth( + primaryPath, + fallback: context.read().pathHashByteWidth, + ), ), ), ), @@ -491,7 +491,7 @@ class _ChannelMessagePathMapScreenState final selectedIndex = _indexForPath(selectedPath, observedPaths); final hops = _buildPathHops(selectedPath, connector, context.l10n); - final width = connector.pathHashByteWidth.clamp(1, 8); + final width = connector.pathHashByteWidth.clamp(1, 4); final points = []; @@ -951,8 +951,7 @@ List<_PathHop> _buildPathHops( AppLocalizations l10n, ) { if (pathBytes.isEmpty) return const []; - - final width = connector.pathHashByteWidth.clamp(1, 8); + final width = PathHelper.detectPathHashWidth(pathBytes, fallback: connector.pathHashByteWidth); final candidatesByHashBytes = >{}; final allContacts = connector.allContacts; @@ -1067,7 +1066,7 @@ String _formatPathPrefixes(Uint8List pathBytes, int hashByteWidth) { int _hopCountFromBytes(int byteCount, int hashByteWidth) { if (byteCount <= 0) return 0; - final width = hashByteWidth.clamp(1, 8); + final width = hashByteWidth.clamp(1, 4); return (byteCount + width - 1) ~/ width; } diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index 903e67b2..f6a0c1c5 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -1508,6 +1508,7 @@ class _ChatScreenState extends State { title: context.l10n.chat_setCustomPath, currentPathLabel: currentPathLabel, onRefresh: connector.isConnected ? connector.getContacts : null, + pathHashByteWidth: connector.pathHashByteWidth, ); appLogger.info( diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 4ae2fd43..ab5cf804 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -10,8 +10,9 @@ import 'package:meshcore_open/widgets/app_bar.dart'; import 'package:provider/provider.dart'; import '../connector/meshcore_connector.dart'; -import '../l10n/l10n.dart'; import '../connector/meshcore_protocol.dart'; +import '../helpers/path_helper.dart'; +import '../l10n/l10n.dart'; import '../models/app_settings.dart'; import '../models/channel.dart'; import '../models/contact.dart'; @@ -268,7 +269,7 @@ class _MapScreenState extends State { ) .join(','); final cacheKey = - '$filteredKeys|$anchorKeys|${pathHistory.version}:${connector.currentSf}:${connector.currentBwHz}:${connector.currentTxPower}:${settings.mapShowGuessedLocations}'; + '$filteredKeys|$anchorKeys|${pathHistory.version}:${connector.pathHashByteWidth}:${connector.currentSf}:${connector.currentBwHz}:${connector.currentTxPower}:${settings.mapShowGuessedLocations}'; if (cacheKey != _guessedLocationsCacheKey) { _guessedLocationsCacheKey = cacheKey; _cachedGuessedLocations = settings.mapShowGuessedLocations @@ -277,6 +278,7 @@ class _MapScreenState extends State { allContactsWithLocation, pathHistory, maxRangeKm, + connector.pathHashByteWidth, ) : []; } @@ -694,22 +696,8 @@ class _MapScreenState extends State { List withLocation, PathHistoryService pathHistory, double? maxRangeKm, + int pathHashByteWidth, ) { - // Index known-location repeaters by their 1-byte hash. - // null value = two repeaters share the same hash byte (ambiguous collision). - final repeaterByHash = {}; - - for (final c in withLocation) { - if (c.type == advTypeRepeater) { - if (repeaterByHash.containsKey(c.publicKey[0])) { - repeaterByHash[c.publicKey[0]] = - null; // collision: can't disambiguate - } else { - repeaterByHash[c.publicKey[0]] = c; - } - } - } - final result = <_GuessedLocation>[]; for (final contact in allContacts) { @@ -732,13 +720,24 @@ class _MapScreenState extends State { .getRecentPaths(contact.publicKeyHex) .map((r) => r.pathBytes), ]; - final lastHopBytes = {}; for (final pathBytes in pathSets) { if (pathBytes.isEmpty) continue; - final lastHop = pathBytes.last; - lastHopBytes.add(lastHop); - final r = repeaterByHash[lastHop]; - if (r != null) anchorSet.add(LatLng(r.latitude!, r.longitude!)); + final hopWidth = PathHelper.detectPathHashWidth( + pathBytes, + fallback: pathHashByteWidth, + ); + final lastHop = pathBytes.sublist(max(0, pathBytes.length - hopWidth)); + if (lastHop.isEmpty) continue; + + for (final repeater in withLocation) { + if (repeater.type != advTypeRepeater) continue; + if (repeater.publicKey.length < lastHop.length) continue; + if (!listEquals(repeater.publicKey.sublist(0, lastHop.length), lastHop)) { + continue; + } + anchorSet.add(LatLng(repeater.latitude!, repeater.longitude!)); + break; + } } // Filter anchors that are geometrically inconsistent with radio range. @@ -2290,10 +2289,15 @@ class _MapScreenState extends State { } void _addToPath(BuildContext context, Contact contact, {LatLng? position}) { + final connector = context.read(); + final hopWidth = min( + connector.pathHashByteWidth.clamp(1, pubKeySize), + contact.publicKey.length, + ); setState(() { - _pathTrace.add( - contact.publicKey[0], - ); // Add first 16 bytes of public key to path trace + _pathTrace.addAll( + contact.publicKey.sublist(0, hopWidth), + ); // Add the hop-width prefix of the public key to the trace _pathTraceContacts.add( contact.copyWith( latitude: position?.latitude ?? contact.latitude, diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index 34690a8b..62d5772e 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -114,8 +114,9 @@ class _PathTraceMapScreenState extends State { Contact? _targetContact; String _formatPathPrefixes(Uint8List pathBytes) { - return PathHelper.splitPathBytes(pathBytes, widget.pathHashByteWidth) - .map(PathHelper.formatHopHex) + final width = PathHelper.detectPathHashWidth(pathBytes, fallback: widget.pathHashByteWidth); + return PathHelper.splitPathBytes(pathBytes, width) + .map(PathHelper.formatHopHex) .join(','); } @@ -214,28 +215,11 @@ class _PathTraceMapScreenState extends State { } final mirroredHops = [...pathHops]; - final isRepeaterOrRoom = widget.targetContact?.type == advTypeRepeater || - widget.targetContact?.type == advTypeRoom; - if (isRepeaterOrRoom) { - final pk = widget.targetContact?.publicKey; - if (pk != null && pk.length >= hopWidth) { - mirroredHops.add(Uint8List.fromList(pk.sublist(0, hopWidth))); - } else { - mirroredHops.add( - Uint8List.fromList( - pk != null && pk.isNotEmpty ? [pk[0]] : const [0], - ), - ); - } - // For repeaters/rooms, include full reversed path - mirroredHops.addAll(pathHops.reversed); - } else { - // For non-repeater/room targets, reverse without duplicating the pivot hop - if (pathHops.length > 1) { - mirroredHops.addAll( - pathHops.sublist(0, pathHops.length - 1).reversed, - ); - } + // Mirror the path without duplicating the pivot hop. + if (pathHops.length > 1) { + mirroredHops.addAll( + pathHops.sublist(0, pathHops.length - 1).reversed, + ); } final traceBytes = []; @@ -343,14 +327,21 @@ class _PathTraceMapScreenState extends State { final buffer = BufferReader(frame); try { buffer.skipBytes(2); // Skip push code and reserved byte - int pathLength = buffer.readUInt8(); - buffer.skipBytes(5); // Skip Flag byte and tag data - buffer.skipBytes(4); // Skip auth code - final pathBytes = buffer.readBytes(pathLength); + // Read the packed path byte: top2 bits = hash width mode, low6 bits = hop count + final pathByte = buffer.readUInt8(); + final packetPathHashWidth = ((pathByte & 0xC0) >> 6) + 1; + final hopCount = pathByte & 0x3F; + // Skip flag byte + tag (4) + auth code (4) + buffer.skipBytes(5); + buffer.skipBytes(4); + final pathBytes = buffer.readBytes(hopCount * packetPathHashWidth); + + final packetWidth = packetPathHashWidth; final pathData = PathHelper.splitPathBytes( pathBytes, - widget.pathHashByteWidth, + packetWidth, ); + List snrData = buffer .readRemainingBytes() .map((snr) => snr.toSigned(8).toDouble() / 4) @@ -368,15 +359,25 @@ class _PathTraceMapScreenState extends State { lastSeen: DateTime.now(), ); if (widget.pathContacts != null) { - final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); - pathContacts = { - for (var c in widget.pathContacts!) - if (c.publicKey.length >= hopWidth) - _hopKey(Uint8List.fromList(c.publicKey.sublist(0, hopWidth))): c, - }; + final orderedContacts = widget.pathContacts!; + if (orderedContacts.length == pathData.length) { + pathContacts = { + for (var i = 0; i < pathData.length; i++) + _hopKey(pathData[i]): orderedContacts[i], + }; + } else { + final hopWidth = packetWidth.clamp(1, pubKeySize); + pathContacts = { + for (var c in orderedContacts) + if (c.publicKey.length >= hopWidth) + _hopKey(Uint8List.fromList(c.publicKey.sublist(0, hopWidth))): c, + }; + } } else { final contacts = connector.allContactsUnfiltered; contacts.where((c) => c.type != advTypeChat).forEach((repeater) { + final hopWidthPreview = pathData.isNotEmpty ? pathData.first.length : packetWidth.clamp(1, pubKeySize); + if (lastContact.latitude != null && lastContact.longitude != null && repeater.hasLocation && @@ -386,12 +387,17 @@ class _PathTraceMapScreenState extends State { LatLng(repeater.latitude!, repeater.longitude!), ) > _maxRepeaterMatchDistanceMeters) { + // skip repeaters that are far away from the last one with known GPS + // (no logging here) return; //skip reapeaters that are far away from the last one with known GPS, to avoid false matches } for (final repeaterData in pathData) { final hopWidth = repeaterData.length; + if (repeater.publicKey.length < hopWidth) continue; + if (listEquals(repeater.publicKey.sublist(0, hopWidth), repeaterData)) { + pathContacts[_hopKey(repeaterData)] = repeater; lastContact = repeater; } @@ -411,7 +417,7 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(_lastHopChunk(c.path, widget.pathHashByteWidth)) == + _hopKey(_lastHopChunk(c.path, packetWidth)) == hopKey, ) .toList(); @@ -458,9 +464,7 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey( - _lastHopChunk(c.path, widget.pathHashByteWidth), - ) == + _hopKey(_lastHopChunk(c.path, packetWidth)) == lastHopKey, ) .toList(); @@ -846,7 +850,11 @@ class _PathTraceMapScreenState extends State { if (pathTraceData.pathData.isEmpty) { return context.l10n.pathTrace_you; } - if (index == 0 || index == pathTraceData.pathData.length - 1) { + if (index < 0 || index > pathTraceData.pathData.length) { + return context.l10n.pathTrace_you; + } + + if (index == 0 || index == pathTraceData.pathData.length) { if (index == 0) { return context.l10n.pathTrace_you; } else { @@ -871,7 +879,11 @@ class _PathTraceMapScreenState extends State { if (pathTraceData.pathData.isEmpty) { return context.l10n.pathTrace_you; } - if (index == 0 || index == pathTraceData.pathData.length - 1) { + if (index < 0 || index > pathTraceData.pathData.length) { + return context.l10n.pathTrace_you; + } + + if (index == 0 || index == pathTraceData.pathData.length) { if (index == 0) { final hop = pathTraceData.pathData.first; final contactName = pathTraceData.pathContacts[_hopKey(hop)]?.name; diff --git a/lib/widgets/path_selection_dialog.dart b/lib/widgets/path_selection_dialog.dart index 5c36279e..949ebbe8 100644 --- a/lib/widgets/path_selection_dialog.dart +++ b/lib/widgets/path_selection_dialog.dart @@ -77,7 +77,7 @@ class _PathSelectionDialogState extends State { } void _updateTextFromContacts() { - final width = widget.pathHashByteWidth.clamp(1, 8); + final width = widget.pathHashByteWidth.clamp(1, 4); final hexCharsPerHop = width * 2; final pathParts = _selectedContacts .map((contact) { @@ -126,7 +126,7 @@ class _PathSelectionDialogState extends State { .toList(); final pathBytesList = []; final invalidPrefixes = []; - final hexCharsPerHop = widget.pathHashByteWidth.clamp(1, 8) * 2; + final hexCharsPerHop = widget.pathHashByteWidth.clamp(1, 4) * 2; for (final id in pathIds) { if (id.length < hexCharsPerHop) { @@ -320,7 +320,7 @@ class _PathSelectionDialogState extends State { style: const TextStyle(fontSize: 14), ), subtitle: Text( - '${contact.typeLabel(l10n)} • ${contact.publicKeyHex.substring(0, widget.pathHashByteWidth.clamp(1, 8) * 2)}', + '${contact.typeLabel(l10n)} • ${contact.publicKeyHex.substring(0, widget.pathHashByteWidth.clamp(1, 4) * 2)}', style: const TextStyle(fontSize: 10), ), trailing: isSelected diff --git a/test/helpers/path_helper_packet_test.dart b/test/helpers/path_helper_packet_test.dart new file mode 100644 index 00000000..a76638c4 --- /dev/null +++ b/test/helpers/path_helper_packet_test.dart @@ -0,0 +1,40 @@ +import 'dart:typed_data'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:meshcore_open/helpers/path_helper.dart'; + +void main() { + test('detectPathHashWidth identifies 1,2,3,4-byte widths from first byte', () { + // mode 0 -> width 1 (00xxxxxx) + expect(PathHelper.detectPathHashWidth([0x12]), equals(1)); + + // mode 1 -> width 2 (01xxxxxx) + expect(PathHelper.detectPathHashWidth([0x40]), equals(2)); + expect(PathHelper.detectPathHashWidth([0x7F]), equals(2)); + + // mode 2 -> width 3 (10xxxxxx) + expect(PathHelper.detectPathHashWidth([0x80]), equals(3)); + + // mode 3 -> width 4 (11xxxxxx) + expect(PathHelper.detectPathHashWidth([0xC0]), equals(4)); + }); + + test('packet-aware split uses detected width vs fallback', () { + // Packet has mode=0 (1-byte hops) but fallback is 2 + final packet = [0x01, 0x02, 0x03]; + final detected = PathHelper.detectPathHashWidth(packet, fallback: 2); + expect(detected, equals(1)); + + final hops = PathHelper.splitPathBytes(packet, detected); + expect(hops, hasLength(3)); + expect(hops.first, equals(Uint8List.fromList([0x01]))); + + // Packet with mode=1 (2-byte hops) + final packet2 = [0x40, 0xAA, 0xBB, 0xCC]; + final detected2 = PathHelper.detectPathHashWidth(packet2, fallback: 1); + expect(detected2, equals(2)); + final hops2 = PathHelper.splitPathBytes(packet2, detected2); + expect(hops2, hasLength(2)); + expect(hops2.first, equals(Uint8List.fromList([0x40, 0xAA]))); + }); +} From d66b16a4e8f2f9687d8cb29383fc1327abcc3ccd Mon Sep 17 00:00:00 2001 From: PacoX Date: Sun, 17 May 2026 15:53:00 +0200 Subject: [PATCH 11/45] PR review modif + packet aware --- Capture d’écran du 2026-05-17 13-48-42.png | Bin 40694 -> 0 bytes Capture d’écran du 2026-05-17 13-48-55.png | Bin 71765 -> 0 bytes Capture d’écran du 2026-05-17 14-04-55.png | Bin 67045 -> 0 bytes Capture d’écran du 2026-05-17 14-12-52.png | Bin 123725 -> 0 bytes Capture d’écran du 2026-05-17 15-00-31.png | Bin 104900 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Capture d’écran du 2026-05-17 13-48-42.png delete mode 100644 Capture d’écran du 2026-05-17 13-48-55.png delete mode 100644 Capture d’écran du 2026-05-17 14-04-55.png delete mode 100644 Capture d’écran du 2026-05-17 14-12-52.png delete mode 100644 Capture d’écran du 2026-05-17 15-00-31.png diff --git a/Capture d’écran du 2026-05-17 13-48-42.png b/Capture d’écran du 2026-05-17 13-48-42.png deleted file mode 100644 index c984676b0b5b82971bbcc9826ab3962aac1edac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40694 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 pGgcCi3-*x?wQbk%yC^$9jFXpr493?zGOkR_Nv( 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
    ~Y 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 jsb10KXG#Kck}T+WA5hV#P`U}OYY1y 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 Pm(RBa9Zsa(tE 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 b2Ph)>ao)o@$u9)A*Pp!fo7W|hMgji=g^ai+ diff --git a/Capture d’écran du 2026-05-17 15-00-31.png b/Capture d’écran du 2026-05-17 15-00-31.png deleted file mode 100644 index 98e6795b4615e5c8cf603a12941c0f70d98b2ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104900 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 qV4 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

    Yw@wZbvaoqf2mpQT=_ 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

      S|%>5>wN1S<1b5&k35_`wA3(L{!Qb8wI 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

    1. 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 IK54h8XxsC|rbLU0oHK3?wXdIvDPCZ@h+ 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 j-zI54!u@ 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 From 23f29f2cdaebdb50d842bd38250dd6db12970ba9 Mon Sep 17 00:00:00 2001 From: PacoX Date: Sun, 17 May 2026 17:44:30 +0200 Subject: [PATCH 12/45] rollback-pr review --- documentation/routing-paths.md | 30 ++----- lib/helpers/path_helper.dart | 15 ---- lib/screens/channel_chat_screen.dart | 9 +-- lib/screens/channel_message_path_screen.dart | 25 +++--- lib/screens/path_trace_map.dart | 82 ++++++++++---------- test/helpers/path_helper_packet_test.dart | 40 ---------- 6 files changed, 60 insertions(+), 141 deletions(-) delete mode 100644 test/helpers/path_helper_packet_test.dart diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index f1480841..1db0eed2 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -18,18 +18,18 @@ The device capability determines the hash width (number of bytes per hop): ### Device Capability Detection -On device connection, the app reads the firmware capability to set `pathHashByteWidth` reported by the device. The device encodes a "mode" value (0..3) which maps to `width = mode + 1` (1..4 bytes per hop). The connector uses this width as the authoritative send width when composing paths for that device. +On device connection, the app reads the firmware capability to set `pathHashByteWidth`: ```dart // Read from device info response (offset 81) final modeRaw = firmwareBytes.length >= 82 - ? (firmwareBytes[81] & 0xFF) - : 0; -final mode = modeRaw.clamp(0, 3); -_pathHashByteWidth = mode + 1; // 1..4 bytes per hop + ? (firmwareBytes[81] & 0xFF) + : 0; +final mode = modeRaw.clamp(0, 2); +_pathHashByteWidth = mode + 1; // 1, 2, or 3 bytes per hop ``` -Note: the app now supports up to 4 bytes per hop when reported by devices. UI validation for user-entered paths still uses the device's configured `pathHashByteWidth` for outbound paths, but inbound packets are interpreted per-packet (see below). +The current implementation intentionally clamps to modes `0..2`, so the supported hop width is `1..3` bytes. Do not document 4-byte hops unless the connector implementation is widened first. ### Path Data Structure @@ -56,24 +56,6 @@ Use this consistently when displaying hop counts in UI. Do not treat `pathLength - **Direct messages**: Extract path from decrypted payload to trace sender route. - **Channel messages**: Decrypt hop-by-hop routing chain from payload; the header carries the encoded byte length for the path blob, not the derived hop count. -### Packet-aware parsing (incoming packets) - -Inbound frames may encode the effective hop width inside the path bytes themselves (top two bits of the first path byte). To avoid misinterpreting a 1-byte packet as a 2-byte path when the node configuration differs, the client detects the packet's width and uses it when splitting and matching hops for that specific packet. - -Use the per-packet detection for display, contact lookups and inferred-position calculations. Continue to use the device's configured `pathHashByteWidth` for composing and validating outbound paths. - -The helper used by the client implements detection equivalent to meshcore_py: - -```dart -static int detectPathHashWidth(List pathBytes, {int fallback = 1}) { - if (pathBytes.isEmpty) return fallback.clamp(1,4); - final first = pathBytes[0]; - final mode = ((first & 0xC0) >> 6) & 0x03; - return (mode + 1).clamp(1,4); -} -``` - -This ensures that display and matching are packet-aware and robust across mixed-width networks. - **Contact storage**: Path length in byte 32, raw path bytes in bytes 33-96, grouped by detected `pathHashByteWidth`. ### UI Hop Count Display diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index c5cb21f1..3109de90 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -32,21 +32,6 @@ class PathHelper { return hops; } - /// Detect the path hash width encoded in a packet's path bytes. - /// - /// MeshCore packets encode a "mode" in the high bits of the path bytes - /// (same rule used by meshcore_py): mode = ((firstByte & 0xC0) >> 6), - /// width = mode + 1 (yielding 1..4). If the packet is empty or detection - /// fails, `fallback` is returned (clamped to 1..4). - static int detectPathHashWidth(List pathBytes, {int fallback = 1}) { - final fb = fallback.clamp(1, 4); - if (pathBytes.isEmpty) return fb; - final first = pathBytes[0] & 0xFF; - final mode = (first & 0xC0) >> 6; - final width = (mode & 0x03) + 1; - return width.clamp(1, 4); - } - /// Resolves path bytes to contact names, supporting multi-byte hash widths. /// Groups path bytes according to [hashByteWidth]: diff --git a/lib/screens/channel_chat_screen.dart b/lib/screens/channel_chat_screen.dart index 64aedb58..fcd50861 100644 --- a/lib/screens/channel_chat_screen.dart +++ b/lib/screens/channel_chat_screen.dart @@ -36,7 +36,6 @@ import '../widgets/translated_message_content.dart'; import '../widgets/unread_divider.dart'; import 'channel_message_path_screen.dart'; import 'map_screen.dart'; -import '../helpers/path_helper.dart'; class ChannelChatScreen extends StatefulWidget { final Channel channel; @@ -1434,12 +1433,8 @@ class _ChannelChatScreenState extends State { } String _formatPathPrefixes(Uint8List pathBytes) { - final width = PathHelper.detectPathHashWidth( - pathBytes, - fallback: context.read().pathHashByteWidth, - ); - return PathHelper.splitPathBytes(pathBytes, width) - .map(PathHelper.formatHopHex) + return pathBytes + .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) .join(','); } } diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index cb6a8d23..328acf31 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -45,16 +45,16 @@ class ChannelMessagePathScreen extends StatelessWidget { final hasHopDetails = primaryPath.isNotEmpty; // Convert path byte length to hop count based on device width - final width = primaryPath.isNotEmpty - ? PathHelper.detectPathHashWidth(primaryPath, fallback: connector.pathHashByteWidth) - : connector.pathHashByteWidth.clamp(1, 4); + final width = connector.pathHashByteWidth.clamp(1, 4); final observedHopCount = _hopCountFromBytes(primaryPath.length, width); final reportedHopCount = message.pathLength == null ? null : (message.pathLength! < 0 - ? message.pathLength - : _hopCountFromBytes(message.pathLength!, width)); - final effectiveHopCount = observedHopCount > 0 ? observedHopCount : reportedHopCount; + ? message.pathLength + : _hopCountFromBytes(message.pathLength!, width)); + final effectiveHopCount = observedHopCount > 0 + ? observedHopCount + : reportedHopCount; final observedLabel = _formatObservedHops( observedHopCount, @@ -76,11 +76,11 @@ class ChannelMessagePathScreen extends StatelessWidget { title: context.l10n.contacts_repeaterPathTrace, path: primaryPath, flipPathAround: true, - reversePathAround: !(!channelMessage && !message.isOutgoing), - pathHashByteWidth: PathHelper.detectPathHashWidth( - primaryPath, - fallback: context.read().pathHashByteWidth, - ), + reversePathAround: + !(!channelMessage && !message.isOutgoing), + pathHashByteWidth: context + .read() + .pathHashByteWidth, ), ), ), @@ -951,7 +951,8 @@ List<_PathHop> _buildPathHops( AppLocalizations l10n, ) { if (pathBytes.isEmpty) return const []; - final width = PathHelper.detectPathHashWidth(pathBytes, fallback: connector.pathHashByteWidth); + + final width = connector.pathHashByteWidth.clamp(1, 4); final candidatesByHashBytes = >{}; final allContacts = connector.allContacts; diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index 62d5772e..f53d1bef 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -114,9 +114,8 @@ class _PathTraceMapScreenState extends State { Contact? _targetContact; String _formatPathPrefixes(Uint8List pathBytes) { - final width = PathHelper.detectPathHashWidth(pathBytes, fallback: widget.pathHashByteWidth); - return PathHelper.splitPathBytes(pathBytes, width) - .map(PathHelper.formatHopHex) + return PathHelper.splitPathBytes(pathBytes, widget.pathHashByteWidth) + .map(PathHelper.formatHopHex) .join(','); } @@ -215,11 +214,28 @@ class _PathTraceMapScreenState extends State { } final mirroredHops = [...pathHops]; - // Mirror the path without duplicating the pivot hop. - if (pathHops.length > 1) { - mirroredHops.addAll( - pathHops.sublist(0, pathHops.length - 1).reversed, - ); + final isRepeaterOrRoom = widget.targetContact?.type == advTypeRepeater || + widget.targetContact?.type == advTypeRoom; + if (isRepeaterOrRoom) { + final pk = widget.targetContact?.publicKey; + if (pk != null && pk.length >= hopWidth) { + mirroredHops.add(Uint8List.fromList(pk.sublist(0, hopWidth))); + } else { + mirroredHops.add( + Uint8List.fromList( + pk != null && pk.isNotEmpty ? [pk[0]] : const [0], + ), + ); + } + // For repeaters/rooms, include full reversed path + mirroredHops.addAll(pathHops.reversed); + } else { + // For non-repeater/room targets, reverse without duplicating the pivot hop + if (pathHops.length > 1) { + mirroredHops.addAll( + pathHops.sublist(0, pathHops.length - 1).reversed, + ); + } } final traceBytes = []; @@ -327,21 +343,14 @@ class _PathTraceMapScreenState extends State { final buffer = BufferReader(frame); try { buffer.skipBytes(2); // Skip push code and reserved byte - // Read the packed path byte: top2 bits = hash width mode, low6 bits = hop count - final pathByte = buffer.readUInt8(); - final packetPathHashWidth = ((pathByte & 0xC0) >> 6) + 1; - final hopCount = pathByte & 0x3F; - // Skip flag byte + tag (4) + auth code (4) - buffer.skipBytes(5); - buffer.skipBytes(4); - final pathBytes = buffer.readBytes(hopCount * packetPathHashWidth); - - final packetWidth = packetPathHashWidth; + int pathLength = buffer.readUInt8(); + buffer.skipBytes(5); // Skip Flag byte and tag data + buffer.skipBytes(4); // Skip auth code + final pathBytes = buffer.readBytes(pathLength); final pathData = PathHelper.splitPathBytes( pathBytes, - packetWidth, + widget.pathHashByteWidth, ); - List snrData = buffer .readRemainingBytes() .map((snr) => snr.toSigned(8).toDouble() / 4) @@ -359,25 +368,15 @@ class _PathTraceMapScreenState extends State { lastSeen: DateTime.now(), ); if (widget.pathContacts != null) { - final orderedContacts = widget.pathContacts!; - if (orderedContacts.length == pathData.length) { - pathContacts = { - for (var i = 0; i < pathData.length; i++) - _hopKey(pathData[i]): orderedContacts[i], - }; - } else { - final hopWidth = packetWidth.clamp(1, pubKeySize); - pathContacts = { - for (var c in orderedContacts) - if (c.publicKey.length >= hopWidth) - _hopKey(Uint8List.fromList(c.publicKey.sublist(0, hopWidth))): c, - }; - } + final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); + pathContacts = { + for (var c in widget.pathContacts!) + if (c.publicKey.length >= hopWidth) + _hopKey(Uint8List.fromList(c.publicKey.sublist(0, hopWidth))): c, + }; } else { final contacts = connector.allContactsUnfiltered; contacts.where((c) => c.type != advTypeChat).forEach((repeater) { - final hopWidthPreview = pathData.isNotEmpty ? pathData.first.length : packetWidth.clamp(1, pubKeySize); - if (lastContact.latitude != null && lastContact.longitude != null && repeater.hasLocation && @@ -387,17 +386,12 @@ class _PathTraceMapScreenState extends State { LatLng(repeater.latitude!, repeater.longitude!), ) > _maxRepeaterMatchDistanceMeters) { - // skip repeaters that are far away from the last one with known GPS - // (no logging here) return; //skip reapeaters that are far away from the last one with known GPS, to avoid false matches } for (final repeaterData in pathData) { final hopWidth = repeaterData.length; - if (repeater.publicKey.length < hopWidth) continue; - if (listEquals(repeater.publicKey.sublist(0, hopWidth), repeaterData)) { - pathContacts[_hopKey(repeaterData)] = repeater; lastContact = repeater; } @@ -417,7 +411,7 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(_lastHopChunk(c.path, packetWidth)) == + _hopKey(_lastHopChunk(c.path, widget.pathHashByteWidth)) == hopKey, ) .toList(); @@ -464,7 +458,9 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(_lastHopChunk(c.path, packetWidth)) == + _hopKey( + _lastHopChunk(c.path, widget.pathHashByteWidth), + ) == lastHopKey, ) .toList(); diff --git a/test/helpers/path_helper_packet_test.dart b/test/helpers/path_helper_packet_test.dart deleted file mode 100644 index a76638c4..00000000 --- a/test/helpers/path_helper_packet_test.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:meshcore_open/helpers/path_helper.dart'; - -void main() { - test('detectPathHashWidth identifies 1,2,3,4-byte widths from first byte', () { - // mode 0 -> width 1 (00xxxxxx) - expect(PathHelper.detectPathHashWidth([0x12]), equals(1)); - - // mode 1 -> width 2 (01xxxxxx) - expect(PathHelper.detectPathHashWidth([0x40]), equals(2)); - expect(PathHelper.detectPathHashWidth([0x7F]), equals(2)); - - // mode 2 -> width 3 (10xxxxxx) - expect(PathHelper.detectPathHashWidth([0x80]), equals(3)); - - // mode 3 -> width 4 (11xxxxxx) - expect(PathHelper.detectPathHashWidth([0xC0]), equals(4)); - }); - - test('packet-aware split uses detected width vs fallback', () { - // Packet has mode=0 (1-byte hops) but fallback is 2 - final packet = [0x01, 0x02, 0x03]; - final detected = PathHelper.detectPathHashWidth(packet, fallback: 2); - expect(detected, equals(1)); - - final hops = PathHelper.splitPathBytes(packet, detected); - expect(hops, hasLength(3)); - expect(hops.first, equals(Uint8List.fromList([0x01]))); - - // Packet with mode=1 (2-byte hops) - final packet2 = [0x40, 0xAA, 0xBB, 0xCC]; - final detected2 = PathHelper.detectPathHashWidth(packet2, fallback: 1); - expect(detected2, equals(2)); - final hops2 = PathHelper.splitPathBytes(packet2, detected2); - expect(hops2, hasLength(2)); - expect(hops2.first, equals(Uint8List.fromList([0x40, 0xAA]))); - }); -} From dc82414447c4bac9c66086c243ecf9e30ec66042 Mon Sep 17 00:00:00 2001 From: PacoX Date: Sun, 17 May 2026 19:37:43 +0200 Subject: [PATCH 13/45] rollback-pr review --- lib/screens/map_screen.dart | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index ab5cf804..2a5a3db7 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -11,7 +11,6 @@ import 'package:provider/provider.dart'; import '../connector/meshcore_connector.dart'; import '../connector/meshcore_protocol.dart'; -import '../helpers/path_helper.dart'; import '../l10n/l10n.dart'; import '../models/app_settings.dart'; import '../models/channel.dart'; @@ -722,10 +721,7 @@ class _MapScreenState extends State { ]; for (final pathBytes in pathSets) { if (pathBytes.isEmpty) continue; - final hopWidth = PathHelper.detectPathHashWidth( - pathBytes, - fallback: pathHashByteWidth, - ); + final hopWidth = pathHashByteWidth.clamp(1, 4); final lastHop = pathBytes.sublist(max(0, pathBytes.length - hopWidth)); if (lastHop.isEmpty) continue; From 119590434a5e24316cc634c90b4bf396294f7cff Mon Sep 17 00:00:00 2001 From: PacoX Date: Sun, 17 May 2026 20:14:16 +0200 Subject: [PATCH 14/45] path aware --- lib/connector/meshcore_connector.dart | 11 ++++++++--- lib/models/channel_message.dart | 8 +++++++- lib/storage/channel_message_store.dart | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 3da4450d..d341feeb 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -4274,6 +4274,7 @@ class MeshCoreConnector extends ChangeNotifier { String senderName, DateTime timestamp, { Uint8List? pathBytes, + int? pathHashWidth, bool notify = false, }) { final normalized = senderName.trim().toLowerCase(); @@ -4297,7 +4298,7 @@ class MeshCoreConnector extends ChangeNotifier { for (var i = 0; i < _contacts.length; i++) { final contact = _contacts[i]; if (contact.type != advTypeChat) continue; - if (_pathMatchesContact(pathBytes, contact.publicKey)) { + if (_pathMatchesContact(pathBytes, contact.publicKey, pathHashWidth: pathHashWidth)) { matches.add(i); } } @@ -4314,8 +4315,8 @@ class MeshCoreConnector extends ChangeNotifier { } } - bool _pathMatchesContact(Uint8List pathBytes, Uint8List publicKey) { - final w = _pathHashByteWidth; + bool _pathMatchesContact(Uint8List pathBytes, Uint8List publicKey, {int? pathHashWidth}) { + final w = pathHashWidth ?? _pathHashByteWidth; if (pathBytes.isEmpty || publicKey.length < w) return false; for (int i = 0; i + w <= pathBytes.length; i += w) { final prefix = pathBytes.sublist(i, i + w); @@ -4731,6 +4732,7 @@ class MeshCoreConnector extends ChangeNotifier { message.senderName, message.timestamp, pathBytes: message.pathBytes, + pathHashWidth: message.pathHashWidth, ); final isNew = _addChannelMessage(message.channelIndex!, message); if (isNew && !message.isOutgoing) { @@ -4806,6 +4808,7 @@ class MeshCoreConnector extends ChangeNotifier { isOutgoing: false, status: ChannelMessageStatus.sent, pathLength: packet.isFlood ? packet.hopCount : 0, + pathHashWidth: packet.pathHashWidth, pathBytes: packet.pathBytes, channelIndex: channel.index, packetHash: pktHash, @@ -4815,6 +4818,7 @@ class MeshCoreConnector extends ChangeNotifier { parsed.senderName, message.timestamp, pathBytes: message.pathBytes, + pathHashWidth: message.pathHashWidth, ); final isNew = _addChannelMessage(channel.index, message); if (isNew && !message.isOutgoing) { @@ -6358,6 +6362,7 @@ class _RawPacket { routeType == _routeFlood || routeType == _routeTransportFlood; int get hopCount => pathLenRaw & 63; + int get pathHashWidth => ((pathLenRaw >> 6) & 0x03) + 1; } class _ParsedText { diff --git a/lib/models/channel_message.dart b/lib/models/channel_message.dart index b29b7d64..0113c807 100644 --- a/lib/models/channel_message.dart +++ b/lib/models/channel_message.dart @@ -41,6 +41,7 @@ class ChannelMessage { final List repeats; final int repeatCount; final int? pathLength; + final int? pathHashWidth; final Uint8List pathBytes; final List pathVariants; final int? channelIndex; @@ -66,6 +67,7 @@ class ChannelMessage { this.repeats = const [], this.repeatCount = 0, this.pathLength, + this.pathHashWidth, Uint8List? pathBytes, List? pathVariants, this.channelIndex, @@ -93,6 +95,7 @@ class ChannelMessage { List? repeats, int? repeatCount, int? pathLength, + int? pathHashWidth, Uint8List? pathBytes, List? pathVariants, String? packetHash, @@ -129,6 +132,7 @@ class ChannelMessage { repeats: repeats ?? this.repeats, repeatCount: repeatCount ?? this.repeatCount, pathLength: pathLength ?? this.pathLength, + pathHashWidth: pathHashWidth ?? this.pathHashWidth, pathBytes: pathBytes ?? this.pathBytes, pathVariants: pathVariants ?? this.pathVariants, channelIndex: channelIndex, @@ -155,6 +159,7 @@ class ChannelMessage { int pathLen; int txtType; + int? packetPathHashWidth; Uint8List pathBytes = Uint8List(0); int channelIdx; if (code == respCodeChannelMsgRecvV3) { @@ -165,7 +170,7 @@ class ChannelMessage { channelIdx = reader.readByte(); final pathByte = reader.readUInt8(); // pathByte packs: top 2 bits = hash width mode, low 6 bits = hop count - final packetPathHashWidth = ((pathByte & 0xC0) >> 6) + 1; + packetPathHashWidth = ((pathByte & 0xC0) >> 6) + 1; final hopCount = pathByte & 0x3F; pathLen = hopCount; // If a path is present, read hopCount * width bytes @@ -215,6 +220,7 @@ class ChannelMessage { isOutgoing: false, status: ChannelMessageStatus.sent, pathLength: pathLen, + pathHashWidth: packetPathHashWidth, pathBytes: pathBytes, channelIndex: channelIdx, ); diff --git a/lib/storage/channel_message_store.dart b/lib/storage/channel_message_store.dart index 5a0fbd8f..59c65ebc 100644 --- a/lib/storage/channel_message_store.dart +++ b/lib/storage/channel_message_store.dart @@ -110,6 +110,7 @@ class ChannelMessageStore { 'channelIndex': msg.channelIndex, 'repeatCount': msg.repeatCount, 'pathLength': msg.pathLength, + 'pathHashWidth': msg.pathHashWidth, 'pathBytes': base64Encode(msg.pathBytes), 'pathVariants': msg.pathVariants.map(base64Encode).toList(), 'repeats': msg.repeats.map(_repeatToJson).toList(), @@ -144,6 +145,7 @@ class ChannelMessageStore { status: ChannelMessageStatus.values[json['status'] as int], repeatCount: (json['repeatCount'] as int?) ?? 0, pathLength: json['pathLength'] as int?, + pathHashWidth: json['pathHashWidth'] as int?, pathBytes: json['pathBytes'] != null ? Uint8List.fromList(base64Decode(json['pathBytes'] as String)) : Uint8List(0), From cf27c59c845dc23e80fe27cb2ef08d840685e77c Mon Sep 17 00:00:00 2001 From: PacoX Date: Mon, 18 May 2026 08:57:13 +0200 Subject: [PATCH 15/45] path aware fix --- PR_MULTIBYTE_PATH.md | 130 +++++++++++++++++++ lib/screens/channel_message_path_screen.dart | 42 +++--- lib/screens/map_screen.dart | 9 +- 3 files changed, 159 insertions(+), 22 deletions(-) create mode 100644 PR_MULTIBYTE_PATH.md diff --git a/PR_MULTIBYTE_PATH.md b/PR_MULTIBYTE_PATH.md new file mode 100644 index 00000000..423ca7ce --- /dev/null +++ b/PR_MULTIBYTE_PATH.md @@ -0,0 +1,130 @@ +# Add Support for Multi-Byte Routing Paths + +## Summary + +Adds support for variable-length multi-byte routing paths in MeshCore Open, enabling the app to scale from small meshes (256 unique nodes, 1-byte hashes) to very large networks (65K+ nodes with 2-byte hashes, 16M+ with 3-byte hashes). + +The implementation detects device capability via byte 81 in `RESP_CODE_SELF_INFO` (firmware v1.10+). This approach is similar to how meshcore-py handles multi-byte paths, though meshcore-py reads the capability from `DEVICE_INFO` instead. + +## Behavior Changes + +- **Device capability detection**: App now reads byte 81 from `RESP_CODE_SELF_INFO` to detect supported path hash width (1, 2, 3, or 4 bytes) +- **Path resolution**: Contact names now resolved correctly for multi-byte paths via `PathHelper.resolvePathNames(hashByteWidth)` +- **Path entry UI**: Chat path dialog and custom path entry now support comma-separated hex prefixes matching device capability (e.g., `A1B2,C1C2` for 2-byte mode) +- **Backward compatible**: Defaults to 1-byte mode (v1.13 and earlier firmware) when capability byte unavailable + +## BLE Protocol Changes (Explicit) + +**Path Encoding** (firmware byte 81, device capability): +- Single byte packs hop count (bits 5-0) + hash mode (bits 7-6) +- Hash modes: 0=1-byte, 1=2-byte, 2=3-byte, 3=4-byte +- Supported by firmware v1.10+ (v1.13 and earlier hardcoded to mode 0) +- No wire format changes; purely capability detection + +**Frame Parsing** (unchanged): +- `RESP_CODE_CONTACT` byte 32 still contains path length (hop_count | mode << 6) +- Bytes 33-96 contain path data (interpretation varies by hash width) +- No impact on existing 1-byte deployments + +## Changes + +### Protocol & Encoding +- **Path encoding**: Single byte packs both hop count (bits 5-0) and hash mode (bits 7-6) +- **Hash modes**: 0 (1-byte), 1 (2-byte), 2 (3-byte), 3 (4-byte) +- **Total path bytes** = hopCount × hashByteWidth +- **Firmware detection**: Device reports capability via byte 81 in `RESP_CODE_SELF_INFO` (v1.10+) + +### Code Changes + +#### 1. **Connector (`meshcore_connector.dart`)** +- Added `_pathHashByteWidth` field, initialized to 1 (default mode) +- Added `pathHashByteWidth` getter for UI and frame builders +- Device capability detection on `RESP_CODE_SELF_INFO`: + ```dart + if (frame.length >= 82) { + final mode = (frame[81] & 0xFF).clamp(0, 2); + _pathHashByteWidth = mode + 1; + } else { + _pathHashByteWidth = 1; // Fallback for v1.13 and earlier firmware + } + ``` + +#### 2. **Path Helper (`path_helper.dart`)** +- Updated `resolvePathNames()` to accept `hashByteWidth` parameter +- Groups path bytes according to width: `for (int i = 0; i < pathBytes.length; i += width)` +- Matches contact public key prefixes using `listEquals()` for multi-byte comparison +- Returns formatted path string with node names or hex fallback + +#### 3. **Path Selection Dialog (`path_selection_dialog.dart`)** +- Removed unused variables that triggered analyzer warnings +- Dialog now supports multibyte path entry via `pathHashByteWidth` parameter +- UI hints user about expected format based on device capability + +#### 4. **UI Updates** +- Chat screen now displays: "Custom path entry follows the device's current hash width" +- Path selection dialog accepts comma-separated hex prefixes (e.g., `A1B2,C1C2` for 2-byte mode) +- Backward compatible: existing 1-byte paths work unchanged + +### Testing +- Added comprehensive test suite in `path_helper_test.dart`: + - 1-byte mode with repeater/room node name resolution + - 2-byte mode with multi-byte prefix matching + - Fallback hex display when contacts not found + - All tests passing (229 total, 0 failures) + +### Documentation +- New dedicated page: `documentation/routing-paths.md` + - Path encoding format and byte calculation + - Device capability detection flow + - Path usage in different message types + - Contact path storage and parsing examples +- Updated `documentation/README.md` to link routing paths documentation +- Updated `documentation/chat-and-messaging.md` with UI path entry notes +- Updated `docs/BLE_PROTOCOL.md` with reference pointer + +### Quality +- `flutter analyze`: ✅ No issues +- `flutter test`: ✅ 229 tests passing +- Backward compatible: ✅ Defaults to 1-byte mode (v1.13 support) +- No breaking changes to existing APIs + +## Screenshots & UI Testing + +### Path Selection Dialog (Multi-Byte Mode) +- **Before**: Only accepts single hex bytes (e.g., `A1,B2,C3`) +- **After**: Now accepts hex prefixes matching device capability (e.g., `A1B2,C1C2` for 2-byte; `A1B2C1,D1D2D3` for 3-byte) +- **Behavior**: Dialog automatically adjusts validation based on `pathHashByteWidth` from connected device +- **Fallback**: Invalid entries show snackbar with error message (unchanged) + +### Chat Screen Path Display +- **Before**: "Custom path" label +- **After**: Includes hint "Custom path entry follows the device's current hash width" +- **Visual**: No appearance changes; purely informational text + +### Path History / Path Management +- Shows resolved contact names for all path widths +- Hex fallback (e.g., "A1B2 → C1C2") when contacts not in list +- Works seamlessly across 1-byte and multi-byte networks + +## Linked Issues + + +- Relates to: Multi-byte path support in MeshCore firmware v1.10+ +- Supersedes: Any previous path scaling limitations +- Reference: meshcore-py handles multi-byte paths via same firmware capability + +## Related PRs & References + +- **Reference implementation**: [meshcore-py](https://github.com/nonik0/meshcore-py) also handles multi-byte paths using same firmware capability +- **Firmware support**: MeshCore v1.10+ reports path hash mode in byte 81 of `RESP_CODE_SELF_INFO` (v1.13 and earlier hardcoded to 1-byte) +- **Protocol reference**: `docs/BLE_PROTOCOL.md` and `documentation/routing-paths.md` +- **MeshCore companion radio**: Implements path mode selection via `set path.hash.mode` CLI command + +## Migration & Deployment Notes + +- **No action required for users**: App automatically detects device capability +- **Existing 1-byte deployments**: Continue to work unchanged +- **New multi-byte devices**: Automatically detected and supported +- **Mixed networks**: 1-byte and multi-byte nodes coexist seamlessly +- **Firmware v1.13 and earlier**: Fallback to 1-byte mode (no change to behavior) +- **Firmware v1.10+**: Multi-byte paths enabled automatically on first connection diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index 328acf31..df20f2b7 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -41,20 +41,23 @@ class ChannelMessagePathScreen extends StatelessWidget { final primaryPath = !channelMessage && !message.isOutgoing ? Uint8List.fromList(primaryPathTmp.reversed.toList()) : primaryPathTmp; - final hops = _buildPathHops(primaryPath, connector, l10n); + final hashByteWidth = (message.pathHashWidth ?? connector.pathHashByteWidth) + .clamp(1, 4) + .toInt(); + final hops = _buildPathHops(primaryPath, connector, l10n, hashByteWidth); final hasHopDetails = primaryPath.isNotEmpty; - // Convert path byte length to hop count based on device width - final width = connector.pathHashByteWidth.clamp(1, 4); - final observedHopCount = _hopCountFromBytes(primaryPath.length, width); + // Convert path byte length to hop count using the packet width. + // Legacy messages fall back to the current connector width. + final observedHopCount = _hopCountFromBytes(primaryPath.length, hashByteWidth); final reportedHopCount = message.pathLength == null - ? null - : (message.pathLength! < 0 - ? message.pathLength - : _hopCountFromBytes(message.pathLength!, width)); + ? null + : (message.pathLength! < 0 + ? message.pathLength + : _hopCountFromBytes(message.pathLength!, hashByteWidth)); final effectiveHopCount = observedHopCount > 0 - ? observedHopCount - : reportedHopCount; + ? observedHopCount + : reportedHopCount; final observedLabel = _formatObservedHops( observedHopCount, @@ -78,9 +81,7 @@ class ChannelMessagePathScreen extends StatelessWidget { flipPathAround: true, reversePathAround: !(!channelMessage && !message.isOutgoing), - pathHashByteWidth: context - .read() - .pathHashByteWidth, + pathHashByteWidth: hashByteWidth, ), ), ), @@ -113,7 +114,7 @@ class ChannelMessagePathScreen extends StatelessWidget { style: Theme.of(context).textTheme.titleSmall, ), const SizedBox(height: 8), - _buildPathVariants(context, extraPaths, width), + _buildPathVariants(context, extraPaths, hashByteWidth), const SizedBox(height: 16), ], Text( @@ -227,7 +228,7 @@ class ChannelMessagePathScreen extends StatelessWidget { subtitle: Text( hop.hasLocation ? '${hop.position!.latitude.toStringAsFixed(5)}, ' - '${hop.position!.longitude.toStringAsFixed(5)}' + '${hop.position!.longitude.toStringAsFixed(5)}' : l10n.channelPath_noLocationData, ), ), @@ -490,8 +491,10 @@ class _ChannelMessagePathMapScreenState : selectedPathTmp; final selectedIndex = _indexForPath(selectedPath, observedPaths); - final hops = _buildPathHops(selectedPath, connector, context.l10n); - final width = connector.pathHashByteWidth.clamp(1, 4); + final width = (widget.message.pathHashWidth ?? connector.pathHashByteWidth) + .clamp(1, 4) + .toInt(); + final hops = _buildPathHops(selectedPath, connector, context.l10n, width); final points = []; @@ -647,7 +650,7 @@ class _ChannelMessagePathMapScreenState final l10n = context.l10n; final width = context.read().pathHashByteWidth.clamp( 1, - 8, + 4, ); final selectedPath = paths[selectedIndex]; final label = selectedPath.isPrimary @@ -949,10 +952,11 @@ List<_PathHop> _buildPathHops( Uint8List pathBytes, MeshCoreConnector connector, AppLocalizations l10n, + int hashByteWidth, ) { if (pathBytes.isEmpty) return const []; - final width = connector.pathHashByteWidth.clamp(1, 4); + final width = hashByteWidth.clamp(1, 4); final candidatesByHashBytes = >{}; final allContacts = connector.allContacts; diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 2a5a3db7..f9581f91 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; +import 'package:meshcore_open/helpers/path_helper.dart'; import 'package:meshcore_open/screens/path_trace_map.dart'; import 'package:meshcore_open/widgets/app_bar.dart'; import 'package:provider/provider.dart'; @@ -264,7 +265,7 @@ class _MapScreenState extends State { final anchorKeys = allContactsWithLocation .map( (c) => - '${c.publicKeyHex}:${c.latitude}:${c.longitude}:${c.path.isNotEmpty ? c.path.last : ""}', + '${c.publicKeyHex}:${c.latitude}:${c.longitude}:${PathHelper.formatHopHex(c.path.isNotEmpty ? c.path.sublist(max(0, c.path.length - connector.pathHashByteWidth.clamp(1, 4))) : const [])}', ) .join(','); final cacheKey = @@ -711,8 +712,7 @@ class _MapScreenState extends State { // Collect the contact-side (last-hop) repeater from every known path. // path = [device-side hop, ..., contact-side hop] - // Only path.last is actually within radio range of the contact — using - // earlier bytes would anchor against our own side of the network. + // Only the last hop chunk is actually within radio range of the contact. final pathSets = >[ contact.path.toList(), ...pathHistory @@ -2398,6 +2398,9 @@ class _MapScreenState extends State { title: l10n.contacts_pathTrace, path: Uint8List.fromList(_pathTrace), flipPathAround: true, + pathHashByteWidth: context + .read() + .pathHashByteWidth, ), ), ); From 091c7545844ec31df9a74ac128b2ec04c221c526 Mon Sep 17 00:00:00 2001 From: PacoX Date: Mon, 18 May 2026 09:00:30 +0200 Subject: [PATCH 16/45] clean --- PR_MULTIBYTE_PATH.md | 130 ------------------------------------------- 1 file changed, 130 deletions(-) delete mode 100644 PR_MULTIBYTE_PATH.md diff --git a/PR_MULTIBYTE_PATH.md b/PR_MULTIBYTE_PATH.md deleted file mode 100644 index 423ca7ce..00000000 --- a/PR_MULTIBYTE_PATH.md +++ /dev/null @@ -1,130 +0,0 @@ -# Add Support for Multi-Byte Routing Paths - -## Summary - -Adds support for variable-length multi-byte routing paths in MeshCore Open, enabling the app to scale from small meshes (256 unique nodes, 1-byte hashes) to very large networks (65K+ nodes with 2-byte hashes, 16M+ with 3-byte hashes). - -The implementation detects device capability via byte 81 in `RESP_CODE_SELF_INFO` (firmware v1.10+). This approach is similar to how meshcore-py handles multi-byte paths, though meshcore-py reads the capability from `DEVICE_INFO` instead. - -## Behavior Changes - -- **Device capability detection**: App now reads byte 81 from `RESP_CODE_SELF_INFO` to detect supported path hash width (1, 2, 3, or 4 bytes) -- **Path resolution**: Contact names now resolved correctly for multi-byte paths via `PathHelper.resolvePathNames(hashByteWidth)` -- **Path entry UI**: Chat path dialog and custom path entry now support comma-separated hex prefixes matching device capability (e.g., `A1B2,C1C2` for 2-byte mode) -- **Backward compatible**: Defaults to 1-byte mode (v1.13 and earlier firmware) when capability byte unavailable - -## BLE Protocol Changes (Explicit) - -**Path Encoding** (firmware byte 81, device capability): -- Single byte packs hop count (bits 5-0) + hash mode (bits 7-6) -- Hash modes: 0=1-byte, 1=2-byte, 2=3-byte, 3=4-byte -- Supported by firmware v1.10+ (v1.13 and earlier hardcoded to mode 0) -- No wire format changes; purely capability detection - -**Frame Parsing** (unchanged): -- `RESP_CODE_CONTACT` byte 32 still contains path length (hop_count | mode << 6) -- Bytes 33-96 contain path data (interpretation varies by hash width) -- No impact on existing 1-byte deployments - -## Changes - -### Protocol & Encoding -- **Path encoding**: Single byte packs both hop count (bits 5-0) and hash mode (bits 7-6) -- **Hash modes**: 0 (1-byte), 1 (2-byte), 2 (3-byte), 3 (4-byte) -- **Total path bytes** = hopCount × hashByteWidth -- **Firmware detection**: Device reports capability via byte 81 in `RESP_CODE_SELF_INFO` (v1.10+) - -### Code Changes - -#### 1. **Connector (`meshcore_connector.dart`)** -- Added `_pathHashByteWidth` field, initialized to 1 (default mode) -- Added `pathHashByteWidth` getter for UI and frame builders -- Device capability detection on `RESP_CODE_SELF_INFO`: - ```dart - if (frame.length >= 82) { - final mode = (frame[81] & 0xFF).clamp(0, 2); - _pathHashByteWidth = mode + 1; - } else { - _pathHashByteWidth = 1; // Fallback for v1.13 and earlier firmware - } - ``` - -#### 2. **Path Helper (`path_helper.dart`)** -- Updated `resolvePathNames()` to accept `hashByteWidth` parameter -- Groups path bytes according to width: `for (int i = 0; i < pathBytes.length; i += width)` -- Matches contact public key prefixes using `listEquals()` for multi-byte comparison -- Returns formatted path string with node names or hex fallback - -#### 3. **Path Selection Dialog (`path_selection_dialog.dart`)** -- Removed unused variables that triggered analyzer warnings -- Dialog now supports multibyte path entry via `pathHashByteWidth` parameter -- UI hints user about expected format based on device capability - -#### 4. **UI Updates** -- Chat screen now displays: "Custom path entry follows the device's current hash width" -- Path selection dialog accepts comma-separated hex prefixes (e.g., `A1B2,C1C2` for 2-byte mode) -- Backward compatible: existing 1-byte paths work unchanged - -### Testing -- Added comprehensive test suite in `path_helper_test.dart`: - - 1-byte mode with repeater/room node name resolution - - 2-byte mode with multi-byte prefix matching - - Fallback hex display when contacts not found - - All tests passing (229 total, 0 failures) - -### Documentation -- New dedicated page: `documentation/routing-paths.md` - - Path encoding format and byte calculation - - Device capability detection flow - - Path usage in different message types - - Contact path storage and parsing examples -- Updated `documentation/README.md` to link routing paths documentation -- Updated `documentation/chat-and-messaging.md` with UI path entry notes -- Updated `docs/BLE_PROTOCOL.md` with reference pointer - -### Quality -- `flutter analyze`: ✅ No issues -- `flutter test`: ✅ 229 tests passing -- Backward compatible: ✅ Defaults to 1-byte mode (v1.13 support) -- No breaking changes to existing APIs - -## Screenshots & UI Testing - -### Path Selection Dialog (Multi-Byte Mode) -- **Before**: Only accepts single hex bytes (e.g., `A1,B2,C3`) -- **After**: Now accepts hex prefixes matching device capability (e.g., `A1B2,C1C2` for 2-byte; `A1B2C1,D1D2D3` for 3-byte) -- **Behavior**: Dialog automatically adjusts validation based on `pathHashByteWidth` from connected device -- **Fallback**: Invalid entries show snackbar with error message (unchanged) - -### Chat Screen Path Display -- **Before**: "Custom path" label -- **After**: Includes hint "Custom path entry follows the device's current hash width" -- **Visual**: No appearance changes; purely informational text - -### Path History / Path Management -- Shows resolved contact names for all path widths -- Hex fallback (e.g., "A1B2 → C1C2") when contacts not in list -- Works seamlessly across 1-byte and multi-byte networks - -## Linked Issues - - -- Relates to: Multi-byte path support in MeshCore firmware v1.10+ -- Supersedes: Any previous path scaling limitations -- Reference: meshcore-py handles multi-byte paths via same firmware capability - -## Related PRs & References - -- **Reference implementation**: [meshcore-py](https://github.com/nonik0/meshcore-py) also handles multi-byte paths using same firmware capability -- **Firmware support**: MeshCore v1.10+ reports path hash mode in byte 81 of `RESP_CODE_SELF_INFO` (v1.13 and earlier hardcoded to 1-byte) -- **Protocol reference**: `docs/BLE_PROTOCOL.md` and `documentation/routing-paths.md` -- **MeshCore companion radio**: Implements path mode selection via `set path.hash.mode` CLI command - -## Migration & Deployment Notes - -- **No action required for users**: App automatically detects device capability -- **Existing 1-byte deployments**: Continue to work unchanged -- **New multi-byte devices**: Automatically detected and supported -- **Mixed networks**: 1-byte and multi-byte nodes coexist seamlessly -- **Firmware v1.13 and earlier**: Fallback to 1-byte mode (no change to behavior) -- **Firmware v1.10+**: Multi-byte paths enabled automatically on first connection From 28a5913ba32f61a93a6c29790435a3c40ff794f6 Mon Sep 17 00:00:00 2001 From: ericz Date: Mon, 18 May 2026 19:00:07 +0200 Subject: [PATCH 17/45] multibyte for snr_indicator and map_filtering. --- lib/connector/meshcore_connector.dart | 54 ++++++++++++++++++++----- lib/helpers/path_helper.dart | 28 ++++++------- lib/screens/chat_screen.dart | 18 ++++++--- lib/screens/contacts_screen.dart | 14 ++++++- lib/screens/map_screen.dart | 17 +++++++- lib/widgets/path_management_dialog.dart | 18 ++++++--- lib/widgets/snr_indicator.dart | 25 +++++++----- 7 files changed, 121 insertions(+), 53 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index d341feeb..f2d8040c 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -49,15 +49,33 @@ import 'meshcore_protocol.dart'; class DirectRepeater { static const int maxAgeMinutes = 30; // Max age for direct repeater info - final int pubkeyFirstByte; + final List pubkeyPrefix; double snr; DateTime lastUpdated; DirectRepeater({ - required this.pubkeyFirstByte, + required List pubkeyPrefix, required this.snr, DateTime? lastUpdated, - }) : lastUpdated = lastUpdated ?? DateTime.now(); + }) : pubkeyPrefix = List.unmodifiable(pubkeyPrefix), + lastUpdated = lastUpdated ?? DateTime.now(); + + String get pubkeyPrefixHex => pubkeyPrefix + .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) + .join(); + + bool matchesPrefix(List prefix) { + return pubkeyPrefix.length == prefix.length && + listEquals(pubkeyPrefix, prefix); + } + + bool matchesPathStart(List pathBytes, int hashByteWidth) { + final width = hashByteWidth.clamp(1, 4).toInt(); + if (pathBytes.length < width || pubkeyPrefix.length != width) { + return false; + } + return listEquals(pubkeyPrefix, pathBytes.sublist(0, width)); + } void update(double newSNR) { snr = newSNR; @@ -3853,12 +3871,16 @@ class MeshCoreConnector extends ChangeNotifier { _clientRepeat = frame[80] != 0; } // Path hash mode v10+ (byte 81): width = mode + 1 byte(s) per hop + final previousPathHashByteWidth = _pathHashByteWidth; if (frame.length >= 82) { final mode = (frame[81] & 0xFF).clamp(0, 3); _pathHashByteWidth = mode + 1; } else { _pathHashByteWidth = 1; } + if (_pathHashByteWidth != previousPathHashByteWidth) { + _directRepeaters.clear(); + } // Firmware reports MAX_CONTACTS / 2 for v3+ device info. final reportedContacts = frame[2]; @@ -4298,7 +4320,11 @@ class MeshCoreConnector extends ChangeNotifier { for (var i = 0; i < _contacts.length; i++) { final contact = _contacts[i]; if (contact.type != advTypeChat) continue; - if (_pathMatchesContact(pathBytes, contact.publicKey, pathHashWidth: pathHashWidth)) { + if (_pathMatchesContact( + pathBytes, + contact.publicKey, + pathHashWidth: pathHashWidth, + )) { matches.add(i); } } @@ -4315,7 +4341,11 @@ class MeshCoreConnector extends ChangeNotifier { } } - bool _pathMatchesContact(Uint8List pathBytes, Uint8List publicKey, {int? pathHashWidth}) { + bool _pathMatchesContact( + Uint8List pathBytes, + Uint8List publicKey, { + int? pathHashWidth, + }) { final w = pathHashWidth ?? _pathHashByteWidth; if (pathBytes.isEmpty || publicKey.length < w) return false; for (int i = 0; i + w <= pathBytes.length; i += w) { @@ -6170,9 +6200,13 @@ class MeshCoreConnector extends ChangeNotifier { } void _updateDirectRepeater(Contact contact, double snr, Uint8List path) { - final pubkeyFirstByte = path.isNotEmpty - ? path.last - : contact.publicKey.first; + final hashWidth = _pathHashByteWidth.clamp(1, 4).toInt(); + final pubkeyPrefix = path.isNotEmpty + ? path.sublist(math.max(0, path.length - hashWidth)) + : contact.publicKey.sublist( + 0, + math.min(hashWidth, contact.publicKey.length), + ); _directRepeaters.removeWhere((r) => r.isStale()); @@ -6184,7 +6218,7 @@ class MeshCoreConnector extends ChangeNotifier { } final isTracked = _directRepeaters.where( - (r) => r.pubkeyFirstByte == pubkeyFirstByte, + (r) => r.matchesPrefix(pubkeyPrefix), ); final sortedRepeaters = List.from(_directRepeaters) @@ -6204,7 +6238,7 @@ class MeshCoreConnector extends ChangeNotifier { repeater.update(snr); } else if (_directRepeaters.length < 5) { _directRepeaters.add( - DirectRepeater(pubkeyFirstByte: pubkeyFirstByte, snr: snr), + DirectRepeater(pubkeyPrefix: pubkeyPrefix, snr: snr), ); } notifyListeners(); diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index 3109de90..1971060c 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -1,5 +1,3 @@ -import 'dart:typed_data'; - import 'package:flutter/foundation.dart'; import '../models/contact.dart'; import '../connector/meshcore_protocol.dart'; @@ -17,7 +15,10 @@ class PathHelper { .join(); } - static List splitPathBytes(List pathBytes, int hashByteWidth) { + static List splitPathBytes( + List pathBytes, + int hashByteWidth, + ) { if (pathBytes.isEmpty) return const []; final width = hashByteWidth.clamp(1, 4); @@ -51,18 +52,13 @@ class PathHelper { final hex = formatHopHex(hopBytes); // Find matching contacts by comparing public key prefix - final matches = allContacts - .where((c) { - if (c.publicKey.length < hopBytes.length) return false; - if (c.type != advTypeRepeater && c.type != advTypeRoom) return false; - // Compare bytes using listEquals for multi-byte support - return listEquals( - c.publicKey.sublist(0, hopBytes.length), - hopBytes, - ); - }) - .toList(); - + final matches = allContacts.where((c) { + if (c.publicKey.length < hopBytes.length) return false; + if (c.type != advTypeRepeater && c.type != advTypeRoom) return false; + // Compare bytes using listEquals for multi-byte support + return listEquals(c.publicKey.sublist(0, hopBytes.length), hopBytes); + }).toList(); + if (matches.isEmpty) { parts.add(hex); } else if (matches.length == 1) { @@ -71,7 +67,7 @@ class PathHelper { parts.add(matches.map((c) => c.name).join(' | ')); } } - + return parts.join(' \u2192 '); } } diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index f6a0c1c5..00e0c7d2 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -805,16 +805,22 @@ class _ChatScreenState extends State { pathsWithRepeaters = paths.map((path) { final isDirectRepeater = directRepeater != null && - path.pathBytes.isNotEmpty && - directRepeater.pubkeyFirstByte == path.pathBytes.first; + directRepeater.matchesPathStart( + path.pathBytes, + connector.pathHashByteWidth, + ); final isSecondDirectRepeater = secondDirectRepeater != null && - path.pathBytes.isNotEmpty && - secondDirectRepeater.pubkeyFirstByte == path.pathBytes.first; + secondDirectRepeater.matchesPathStart( + path.pathBytes, + connector.pathHashByteWidth, + ); final isThirdDirectRepeater = thirdDirectRepeater != null && - path.pathBytes.isNotEmpty && - thirdDirectRepeater.pubkeyFirstByte == path.pathBytes.first; + thirdDirectRepeater.matchesPathStart( + path.pathBytes, + connector.pathHashByteWidth, + ); int ranking = -1; Color color = Colors.grey; diff --git a/lib/screens/contacts_screen.dart b/lib/screens/contacts_screen.dart index a4cc35ca..d320df11 100644 --- a/lib/screens/contacts_screen.dart +++ b/lib/screens/contacts_screen.dart @@ -1266,7 +1266,7 @@ class _ContactsScreenState extends State MaterialPageRoute( builder: (context) => PathTraceMapScreen( title: context.l10n.contacts_repeaterPing, - path: Uint8List.fromList([contact.publicKey.first]), + path: _contactPathPrefix(contact, hw), targetContact: contact, pathHashByteWidth: hw, ), @@ -1299,7 +1299,7 @@ class _ContactsScreenState extends State : context.l10n.contacts_roomPing, path: contact.pathBytesForDisplay.isNotEmpty ? contact.pathBytesForDisplay - : Uint8List.fromList([contact.publicKey.first]), + : _contactPathPrefix(contact, hw), flipPathAround: contact.pathBytesForDisplay.isNotEmpty, targetContact: contact, pathHashByteWidth: hw, @@ -1416,6 +1416,16 @@ class _ContactsScreenState extends State ); } + Uint8List _contactPathPrefix(Contact contact, int hashByteWidth) { + if (contact.publicKey.isEmpty) return Uint8List(0); + final width = hashByteWidth + .clamp(1, pubKeySize) + .toInt() + .clamp(1, contact.publicKey.length) + .toInt(); + return Uint8List.fromList(contact.publicKey.sublist(0, width)); + } + void _confirmDelete( BuildContext context, MeshCoreConnector connector, diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index f9581f91..d11b8ab8 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -728,7 +728,10 @@ class _MapScreenState extends State { for (final repeater in withLocation) { if (repeater.type != advTypeRepeater) continue; if (repeater.publicKey.length < lastHop.length) continue; - if (!listEquals(repeater.publicKey.sublist(0, lastHop.length), lastHop)) { + if (!listEquals( + repeater.publicKey.sublist(0, lastHop.length), + lastHop, + )) { continue; } anchorSet.add(LatLng(repeater.latitude!, repeater.longitude!)); @@ -986,11 +989,21 @@ class _MapScreenState extends State { } if (settings.mapShowOverlaps) { + final hopWidth = context + .read() + .pathHashByteWidth + .clamp(1, pubKeySize) + .toInt(); final hasOverlap = contacts .where( (c) => c.publicKeyHex != contact.publicKeyHex && - c.publicKey.first == contact.publicKey.first && + c.publicKey.length >= hopWidth && + contact.publicKey.length >= hopWidth && + listEquals( + c.publicKey.sublist(0, hopWidth), + contact.publicKey.sublist(0, hopWidth), + ) && (c.type == advTypeRepeater || c.type == advTypeRoom) && (contact.type == advTypeRepeater || contact.type == advTypeRoom), diff --git a/lib/widgets/path_management_dialog.dart b/lib/widgets/path_management_dialog.dart index aa877369..a110b176 100644 --- a/lib/widgets/path_management_dialog.dart +++ b/lib/widgets/path_management_dialog.dart @@ -202,16 +202,22 @@ class _PathManagementDialogState extends State<_PathManagementDialog> { paths.map((path) { final isDirectRepeater = directRepeater != null && - path.pathBytes.isNotEmpty && - directRepeater.pubkeyFirstByte == path.pathBytes.first; + directRepeater.matchesPathStart( + path.pathBytes, + connector.pathHashByteWidth, + ); final isSecondDirectRepeater = secondDirectRepeater != null && - path.pathBytes.isNotEmpty && - secondDirectRepeater.pubkeyFirstByte == path.pathBytes.first; + secondDirectRepeater.matchesPathStart( + path.pathBytes, + connector.pathHashByteWidth, + ); final isThirdDirectRepeater = thirdDirectRepeater != null && - path.pathBytes.isNotEmpty && - thirdDirectRepeater.pubkeyFirstByte == path.pathBytes.first; + thirdDirectRepeater.matchesPathStart( + path.pathBytes, + connector.pathHashByteWidth, + ); int ranking = -1; Color color = Colors.grey; diff --git a/lib/widgets/snr_indicator.dart b/lib/widgets/snr_indicator.dart index 99f20539..4850393f 100644 --- a/lib/widgets/snr_indicator.dart +++ b/lib/widgets/snr_indicator.dart @@ -1,23 +1,28 @@ import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; import 'package:latlong2/latlong.dart'; import '../connector/meshcore_connector.dart'; import '../connector/meshcore_protocol.dart'; +import '../helpers/path_helper.dart'; import '../l10n/l10n.dart'; import '../models/contact.dart'; import 'signal_ui.dart'; Contact? _getRepeaterPrefixMatchNearLocation( List contacts, - int pubkeyFirstByte, { + List pubkeyPrefix, { LatLng? searchPoint, bool preferFavorites = false, }) { final candidates = contacts .where( (c) => - c.publicKey.isNotEmpty && - c.publicKey.first == pubkeyFirstByte && + c.publicKey.length >= pubkeyPrefix.length && + listEquals( + c.publicKey.sublist(0, pubkeyPrefix.length), + pubkeyPrefix, + ) && (c.type == advTypeRepeater || c.type == advTypeRoom), ) .toList(); @@ -162,7 +167,7 @@ class _SNRIndicatorState extends State { ), if (directRepeater != null) Text( - '${directRepeaters.length}: ${directRepeater.pubkeyFirstByte.toRadixString(16).padLeft(2, '0')}: ${_formatLastUpdated(directRepeater.lastUpdated)}', + '${directRepeaters.length}: ${directRepeater.pubkeyPrefixHex}: ${_formatLastUpdated(directRepeater.lastUpdated)}', style: TextStyle( fontSize: 12, fontWeight: FontWeight.w500, @@ -236,23 +241,21 @@ class _SNRIndicatorState extends State { final contact = _getRepeaterPrefixMatchNearLocation( allContacts, - repeater.pubkeyFirstByte, + repeater.pubkeyPrefix, searchPoint: selfPoint, preferFavorites: true, ); final name = contact?.name; + final prefixLabel = PathHelper.formatHopHex( + repeater.pubkeyPrefix, + ); return Column( children: [ ListTile( leading: Icon(snrUi.icon, color: snrUi.color), - title: Text( - name ?? - repeater.pubkeyFirstByte - .toRadixString(16) - .padLeft(2, '0'), - ), + title: Text(name ?? prefixLabel), subtitle: Text( 'SNR: ${repeater.snr.toStringAsFixed(1)} dB\n${l10n.snrIndicator_lastSeen}: ${_formatLastUpdated(repeater.lastUpdated)}', ), From 73e5b80232bdb8eda7b99e614b35ddd4a5288e54 Mon Sep 17 00:00:00 2001 From: ericz Date: Mon, 18 May 2026 19:17:53 +0200 Subject: [PATCH 18/45] add HashMode Setting --- lib/connector/meshcore_connector.dart | 9 ++- lib/screens/settings_screen.dart | 84 +++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index f2d8040c..59ef4e6f 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2571,7 +2571,14 @@ class MeshCoreConnector extends ChangeNotifier { Future setPathHashMode(int mode) async { if (!isConnected) return; - await sendFrame(buildSetPathHashModeFrame(mode.clamp(0, 2))); + final clampedMode = mode.clamp(0, 2).toInt(); + await sendFrame(buildSetPathHashModeFrame(clampedMode)); + final nextWidth = clampedMode + 1; + if (_pathHashByteWidth != nextWidth) { + _pathHashByteWidth = nextWidth; + _directRepeaters.clear(); + notifyListeners(); + } } Future refreshDeviceInfo() async { diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 5679f757..3dd8c812 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -298,6 +298,15 @@ class _SettingsScreenState extends State { onTap: () => pushCompanionRadioStatsScreen(context), ), const Divider(height: 1), + ListTile( + leading: const Icon(Icons.route_outlined), + title: Text(l10n.repeater_pathHashMode), + subtitle: Text(_pathHashModeSubtitle(connector.pathHashByteWidth)), + trailing: const Icon(Icons.chevron_right), + enabled: connector.isConnected, + onTap: () => _editPathHashMode(context, connector), + ), + const Divider(height: 1), ListTile( leading: const Icon(Icons.location_on_outlined), title: Text(l10n.settings_location), @@ -338,6 +347,13 @@ class _SettingsScreenState extends State { ); } + String _pathHashModeSubtitle(int pathHashByteWidth) { + final width = pathHashByteWidth.clamp(1, 3).toInt(); + final mode = width - 1; + final unit = width == 1 ? 'byte' : 'bytes'; + return 'Mode $mode - $width $unit per hop'; + } + Widget _buildActionsCard(BuildContext context, MeshCoreConnector connector) { final l10n = context.l10n; return Card( @@ -545,6 +561,74 @@ class _SettingsScreenState extends State { ); } + void _editPathHashMode(BuildContext context, MeshCoreConnector connector) { + final l10n = context.l10n; + var selectedMode = (connector.pathHashByteWidth - 1).clamp(0, 2).toInt(); + + showDialog( + context: context, + builder: (dialogContext) => StatefulBuilder( + builder: (context, setDialogState) => AlertDialog( + title: Text(l10n.repeater_pathHashMode), + content: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + DropdownButtonFormField( + initialValue: selectedMode, + decoration: InputDecoration( + labelText: l10n.repeater_pathHashMode, + border: const OutlineInputBorder(), + ), + items: const [ + DropdownMenuItem(value: 0, child: Text('0 - 1 byte')), + DropdownMenuItem(value: 1, child: Text('1 - 2 bytes')), + DropdownMenuItem(value: 2, child: Text('2 - 3 bytes')), + ], + onChanged: (value) { + if (value == null) return; + setDialogState(() => selectedMode = value); + }, + ), + const SizedBox(height: 12), + Text( + l10n.repeater_pathHashModeHelper, + style: Theme.of(context).textTheme.bodySmall, + ), + ], + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(dialogContext), + child: Text(l10n.common_cancel), + ), + FilledButton( + onPressed: () async { + Navigator.pop(dialogContext); + try { + await connector.setPathHashMode(selectedMode); + await connector.refreshDeviceInfo(); + if (!context.mounted) return; + showDismissibleSnackBar( + context, + content: Text(l10n.repeater_settingsSaved), + ); + } catch (e) { + if (!context.mounted) return; + showDismissibleSnackBar( + context, + content: Text(l10n.settings_error(e.toString())), + ); + } + }, + child: Text(l10n.common_save), + ), + ], + ), + ), + ); + } + void _editLocation(BuildContext context, MeshCoreConnector connector) { final l10n = context.l10n; final latController = TextEditingController(); From 87708e268483a2702dba273ed17acb04a0d4b5d8 Mon Sep 17 00:00:00 2001 From: ericz Date: Mon, 18 May 2026 20:42:40 +0200 Subject: [PATCH 19/45] fixes direct repeater mixing 1 byte paths with 2 byte Indicator, and wrong description. --- lib/connector/meshcore_connector.dart | 51 ++++++++++++++++++++++----- lib/l10n/app_bg.arb | 2 +- lib/l10n/app_de.arb | 2 +- lib/l10n/app_en.arb | 2 +- lib/l10n/app_es.arb | 2 +- lib/l10n/app_fr.arb | 2 +- lib/l10n/app_hu.arb | 2 +- lib/l10n/app_it.arb | 2 +- lib/l10n/app_ja.arb | 2 +- lib/l10n/app_ko.arb | 2 +- lib/l10n/app_localizations.dart | 2 +- lib/l10n/app_localizations_bg.dart | 2 +- lib/l10n/app_localizations_de.dart | 2 +- lib/l10n/app_localizations_en.dart | 2 +- lib/l10n/app_localizations_es.dart | 2 +- lib/l10n/app_localizations_fr.dart | 2 +- lib/l10n/app_localizations_hu.dart | 2 +- lib/l10n/app_localizations_it.dart | 2 +- lib/l10n/app_localizations_ja.dart | 2 +- lib/l10n/app_localizations_ko.dart | 2 +- lib/l10n/app_localizations_nl.dart | 2 +- lib/l10n/app_localizations_pl.dart | 2 +- lib/l10n/app_localizations_pt.dart | 2 +- lib/l10n/app_localizations_ru.dart | 2 +- lib/l10n/app_localizations_sk.dart | 2 +- lib/l10n/app_localizations_sl.dart | 2 +- lib/l10n/app_localizations_sv.dart | 2 +- lib/l10n/app_localizations_uk.dart | 2 +- lib/l10n/app_localizations_zh.dart | 2 +- lib/l10n/app_nl.arb | 2 +- lib/l10n/app_pl.arb | 2 +- lib/l10n/app_pt.arb | 2 +- lib/l10n/app_ru.arb | 2 +- lib/l10n/app_sk.arb | 2 +- lib/l10n/app_sl.arb | 2 +- lib/l10n/app_sv.arb | 2 +- lib/l10n/app_uk.arb | 2 +- lib/l10n/app_zh.arb | 2 +- lib/screens/channel_chat_screen.dart | 18 +++++++--- 39 files changed, 92 insertions(+), 51 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 59ef4e6f..ed7d6f12 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -50,11 +50,13 @@ import 'meshcore_protocol.dart'; class DirectRepeater { static const int maxAgeMinutes = 30; // Max age for direct repeater info final List pubkeyPrefix; + final int pathHashWidth; double snr; DateTime lastUpdated; DirectRepeater({ required List pubkeyPrefix, + required this.pathHashWidth, required this.snr, DateTime? lastUpdated, }) : pubkeyPrefix = List.unmodifiable(pubkeyPrefix), @@ -69,8 +71,8 @@ class DirectRepeater { listEquals(pubkeyPrefix, prefix); } - bool matchesPathStart(List pathBytes, int hashByteWidth) { - final width = hashByteWidth.clamp(1, 4).toInt(); + bool matchesPathStart(List pathBytes, int pathHashByteWidth) { + final width = pathHashByteWidth.clamp(1, 4).toInt(); if (pathBytes.length < width || pubkeyPrefix.length != width) { return false; } @@ -5566,6 +5568,7 @@ class MeshCoreConnector extends ChangeNotifier { repeats: message.repeats, repeatCount: message.repeatCount, pathLength: message.pathLength, + pathHashWidth: message.pathHashWidth, pathBytes: message.pathBytes, pathVariants: message.pathVariants, channelIndex: message.channelIndex, @@ -5602,6 +5605,7 @@ class MeshCoreConnector extends ChangeNotifier { messages[existingIndex] = existing.copyWith( repeatCount: newRepeatCount, pathLength: mergedPathLength, + pathHashWidth: existing.pathHashWidth ?? processedMessage.pathHashWidth, pathBytes: mergedPathBytes, pathVariants: mergedPathVariants, packetHash: existing.packetHash ?? processedMessage.packetHash, @@ -5966,6 +5970,7 @@ class MeshCoreConnector extends ChangeNotifier { //final payloadVer = (header >> 6) & 0x03; final pathLenRaw = packet.readByte(); final pathByteLen = _decodePathByteLen(pathLenRaw); + final pathHashWidth = _decodePathHashWidth(pathLenRaw); final pathBytes = packet.readBytes(pathByteLen); final payload = packet.readBytes(packet.remaining); @@ -5976,6 +5981,7 @@ class MeshCoreConnector extends ChangeNotifier { rawPacket, payload, pathBytes, + pathHashWidth, routeType, snr, ); @@ -6079,6 +6085,7 @@ class MeshCoreConnector extends ChangeNotifier { Uint8List rawPacket, Uint8List payload, Uint8List path, + int pathHashWidth, int routeType, double snr, ) { @@ -6159,7 +6166,12 @@ class MeshCoreConnector extends ChangeNotifier { } else { _handleDiscovery(newContact, rawPacket); } - _updateDirectRepeater(newContact, snr, path); + _updateDirectRepeater( + newContact, + snr, + path, + pathHashWidth: pathHashWidth, + ); return; } @@ -6197,7 +6209,12 @@ class MeshCoreConnector extends ChangeNotifier { _pathHistoryService!.handlePathUpdated(_contacts[existingIndex]); } - _updateDirectRepeater(_contacts[existingIndex], snr, path); + _updateDirectRepeater( + _contacts[existingIndex], + snr, + path, + pathHashWidth: pathHashWidth, + ); appLogger.info( 'After merge: pathOverride=${_contacts[existingIndex].pathOverride}, devicePath=${_contacts[existingIndex].pathLength}', @@ -6206,8 +6223,16 @@ class MeshCoreConnector extends ChangeNotifier { } } - void _updateDirectRepeater(Contact contact, double snr, Uint8List path) { - final hashWidth = _pathHashByteWidth.clamp(1, 4).toInt(); + void _updateDirectRepeater( + Contact contact, + double snr, + Uint8List path, { + required int pathHashWidth, + }) { + final hashWidth = pathHashWidth.clamp(1, 4).toInt(); + if (path.isNotEmpty && path.length < hashWidth) { + return; + } final pubkeyPrefix = path.isNotEmpty ? path.sublist(math.max(0, path.length - hashWidth)) : contact.publicKey.sublist( @@ -6225,7 +6250,7 @@ class MeshCoreConnector extends ChangeNotifier { } final isTracked = _directRepeaters.where( - (r) => r.matchesPrefix(pubkeyPrefix), + (r) => r.pathHashWidth == hashWidth && r.matchesPrefix(pubkeyPrefix), ); final sortedRepeaters = List.from(_directRepeaters) @@ -6245,7 +6270,11 @@ class MeshCoreConnector extends ChangeNotifier { repeater.update(snr); } else if (_directRepeaters.length < 5) { _directRepeaters.add( - DirectRepeater(pubkeyPrefix: pubkeyPrefix, snr: snr), + DirectRepeater( + pubkeyPrefix: pubkeyPrefix, + pathHashWidth: hashWidth, + snr: snr, + ), ); } notifyListeners(); @@ -6376,10 +6405,14 @@ const int _cipherMacSize = 2; /// Bits 0-5: hash count (0-63), Bits 6-7: hash size code (0=1byte, 1=2bytes, 2=3bytes). int _decodePathByteLen(int pathLenRaw) { final hashCount = pathLenRaw & 63; - final hashSize = ((pathLenRaw >> 6) & 0x03) + 1; + final hashSize = _decodePathHashWidth(pathLenRaw); return hashCount * hashSize; } +int _decodePathHashWidth(int pathLenRaw) { + return ((pathLenRaw >> 6) & 0x03) + 1; +} + class _RawPacket { final int header; final int routeType; diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index 45536cf6..7ea19982 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Напреднал", "repeater_advancedSettingsSubtitle": "Регулаторни копчета за опитни оператори", "repeater_pathHashMode": "Режим за хеширане на пътища", - "repeater_pathHashModeHelper": "Байтовете, използвани за кодиране на идентификатора на този репитер в таговете за откриване на потоци/цикли, са: 0=1 байт (256 идентификатора, до 64 скача), 1=2 байта (65 000 идентификатора, до 32 скача), 2=3 байта (16 милиона идентификатора, до 21 скача). Версии 1.13 и по-стари версии на фърмуера използват многобайтови пътища – само след като мрежата е актуализирана до версия 1.14 или по-нова.", + "repeater_pathHashModeHelper": "Байтовете, използвани за кодиране на идентификатора на този репитер в таговете за flood път/откриване на цикли. 0=1 байт (256 идентификатора, до 64 скока), 1=2 байта (65 000 идентификатора, до 32 скока), 2=3 байта (16 милиона идентификатора, до 21 скока). Фърмуер преди v1.14 винаги използва 1-байтови пътища; v1.14 и по-нови версии могат да се конфигурират за 2- или 3-байтови пътища.", "repeater_txDelay": "Забавяне на проекта \"Flood TX\"", "repeater_txDelayHelper": "Предавайте разстоянието между пакетите за трафик при наводнения, като множител на времето за пренос на пакета (0-2, по подразбиране 0.5). По-висока стойност означава по-малко сблъсъци, но по-бавно предаване.", "repeater_directTxDelay": "Директно забавяне на сигнала", diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 7f491d4f..fd9ab886 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Fortgeschritten", "repeater_advancedSettingsSubtitle": "Regler für erfahrene Bediener", "repeater_pathHashMode": "Hash-Modus für Pfade", - "repeater_pathHashModeHelper": "Bytes, die zur Kodierung der ID dieses Repeaters in Flood-Pfad-/Schleifen-Erkennung-Tags verwendet werden. 0 = 1 Byte (256 IDs, bis zu 64 Hops), 1 = 2 Bytes (65.000 IDs, bis zu 32 Hops), 2 = 3 Bytes (16 Millionen IDs, bis zu 21 Hops). Firmware-Versionen 1.13 und älter verwenden mehrstellige Pfade – ab Version 1.14+ wird nur ein Pfad erstellt, sobald das Netzwerk aktiv ist.", + "repeater_pathHashModeHelper": "Bytes, die zur Kodierung der ID dieses Repeaters in Flood-Pfad-/Schleifen-Erkennung-Tags verwendet werden. 0 = 1 Byte (256 IDs, bis zu 64 Hops), 1 = 2 Bytes (65.000 IDs, bis zu 32 Hops), 2 = 3 Bytes (16 Millionen IDs, bis zu 21 Hops). Firmware vor v1.14 verwendet immer 1-Byte-Pfade; ab v1.14 können 2- oder 3-Byte-Pfade eingestellt werden.", "repeater_txDelay": "Verzögerung bei Flood TX", "repeater_txDelayHelper": "Wiederholung des Abstands für Hochwasser-Verkehr, als Multiplikator der Übertragungszeit des Pakets (0-2, Standardwert 0,5). Höherer Wert = weniger Kollisionen, aber langsamere Übertragung.", "repeater_directTxDelay": "Direkter TX-Verzögerung", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 456fab56..c030fa41 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -1361,7 +1361,7 @@ "repeater_advancedSettings": "Advanced", "repeater_advancedSettingsSubtitle": "Tuning knobs for experienced operators", "repeater_pathHashMode": "Path hash mode", - "repeater_pathHashModeHelper": "Bytes used to encode this repeater's ID in flood path/loop-detect tags. 0=1 byte (256 IDs, up to 64 hops), 1=2 bytes (65K IDs, up to 32 hops), 2=3 bytes (16M IDs, up to 21 hops). v1.13 and older firmware drops multi-byte paths — only raise once your network is on v1.14+.", + "repeater_pathHashModeHelper": "Bytes used to encode this repeater's ID in flood path/loop-detect tags. 0=1 byte (256 IDs, up to 64 hops), 1=2 bytes (65K IDs, up to 32 hops), 2=3 bytes (16M IDs, up to 21 hops). Firmware before v1.14 always used 1-byte paths; v1.14 and newer can be configured for 2- or 3-byte paths.", "repeater_txDelay": "Flood TX delay", "repeater_txDelayHelper": "Retransmit spacing for flood traffic, as a multiplier of the packet's airtime (0-2, default 0.5). Higher = fewer collisions but slower delivery.", "repeater_directTxDelay": "Direct TX delay", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index d4cf27da..697cefa7 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Avanzado", "repeater_advancedSettingsSubtitle": "Perillas de ajuste para operadores experimentados", "repeater_pathHashMode": "Modo de hash de ruta", - "repeater_pathHashModeHelper": "Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). Las versiones 1.13 y anteriores de firmware eliminan rutas de múltiples bytes; solo se detectan una vez que la red está activa en la versión 1.14 o posterior.", + "repeater_pathHashModeHelper": "Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta flood/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). El firmware anterior a v1.14 siempre usaba rutas de 1 byte; v1.14 y posteriores pueden configurarse para rutas de 2 o 3 bytes.", "repeater_txDelay": "Retraso en Flood, TX", "repeater_txDelayHelper": "Ajuste de retransmisión para el tráfico de inundación, como un multiplicador del tiempo de transmisión del paquete (0-2, valor predeterminado 0.5). Un valor más alto significa menos colisiones, pero una entrega más lenta.", "repeater_directTxDelay": "Retraso directo en TX", diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 7817c20d..5bc12755 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Avancé", "repeater_advancedSettingsSubtitle": "Molettes de réglage pour les opérateurs expérimentés", "repeater_pathHashMode": "Mode de hachage de chemin", - "repeater_pathHashModeHelper": "Octets utilisés pour encoder l'ID de ce routeur dans les balises de détection de flux/boucles. 0 = 1 octet (256 ID, jusqu'à 64 sauts), 1 = 2 octets (65 000 ID, jusqu'à 32 sauts), 2 = 3 octets (16 millions d'ID, jusqu'à 21 sauts). Les versions 1.13 et antérieures utilisent des chemins multi-octets ; à partir de la version 1.14, cela n'est plus nécessaire.", + "repeater_pathHashModeHelper": "Octets utilisés pour encoder l'ID de ce répéteur dans les balises de chemin flood/détection de boucle. 0=1 octet (256 ID, jusqu'à 64 sauts), 1=2 octets (65 000 ID, jusqu'à 32 sauts), 2=3 octets (16 millions d'ID, jusqu'à 21 sauts). Le firmware antérieur à v1.14 utilisait toujours des chemins d'1 octet; v1.14 et les versions ultérieures peuvent être configurées pour des chemins de 2 ou 3 octets.", "repeater_txDelay": "Retard dû aux inondations à Texas", "repeater_txDelayHelper": "Rétransmettre l'espacement pour le trafic de secours en cas de inondation, en multipliant le temps d'émission du paquet (0-2, valeur par défaut : 0,5). Une valeur plus élevée signifie moins de collisions, mais une vitesse de transmission plus lente.", "repeater_directTxDelay": "Retard de transmission direct", diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb index 97426183..e3081f87 100644 --- a/lib/l10n/app_hu.arb +++ b/lib/l10n/app_hu.arb @@ -1291,7 +1291,7 @@ "repeater_advancedSettings": "Haladó", "repeater_advancedSettingsSubtitle": "Erkélő kapcsolók tapasztalt kezelők számára", "repeater_pathHashMode": "Út-hash mód", - "repeater_pathHashModeHelper": "A byte-ok, amelyek az alábbi repeater-ek azonosítójának kódolására szolgálnak a flood-útvonal/ciklus-észlelő címkékben. 0=1 byte (256 azonosító, akár 64 útvonal), 1=2 byte (65 000 azonosító, akár 32 útvonal), 2=3 byte (16 millió azonosító, akár 21 útvonal). A v1.13-as verziótól kezdődően és az azt követő verziókban a több byte-os útvonalak megszűntek – csak egyetlen útvonal létesül, miután a hálózat a v1.14-es verzióra vagy az azt követő verzióra frissült.", + "repeater_pathHashModeHelper": "A repeater azonosítójának kódolására használt byte-ok száma a flood-útvonal/ciklusészlelési címkékben. 0=1 byte (256 azonosító, legfeljebb 64 ugrás), 1=2 byte (65 000 azonosító, legfeljebb 32 ugrás), 2=3 byte (16 millió azonosító, legfeljebb 21 ugrás). A v1.14 előtti firmware mindig 1 byte-os útvonalakat használt; a v1.14 és újabb verziók 2 vagy 3 byte-os útvonalakra is konfigurálhatók.", "repeater_txDelay": "Flood TX késés", "repeater_txDelayHelper": "Újraküldési intervallum árvíz esetén, amely a csomag átviteli idejének (0-2, alapérték 0,5) szorzata. Minél nagyobb az érték, annál kevesebb ütközés, de lassabb a továbbítás.", "repeater_directTxDelay": "Közvetlen TX késés", diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 664bceef..dac5f78c 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Avanzato", "repeater_advancedSettingsSubtitle": "Manopole di regolazione per operatori esperti", "repeater_pathHashMode": "Modalità di hashing del percorso", - "repeater_pathHashModeHelper": "Byte utilizzati per codificare l'ID di questo ripetitore nei tag per il rilevamento del percorso/loop. 0=1 byte (256 ID, fino a 64 salti), 1=2 byte (65.000 ID, fino a 32 salti), 2=3 byte (16 milioni di ID, fino a 21 salti). Le versioni 1.13 e precedenti utilizzano percorsi multi-byte: è necessario attivare la rete prima di utilizzare questa funzionalità (a partire dalla versione 1.14).", + "repeater_pathHashModeHelper": "Byte utilizzati per codificare l'ID di questo ripetitore nei tag di percorso flood/rilevamento loop. 0=1 byte (256 ID, fino a 64 salti), 1=2 byte (65.000 ID, fino a 32 salti), 2=3 byte (16 milioni di ID, fino a 21 salti). Il firmware precedente alla v1.14 usava sempre percorsi a 1 byte; v1.14 e versioni successive possono essere configurate per percorsi a 2 o 3 byte.", "repeater_txDelay": "Ritardo a Flood, TX", "repeater_txDelayHelper": "Riassegnare lo spazio tra i pacchetti per gestire il traffico intenso, come un moltiplicatore del tempo di trasmissione (da 0 a 2, valore predefinito 0,5). Un valore più alto significa meno collisioni, ma una trasmissione più lenta.", "repeater_directTxDelay": "Ritardo diretto TX", diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 9d2cef21..f2037360 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -1291,7 +1291,7 @@ "repeater_advancedSettings": "高度な", "repeater_advancedSettingsSubtitle": "経験豊富なオペレーター向けの調整ノブ", "repeater_pathHashMode": "パスハッシュモード", - "repeater_pathHashModeHelper": "このリピーターのIDをフローパス/ループ検出タグにエンコードするために使用されるバイト数。 0=1バイト (256個のID、最大64ホップ)、1=2バイト (65,000個のID、最大32ホップ)、2=3バイト (160万個のID、最大21ホップ)。 v1.13およびそれ以前のファームウェアでは、マルチバイトパスがサポートされていません。 v1.14以降のバージョンでは、一度ネットワークが起動されると、パスが一度だけ検出されます。", + "repeater_pathHashModeHelper": "このリピーターのIDをフラッド経路/ループ検出タグにエンコードするために使用するバイト数。0=1バイト (256 ID、最大64ホップ)、1=2バイト (65,000 ID、最大32ホップ)、2=3バイト (1,600万 ID、最大21ホップ)。v1.14より前のファームウェアは常に1バイト経路を使用していました。v1.14以降は2バイトまたは3バイト経路に設定できます。", "repeater_txDelay": "フロイド・TXでの遅延", "repeater_txDelayHelper": "洪水時の交通量に対応するための再送信間隔を、パケットの通信時間を掛けた値(0~2、デフォルト0.5)で設定します。値を大きくすると衝突が減りますが、通信速度が遅くなります。", "repeater_directTxDelay": "直接的なTX遅延", diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index d778429b..27e7c1ee 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -1291,7 +1291,7 @@ "repeater_advancedSettings": "고급", "repeater_advancedSettingsSubtitle": "숙련된 운영자를 위한 조절 노브", "repeater_pathHashMode": "패스 해시 모드", - "repeater_pathHashModeHelper": "이 리피터의 ID를 플러드 경로/루프 감지 태그에 인코딩하는 데 사용되는 바이트 수: 0=1 바이트 (256개의 ID, 최대 64개의 홉), 1=2 바이트 (65,000개의 ID, 최대 32개의 홉), 2=3 바이트 (16백만 개의 ID, 최대 21개의 홉). v1.13 및 이전 버전의 펌웨어는 다중 바이트 경로를 지원하지 않으며, 네트워크가 v1.14 이상으로 업그레이드되면 한 번만 감지합니다.", + "repeater_pathHashModeHelper": "이 리피터의 ID를 플러드 경로/루프 감지 태그에 인코딩하는 데 사용되는 바이트 수입니다. 0=1바이트(256개 ID, 최대 64홉), 1=2바이트(65,000개 ID, 최대 32홉), 2=3바이트(1,600만 개 ID, 최대 21홉). v1.14 이전 펌웨어는 항상 1바이트 경로를 사용했으며, v1.14 이상은 2바이트 또는 3바이트 경로로 설정할 수 있습니다.", "repeater_txDelay": "플러드 TX 지연", "repeater_txDelayHelper": "홍수 시 교통량에 맞춰 재전송 간격을 설정합니다. 이는 패킷의 전송 시간을 곱한 값 (0-2, 기본값 0.5)으로 설정합니다. 값이 클수록 충돌이 줄어들지만 전송 속도가 느려집니다.", "repeater_directTxDelay": "직접적인 TX 지연", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 159d755c..93fb9181 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -4493,7 +4493,7 @@ abstract class AppLocalizations { /// No description provided for @repeater_pathHashModeHelper. /// /// In en, this message translates to: - /// **'Bytes used to encode this repeater\'s ID in flood path/loop-detect tags. 0=1 byte (256 IDs, up to 64 hops), 1=2 bytes (65K IDs, up to 32 hops), 2=3 bytes (16M IDs, up to 21 hops). v1.13 and older firmware drops multi-byte paths — only raise once your network is on v1.14+.'** + /// **'Bytes used to encode this repeater\'s ID in flood path/loop-detect tags. 0=1 byte (256 IDs, up to 64 hops), 1=2 bytes (65K IDs, up to 32 hops), 2=3 bytes (16M IDs, up to 21 hops). Firmware before v1.14 always used 1-byte paths; v1.14 and newer can be configured for 2- or 3-byte paths.'** String get repeater_pathHashModeHelper; /// No description provided for @repeater_txDelay. diff --git a/lib/l10n/app_localizations_bg.dart b/lib/l10n/app_localizations_bg.dart index 409803b2..544fdbe8 100644 --- a/lib/l10n/app_localizations_bg.dart +++ b/lib/l10n/app_localizations_bg.dart @@ -2524,7 +2524,7 @@ class AppLocalizationsBg extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Байтовете, използвани за кодиране на идентификатора на този репитер в таговете за откриване на потоци/цикли, са: 0=1 байт (256 идентификатора, до 64 скача), 1=2 байта (65 000 идентификатора, до 32 скача), 2=3 байта (16 милиона идентификатора, до 21 скача). Версии 1.13 и по-стари версии на фърмуера използват многобайтови пътища – само след като мрежата е актуализирана до версия 1.14 или по-нова.'; + 'Байтовете, използвани за кодиране на идентификатора на този репитер в таговете за flood път/откриване на цикли. 0=1 байт (256 идентификатора, до 64 скока), 1=2 байта (65 000 идентификатора, до 32 скока), 2=3 байта (16 милиона идентификатора, до 21 скока). Фърмуер преди v1.14 винаги използва 1-байтови пътища; v1.14 и по-нови версии могат да се конфигурират за 2- или 3-байтови пътища.'; @override String get repeater_txDelay => 'Забавяне на проекта \"Flood TX\"'; diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index 9f06906d..a504e5ba 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -2523,7 +2523,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes, die zur Kodierung der ID dieses Repeaters in Flood-Pfad-/Schleifen-Erkennung-Tags verwendet werden. 0 = 1 Byte (256 IDs, bis zu 64 Hops), 1 = 2 Bytes (65.000 IDs, bis zu 32 Hops), 2 = 3 Bytes (16 Millionen IDs, bis zu 21 Hops). Firmware-Versionen 1.13 und älter verwenden mehrstellige Pfade – ab Version 1.14+ wird nur ein Pfad erstellt, sobald das Netzwerk aktiv ist.'; + 'Bytes, die zur Kodierung der ID dieses Repeaters in Flood-Pfad-/Schleifen-Erkennung-Tags verwendet werden. 0 = 1 Byte (256 IDs, bis zu 64 Hops), 1 = 2 Bytes (65.000 IDs, bis zu 32 Hops), 2 = 3 Bytes (16 Millionen IDs, bis zu 21 Hops). Firmware vor v1.14 verwendet immer 1-Byte-Pfade; ab v1.14 können 2- oder 3-Byte-Pfade eingestellt werden.'; @override String get repeater_txDelay => 'Verzögerung bei Flood TX'; diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 6def06b7..7cf14fe3 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -2470,7 +2470,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes used to encode this repeater\'s ID in flood path/loop-detect tags. 0=1 byte (256 IDs, up to 64 hops), 1=2 bytes (65K IDs, up to 32 hops), 2=3 bytes (16M IDs, up to 21 hops). v1.13 and older firmware drops multi-byte paths — only raise once your network is on v1.14+.'; + 'Bytes used to encode this repeater\'s ID in flood path/loop-detect tags. 0=1 byte (256 IDs, up to 64 hops), 1=2 bytes (65K IDs, up to 32 hops), 2=3 bytes (16M IDs, up to 21 hops). Firmware before v1.14 always used 1-byte paths; v1.14 and newer can be configured for 2- or 3-byte paths.'; @override String get repeater_txDelay => 'Flood TX delay'; diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index bb4f40e8..bbfed65c 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -2519,7 +2519,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). Las versiones 1.13 y anteriores de firmware eliminan rutas de múltiples bytes; solo se detectan una vez que la red está activa en la versión 1.14 o posterior.'; + 'Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta flood/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). El firmware anterior a v1.14 siempre usaba rutas de 1 byte; v1.14 y posteriores pueden configurarse para rutas de 2 o 3 bytes.'; @override String get repeater_txDelay => 'Retraso en Flood, TX'; diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index 44e40657..e1223cf3 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -2537,7 +2537,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Octets utilisés pour encoder l\'ID de ce routeur dans les balises de détection de flux/boucles. 0 = 1 octet (256 ID, jusqu\'à 64 sauts), 1 = 2 octets (65 000 ID, jusqu\'à 32 sauts), 2 = 3 octets (16 millions d\'ID, jusqu\'à 21 sauts). Les versions 1.13 et antérieures utilisent des chemins multi-octets ; à partir de la version 1.14, cela n\'est plus nécessaire.'; + 'Octets utilisés pour encoder l\'ID de ce répéteur dans les balises de chemin flood/détection de boucle. 0=1 octet (256 ID, jusqu\'à 64 sauts), 1=2 octets (65 000 ID, jusqu\'à 32 sauts), 2=3 octets (16 millions d\'ID, jusqu\'à 21 sauts). Le firmware antérieur à v1.14 utilisait toujours des chemins d\'1 octet; v1.14 et les versions ultérieures peuvent être configurées pour des chemins de 2 ou 3 octets.'; @override String get repeater_txDelay => 'Retard dû aux inondations à Texas'; diff --git a/lib/l10n/app_localizations_hu.dart b/lib/l10n/app_localizations_hu.dart index 298a6fd6..b7b5cf28 100644 --- a/lib/l10n/app_localizations_hu.dart +++ b/lib/l10n/app_localizations_hu.dart @@ -2530,7 +2530,7 @@ class AppLocalizationsHu extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'A byte-ok, amelyek az alábbi repeater-ek azonosítójának kódolására szolgálnak a flood-útvonal/ciklus-észlelő címkékben. 0=1 byte (256 azonosító, akár 64 útvonal), 1=2 byte (65 000 azonosító, akár 32 útvonal), 2=3 byte (16 millió azonosító, akár 21 útvonal). A v1.13-as verziótól kezdődően és az azt követő verziókban a több byte-os útvonalak megszűntek – csak egyetlen útvonal létesül, miután a hálózat a v1.14-es verzióra vagy az azt követő verzióra frissült.'; + 'A repeater azonosítójának kódolására használt byte-ok száma a flood-útvonal/ciklusészlelési címkékben. 0=1 byte (256 azonosító, legfeljebb 64 ugrás), 1=2 byte (65 000 azonosító, legfeljebb 32 ugrás), 2=3 byte (16 millió azonosító, legfeljebb 21 ugrás). A v1.14 előtti firmware mindig 1 byte-os útvonalakat használt; a v1.14 és újabb verziók 2 vagy 3 byte-os útvonalakra is konfigurálhatók.'; @override String get repeater_txDelay => 'Flood TX késés'; diff --git a/lib/l10n/app_localizations_it.dart b/lib/l10n/app_localizations_it.dart index e3f7ee58..4bc50054 100644 --- a/lib/l10n/app_localizations_it.dart +++ b/lib/l10n/app_localizations_it.dart @@ -2523,7 +2523,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Byte utilizzati per codificare l\'ID di questo ripetitore nei tag per il rilevamento del percorso/loop. 0=1 byte (256 ID, fino a 64 salti), 1=2 byte (65.000 ID, fino a 32 salti), 2=3 byte (16 milioni di ID, fino a 21 salti). Le versioni 1.13 e precedenti utilizzano percorsi multi-byte: è necessario attivare la rete prima di utilizzare questa funzionalità (a partire dalla versione 1.14).'; + 'Byte utilizzati per codificare l\'ID di questo ripetitore nei tag di percorso flood/rilevamento loop. 0=1 byte (256 ID, fino a 64 salti), 1=2 byte (65.000 ID, fino a 32 salti), 2=3 byte (16 milioni di ID, fino a 21 salti). Il firmware precedente alla v1.14 usava sempre percorsi a 1 byte; v1.14 e versioni successive possono essere configurate per percorsi a 2 o 3 byte.'; @override String get repeater_txDelay => 'Ritardo a Flood, TX'; diff --git a/lib/l10n/app_localizations_ja.dart b/lib/l10n/app_localizations_ja.dart index 263a906e..60bf4ed0 100644 --- a/lib/l10n/app_localizations_ja.dart +++ b/lib/l10n/app_localizations_ja.dart @@ -2408,7 +2408,7 @@ class AppLocalizationsJa extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'このリピーターのIDをフローパス/ループ検出タグにエンコードするために使用されるバイト数。 0=1バイト (256個のID、最大64ホップ)、1=2バイト (65,000個のID、最大32ホップ)、2=3バイト (160万個のID、最大21ホップ)。 v1.13およびそれ以前のファームウェアでは、マルチバイトパスがサポートされていません。 v1.14以降のバージョンでは、一度ネットワークが起動されると、パスが一度だけ検出されます。'; + 'このリピーターのIDをフラッド経路/ループ検出タグにエンコードするために使用するバイト数。0=1バイト (256 ID、最大64ホップ)、1=2バイト (65,000 ID、最大32ホップ)、2=3バイト (1,600万 ID、最大21ホップ)。v1.14より前のファームウェアは常に1バイト経路を使用していました。v1.14以降は2バイトまたは3バイト経路に設定できます。'; @override String get repeater_txDelay => 'フロイド・TXでの遅延'; diff --git a/lib/l10n/app_localizations_ko.dart b/lib/l10n/app_localizations_ko.dart index f9c0d760..954b1470 100644 --- a/lib/l10n/app_localizations_ko.dart +++ b/lib/l10n/app_localizations_ko.dart @@ -2407,7 +2407,7 @@ class AppLocalizationsKo extends AppLocalizations { @override String get repeater_pathHashModeHelper => - '이 리피터의 ID를 플러드 경로/루프 감지 태그에 인코딩하는 데 사용되는 바이트 수: 0=1 바이트 (256개의 ID, 최대 64개의 홉), 1=2 바이트 (65,000개의 ID, 최대 32개의 홉), 2=3 바이트 (16백만 개의 ID, 최대 21개의 홉). v1.13 및 이전 버전의 펌웨어는 다중 바이트 경로를 지원하지 않으며, 네트워크가 v1.14 이상으로 업그레이드되면 한 번만 감지합니다.'; + '이 리피터의 ID를 플러드 경로/루프 감지 태그에 인코딩하는 데 사용되는 바이트 수입니다. 0=1바이트(256개 ID, 최대 64홉), 1=2바이트(65,000개 ID, 최대 32홉), 2=3바이트(1,600만 개 ID, 최대 21홉). v1.14 이전 펌웨어는 항상 1바이트 경로를 사용했으며, v1.14 이상은 2바이트 또는 3바이트 경로로 설정할 수 있습니다.'; @override String get repeater_txDelay => '플러드 TX 지연'; diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index ad140bf3..76bd03b2 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -2502,7 +2502,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes die gebruikt worden om de ID van deze repeater te coderen in flood-pad/lusdetectietags. 0=1 byte (256 ID\'s, tot 64 hops), 1=2 bytes (65.000 ID\'s, tot 32 hops), 2=3 bytes (16 miljoen ID\'s, tot 21 hops). Versies 1.13 en ouder gebruiken multi-byte paden – alleen na het activeren van het netwerk.'; + 'Bytes die gebruikt worden om de ID van deze repeater te coderen in flood-pad/lusdetectietags. 0=1 byte (256 ID\'s, tot 64 hops), 1=2 bytes (65.000 ID\'s, tot 32 hops), 2=3 bytes (16 miljoen ID\'s, tot 21 hops). Firmware vóór v1.14 gebruikte altijd 1-byte paden; v1.14 en nieuwer kunnen worden ingesteld op 2- of 3-byte paden.'; @override String get repeater_txDelay => 'Vertraging bij Flood TX'; diff --git a/lib/l10n/app_localizations_pl.dart b/lib/l10n/app_localizations_pl.dart index 6c7c3696..225d0aee 100644 --- a/lib/l10n/app_localizations_pl.dart +++ b/lib/l10n/app_localizations_pl.dart @@ -2534,7 +2534,7 @@ class AppLocalizationsPl extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bity wykorzystywane do kodowania identyfikatora tego urządzenia w tagach ścieżek/detekcji pętli. 0=1 bity (256 identyfikatorów, do 64 skoków), 1=2 bity (65 000 identyfikatorów, do 32 skoków), 2=3 bity (1 600 000 identyfikatorów, do 21 skoków). Wersje 1.13 i wcześniejsze nie obsługują ścieżek wielobitowych – wykrywają tylko jedną, gdy sieć jest w wersji 1.14 lub nowszej.'; + 'Bajty używane do kodowania identyfikatora tego repeatera w tagach ścieżki flood/wykrywania pętli. 0=1 bajt (256 identyfikatorów, do 64 skoków), 1=2 bajty (65 000 identyfikatorów, do 32 skoków), 2=3 bajty (16 milionów identyfikatorów, do 21 skoków). Firmware sprzed v1.14 zawsze używał ścieżek 1-bajtowych; v1.14 i nowsze można skonfigurować na ścieżki 2- lub 3-bajtowe.'; @override String get repeater_txDelay => 'Opóźnienie w Flood, TX'; diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index e6fd49e3..9084607b 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -2516,7 +2516,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes utilizados para codificar o ID deste repetidor nas tags de caminho/detecção de loop. 0=1 byte (256 IDs, até 64 saltos), 1=2 bytes (65.000 IDs, até 32 saltos), 2=3 bytes (16 milhões de IDs, até 21 saltos). As versões 1.13 e anteriores do firmware não suportam caminhos multi-byte — apenas funcionam uma vez após a ativação da rede (a partir da versão 1.14+).'; + 'Bytes usados para codificar o ID deste repetidor nas tags de caminho flood/detecção de loop. 0=1 byte (256 IDs, até 64 saltos), 1=2 bytes (65.000 IDs, até 32 saltos), 2=3 bytes (16 milhões de IDs, até 21 saltos). O firmware anterior à v1.14 sempre usava caminhos de 1 byte; v1.14 e versões mais recentes podem ser configuradas para caminhos de 2 ou 3 bytes.'; @override String get repeater_txDelay => 'Atraso na entrega em Flood, TX'; diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index 25452003..bf3f7453 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -2523,7 +2523,7 @@ class AppLocalizationsRu extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Байты, используемые для кодирования идентификатора этого ретранслятора в тегах для обнаружения потоков/циклов. 0 = 1 байт (256 идентификаторов, до 64 переходов), 1 = 2 байта (65 000 идентификаторов, до 32 переходов), 2 = 3 байта (1 600 000 идентификаторов, до 21 перехода). Версии прошивки v1.13 и более ранние версии не поддерживают многобайтовые пути — они поднимаются только после того, как ваша сеть будет обновлена до версии v1.14 и выше.'; + 'Байты, используемые для кодирования идентификатора этого ретранслятора в тегах flood-маршрута/обнаружения циклов. 0 = 1 байт (256 идентификаторов, до 64 переходов), 1 = 2 байта (65 000 идентификаторов, до 32 переходов), 2 = 3 байта (16 миллионов идентификаторов, до 21 перехода). Прошивки до v1.14 всегда использовали 1-байтовые маршруты; v1.14 и новее можно настроить на 2- или 3-байтовые маршруты.'; @override String get repeater_txDelay => 'Задержка в работе системы Flood TX'; diff --git a/lib/l10n/app_localizations_sk.dart b/lib/l10n/app_localizations_sk.dart index 91461385..16cc82b3 100644 --- a/lib/l10n/app_localizations_sk.dart +++ b/lib/l10n/app_localizations_sk.dart @@ -2503,7 +2503,7 @@ class AppLocalizationsSk extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Byty použité na zakódovanie ID tohto opakovača v tagoch pre trasu/detekciu slučky. 0 = 1 bytu (256 ID, až 64 skokov), 1 = 2 byty (65 000 ID, až 32 skokov), 2 = 3 byty (16 miliónov ID, až 21 skokov). Verzie 1.13 a staršie nepodporujú viacbytové trasy – fungujú len, keď je sieť aktivovaná.'; + 'Bajty použité na zakódovanie ID tohto opakovača v tagoch flood trasy/detekcie slučky. 0=1 bajt (256 ID, až 64 skokov), 1=2 bajty (65 000 ID, až 32 skokov), 2=3 bajty (16 miliónov ID, až 21 skokov). Firmvér pred v1.14 vždy používal 1-bajtové trasy; v1.14 a novšie možno nakonfigurovať na 2- alebo 3-bajtové trasy.'; @override String get repeater_txDelay => 'Zpoždanie v Flood, TX'; diff --git a/lib/l10n/app_localizations_sl.dart b/lib/l10n/app_localizations_sl.dart index 48103647..d39d11a5 100644 --- a/lib/l10n/app_localizations_sl.dart +++ b/lib/l10n/app_localizations_sl.dart @@ -2498,7 +2498,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Biti, ki so bila uporabljena za kodiranje ID-ja tega releja v oznakah za zaznavanje pot/kroga, imajo naslednje velikosti: 0=1 bit (256 ID-jev, do 64 skokov), 1=2 biti (65.000 ID-jev, do 32 skokov), 2=3 biti (16 milijonov ID-jev, do 21 skokov). V različicah 1.13 in starejših se ustvarjajo večbitne poti – vendar se to zgodi šele, ko je omrežje vklopljeno v različicah 1.14 in kasnejših.'; + 'Bajti, uporabljeni za kodiranje ID-ja tega repetitorja v oznakah flood poti/zaznavanja zank. 0=1 bajt (256 ID-jev, do 64 skokov), 1=2 bajta (65.000 ID-jev, do 32 skokov), 2=3 bajti (16 milijonov ID-jev, do 21 skokov). Vdelana programska oprema pred v1.14 je vedno uporabljala 1-bajtne poti; v1.14 in novejše je mogoče nastaviti na 2- ali 3-bajtne poti.'; @override String get repeater_txDelay => 'Zatemnitevanje zaradi poplav v Texasu'; diff --git a/lib/l10n/app_localizations_sv.dart b/lib/l10n/app_localizations_sv.dart index 7453c18f..2e20e2f7 100644 --- a/lib/l10n/app_localizations_sv.dart +++ b/lib/l10n/app_localizations_sv.dart @@ -2487,7 +2487,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Byte används för att koda denna repeaters ID i taggar för att upptäcka loopar/flödesvägar. 0=1 byte (256 ID:n, upp till 64 hopp), 1=2 byte (65 000 ID:n, upp till 32 hopp), 2=3 byte (16 miljoner ID:n, upp till 21 hopp). Versioner 1.13 och äldre har stöd för multi-byte-vägar – endast en gång när nätverket är aktiverat (från och med version 1.14).'; + 'Byte som används för att koda denna repeaters ID i taggar för flood-väg/loopdetektering. 0=1 byte (256 ID:n, upp till 64 hopp), 1=2 byte (65 000 ID:n, upp till 32 hopp), 2=3 byte (16 miljoner ID:n, upp till 21 hopp). Firmware före v1.14 använde alltid 1-byte-vägar; v1.14 och nyare kan konfigureras för 2- eller 3-byte-vägar.'; @override String get repeater_txDelay => 'Försening i Flood TX'; diff --git a/lib/l10n/app_localizations_uk.dart b/lib/l10n/app_localizations_uk.dart index 9c30fd8e..ee6a7d52 100644 --- a/lib/l10n/app_localizations_uk.dart +++ b/lib/l10n/app_localizations_uk.dart @@ -2522,7 +2522,7 @@ class AppLocalizationsUk extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Байти, що використовуються для кодування ідентифікатора цього ретранслятора в тегах для виявлення потоків/петлі. 0=1 байт (256 ідентифікаторів, до 64 перехідів), 1=2 байти (65 000 ідентифікаторів, до 32 перехідів), 2=3 байти (16 мільйонів ідентифікаторів, до 21 переходу). Версії 1.13 та старіші не підтримують багатобайтні шляхи — вони активуються лише після того, як мережа буде оновлена до версії 1.14+.'; + 'Байти, що використовуються для кодування ідентифікатора цього ретранслятора в тегах flood-шляху/виявлення петель. 0=1 байт (256 ідентифікаторів, до 64 переходів), 1=2 байти (65 000 ідентифікаторів, до 32 переходів), 2=3 байти (16 мільйонів ідентифікаторів, до 21 переходу). Прошивки до v1.14 завжди використовували 1-байтові шляхи; v1.14 і новіші можна налаштувати на 2- або 3-байтові шляхи.'; @override String get repeater_txDelay => 'Затримка у Flood, штат Техас'; diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index d2304a66..37ee452f 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -2362,7 +2362,7 @@ class AppLocalizationsZh extends AppLocalizations { @override String get repeater_pathHashModeHelper => - '用于编码此复用器的 ID 的字节数,在“洪流路径/环检测”标签中使用。 0=1 字节(256 个 ID,最多 64 个跳跃),1=2 字节(65K 个 ID,最多 32 个跳跃),2=3 字节(16M 个 ID,最多 21 个跳跃)。 v1.13 及更早版本的固件会使用多字节路径——只有在您的网络升级到 v1.14 或更高版本后才会生效。'; + '用于在洪泛路径/环路检测标签中编码此中继器 ID 的字节数。0=1 字节(256 个 ID,最多 64 跳),1=2 字节(65K 个 ID,最多 32 跳),2=3 字节(16M 个 ID,最多 21 跳)。v1.14 之前的固件始终使用 1 字节路径;v1.14 及更新版本可配置为 2 或 3 字节路径。'; @override String get repeater_txDelay => '洪水(德克萨斯州)延误'; diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 7e83215b..072b2d51 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Geavanceerd", "repeater_advancedSettingsSubtitle": "Regelhendels voor ervaren gebruikers", "repeater_pathHashMode": "Hash-modus voor paden", - "repeater_pathHashModeHelper": "Bytes die gebruikt worden om de ID van deze repeater te coderen in flood-pad/lusdetectietags. 0=1 byte (256 ID's, tot 64 hops), 1=2 bytes (65.000 ID's, tot 32 hops), 2=3 bytes (16 miljoen ID's, tot 21 hops). Versies 1.13 en ouder gebruiken multi-byte paden – alleen na het activeren van het netwerk.", + "repeater_pathHashModeHelper": "Bytes die gebruikt worden om de ID van deze repeater te coderen in flood-pad/lusdetectietags. 0=1 byte (256 ID's, tot 64 hops), 1=2 bytes (65.000 ID's, tot 32 hops), 2=3 bytes (16 miljoen ID's, tot 21 hops). Firmware vóór v1.14 gebruikte altijd 1-byte paden; v1.14 en nieuwer kunnen worden ingesteld op 2- of 3-byte paden.", "repeater_txDelay": "Vertraging bij Flood TX", "repeater_txDelayHelper": "Herzendinterval voor verkeer tijdens overstromingen, als een veelvoud van de tijd die het pakket nodig heeft (0-2, standaard 0.5). Een hoger getal betekent minder botsingen, maar ook een langere leveringstijd.", "repeater_directTxDelay": "Directe vertraging", diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 4366e273..afb88e57 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -1115,7 +1115,7 @@ "repeater_advancedSettings": "Zaawansowany", "repeater_advancedSettingsSubtitle": "Regulowane pokrętła dla doświadczonych operatorów", "repeater_pathHashMode": "Tryb haszujący ścieżkę", - "repeater_pathHashModeHelper": "Bity wykorzystywane do kodowania identyfikatora tego urządzenia w tagach ścieżek/detekcji pętli. 0=1 bity (256 identyfikatorów, do 64 skoków), 1=2 bity (65 000 identyfikatorów, do 32 skoków), 2=3 bity (1 600 000 identyfikatorów, do 21 skoków). Wersje 1.13 i wcześniejsze nie obsługują ścieżek wielobitowych – wykrywają tylko jedną, gdy sieć jest w wersji 1.14 lub nowszej.", + "repeater_pathHashModeHelper": "Bajty używane do kodowania identyfikatora tego repeatera w tagach ścieżki flood/wykrywania pętli. 0=1 bajt (256 identyfikatorów, do 64 skoków), 1=2 bajty (65 000 identyfikatorów, do 32 skoków), 2=3 bajty (16 milionów identyfikatorów, do 21 skoków). Firmware sprzed v1.14 zawsze używał ścieżek 1-bajtowych; v1.14 i nowsze można skonfigurować na ścieżki 2- lub 3-bajtowe.", "repeater_txDelay": "Opóźnienie w Flood, TX", "repeater_txDelayHelper": "Ustawienie odstępu dla ruchu związanego z powodzią, jako mnożnik czasu przesyłania pakietu (0-2, domyślnie 0,5). Wyższe wartości oznaczają mniejszą liczbę kolizji, ale wolniejszą prędkość przesyłania.", "repeater_directTxDelay": "Bezpośrednie opóźnienie sygnału TX", diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 6b8abbbc..01243468 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Avançado", "repeater_advancedSettingsSubtitle": "Controles de ajuste para operadores experientes", "repeater_pathHashMode": "Modo de hash de caminho", - "repeater_pathHashModeHelper": "Bytes utilizados para codificar o ID deste repetidor nas tags de caminho/detecção de loop. 0=1 byte (256 IDs, até 64 saltos), 1=2 bytes (65.000 IDs, até 32 saltos), 2=3 bytes (16 milhões de IDs, até 21 saltos). As versões 1.13 e anteriores do firmware não suportam caminhos multi-byte — apenas funcionam uma vez após a ativação da rede (a partir da versão 1.14+).", + "repeater_pathHashModeHelper": "Bytes usados para codificar o ID deste repetidor nas tags de caminho flood/detecção de loop. 0=1 byte (256 IDs, até 64 saltos), 1=2 bytes (65.000 IDs, até 32 saltos), 2=3 bytes (16 milhões de IDs, até 21 saltos). O firmware anterior à v1.14 sempre usava caminhos de 1 byte; v1.14 e versões mais recentes podem ser configuradas para caminhos de 2 ou 3 bytes.", "repeater_txDelay": "Atraso na entrega em Flood, TX", "repeater_txDelayHelper": "Ajuste de espaçamento para tráfego de inundações, como um multiplicador do tempo de transmissão (0-2, padrão 0,5). Quanto maior, menos colisões, mas uma entrega mais lenta.", "repeater_directTxDelay": "Atraso direto no sinal TX", diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 5d5bcfc3..0dd6d497 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -1436,7 +1436,7 @@ "repeater_advancedSettings": "Продвинутый", "repeater_advancedSettingsSubtitle": "Регуляторы для опытных операторов", "repeater_pathHashMode": "Режим хеширования пути", - "repeater_pathHashModeHelper": "Байты, используемые для кодирования идентификатора этого ретранслятора в тегах для обнаружения потоков/циклов. 0 = 1 байт (256 идентификаторов, до 64 переходов), 1 = 2 байта (65 000 идентификаторов, до 32 переходов), 2 = 3 байта (1 600 000 идентификаторов, до 21 перехода). Версии прошивки v1.13 и более ранние версии не поддерживают многобайтовые пути — они поднимаются только после того, как ваша сеть будет обновлена до версии v1.14 и выше.", + "repeater_pathHashModeHelper": "Байты, используемые для кодирования идентификатора этого ретранслятора в тегах flood-маршрута/обнаружения циклов. 0 = 1 байт (256 идентификаторов, до 64 переходов), 1 = 2 байта (65 000 идентификаторов, до 32 переходов), 2 = 3 байта (16 миллионов идентификаторов, до 21 перехода). Прошивки до v1.14 всегда использовали 1-байтовые маршруты; v1.14 и новее можно настроить на 2- или 3-байтовые маршруты.", "repeater_txDelay": "Задержка в работе системы Flood TX", "repeater_txDelayHelper": "Передача с увеличенным интервалом для трафика во время наводнения, в качестве коэффициента, умножающего время передачи пакета (от 0 до 2, по умолчанию 0,5). Более высокое значение означает меньшее количество столкновений, но более медленную передачу.", "repeater_directTxDelay": "Прямая задержка сигнала TX", diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 713c3976..1393d22b 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Pokročilé", "repeater_advancedSettingsSubtitle": "Ovládacie knopy pre skúsených operátorov", "repeater_pathHashMode": "Režim hashovania cesty", - "repeater_pathHashModeHelper": "Byty použité na zakódovanie ID tohto opakovača v tagoch pre trasu/detekciu slučky. 0 = 1 bytu (256 ID, až 64 skokov), 1 = 2 byty (65 000 ID, až 32 skokov), 2 = 3 byty (16 miliónov ID, až 21 skokov). Verzie 1.13 a staršie nepodporujú viacbytové trasy – fungujú len, keď je sieť aktivovaná.", + "repeater_pathHashModeHelper": "Bajty použité na zakódovanie ID tohto opakovača v tagoch flood trasy/detekcie slučky. 0=1 bajt (256 ID, až 64 skokov), 1=2 bajty (65 000 ID, až 32 skokov), 2=3 bajty (16 miliónov ID, až 21 skokov). Firmvér pred v1.14 vždy používal 1-bajtové trasy; v1.14 a novšie možno nakonfigurovať na 2- alebo 3-bajtové trasy.", "repeater_txDelay": "Zpoždanie v Flood, TX", "repeater_txDelayHelper": "Nastavenie pre opakované vysielanie pre dopravu počas povodní, ako násobok času, ktorý paket využije (0-2, výchoce hodnota 0,5). Vyššia hodnota znamená menej kolízii, ale pomalšie doručovanie.", "repeater_directTxDelay": "Priame oneskorenie TX", diff --git a/lib/l10n/app_sl.arb b/lib/l10n/app_sl.arb index 00930c85..e64fee4c 100644 --- a/lib/l10n/app_sl.arb +++ b/lib/l10n/app_sl.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Napredno", "repeater_advancedSettingsSubtitle": "Gumbi za nastavljanje za izkušene uporabnike", "repeater_pathHashMode": "Način ustvarjanja hash-a poti", - "repeater_pathHashModeHelper": "Biti, ki so bila uporabljena za kodiranje ID-ja tega releja v oznakah za zaznavanje pot/kroga, imajo naslednje velikosti: 0=1 bit (256 ID-jev, do 64 skokov), 1=2 biti (65.000 ID-jev, do 32 skokov), 2=3 biti (16 milijonov ID-jev, do 21 skokov). V različicah 1.13 in starejših se ustvarjajo večbitne poti – vendar se to zgodi šele, ko je omrežje vklopljeno v različicah 1.14 in kasnejših.", + "repeater_pathHashModeHelper": "Bajti, uporabljeni za kodiranje ID-ja tega repetitorja v oznakah flood poti/zaznavanja zank. 0=1 bajt (256 ID-jev, do 64 skokov), 1=2 bajta (65.000 ID-jev, do 32 skokov), 2=3 bajti (16 milijonov ID-jev, do 21 skokov). Vdelana programska oprema pred v1.14 je vedno uporabljala 1-bajtne poti; v1.14 in novejše je mogoče nastaviti na 2- ali 3-bajtne poti.", "repeater_txDelay": "Zatemnitevanje zaradi poplav v Texasu", "repeater_txDelayHelper": "Uporaba intervalov za ponovno pošiljanje v primeru prometa zaradi poplav, kot pomnožnik časovne trajanje paketa (0-2, privzeto 0,5). Veje vrednost = manjše kolizije, vendar počasnejše dostavo.", "repeater_directTxDelay": "Neposredni časovno odlašanje", diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index 00fd3b08..e8f1b230 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -1105,7 +1105,7 @@ "repeater_advancedSettings": "Avancerad", "repeater_advancedSettingsSubtitle": "Ställjusteringsknappar för erfarna användare", "repeater_pathHashMode": "Hash-läge för sökväg", - "repeater_pathHashModeHelper": "Byte används för att koda denna repeaters ID i taggar för att upptäcka loopar/flödesvägar. 0=1 byte (256 ID:n, upp till 64 hopp), 1=2 byte (65 000 ID:n, upp till 32 hopp), 2=3 byte (16 miljoner ID:n, upp till 21 hopp). Versioner 1.13 och äldre har stöd för multi-byte-vägar – endast en gång när nätverket är aktiverat (från och med version 1.14).", + "repeater_pathHashModeHelper": "Byte som används för att koda denna repeaters ID i taggar för flood-väg/loopdetektering. 0=1 byte (256 ID:n, upp till 64 hopp), 1=2 byte (65 000 ID:n, upp till 32 hopp), 2=3 byte (16 miljoner ID:n, upp till 21 hopp). Firmware före v1.14 använde alltid 1-byte-vägar; v1.14 och nyare kan konfigureras för 2- eller 3-byte-vägar.", "repeater_txDelay": "Försening i Flood TX", "repeater_txDelayHelper": "Återöverföringsintervall för trafik under perioder med hög belastning, som en multiplikator av paketets överföringstid (0-2, standard 0,5). Högre värde = färre kollisioner, men långsammare leverans.", "repeater_directTxDelay": "Direkt TX-fördröjning", diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 8330d364..10025137 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1115,7 +1115,7 @@ "repeater_advancedSettings": "Просунутий", "repeater_advancedSettingsSubtitle": "Регулювальні ручки для досвідчених операторів", "repeater_pathHashMode": "Режим хешування шляху", - "repeater_pathHashModeHelper": "Байти, що використовуються для кодування ідентифікатора цього ретранслятора в тегах для виявлення потоків/петлі. 0=1 байт (256 ідентифікаторів, до 64 перехідів), 1=2 байти (65 000 ідентифікаторів, до 32 перехідів), 2=3 байти (16 мільйонів ідентифікаторів, до 21 переходу). Версії 1.13 та старіші не підтримують багатобайтні шляхи — вони активуються лише після того, як мережа буде оновлена до версії 1.14+.", + "repeater_pathHashModeHelper": "Байти, що використовуються для кодування ідентифікатора цього ретранслятора в тегах flood-шляху/виявлення петель. 0=1 байт (256 ідентифікаторів, до 64 переходів), 1=2 байти (65 000 ідентифікаторів, до 32 переходів), 2=3 байти (16 мільйонів ідентифікаторів, до 21 переходу). Прошивки до v1.14 завжди використовували 1-байтові шляхи; v1.14 і новіші можна налаштувати на 2- або 3-байтові шляхи.", "repeater_txDelay": "Затримка у Flood, штат Техас", "repeater_txDelayHelper": "Повторне надсилання з урахуванням навантаження від потоків транспорту, як множник від часу передачі пакета (0-2, за замовчуванням 0,5). Чим вище значення, тим менше конфліктів, але повільніше передавання.", "repeater_directTxDelay": "Пряме затримка TX", diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 1e289315..d4743425 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1135,7 +1135,7 @@ "repeater_advancedSettings": "高级", "repeater_advancedSettingsSubtitle": "高级操作员使用的调节旋钮", "repeater_pathHashMode": "路径哈希模式", - "repeater_pathHashModeHelper": "用于编码此复用器的 ID 的字节数,在“洪流路径/环检测”标签中使用。 0=1 字节(256 个 ID,最多 64 个跳跃),1=2 字节(65K 个 ID,最多 32 个跳跃),2=3 字节(16M 个 ID,最多 21 个跳跃)。 v1.13 及更早版本的固件会使用多字节路径——只有在您的网络升级到 v1.14 或更高版本后才会生效。", + "repeater_pathHashModeHelper": "用于在洪泛路径/环路检测标签中编码此中继器 ID 的字节数。0=1 字节(256 个 ID,最多 64 跳),1=2 字节(65K 个 ID,最多 32 跳),2=3 字节(16M 个 ID,最多 21 跳)。v1.14 之前的固件始终使用 1 字节路径;v1.14 及更新版本可配置为 2 或 3 字节路径。", "repeater_txDelay": "洪水(德克萨斯州)延误", "repeater_txDelayHelper": "对于洪水流量,重新传输间隔应设置为包的传输时间(0-2,默认值为0.5)的倍数。 较高的值意味着更少的冲突,但传输速度会变慢。", "repeater_directTxDelay": "直接的 TX 延迟", diff --git a/lib/screens/channel_chat_screen.dart b/lib/screens/channel_chat_screen.dart index fcd50861..92903521 100644 --- a/lib/screens/channel_chat_screen.dart +++ b/lib/screens/channel_chat_screen.dart @@ -13,6 +13,7 @@ import '../helpers/chat_scroll_controller.dart'; import '../connector/meshcore_protocol.dart'; import '../helpers/cyr2lat.dart'; import '../helpers/gif_helper.dart'; +import '../helpers/path_helper.dart'; import '../helpers/reaction_helper.dart'; import '../helpers/snack_bar_builder.dart'; import '../l10n/l10n.dart'; @@ -422,6 +423,9 @@ class _ChannelChatScreenState extends State { : (message.pathVariants.isNotEmpty ? message.pathVariants.first : Uint8List(0)); + final displayPathHashWidth = + message.pathHashWidth ?? + context.read().pathHashByteWidth; const maxSwipeOffset = 64.0; const replySwipeThreshold = 64.0; @@ -608,7 +612,10 @@ class _ChannelChatScreenState extends State { : EdgeInsets.zero, child: Text( context.l10n.channels_via( - _formatPathPrefixes(displayPath), + _formatPathPrefixes( + displayPath, + displayPathHashWidth, + ), ), style: TextStyle( fontSize: 11, @@ -1432,10 +1439,11 @@ class _ChannelChatScreenState extends State { ); } - String _formatPathPrefixes(Uint8List pathBytes) { - return pathBytes - .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) - .join(','); + String _formatPathPrefixes(Uint8List pathBytes, int pathHashByteWidth) { + return PathHelper.splitPathBytes( + pathBytes, + pathHashByteWidth, + ).map(PathHelper.formatHopHex).join(','); } } From 91759f531a88ea1aa3f8c8bd7195a37fc2247f0e Mon Sep 17 00:00:00 2001 From: ericz Date: Mon, 18 May 2026 21:30:37 +0200 Subject: [PATCH 20/45] fix double entry due to mixed 1byte and 2byte paths --- lib/connector/meshcore_connector.dart | 113 ++++++++++++++++++++++++-- lib/widgets/snr_indicator.dart | 10 +++ 2 files changed, 116 insertions(+), 7 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index ed7d6f12..08cdd121 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -49,14 +49,16 @@ import 'meshcore_protocol.dart'; class DirectRepeater { static const int maxAgeMinutes = 30; // Max age for direct repeater info - final List pubkeyPrefix; - final int pathHashWidth; + List pubkeyPrefix; + int pathHashWidth; + String? contactKeyHex; double snr; DateTime lastUpdated; DirectRepeater({ required List pubkeyPrefix, required this.pathHashWidth, + this.contactKeyHex, required this.snr, DateTime? lastUpdated, }) : pubkeyPrefix = List.unmodifiable(pubkeyPrefix), @@ -79,8 +81,21 @@ class DirectRepeater { return listEquals(pubkeyPrefix, pathBytes.sublist(0, width)); } - void update(double newSNR) { + void update( + double newSNR, { + List? pubkeyPrefix, + int? pathHashWidth, + String? contactKeyHex, + }) { snr = newSNR; + if (pubkeyPrefix != null && + pubkeyPrefix.length >= this.pubkeyPrefix.length) { + this.pubkeyPrefix = List.unmodifiable(pubkeyPrefix); + } + if (pathHashWidth != null && pathHashWidth >= this.pathHashWidth) { + this.pathHashWidth = pathHashWidth; + } + this.contactKeyHex ??= contactKeyHex; lastUpdated = DateTime.now(); } @@ -6239,6 +6254,25 @@ class MeshCoreConnector extends ChangeNotifier { 0, math.min(hashWidth, contact.publicKey.length), ); + final contactKeyHex = _resolveDirectRepeaterContactKeyHex( + contact, + pubkeyPrefix, + path.isEmpty, + ); + final knownRepeaters = contactKeyHex == null + ? _directRepeaters + .where( + (r) => + r.contactKeyHex != null && + _contactKeyMatchesPrefix(r.contactKeyHex!, pubkeyPrefix), + ) + .toList() + : const []; + final knownRepeater = knownRepeaters.length == 1 + ? knownRepeaters.first + : null; + final effectiveContactKeyHex = + contactKeyHex ?? knownRepeater?.contactKeyHex; _directRepeaters.removeWhere((r) => r.isStale()); @@ -6249,9 +6283,25 @@ class MeshCoreConnector extends ChangeNotifier { return; } - final isTracked = _directRepeaters.where( - (r) => r.pathHashWidth == hashWidth && r.matchesPrefix(pubkeyPrefix), - ); + final isTracked = _directRepeaters.where((r) { + if (knownRepeater != null) { + return identical(r, knownRepeater); + } + if (effectiveContactKeyHex != null) { + return r.contactKeyHex == effectiveContactKeyHex || + (r.contactKeyHex == null && + _contactKeyMatchesPrefix( + effectiveContactKeyHex, + r.pubkeyPrefix, + )); + } + if (r.contactKeyHex == null && + r.pathHashWidth == hashWidth && + r.matchesPrefix(pubkeyPrefix)) { + return true; + } + return false; + }).toList(); final sortedRepeaters = List.from(_directRepeaters) ..sort((a, b) => b.snr.compareTo(a.snr)); @@ -6267,12 +6317,30 @@ class MeshCoreConnector extends ChangeNotifier { if (isTracked.isNotEmpty) { final repeater = isTracked.first; - repeater.update(snr); + repeater.update( + snr, + pubkeyPrefix: pubkeyPrefix, + pathHashWidth: hashWidth, + contactKeyHex: effectiveContactKeyHex, + ); + if (effectiveContactKeyHex != null) { + _directRepeaters.removeWhere( + (r) => + !identical(r, repeater) && + (r.contactKeyHex == effectiveContactKeyHex || + (r.contactKeyHex == null && + _contactKeyMatchesPrefix( + effectiveContactKeyHex, + r.pubkeyPrefix, + ))), + ); + } } else if (_directRepeaters.length < 5) { _directRepeaters.add( DirectRepeater( pubkeyPrefix: pubkeyPrefix, pathHashWidth: hashWidth, + contactKeyHex: effectiveContactKeyHex, snr: snr, ), ); @@ -6280,6 +6348,37 @@ class MeshCoreConnector extends ChangeNotifier { notifyListeners(); } + String? _resolveDirectRepeaterContactKeyHex( + Contact contact, + List pubkeyPrefix, + bool pathIsEmpty, + ) { + if (pathIsEmpty && + (contact.type == advTypeRepeater || contact.type == advTypeRoom)) { + return contact.publicKeyHex; + } + + final prefixMatches = allContacts + .where( + (c) => + (c.type == advTypeRepeater || c.type == advTypeRoom) && + _contactKeyMatchesPrefix(c.publicKeyHex, pubkeyPrefix), + ) + .toList(); + if (prefixMatches.length == 1) { + return prefixMatches.first.publicKeyHex; + } + + return null; + } + + bool _contactKeyMatchesPrefix(String contactKeyHex, List pubkeyPrefix) { + final prefixHex = pubkeyPrefix + .map((b) => b.toRadixString(16).padLeft(2, '0')) + .join(); + return contactKeyHex.startsWith(prefixHex); + } + void _handleAutoAddConfig(Uint8List frame) { final reader = BufferReader(frame); try { diff --git a/lib/widgets/snr_indicator.dart b/lib/widgets/snr_indicator.dart index 4850393f..ca8e55ce 100644 --- a/lib/widgets/snr_indicator.dart +++ b/lib/widgets/snr_indicator.dart @@ -12,9 +12,18 @@ import 'signal_ui.dart'; Contact? _getRepeaterPrefixMatchNearLocation( List contacts, List pubkeyPrefix, { + String? contactKeyHex, LatLng? searchPoint, bool preferFavorites = false, }) { + if (contactKeyHex != null) { + for (final c in contacts) { + if (c.publicKeyHex == contactKeyHex) { + return c; + } + } + } + final candidates = contacts .where( (c) => @@ -242,6 +251,7 @@ class _SNRIndicatorState extends State { final contact = _getRepeaterPrefixMatchNearLocation( allContacts, repeater.pubkeyPrefix, + contactKeyHex: repeater.contactKeyHex, searchPoint: selfPoint, preferFavorites: true, ); From 3f1bd54889f7a2c1d4370346570c32cdb7eb5541 Mon Sep 17 00:00:00 2001 From: ericz Date: Mon, 18 May 2026 22:49:56 +0200 Subject: [PATCH 21/45] fix wrong hop count in channel_message_path_screen observed path chooser. --- lib/screens/channel_message_path_screen.dart | 42 ++++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index df20f2b7..6001d39e 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -490,11 +490,17 @@ class _ChannelMessagePathMapScreenState ? Uint8List.fromList(selectedPathTmp.reversed.toList()) : selectedPathTmp; - final selectedIndex = _indexForPath(selectedPath, observedPaths); - final width = (widget.message.pathHashWidth ?? connector.pathHashByteWidth) - .clamp(1, 4) - .toInt(); - final hops = _buildPathHops(selectedPath, connector, context.l10n, width); + final width = + (widget.message.pathHashWidth ?? connector.pathHashByteWidth) + .clamp(1, 4) + .toInt(); + final selectedIndex = _indexForPath(selectedPathTmp, observedPaths); + final hops = _buildPathHops( + selectedPath, + connector, + context.l10n, + width, + ); final points = []; @@ -612,14 +618,18 @@ class _ChannelMessagePathMapScreenState bounds: bounds, ), if (observedPaths.length > 1) - _buildPathSelector(context, observedPaths, selectedIndex, ( - index, - ) { - setState(() { - _selectedPath = observedPaths[index].pathBytes; - _focusedHopIndex = null; - }); - }), + _buildPathSelector( + context, + observedPaths, + selectedIndex, + width, + (index) { + setState(() { + _selectedPath = observedPaths[index].pathBytes; + _focusedHopIndex = null; + }); + }, + ), if (points.isEmpty) Center( child: Card( @@ -645,13 +655,11 @@ class _ChannelMessagePathMapScreenState BuildContext context, List<_ObservedPath> paths, int selectedIndex, + int hashByteWidth, ValueChanged onSelected, ) { final l10n = context.l10n; - final width = context.read().pathHashByteWidth.clamp( - 1, - 4, - ); + final width = hashByteWidth.clamp(1, 4); final selectedPath = paths[selectedIndex]; final label = selectedPath.isPrimary ? l10n.channelPath_primaryPath(selectedIndex + 1) From 4a39a7cd462ed072f85d00b625671e82bdab2fee Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 19 May 2026 08:49:52 +0200 Subject: [PATCH 22/45] fix from copilot review + doc fix --- documentation/routing-paths.md | 7 ++++--- lib/helpers/path_helper.dart | 1 + lib/screens/channel_message_path_screen.dart | 10 ++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index 1db0eed2..9d5d93df 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -15,6 +15,7 @@ The device capability determines the hash width (number of bytes per hop): | 1 byte | 256 | Single-byte node IDs | | 2 bytes | 65,536 | Medium meshes | | 3 bytes | 16.7M | Large networks | +| 4 bytes | 4.3G | Very large meshes / future-proofing | ### Device Capability Detection @@ -25,11 +26,11 @@ On device connection, the app reads the firmware capability to set `pathHashByte final modeRaw = firmwareBytes.length >= 82 ? (firmwareBytes[81] & 0xFF) : 0; -final mode = modeRaw.clamp(0, 2); -_pathHashByteWidth = mode + 1; // 1, 2, or 3 bytes per hop +final mode = modeRaw.clamp(0, 3); +_pathHashByteWidth = mode + 1; // 1, 2, 3, or 4 bytes per hop ``` -The current implementation intentionally clamps to modes `0..2`, so the supported hop width is `1..3` bytes. Do not document 4-byte hops unless the connector implementation is widened first. +The connector reads a single-mode byte and clamps to `0..3`, so the supported hop width is `1..4` bytes. UI code also clamps widths when rendering (typically to `1..4`) so 4-byte hops are handled end-to-end in the current codebase. ### Path Data Structure diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index 3109de90..f8e8f124 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -38,6 +38,7 @@ class PathHelper { /// - 1: Single byte per hop (256 unique nodes) /// - 2: Two bytes per hop (65K unique nodes) /// - 3: Three bytes per hop (16M unique nodes) + /// - 4: Four bytes per hop (4.3G unique nodes) static String resolvePathNames( List pathBytes, List allContacts, diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index df20f2b7..c7fa4ee5 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -47,14 +47,12 @@ class ChannelMessagePathScreen extends StatelessWidget { final hops = _buildPathHops(primaryPath, connector, l10n, hashByteWidth); final hasHopDetails = primaryPath.isNotEmpty; - // Convert path byte length to hop count using the packet width. + // Convert observed path byte length to hop count using the packet width. // Legacy messages fall back to the current connector width. + // Reported path length (V3+) is already stored as a hop count; preserve + // the negative flood sentinel when present. final observedHopCount = _hopCountFromBytes(primaryPath.length, hashByteWidth); - final reportedHopCount = message.pathLength == null - ? null - : (message.pathLength! < 0 - ? message.pathLength - : _hopCountFromBytes(message.pathLength!, hashByteWidth)); + final reportedHopCount = message.pathLength; final effectiveHopCount = observedHopCount > 0 ? observedHopCount : reportedHopCount; From 27f7932db9c8e461168cf73b1b1bbfd24031dbd8 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 19 May 2026 08:52:44 +0200 Subject: [PATCH 23/45] fix import --- lib/helpers/path_helper.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index f8e8f124..3b7ae31b 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -1,5 +1,3 @@ -import 'dart:typed_data'; - import 'package:flutter/foundation.dart'; import '../models/contact.dart'; import '../connector/meshcore_protocol.dart'; From 01d4f002f8c004538d0475ff19b66ea1434627a3 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 19 May 2026 10:50:18 +0200 Subject: [PATCH 24/45] add unit tests --- lib/services/notification_service.dart | 4 +- test/models/model_changes_test.dart | 96 +++++++++++++++++++++++++- 2 files changed, 97 insertions(+), 3 deletions(-) diff --git a/lib/services/notification_service.dart b/lib/services/notification_service.dart index dce8398f..f685535b 100644 --- a/lib/services/notification_service.dart +++ b/lib/services/notification_service.dart @@ -28,8 +28,8 @@ class NotificationService { AppLocalizations get _l10n => lookupAppLocalizations(_locale); String _logSafe(String value) { - final sanitized = value.replaceAll(RegExp(r'[\x00-\x1F\x7F]'), ' '); - return Uri.encodeComponent(sanitized); + final sanitized = value.replaceAll(RegExp(r'[\x00-\x1F\x7F]'), ' '); + return Uri.encodeComponent(sanitized); } // Rate limiting to prevent notification storms diff --git a/test/models/model_changes_test.dart b/test/models/model_changes_test.dart index a80c7944..a7d1a659 100644 --- a/test/models/model_changes_test.dart +++ b/test/models/model_changes_test.dart @@ -1,10 +1,12 @@ +import 'dart:convert'; import 'dart:typed_data'; import 'package:flutter_test/flutter_test.dart'; +import 'package:meshcore_open/connector/meshcore_protocol.dart'; +import 'package:meshcore_open/models/channel_message.dart'; import 'package:meshcore_open/models/contact.dart'; import 'package:meshcore_open/models/path_history.dart'; import 'package:meshcore_open/models/app_settings.dart'; -import 'package:meshcore_open/connector/meshcore_protocol.dart'; // Builds a valid contact frame with the given pathLen and optional overrides. // Frame layout: [respCode(1)][pubKey(32)][type(1)][flags(1)][pathLen(1)][path(64)][name(32)][timestamp(4)][lat(4)][lon(4)] @@ -37,7 +39,99 @@ Uint8List _buildContactFrame({ return Uint8List.fromList(writer.toBytes()); } +Uint8List _buildChannelMessageFrameV3({ + required int pathHashWidth, + required int hopCount, + required bool hasPath, + int channelIndex = 7, + String senderName = 'Alice', + String text = 'Hello world', + int txtType = txtTypePlain, +}) { + final writer = BytesBuilder(); + writer.addByte(respCodeChannelMsgRecvV3); + writer.addByte(0x10); + writer.addByte(hasPath ? 0x01 : 0x00); + writer.addByte(0x00); + writer.addByte(channelIndex); + writer.addByte(((pathHashWidth - 1) << 6) | hopCount); + + if (hasPath && hopCount > 0) { + writer.add( + Uint8List.fromList( + List.generate(hopCount * pathHashWidth, (i) => i + 1), + ), + ); + } + + writer.addByte(txtType); + writer.add(Uint8List.fromList([0x01, 0x00, 0x00, 0x00])); + writer.add(utf8.encode('$senderName: $text')); + writer.addByte(0x00); + + return Uint8List.fromList(writer.toBytes()); +} + void main() { + group('ChannelMessage.fromFrame — V3 packed path decoding', () { + test('hasPath reads width, hop count, path bytes, and txtType correctly', + () { + final frame = _buildChannelMessageFrameV3( + pathHashWidth: 2, + hopCount: 3, + hasPath: true, + ); + + final message = ChannelMessage.fromFrame(frame); + + expect(message, isNotNull); + expect(message!.pathHashWidth, equals(2)); + expect(message.pathLength, equals(3)); + expect(message.pathBytes.length, equals(6)); + expect(message.senderName, equals('Alice')); + expect(message.text, equals('Hello world')); + }); + + test('no path still reads width, hop count, and txtType correctly', () { + final frame = _buildChannelMessageFrameV3( + pathHashWidth: 4, + hopCount: 5, + hasPath: false, + ); + + final message = ChannelMessage.fromFrame(frame); + + expect(message, isNotNull); + expect(message!.pathHashWidth, equals(4)); + expect(message.pathLength, equals(5)); + expect(message.pathBytes, isEmpty); + expect(message.senderName, equals('Alice')); + expect(message.text, equals('Hello world')); + }); + + test('non-plain txtType with path -> returns null', () { + final frame = _buildChannelMessageFrameV3( + pathHashWidth: 2, + hopCount: 2, + hasPath: true, + txtType: txtTypeCliData, + ); + final message = ChannelMessage.fromFrame(frame); + expect(message, isNull); + }); + + test('non-plain txtType without path -> returns null', () { + final frame = _buildChannelMessageFrameV3( + pathHashWidth: 2, + hopCount: 2, + hasPath: false, + txtType: txtTypeCliData, + ); + final message = ChannelMessage.fromFrame(frame); + expect(message, isNull); + }); + }); + group('Contact.fromFrame — pathLen mapping', () { test('pathLen == 0 → pathLength == 0 (direct, NOT flood)', () { final frame = _buildContactFrame(pathLen: 0); From 945a11885398d795f18722f6af112705bbadb155 Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 20 May 2026 08:50:17 +0200 Subject: [PATCH 25/45] expose mode 3 in UI --- lib/connector/meshcore_connector.dart | 2 +- lib/connector/meshcore_protocol.dart | 4 +- lib/l10n/app_en.arb | 4 + lib/l10n/app_localizations.dart | 24 +++++ lib/l10n/app_localizations_bg.dart | 12 +++ lib/l10n/app_localizations_de.dart | 12 +++ lib/l10n/app_localizations_en.dart | 12 +++ lib/l10n/app_localizations_es.dart | 12 +++ lib/l10n/app_localizations_fr.dart | 12 +++ lib/l10n/app_localizations_hu.dart | 12 +++ lib/l10n/app_localizations_it.dart | 12 +++ lib/l10n/app_localizations_ja.dart | 12 +++ lib/l10n/app_localizations_ko.dart | 12 +++ lib/l10n/app_localizations_nl.dart | 12 +++ lib/l10n/app_localizations_pl.dart | 12 +++ lib/l10n/app_localizations_pt.dart | 12 +++ lib/l10n/app_localizations_ru.dart | 12 +++ lib/l10n/app_localizations_sk.dart | 12 +++ lib/l10n/app_localizations_sl.dart | 12 +++ lib/l10n/app_localizations_sv.dart | 12 +++ lib/l10n/app_localizations_uk.dart | 12 +++ lib/l10n/app_localizations_zh.dart | 12 +++ lib/screens/settings_screen.dart | 3 +- untranslated.json | 121 +++++++++++++++++++++++++- 24 files changed, 369 insertions(+), 5 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 08cdd121..6f36c854 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2588,7 +2588,7 @@ class MeshCoreConnector extends ChangeNotifier { Future setPathHashMode(int mode) async { if (!isConnected) return; - final clampedMode = mode.clamp(0, 2).toInt(); + final clampedMode = mode.clamp(0, 3).toInt(); await sendFrame(buildSetPathHashModeFrame(clampedMode)); final nextWidth = clampedMode + 1; if (_pathHashByteWidth != nextWidth) { diff --git a/lib/connector/meshcore_protocol.dart b/lib/connector/meshcore_protocol.dart index f55e9687..c271e31e 100644 --- a/lib/connector/meshcore_protocol.dart +++ b/lib/connector/meshcore_protocol.dart @@ -566,9 +566,9 @@ Uint8List buildGetStatsFrame(int statsType) { return Uint8List.fromList([cmdGetStats, statsType & 0xFF]); } -/// Path hash width on air: [61][0][mode], mode 0..2 → (mode+1) bytes per hop hash. +/// Path hash width on air: [61][0][mode], mode 0..3 → (mode+1) bytes per hop hash. Uint8List buildSetPathHashModeFrame(int mode) { - final m = mode.clamp(0, 2); + final m = mode.clamp(0, 3).toInt(); return Uint8List.fromList([cmdSetPathHashMode, 0, m]); } diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index c030fa41..e9a56cfa 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -262,6 +262,10 @@ "appSettings_languageBg": "Български", "appSettings_languageRu": "Русский", "appSettings_languageUk": "Українська", + "repeater_pathHashModeOption0": "0 - 1 byte", + "repeater_pathHashModeOption1": "1 - 2 bytes", + "repeater_pathHashModeOption2": "2 - 3 bytes", + "repeater_pathHashModeOption3": "3 - 4 bytes", "appSettings_enableMessageTracing": "Enable Message Tracing", "appSettings_enableMessageTracingSubtitle": "Show detailed routing and timing metadata for messages", "appSettings_notifications": "Notifications", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 93fb9181..c4c69237 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -1324,6 +1324,30 @@ abstract class AppLocalizations { /// **'Українська'** String get appSettings_languageUk; + /// No description provided for @repeater_pathHashModeOption0. + /// + /// In en, this message translates to: + /// **'0 - 1 byte'** + String get repeater_pathHashModeOption0; + + /// No description provided for @repeater_pathHashModeOption1. + /// + /// In en, this message translates to: + /// **'1 - 2 bytes'** + String get repeater_pathHashModeOption1; + + /// No description provided for @repeater_pathHashModeOption2. + /// + /// In en, this message translates to: + /// **'2 - 3 bytes'** + String get repeater_pathHashModeOption2; + + /// No description provided for @repeater_pathHashModeOption3. + /// + /// In en, this message translates to: + /// **'3 - 4 bytes'** + String get repeater_pathHashModeOption3; + /// No description provided for @appSettings_enableMessageTracing. /// /// In en, this message translates to: diff --git a/lib/l10n/app_localizations_bg.dart b/lib/l10n/app_localizations_bg.dart index 544fdbe8..aeb059f3 100644 --- a/lib/l10n/app_localizations_bg.dart +++ b/lib/l10n/app_localizations_bg.dart @@ -666,6 +666,18 @@ class AppLocalizationsBg extends AppLocalizations { @override String get appSettings_languageUk => 'Украински'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Разрешаване на проследяване на съобщения'; diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index a504e5ba..88ad3dde 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -661,6 +661,18 @@ class AppLocalizationsDe extends AppLocalizations { @override String get appSettings_languageUk => 'Ukrainisch'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Nachrichtenverfolgung aktivieren'; diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 7cf14fe3..4338f35a 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -651,6 +651,18 @@ class AppLocalizationsEn extends AppLocalizations { @override String get appSettings_languageUk => 'Українська'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Enable Message Tracing'; diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index bbfed65c..6fd8f0f5 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -662,6 +662,18 @@ class AppLocalizationsEs extends AppLocalizations { @override String get appSettings_languageUk => 'Ucraniano'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Habilitar seguimiento de mensajes'; diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index e1223cf3..54c80d7e 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -666,6 +666,18 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_languageUk => 'Ukrainien'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Activer le traçage des messages'; diff --git a/lib/l10n/app_localizations_hu.dart b/lib/l10n/app_localizations_hu.dart index b7b5cf28..5709f65e 100644 --- a/lib/l10n/app_localizations_hu.dart +++ b/lib/l10n/app_localizations_hu.dart @@ -666,6 +666,18 @@ class AppLocalizationsHu extends AppLocalizations { @override String get appSettings_languageUk => 'Украинский'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Engedje meg a üzenetek nyomon követését'; diff --git a/lib/l10n/app_localizations_it.dart b/lib/l10n/app_localizations_it.dart index 4bc50054..766a5a9c 100644 --- a/lib/l10n/app_localizations_it.dart +++ b/lib/l10n/app_localizations_it.dart @@ -664,6 +664,18 @@ class AppLocalizationsIt extends AppLocalizations { @override String get appSettings_languageUk => 'Ucraino'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Abilita tracciamento messaggi'; diff --git a/lib/l10n/app_localizations_ja.dart b/lib/l10n/app_localizations_ja.dart index 60bf4ed0..ef66185f 100644 --- a/lib/l10n/app_localizations_ja.dart +++ b/lib/l10n/app_localizations_ja.dart @@ -637,6 +637,18 @@ class AppLocalizationsJa extends AppLocalizations { @override String get appSettings_languageUk => 'ウクライナ語'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'メッセージ追跡機能を有効にする'; diff --git a/lib/l10n/app_localizations_ko.dart b/lib/l10n/app_localizations_ko.dart index 954b1470..e8ffd898 100644 --- a/lib/l10n/app_localizations_ko.dart +++ b/lib/l10n/app_localizations_ko.dart @@ -637,6 +637,18 @@ class AppLocalizationsKo extends AppLocalizations { @override String get appSettings_languageUk => '우크라이나'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => '메시지 추적 기능 활성화'; diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index 76bd03b2..0996cff3 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -658,6 +658,18 @@ class AppLocalizationsNl extends AppLocalizations { @override String get appSettings_languageUk => 'Oekraïens'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Berichttracking inschakelen'; diff --git a/lib/l10n/app_localizations_pl.dart b/lib/l10n/app_localizations_pl.dart index 225d0aee..d0af0520 100644 --- a/lib/l10n/app_localizations_pl.dart +++ b/lib/l10n/app_localizations_pl.dart @@ -667,6 +667,18 @@ class AppLocalizationsPl extends AppLocalizations { @override String get appSettings_languageUk => 'Ukraińska'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Włącz śledzenie wiadomości'; diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index 9084607b..14287616 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -664,6 +664,18 @@ class AppLocalizationsPt extends AppLocalizations { @override String get appSettings_languageUk => 'Ucraniano'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Ativar rastreamento de mensagens'; diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index bf3f7453..3643e25e 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -664,6 +664,18 @@ class AppLocalizationsRu extends AppLocalizations { @override String get appSettings_languageUk => 'Українська'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Включить трассировку сообщений'; diff --git a/lib/l10n/app_localizations_sk.dart b/lib/l10n/app_localizations_sk.dart index 16cc82b3..34f31aff 100644 --- a/lib/l10n/app_localizations_sk.dart +++ b/lib/l10n/app_localizations_sk.dart @@ -658,6 +658,18 @@ class AppLocalizationsSk extends AppLocalizations { @override String get appSettings_languageUk => 'Ukrajinská'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Povoliť sledovanie správ'; diff --git a/lib/l10n/app_localizations_sl.dart b/lib/l10n/app_localizations_sl.dart index d39d11a5..c5668980 100644 --- a/lib/l10n/app_localizations_sl.dart +++ b/lib/l10n/app_localizations_sl.dart @@ -655,6 +655,18 @@ class AppLocalizationsSl extends AppLocalizations { @override String get appSettings_languageUk => 'Ukrajinsko'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Omogoči sledenje sporočilom'; diff --git a/lib/l10n/app_localizations_sv.dart b/lib/l10n/app_localizations_sv.dart index 2e20e2f7..071ebb8c 100644 --- a/lib/l10n/app_localizations_sv.dart +++ b/lib/l10n/app_localizations_sv.dart @@ -653,6 +653,18 @@ class AppLocalizationsSv extends AppLocalizations { @override String get appSettings_languageUk => 'Ukrainska'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Aktivera meddelandespårning'; diff --git a/lib/l10n/app_localizations_uk.dart b/lib/l10n/app_localizations_uk.dart index ee6a7d52..469dc67d 100644 --- a/lib/l10n/app_localizations_uk.dart +++ b/lib/l10n/app_localizations_uk.dart @@ -661,6 +661,18 @@ class AppLocalizationsUk extends AppLocalizations { @override String get appSettings_languageUk => 'Українська'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => 'Увімкнути відстеження повідомлень'; diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index 37ee452f..c399bb6c 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -628,6 +628,18 @@ class AppLocalizationsZh extends AppLocalizations { @override String get appSettings_languageUk => '乌克兰语'; + @override + String get repeater_pathHashModeOption0 => '0 - 1 byte'; + + @override + String get repeater_pathHashModeOption1 => '1 - 2 bytes'; + + @override + String get repeater_pathHashModeOption2 => '2 - 3 bytes'; + + @override + String get repeater_pathHashModeOption3 => '3 - 4 bytes'; + @override String get appSettings_enableMessageTracing => '启用消息追踪'; diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 3dd8c812..04086126 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -563,7 +563,7 @@ class _SettingsScreenState extends State { void _editPathHashMode(BuildContext context, MeshCoreConnector connector) { final l10n = context.l10n; - var selectedMode = (connector.pathHashByteWidth - 1).clamp(0, 2).toInt(); + var selectedMode = (connector.pathHashByteWidth - 1).clamp(0, 3).toInt(); showDialog( context: context, @@ -584,6 +584,7 @@ class _SettingsScreenState extends State { DropdownMenuItem(value: 0, child: Text('0 - 1 byte')), DropdownMenuItem(value: 1, child: Text('1 - 2 bytes')), DropdownMenuItem(value: 2, child: Text('2 - 3 bytes')), + DropdownMenuItem(value: 3, child: Text('3 - 4 bytes')), ], onChanged: (value) { if (value == null) return; diff --git a/untranslated.json b/untranslated.json index 9e26dfee..dd0a7e15 100644 --- a/untranslated.json +++ b/untranslated.json @@ -1 +1,120 @@ -{} \ No newline at end of file +{ + "bg": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "de": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "es": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "fr": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "hu": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "it": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "ja": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "ko": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "nl": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "pl": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "pt": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "ru": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "sk": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "sl": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "sv": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "uk": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "zh": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ] +} From 5486ae8ccb8406810f22f98c094cb099d875febe Mon Sep 17 00:00:00 2001 From: PacoX Date: Sat, 23 May 2026 13:32:11 +0200 Subject: [PATCH 26/45] fix multibyte path in private message and repeter --- lib/connector/meshcore_connector.dart | 18 ++++- lib/models/contact.dart | 16 +++- lib/storage/contact_store.dart | 33 +++++++- lib/storage/message_store.dart | 35 +++++++- test/models/model_changes_test.dart | 112 ++++++++++++++++++++++++-- 5 files changed, 195 insertions(+), 19 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 6f36c854..b83a6ba0 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2797,11 +2797,15 @@ class MeshCoreConnector extends ChangeNotifier { try { if (!isConnected) return; + final mode = _pathHashByteWidth - 1; + final encodedPathLen = (pathLen >= 0 && pathLen != 0xFF) + ? (pathLen | (mode << 6)) + : pathLen; await sendFrame( buildUpdateContactPathFrame( contact.publicKey, customPath, - pathLen, + encodedPathLen, type: contact.type, flags: contact.flags, name: contact.name, @@ -2858,11 +2862,15 @@ class MeshCoreConnector extends ChangeNotifier { : (updatedFlags & ~contactFlagTeleEnv)) : updatedFlags; + final mode = _pathHashByteWidth - 1; + final encodedPathLen = (latestContact.pathLength >= 0 && latestContact.pathLength != 0xFF) + ? (latestContact.pathLength | (mode << 6)) + : latestContact.pathLength; await sendFrame( buildUpdateContactPathFrame( latestContact.publicKey, latestContact.path, - latestContact.pathLength, + encodedPathLen, type: latestContact.type, flags: updatedFlags, name: latestContact.name, @@ -3198,11 +3206,15 @@ class MeshCoreConnector extends ChangeNotifier { Future importDiscoveredContact(Contact contact) async { if (!isConnected) return; + final mode = _pathHashByteWidth - 1; + final encodedPathLen = (contact.pathLength >= 0 && contact.pathLength != 0xFF) + ? (contact.pathLength | (mode << 6)) + : contact.pathLength; await sendFrame( buildUpdateContactPathFrame( contact.publicKey, contact.path, - contact.pathLength, + encodedPathLen, type: contact.type, flags: contact.flags, name: contact.name, diff --git a/lib/models/contact.dart b/lib/models/contact.dart index a5808ed3..d727210c 100644 --- a/lib/models/contact.dart +++ b/lib/models/contact.dart @@ -166,8 +166,18 @@ class Contact { final type = reader.readByte(); final flags = reader.readByte(); final pathLen = reader.readByte(); - final safePathLen = pathLen > 0 - ? (pathLen > maxPathSize ? maxPathSize : pathLen) + int hopCount = 0; + int byteLen = 0; + if (pathLen == 0xFF) { + hopCount = -1; + } else { + final mode = (pathLen & 0xC0) >> 6; + hopCount = pathLen & 0x3F; + final width = mode + 1; + byteLen = hopCount * width; + } + final safePathLen = byteLen > 0 + ? (byteLen > maxPathSize ? maxPathSize : byteLen) : 0; final pathBytes = reader.readBytes(maxPathSize).sublist(0, safePathLen); final name = reader.readCStringGreedy(maxNameSize); @@ -213,7 +223,7 @@ class Contact { name: name.isEmpty ? 'Unknown' : name, type: type, flags: flags, - pathLength: (pathLen == 0xFF || pathLen > maxPathSize) ? -1 : pathLen, + pathLength: hopCount, path: pathBytes, latitude: lat, longitude: lon, diff --git a/lib/storage/contact_store.dart b/lib/storage/contact_store.dart index 7883d885..fa4152d2 100644 --- a/lib/storage/contact_store.dart +++ b/lib/storage/contact_store.dart @@ -88,15 +88,40 @@ class ContactStore { final lastSeenMs = json['lastSeen'] as int? ?? 0; final lastMessageMs = json['lastMessageAt'] as int?; final lastModifiedMs = json['lastModified'] as int?; + + final rawPathLength = json['pathLength'] as int? ?? -1; + final rawPath = json['path'] != null + ? Uint8List.fromList(base64Decode(json['path'] as String)) + : Uint8List(0); + + int decodedPathLength = rawPathLength; + Uint8List decodedPath = rawPath; + + if (rawPathLength == 0xFF || rawPathLength < 0) { + decodedPathLength = -1; + decodedPath = Uint8List(0); + } else if (rawPathLength >= 64) { + final mode = (rawPathLength & 0xC0) >> 6; + final hopCount = rawPathLength & 0x3F; + final width = mode + 1; + final byteLen = hopCount * width; + decodedPathLength = hopCount; + if (byteLen <= rawPath.length) { + decodedPath = rawPath.sublist(0, byteLen); + } else { + decodedPath = Uint8List(0); + } + } else if (rawPathLength == 0) { + decodedPath = Uint8List(0); + } + return Contact( publicKey: Uint8List.fromList(base64Decode(json['publicKey'] as String)), name: json['name'] as String? ?? 'Unknown', type: json['type'] as int? ?? 0, flags: json['flags'] as int? ?? 0, - pathLength: json['pathLength'] as int? ?? -1, - path: json['path'] != null - ? Uint8List.fromList(base64Decode(json['path'] as String)) - : Uint8List(0), + pathLength: decodedPathLength, + path: decodedPath, pathOverride: json['pathOverride'] as int?, pathOverrideBytes: json['pathOverrideBytes'] != null ? Uint8List.fromList( diff --git a/lib/storage/message_store.dart b/lib/storage/message_store.dart index 3d237681..96aaba9c 100644 --- a/lib/storage/message_store.dart +++ b/lib/storage/message_store.dart @@ -113,6 +113,35 @@ class MessageStore { final decodedText = isCli ? rawText : (Smaz.tryDecodePrefixed(rawText) ?? rawText); + + final rawPathLength = json['pathLength'] as int?; + final rawPathBytes = json['pathBytes'] != null + ? Uint8List.fromList(base64Decode(json['pathBytes'] as String)) + : Uint8List(0); + + int? decodedPathLength = rawPathLength; + Uint8List decodedPathBytes = rawPathBytes; + + if (rawPathLength != null) { + if (rawPathLength == 0xFF || rawPathLength < 0) { + decodedPathLength = -1; + decodedPathBytes = Uint8List(0); + } else if (rawPathLength >= 64) { + final mode = (rawPathLength & 0xC0) >> 6; + final hopCount = rawPathLength & 0x3F; + final width = mode + 1; + final byteLen = hopCount * width; + decodedPathLength = hopCount; + if (byteLen <= rawPathBytes.length) { + decodedPathBytes = rawPathBytes.sublist(0, byteLen); + } else { + decodedPathBytes = Uint8List(0); + } + } else if (rawPathLength == 0) { + decodedPathBytes = Uint8List(0); + } + } + return Message( senderKey: Uint8List.fromList(base64Decode(json['senderKey'] as String)), text: decodedText, @@ -138,10 +167,8 @@ class MessageStore { ? DateTime.fromMillisecondsSinceEpoch(json['deliveredAt'] as int) : null, tripTimeMs: json['tripTimeMs'] as int?, - pathLength: json['pathLength'] as int?, - pathBytes: json['pathBytes'] != null - ? Uint8List.fromList(base64Decode(json['pathBytes'] as String)) - : Uint8List(0), + pathLength: decodedPathLength, + pathBytes: decodedPathBytes, reactions: (json['reactions'] as Map?)?.map( (key, value) => MapEntry(key, value as int), diff --git a/test/models/model_changes_test.dart b/test/models/model_changes_test.dart index a7d1a659..cc14187a 100644 --- a/test/models/model_changes_test.dart +++ b/test/models/model_changes_test.dart @@ -2,11 +2,16 @@ import 'dart:convert'; import 'dart:typed_data'; import 'package:flutter_test/flutter_test.dart'; +import 'package:shared_preferences/shared_preferences.dart'; import 'package:meshcore_open/connector/meshcore_protocol.dart'; import 'package:meshcore_open/models/channel_message.dart'; import 'package:meshcore_open/models/contact.dart'; +import 'package:meshcore_open/models/message.dart'; import 'package:meshcore_open/models/path_history.dart'; import 'package:meshcore_open/models/app_settings.dart'; +import 'package:meshcore_open/storage/prefs_manager.dart'; +import 'package:meshcore_open/storage/contact_store.dart'; +import 'package:meshcore_open/storage/message_store.dart'; // Builds a valid contact frame with the given pathLen and optional overrides. // Frame layout: [respCode(1)][pubKey(32)][type(1)][flags(1)][pathLen(1)][path(64)][name(32)][timestamp(4)][lat(4)][lon(4)] @@ -147,11 +152,11 @@ void main() { expect(contact!.pathLength, equals(1)); }); - test('pathLen == 64 (maxPathSize) → pathLength == 64', () { - final frame = _buildContactFrame(pathLen: maxPathSize); + test('pathLen == 64 (mode 1, 0 hops) → pathLength == 0', () { + final frame = _buildContactFrame(pathLen: 64); final contact = Contact.fromFrame(frame); expect(contact, isNotNull); - expect(contact!.pathLength, equals(maxPathSize)); + expect(contact!.pathLength, equals(0)); }); test('pathLen == 0xFF → pathLength == -1 (flood)', () { @@ -161,11 +166,18 @@ void main() { expect(contact!.pathLength, equals(-1)); }); - test('pathLen == 65 (over maxPathSize) → pathLength == -1 (flood)', () { + test('pathLen == 65 (mode 1, 1 hop) → pathLength == 1', () { final frame = _buildContactFrame(pathLen: 65); final contact = Contact.fromFrame(frame); expect(contact, isNotNull); - expect(contact!.pathLength, equals(-1)); + expect(contact!.pathLength, equals(1)); + }); + + test('pathLen == 129 (mode 2, 1 hop) → pathLength == 1', () { + final frame = _buildContactFrame(pathLen: 129); + final contact = Contact.fromFrame(frame); + expect(contact, isNotNull); + expect(contact!.pathLength, equals(1)); }); }); @@ -452,4 +464,94 @@ void main() { expect(updated.maxRouteWeight, equals(settings.maxRouteWeight)); }); }); + + group('Storage migration — multi-byte paths compatibility', () { + setUp(() async { + SharedPreferences.setMockInitialValues({}); + await PrefsManager.initialize(); + }); + + test('ContactStore decodes and migrates legacy mode-encoded paths', () async { + final store = ContactStore()..publicKeyHex = '1234567890'; + + // Let's create a contact with legacy 64 path length (mode 1, 0 hops) + final rawPath = Uint8List(64); // 64 bytes of zeroes + final contactJson = [ + { + 'publicKey': base64Encode(Uint8List(32)..[0] = 0xAA), + 'name': 'LegacyNode', + 'type': 2, + 'flags': 0, + 'pathLength': 64, // encoded pathLength (mode 1, 0 hops) + 'path': base64Encode(rawPath), + 'lastSeen': DateTime.now().millisecondsSinceEpoch, + 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, + 'isActive': true, + } + ]; + + final prefs = PrefsManager.instance; + await prefs.setString(store.keyFor, jsonEncode(contactJson)); + + final contacts = await store.loadContacts(); + expect(contacts, hasLength(1)); + expect(contacts.first.pathLength, equals(0)); + expect(contacts.first.path, isEmpty); + }); + + test('ContactStore decodes and migrates legacy mode-1 paths with hops', () async { + final store = ContactStore()..publicKeyHex = '1234567890'; + + // Contact with legacy 65 path length (mode 1, 1 hop) + final rawPath = Uint8List(64)..[0] = 0xBB..[1] = 0xCC; + final contactJson = [ + { + 'publicKey': base64Encode(Uint8List(32)..[0] = 0xAA), + 'name': 'LegacyNode2', + 'type': 2, + 'flags': 0, + 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) + 'path': base64Encode(rawPath), + 'lastSeen': DateTime.now().millisecondsSinceEpoch, + 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, + 'isActive': true, + } + ]; + + final prefs = PrefsManager.instance; + await prefs.setString(store.keyFor, jsonEncode(contactJson)); + + final contacts = await store.loadContacts(); + expect(contacts, hasLength(1)); + expect(contacts.first.pathLength, equals(1)); + expect(contacts.first.path, equals(Uint8List.fromList([0xBB, 0xCC]))); + }); + + test('MessageStore decodes and migrates legacy mode-encoded message paths', () async { + final store = MessageStore()..publicKeyHex = '1234567890'; + final contactKeyHex = pubKeyToHex(Uint8List(32)..[0] = 0xAA); + + final rawPath = Uint8List(64); + final messageJson = [ + { + 'senderKey': base64Encode(Uint8List(32)..[0] = 0xAA), + 'text': 'Hello', + 'timestamp': DateTime.now().millisecondsSinceEpoch, + 'isOutgoing': false, + 'status': 2, // delivered + 'messageId': 'msg_1', + 'pathLength': 64, // encoded pathLength (mode 1, 0 hops) + 'pathBytes': base64Encode(rawPath), + } + ]; + + final prefs = PrefsManager.instance; + await prefs.setString('${store.keyFor}$contactKeyHex', jsonEncode(messageJson)); + + final messages = await store.loadMessages(contactKeyHex); + expect(messages, hasLength(1)); + expect(messages.first.pathLength, equals(0)); + expect(messages.first.pathBytes, isEmpty); + }); + }); } From 9b99eadcf77fca4deecc481cbc6b402e8b050a18 Mon Sep 17 00:00:00 2001 From: ericz Date: Sat, 23 May 2026 23:28:01 +0200 Subject: [PATCH 27/45] forgot the bytewise reverse of the outgoing path --- lib/screens/channel_message_path_screen.dart | 67 ++++++++++++++------ 1 file changed, 47 insertions(+), 20 deletions(-) diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index afd2c028..238c1802 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -38,24 +38,33 @@ class ChannelMessagePathScreen extends StatelessWidget { message.pathVariants, ); + final hashByteWidth = + (message.pathHashWidth ?? connector.pathHashByteWidth) + .clamp(1, 4) + .toInt(); final primaryPath = !channelMessage && !message.isOutgoing - ? Uint8List.fromList(primaryPathTmp.reversed.toList()) + ? _reversePathByHop(primaryPathTmp, hashByteWidth) : primaryPathTmp; - final hashByteWidth = (message.pathHashWidth ?? connector.pathHashByteWidth) - .clamp(1, 4) - .toInt(); - final hops = _buildPathHops(primaryPath, connector, l10n, hashByteWidth); + final hops = _buildPathHops( + primaryPath, + connector, + l10n, + hashByteWidth, + ); final hasHopDetails = primaryPath.isNotEmpty; // Convert observed path byte length to hop count using the packet width. // Legacy messages fall back to the current connector width. // Reported path length (V3+) is already stored as a hop count; preserve // the negative flood sentinel when present. - final observedHopCount = _hopCountFromBytes(primaryPath.length, hashByteWidth); + final observedHopCount = _hopCountFromBytes( + primaryPath.length, + hashByteWidth, + ); final reportedHopCount = message.pathLength; final effectiveHopCount = observedHopCount > 0 - ? observedHopCount - : reportedHopCount; + ? observedHopCount + : reportedHopCount; final observedLabel = _formatObservedHops( observedHopCount, @@ -226,7 +235,7 @@ class ChannelMessagePathScreen extends StatelessWidget { subtitle: Text( hop.hasLocation ? '${hop.position!.latitude.toStringAsFixed(5)}, ' - '${hop.position!.longitude.toStringAsFixed(5)}' + '${hop.position!.longitude.toStringAsFixed(5)}' : l10n.channelPath_noLocationData, ), ), @@ -482,16 +491,15 @@ class _ChannelMessagePathMapScreenState primaryPath, ); - final selectedPath = - ((!widget.message.isOutgoing && !widget.channelMessage) || - (widget.message.isOutgoing && widget.channelMessage)) - ? Uint8List.fromList(selectedPathTmp.reversed.toList()) - : selectedPathTmp; - final width = (widget.message.pathHashWidth ?? connector.pathHashByteWidth) .clamp(1, 4) .toInt(); + final selectedPath = + ((!widget.message.isOutgoing && !widget.channelMessage) || + (widget.message.isOutgoing && widget.channelMessage)) + ? _reversePathByHop(selectedPathTmp, width) + : selectedPathTmp; final selectedIndex = _indexForPath(selectedPathTmp, observedPaths); final hops = _buildPathHops( selectedPath, @@ -941,7 +949,10 @@ class _PathHop { String get displayLabel { final prefixLabel = hopBytes != null && hopBytes!.isNotEmpty - ? hopBytes!.map((b) => b.toRadixString(16).padLeft(2, '0')).join('').toUpperCase() + ? hopBytes! + .map((b) => b.toRadixString(16).padLeft(2, '0')) + .join('') + .toUpperCase() : _formatPrefix(prefix); return '($prefixLabel) ${_resolveName(contact, l10n)}'; } @@ -1070,9 +1081,21 @@ String _formatPrefix(int prefix) { } String _formatPathPrefixes(Uint8List pathBytes, int hashByteWidth) { - return PathHelper.splitPathBytes(pathBytes, hashByteWidth) - .map(PathHelper.formatHopHex) - .join(','); + return PathHelper.splitPathBytes( + pathBytes, + hashByteWidth, + ).map(PathHelper.formatHopHex).join(','); +} + +Uint8List _reversePathByHop(Uint8List pathBytes, int hashByteWidth) { + final hops = PathHelper.splitPathBytes(pathBytes, hashByteWidth); + if (hops.length <= 1) return Uint8List.fromList(pathBytes); + + final reversedBytes = []; + for (final hop in hops.reversed) { + reversedBytes.addAll(hop); + } + return Uint8List.fromList(reversedBytes); } int _hopCountFromBytes(int byteCount, int hashByteWidth) { @@ -1081,7 +1104,11 @@ int _hopCountFromBytes(int byteCount, int hashByteWidth) { return (byteCount + width - 1) ~/ width; } -String _formatHopCount(int byteCount, int hashByteWidth, AppLocalizations l10n) { +String _formatHopCount( + int byteCount, + int hashByteWidth, + AppLocalizations l10n, +) { return l10n.chat_hopsCount(_hopCountFromBytes(byteCount, hashByteWidth)); } From acbe4dcc490c5fba0499c3747ce8e68fde878f10 Mon Sep 17 00:00:00 2001 From: ericz Date: Sun, 24 May 2026 10:04:44 +0200 Subject: [PATCH 28/45] remove inversal for outgoing path --- lib/screens/channel_message_path_screen.dart | 28 +++----------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index 238c1802..bf3c201d 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -33,7 +33,7 @@ class ChannelMessagePathScreen extends StatelessWidget { return Consumer( builder: (context, connector, _) { final l10n = context.l10n; - final primaryPathTmp = _selectPrimaryPath( + final primaryPath = _selectPrimaryPath( message.pathBytes, message.pathVariants, ); @@ -42,9 +42,6 @@ class ChannelMessagePathScreen extends StatelessWidget { (message.pathHashWidth ?? connector.pathHashByteWidth) .clamp(1, 4) .toInt(); - final primaryPath = !channelMessage && !message.isOutgoing - ? _reversePathByHop(primaryPathTmp, hashByteWidth) - : primaryPathTmp; final hops = _buildPathHops( primaryPath, connector, @@ -86,8 +83,7 @@ class ChannelMessagePathScreen extends StatelessWidget { title: context.l10n.contacts_repeaterPathTrace, path: primaryPath, flipPathAround: true, - reversePathAround: - !(!channelMessage && !message.isOutgoing), + reversePathAround: false, pathHashByteWidth: hashByteWidth, ), ), @@ -485,7 +481,7 @@ class _ChannelMessagePathMapScreenState widget.message.pathVariants, ); final isDesktop = _isDesktopPlatform(defaultTargetPlatform); - final selectedPathTmp = _resolveSelectedPath( + final selectedPath = _resolveSelectedPath( _selectedPath, observedPaths, primaryPath, @@ -495,12 +491,7 @@ class _ChannelMessagePathMapScreenState (widget.message.pathHashWidth ?? connector.pathHashByteWidth) .clamp(1, 4) .toInt(); - final selectedPath = - ((!widget.message.isOutgoing && !widget.channelMessage) || - (widget.message.isOutgoing && widget.channelMessage)) - ? _reversePathByHop(selectedPathTmp, width) - : selectedPathTmp; - final selectedIndex = _indexForPath(selectedPathTmp, observedPaths); + final selectedIndex = _indexForPath(selectedPath, observedPaths); final hops = _buildPathHops( selectedPath, connector, @@ -1087,17 +1078,6 @@ String _formatPathPrefixes(Uint8List pathBytes, int hashByteWidth) { ).map(PathHelper.formatHopHex).join(','); } -Uint8List _reversePathByHop(Uint8List pathBytes, int hashByteWidth) { - final hops = PathHelper.splitPathBytes(pathBytes, hashByteWidth); - if (hops.length <= 1) return Uint8List.fromList(pathBytes); - - final reversedBytes = []; - for (final hop in hops.reversed) { - reversedBytes.addAll(hop); - } - return Uint8List.fromList(reversedBytes); -} - int _hopCountFromBytes(int byteCount, int hashByteWidth) { if (byteCount <= 0) return 0; final width = hashByteWidth.clamp(1, 4); From 3a11e35a7ae5dd42c66a25da433763cb2d9abddc Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 26 May 2026 08:50:54 +0200 Subject: [PATCH 29/45] fix path trace overlay --- lib/screens/map_screen.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index d11b8ab8..f9cd382d 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -2366,9 +2366,10 @@ class _MapScreenState extends State { style: TextStyle(fontSize: 12, color: Colors.grey[700]), ), SelectableText( - _pathTrace - .map((b) => b.toRadixString(16).padLeft(2, '0')) - .join(','), + PathHelper.splitPathBytes( + _pathTrace, + context.read().pathHashByteWidth, + ).map(PathHelper.formatHopHex).join(',') , style: TextStyle(fontSize: 18), ), // const SizedBox(height: 6), From e88281b7b6f7f7d9e67a698a44ebd17863330319 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 26 May 2026 09:04:38 +0200 Subject: [PATCH 30/45] fix case-sensitive prefix --- documentation/additional-features.md | 2 +- documentation/chat-and-messaging.md | 2 +- documentation/routing-paths.md | 1 + lib/connector/meshcore_connector.dart | 8 +++++--- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/documentation/additional-features.md b/documentation/additional-features.md index 5dfd2686..8dd9fb63 100644 --- a/documentation/additional-features.md +++ b/documentation/additional-features.md @@ -183,7 +183,7 @@ An ML-based service that predicts expected delivery timeouts: - Applies a **1.5x safety margin** to raw predictions (the actual timeout issued is 1.5× the model's predicted delivery time) - Features with zero variance are automatically excluded from training - Blends per-contact statistics with ML predictions -- Falls back to `3000 + 3000 × pathLength` ms when insufficient data +- Falls back to `3000 + 3000 × pathLength` ms when insufficient data. Note: `pathLength` here refers to the stored hop count in the app's model/storage (number of hops), not the on-air encoded byte length. - Observations are persisted to storage via a 2-second debounced timer (observations within 2s of app termination may be lost) --- diff --git a/documentation/chat-and-messaging.md b/documentation/chat-and-messaging.md index 19dc4f05..290be3e9 100644 --- a/documentation/chat-and-messaging.md +++ b/documentation/chat-and-messaging.md @@ -88,7 +88,7 @@ When a direct message is sent: 1. The app computes an expected ACK hash: `SHA256([timestamp][attempt][text][selfPubKey])[0:4]` — matching the firmware's hash calculation. If SMAZ compression is enabled, the compressed text (not the original) is hashed 2. On device acknowledgment (`RESP_CODE_SENT`), the message transitions to "sent" and a timeout timer starts -3. **Timeout duration**: Preferably from the ML timeout prediction service; otherwise calculated from LoRa airtime physics: `500 + (airtime × 6 + 250) × (pathLength + 1)` ms for direct paths, `500 + 16 × airtime` ms for flood (airtime is estimated from the radio's current spreading factor, bandwidth, and coding rate) +3. **Timeout duration**: Preferably from the ML timeout prediction service; otherwise calculated from LoRa airtime physics: `500 + (airtime × 6 + 250) × (pathLength + 1)` ms for direct paths, `500 + 16 × airtime` ms for flood (airtime is estimated from the radio's current spreading factor, bandwidth, and coding rate). Note: in app code and storage `pathLength` refers to the stored hop count (number of hops) in the message/contact model — not the on-air encoded byte length — so the formula above uses the model hop count. 4. On timeout, the message is retried with **exponential backoff**: `1000 × 2^retryCount` ms (1s, 2s, 4s, 8s, 16s...) 5. **Max retries**: Configurable (default 5, range 2–10) 6. After max retries, the message is marked "failed" — but a **30-second grace window** remains during which a late ACK can still resolve the message to "delivered" diff --git a/documentation/routing-paths.md b/documentation/routing-paths.md index 9d5d93df..88cac9f2 100644 --- a/documentation/routing-paths.md +++ b/documentation/routing-paths.md @@ -37,6 +37,7 @@ The connector reads a single-mode byte and clamps to `0..3`, so the supported ho Paths in messages and storage consist of: - **`pathLength`**: Encoded path length in bytes as carried by the frame/header. This is not the hop count when `pathHashByteWidth > 1`. + - Note: on-air headers carry `pathLength` as a byte count. However, in the app's data model and storage the `pathLength` field is stored as the decoded hop count (number of hops). When reading or writing model objects (contacts, messages, storage), treat `pathLength` as the hop count; when constructing frames use the encoded byte length. - **`pathBytes`**: Raw bytes of the path, grouped by `pathHashByteWidth` - **`hopCount`**: Derived display value computed from bytes and width: `(byteCount + hashByteWidth - 1) ~/ hashByteWidth` - **Example**: With `pathHashByteWidth=2`, a 3-hop path needs 6 bytes, so `pathLength = 6` and `hopCount = 3`: diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index b83a6ba0..43456424 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -6385,10 +6385,12 @@ class MeshCoreConnector extends ChangeNotifier { } bool _contactKeyMatchesPrefix(String contactKeyHex, List pubkeyPrefix) { - final prefixHex = pubkeyPrefix - .map((b) => b.toRadixString(16).padLeft(2, '0')) + // Normalize both sides to upper-case hex to avoid case-sensitive mismatches. + final normalizedPrefixHex = pubkeyPrefix + .map((b) => b.toRadixString(16).padLeft(2, '0').toUpperCase()) .join(); - return contactKeyHex.startsWith(prefixHex); + final normalizedContactKeyHex = contactKeyHex.toUpperCase(); + return normalizedContactKeyHex.startsWith(normalizedPrefixHex); } void _handleAutoAddConfig(Uint8List frame) { From 5d03f990407cfbd4e9280ab72a245ae03d86bb1d Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 26 May 2026 20:12:27 +0200 Subject: [PATCH 31/45] fix tracepath --- lib/connector/meshcore_connector.dart | 14 +- lib/screens/chat_screen.dart | 9 +- lib/screens/contacts_screen.dart | 7 +- lib/screens/map_screen.dart | 8 + lib/screens/path_trace_map.dart | 103 ++++--- lib/storage/channel_message_store.dart | 40 ++- lib/storage/contact_discovery_store.dart | 33 ++- lib/widgets/path_management_dialog.dart | 8 +- test/models/model_changes_test.dart | 56 ++++ test/screens/path_trace_test.dart | 353 +++++++++++++++++++++++ untranslated.json | 120 -------- 11 files changed, 566 insertions(+), 185 deletions(-) create mode 100644 test/screens/path_trace_test.dart delete mode 100644 untranslated.json diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 43456424..8b1f21df 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2821,7 +2821,7 @@ class MeshCoreConnector extends ChangeNotifier { ); if (idx != -1) { _contacts[idx] = _contacts[idx].copyWith( - pathLength: customPath.length, + pathLength: pathLen, path: customPath, ); notifyListeners(); @@ -4578,7 +4578,7 @@ class MeshCoreConnector extends ChangeNotifier { isOutgoing: false, isCli: isCli, status: MessageStatus.delivered, - pathLength: pathLength == 0xFF ? 0 : pathLength, + pathLength: pathLength == 0xFF ? -1 : (pathLength & 0x3F), pathBytes: Uint8List(0), fourByteRoomContactKey: msgText.length >= 4 ? Uint8List.fromList(msgText.substring(0, 4).codeUnits) @@ -6025,6 +6025,7 @@ class MeshCoreConnector extends ChangeNotifier { final packet = BufferReader(frame); int payloadType = 0; Uint8List pathBytes = Uint8List(0); + int pathHashWidth = 1; try { packet.skipBytes(1); // Skip frame type byte packet.skipBytes(1); // Skip SNR byte @@ -6039,6 +6040,7 @@ class MeshCoreConnector extends ChangeNotifier { //final payloadVer = (header >> 6) & 0x03; final pathLenRaw = packet.readByte(); final pathByteLen = _decodePathByteLen(pathLenRaw); + pathHashWidth = _decodePathHashWidth(pathLenRaw); pathBytes = packet.readBytes(pathByteLen); } catch (e) { appLogger.warn('Malformed RX frame: $e', tag: 'Connector'); @@ -6086,7 +6088,7 @@ class MeshCoreConnector extends ChangeNotifier { publicKey: publicKey, name: name, type: type, - pathLength: pathBytes.isEmpty ? -1 : pathBytes.length, + pathLength: pathBytes.isEmpty ? -1 : (pathBytes.length ~/ pathHashWidth), path: Uint8List.fromList( pathBytes.reversed.toList(), ), // Store path in reverse for easier use in outgoing messages @@ -6171,7 +6173,7 @@ class MeshCoreConnector extends ChangeNotifier { publicKey: publicKey, name: name, type: type, - pathLength: path.length, + pathLength: path.isEmpty ? -1 : (path.length ~/ pathHashWidth), path: Uint8List.fromList( path.reversed.toList(), ), // Store path in reverse for easier use in outgoing messages @@ -6223,7 +6225,7 @@ class MeshCoreConnector extends ChangeNotifier { longitude: hasLocation ? longitude : existing.longitude, name: hasName ? name : existing.name, path: Uint8List.fromList(path.reversed.toList()), - pathLength: path.length, + pathLength: path.isEmpty ? -1 : (path.length ~/ pathHashWidth), lastMessageAt: mergedLastMessageAt, lastSeen: DateTime.fromMillisecondsSinceEpoch(timestamp * 1000), pathOverride: existing.pathOverride, // Preserve user's path choice @@ -6517,12 +6519,14 @@ const int _cipherMacSize = 2; /// Decodes the firmware's encoded path_len byte into actual byte length. /// Bits 0-5: hash count (0-63), Bits 6-7: hash size code (0=1byte, 1=2bytes, 2=3bytes). int _decodePathByteLen(int pathLenRaw) { + if (pathLenRaw == 0xFF || pathLenRaw == 0) return 0; final hashCount = pathLenRaw & 63; final hashSize = _decodePathHashWidth(pathLenRaw); return hashCount * hashSize; } int _decodePathHashWidth(int pathLenRaw) { + if (pathLenRaw == 0xFF) return 1; return ((pathLenRaw >> 6) & 0x03) + 1; } diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index 00e0c7d2..faf2ef4e 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -963,12 +963,10 @@ class _ChatScreenState extends State { final pathBytes = Uint8List.fromList( path.pathBytes, ); - final pathLength = path.pathBytes.length; - // Set the path override to persist user's choice await connector.setPathOverride( _resolveContact(connector), - pathLen: pathLength, + pathLen: path.hopCount, pathBytes: pathBytes, ); @@ -1538,9 +1536,10 @@ class _ChatScreenState extends State { 'Calling setPathOverride for ${widget.contact.name}', tag: 'ChatScreen', ); + final hopsCount = result.length ~/ connector.pathHashByteWidth; await connector.setPathOverride( _resolveContact(connector), - pathLen: result.length, + pathLen: hopsCount, pathBytes: result, ); appLogger.info('setPathOverride completed', tag: 'ChatScreen'); @@ -1550,7 +1549,7 @@ class _ChatScreenState extends State { connector, _resolveContact(connector), result, - result.length, + hopsCount, ); } diff --git a/lib/screens/contacts_screen.dart b/lib/screens/contacts_screen.dart index d320df11..bedb24e2 100644 --- a/lib/screens/contacts_screen.dart +++ b/lib/screens/contacts_screen.dart @@ -1266,7 +1266,10 @@ class _ContactsScreenState extends State MaterialPageRoute( builder: (context) => PathTraceMapScreen( title: context.l10n.contacts_repeaterPing, - path: _contactPathPrefix(contact, hw), + path: contact.pathBytesForDisplay.isNotEmpty + ? contact.pathBytesForDisplay + : _contactPathPrefix(contact, hw), + flipPathAround: true, targetContact: contact, pathHashByteWidth: hw, ), @@ -1300,7 +1303,7 @@ class _ContactsScreenState extends State path: contact.pathBytesForDisplay.isNotEmpty ? contact.pathBytesForDisplay : _contactPathPrefix(contact, hw), - flipPathAround: contact.pathBytesForDisplay.isNotEmpty, + flipPathAround: true, targetContact: contact, pathHashByteWidth: hw, ), diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index f9cd382d..7f828d9d 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -2390,6 +2390,10 @@ class _MapScreenState extends State { builder: (context) => PathTraceMapScreen( title: l10n.contacts_pathTrace, path: Uint8List.fromList(_pathTrace), + flipPathAround: true, + targetContact: _pathTraceContacts.isNotEmpty + ? _pathTraceContacts.last + : null, pathHashByteWidth: hashW, pathContacts: _pathTraceContacts, ), @@ -2412,9 +2416,13 @@ class _MapScreenState extends State { title: l10n.contacts_pathTrace, path: Uint8List.fromList(_pathTrace), flipPathAround: true, + targetContact: _pathTraceContacts.isNotEmpty + ? _pathTraceContacts.last + : null, pathHashByteWidth: context .read() .pathHashByteWidth, + pathContacts: _pathTraceContacts, ), ), ); diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index f53d1bef..7f18aa8a 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -112,6 +112,7 @@ class _PathTraceMapScreenState extends State { double _pathDistanceMeters = 0.0; bool _showNodeLabels = true; Contact? _targetContact; + Uint8List? _sentTagBytes; String _formatPathPrefixes(Uint8List pathBytes) { return PathHelper.splitPathBytes(pathBytes, widget.pathHashByteWidth) @@ -203,41 +204,41 @@ class _PathTraceMapScreenState extends State { ); final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); - if (pathHops.isEmpty) { - final pk = widget.targetContact?.publicKey; - if (pk != null && pk.length >= hopWidth) { - return Uint8List.fromList(pk.sublist(0, hopWidth)); + // Compute targetPrefix if targetContact is provided + Uint8List? targetPrefix; + if (widget.targetContact != null) { + final pk = widget.targetContact!.publicKey; + if (pk.isNotEmpty) { + final len = pk.length >= hopWidth ? hopWidth : pk.length; + targetPrefix = Uint8List.fromList(pk.sublist(0, len)); } - return Uint8List.fromList( - pk != null && pk.isNotEmpty ? [pk[0]] : const [0], - ); } - final mirroredHops = [...pathHops]; - final isRepeaterOrRoom = widget.targetContact?.type == advTypeRepeater || - widget.targetContact?.type == advTypeRoom; - if (isRepeaterOrRoom) { - final pk = widget.targetContact?.publicKey; - if (pk != null && pk.length >= hopWidth) { - mirroredHops.add(Uint8List.fromList(pk.sublist(0, hopWidth))); - } else { - mirroredHops.add( - Uint8List.fromList( - pk != null && pk.isNotEmpty ? [pk[0]] : const [0], - ), - ); + final outboundHops = [...pathHops]; + if (targetPrefix != null) { + // Check if targetPrefix is already the last hop in pathHops to avoid duplication + bool alreadyEndedWithTarget = false; + if (pathHops.isNotEmpty) { + if (listEquals(pathHops.last, targetPrefix)) { + alreadyEndedWithTarget = true; + } } - // For repeaters/rooms, include full reversed path - mirroredHops.addAll(pathHops.reversed); - } else { - // For non-repeater/room targets, reverse without duplicating the pivot hop - if (pathHops.length > 1) { - mirroredHops.addAll( - pathHops.sublist(0, pathHops.length - 1).reversed, - ); + if (!alreadyEndedWithTarget) { + outboundHops.add(targetPrefix); } } + if (outboundHops.isEmpty) { + return Uint8List(0); + } + + final mirroredHops = [...outboundHops]; + if (outboundHops.length > 1) { + mirroredHops.addAll( + outboundHops.sublist(0, outboundHops.length - 1).reversed, + ); + } + final traceBytes = []; for (final hop in mirroredHops) { traceBytes.addAll(hop); @@ -266,11 +267,21 @@ class _PathTraceMapScreenState extends State { ); final connector = Provider.of(context, listen: false); + final sentTag = DateTime.now().millisecondsSinceEpoch ~/ 1000; + _sentTagBytes = Uint8List(4) + ..[0] = sentTag & 0xFF + ..[1] = (sentTag >> 8) & 0xFF + ..[2] = (sentTag >> 16) & 0xFF + ..[3] = (sentTag >> 24) & 0xFF; + + final flags = (widget.pathHashByteWidth - 1).clamp(0, 3); + final tracePayload = path.isEmpty ? Uint8List.fromList([0x00]) : path; + final frame = buildTraceReq( - DateTime.now().millisecondsSinceEpoch ~/ 1000, - 0, //flags - 0, //auth - payload: path, + sentTag, + 0, // auth + flags, // flag + payload: tracePayload, ); connector.sendFrame(frame); } @@ -314,15 +325,12 @@ class _PathTraceMapScreenState extends State { } // Check if it's a binary response - if (frame.length > 8 && + if (frame.length >= 12 && code == pushCodeTraceData && - listEquals(frame.sublist(4, 8), tagData)) { + (listEquals(frame.sublist(4, 8), _sentTagBytes) || listEquals(frame.sublist(4, 8), tagData))) { _timeoutTimer?.cancel(); if (!mounted) return; - frameBuffer.skipBytes(3); //reserved + path length + flag - if (listEquals(frameBuffer.readBytes(4), tagData)) { - _handleTraceResponse(frame); - } + _handleTraceResponse(frame); } } catch (e) { _timeoutTimer?.cancel(); @@ -343,13 +351,28 @@ class _PathTraceMapScreenState extends State { final buffer = BufferReader(frame); try { buffer.skipBytes(2); // Skip push code and reserved byte - int pathLength = buffer.readUInt8(); + final pathLenByte = buffer.readUInt8(); + int hopCount = 0; + int width = widget.pathHashByteWidth; // fallback + int pathLength = 0; + if (pathLenByte != 0xFF) { + final mode = (pathLenByte & 0xC0) >> 6; + if (mode > 0) { + hopCount = pathLenByte & 0x3F; + width = mode + 1; + pathLength = hopCount * width; + } else { + width = widget.pathHashByteWidth; + pathLength = pathLenByte; + hopCount = pathLength ~/ width; + } + } buffer.skipBytes(5); // Skip Flag byte and tag data buffer.skipBytes(4); // Skip auth code final pathBytes = buffer.readBytes(pathLength); final pathData = PathHelper.splitPathBytes( pathBytes, - widget.pathHashByteWidth, + width, ); List snrData = buffer .readRemainingBytes() diff --git a/lib/storage/channel_message_store.dart b/lib/storage/channel_message_store.dart index 59c65ebc..f16081a6 100644 --- a/lib/storage/channel_message_store.dart +++ b/lib/storage/channel_message_store.dart @@ -127,6 +127,38 @@ class ChannelMessageStore { ChannelMessage _messageFromJson(Map json) { final rawText = json['text'] as String; final decodedText = Smaz.tryDecodePrefixed(rawText) ?? rawText; + + final rawPathLength = json['pathLength'] as int?; + final rawPathBytes = json['pathBytes'] != null + ? Uint8List.fromList(base64Decode(json['pathBytes'] as String)) + : Uint8List(0); + final rawPathHashWidth = json['pathHashWidth'] as int?; + + int? decodedPathLength = rawPathLength; + Uint8List decodedPathBytes = rawPathBytes; + int? decodedPathHashWidth = rawPathHashWidth; + + if (rawPathLength != null) { + if (rawPathLength == 0xFF || rawPathLength < 0) { + decodedPathLength = -1; + decodedPathBytes = Uint8List(0); + } else if (rawPathLength >= 64) { + final mode = (rawPathLength & 0xC0) >> 6; + final hopCount = rawPathLength & 0x3F; + final width = mode + 1; + final byteLen = hopCount * width; + decodedPathLength = hopCount; + decodedPathHashWidth = width; + if (byteLen <= rawPathBytes.length) { + decodedPathBytes = rawPathBytes.sublist(0, byteLen); + } else { + decodedPathBytes = Uint8List(0); + } + } else if (rawPathLength == 0) { + decodedPathBytes = Uint8List(0); + } + } + return ChannelMessage( senderKey: json['senderKey'] != null ? Uint8List.fromList(base64Decode(json['senderKey'])) @@ -144,11 +176,9 @@ class ChannelMessageStore { isOutgoing: json['isOutgoing'] as bool, status: ChannelMessageStatus.values[json['status'] as int], repeatCount: (json['repeatCount'] as int?) ?? 0, - pathLength: json['pathLength'] as int?, - pathHashWidth: json['pathHashWidth'] as int?, - pathBytes: json['pathBytes'] != null - ? Uint8List.fromList(base64Decode(json['pathBytes'] as String)) - : Uint8List(0), + pathLength: decodedPathLength, + pathHashWidth: decodedPathHashWidth, + pathBytes: decodedPathBytes, pathVariants: (json['pathVariants'] as List?) ?.map((entry) => Uint8List.fromList(base64Decode(entry as String))) .toList(), diff --git a/lib/storage/contact_discovery_store.dart b/lib/storage/contact_discovery_store.dart index 3f6f1718..98bf6e8d 100644 --- a/lib/storage/contact_discovery_store.dart +++ b/lib/storage/contact_discovery_store.dart @@ -55,15 +55,40 @@ class ContactDiscoveryStore { final lastSeenMs = json['lastSeen'] as int? ?? 0; final lastMessageMs = json['lastMessageAt'] as int?; final lastModifiedMs = json['lastModified'] as int?; + + final rawPathLength = json['pathLength'] as int? ?? -1; + final rawPath = json['path'] != null + ? Uint8List.fromList(base64Decode(json['path'] as String)) + : Uint8List(0); + + int decodedPathLength = rawPathLength; + Uint8List decodedPath = rawPath; + + if (rawPathLength == 0xFF || rawPathLength < 0) { + decodedPathLength = -1; + decodedPath = Uint8List(0); + } else if (rawPathLength >= 64) { + final mode = (rawPathLength & 0xC0) >> 6; + final hopCount = rawPathLength & 0x3F; + final width = mode + 1; + final byteLen = hopCount * width; + decodedPathLength = hopCount; + if (byteLen <= rawPath.length) { + decodedPath = rawPath.sublist(0, byteLen); + } else { + decodedPath = Uint8List(0); + } + } else if (rawPathLength == 0) { + decodedPath = Uint8List(0); + } + return Contact( publicKey: Uint8List.fromList(base64Decode(json['publicKey'] as String)), name: json['name'] as String? ?? 'Unknown', type: json['type'] as int? ?? 0, flags: json['flags'] as int? ?? 0, - pathLength: json['pathLength'] as int? ?? -1, - path: json['path'] != null - ? Uint8List.fromList(base64Decode(json['path'] as String)) - : Uint8List(0), + pathLength: decodedPathLength, + path: decodedPath, pathOverride: json['pathOverride'] as int?, pathOverrideBytes: json['pathOverrideBytes'] != null ? Uint8List.fromList( diff --git a/lib/widgets/path_management_dialog.dart b/lib/widgets/path_management_dialog.dart index a110b176..c3976e1e 100644 --- a/lib/widgets/path_management_dialog.dart +++ b/lib/widgets/path_management_dialog.dart @@ -158,16 +158,17 @@ class _PathManagementDialogState extends State<_PathManagementDialog> { ); if (result != null && context.mounted) { + final hopsCount = result.length ~/ connector.pathHashByteWidth; await connector.setPathOverride( currentContact, - pathLen: result.length, + pathLen: hopsCount, pathBytes: result, ); if (!context.mounted) return; showDismissibleSnackBar( context, - content: Text(l10n.chat_hopsCount(result.length)), + content: Text(l10n.chat_hopsCount(hopsCount)), duration: const Duration(seconds: 2), ); } @@ -361,11 +362,10 @@ class _PathManagementDialogState extends State<_PathManagementDialog> { final pathBytes = Uint8List.fromList( path.pathBytes, ); - final pathLength = path.pathBytes.length; await connector.setPathOverride( currentContact, - pathLen: pathLength, + pathLen: path.hopCount, pathBytes: pathBytes, ); diff --git a/test/models/model_changes_test.dart b/test/models/model_changes_test.dart index cc14187a..dd077e64 100644 --- a/test/models/model_changes_test.dart +++ b/test/models/model_changes_test.dart @@ -12,6 +12,8 @@ import 'package:meshcore_open/models/app_settings.dart'; import 'package:meshcore_open/storage/prefs_manager.dart'; import 'package:meshcore_open/storage/contact_store.dart'; import 'package:meshcore_open/storage/message_store.dart'; +import 'package:meshcore_open/storage/channel_message_store.dart'; +import 'package:meshcore_open/storage/contact_discovery_store.dart'; // Builds a valid contact frame with the given pathLen and optional overrides. // Frame layout: [respCode(1)][pubKey(32)][type(1)][flags(1)][pathLen(1)][path(64)][name(32)][timestamp(4)][lat(4)][lon(4)] @@ -553,5 +555,59 @@ void main() { expect(messages.first.pathLength, equals(0)); expect(messages.first.pathBytes, isEmpty); }); + + test('ChannelMessageStore decodes and migrates legacy mode-encoded paths', () async { + final store = ChannelMessageStore()..publicKeyHex = '1234567890'; + final channelIndex = 1; + + final rawPath = Uint8List(64)..[0] = 0xBB..[1] = 0xCC; + final messageJson = [ + { + 'senderName': 'Alice', + 'text': 'Hello', + 'timestamp': DateTime.now().millisecondsSinceEpoch, + 'isOutgoing': false, + 'status': 2, + 'channelIndex': channelIndex, + 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) + 'pathBytes': base64Encode(rawPath), + } + ]; + + final prefs = PrefsManager.instance; + await prefs.setString('${store.keyFor}$channelIndex', jsonEncode(messageJson)); + + final messages = await store.loadChannelMessages(channelIndex); + expect(messages, hasLength(1)); + expect(messages.first.pathLength, equals(1)); + expect(messages.first.pathBytes, equals(Uint8List.fromList([0xBB, 0xCC]))); + expect(messages.first.pathHashWidth, equals(2)); + }); + + test('ContactDiscoveryStore decodes and migrates legacy mode-encoded paths', () async { + final store = ContactDiscoveryStore(); + + final rawPath = Uint8List(64)..[0] = 0x11..[1] = 0x22; + final contactJson = [ + { + 'publicKey': base64Encode(Uint8List(32)..[0] = 0xBB), + 'name': 'DiscoveredNode', + 'type': 1, + 'flags': 0, + 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) + 'path': base64Encode(rawPath), + 'lastSeen': DateTime.now().millisecondsSinceEpoch, + 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, + } + ]; + + final prefs = PrefsManager.instance; + await prefs.setString('discovered_contacts', jsonEncode(contactJson)); + + final contacts = await store.loadContacts(); + expect(contacts, hasLength(1)); + expect(contacts.first.pathLength, equals(1)); + expect(contacts.first.path, equals(Uint8List.fromList([0x11, 0x22]))); + }); }); } diff --git a/test/screens/path_trace_test.dart b/test/screens/path_trace_test.dart new file mode 100644 index 00000000..6d2b6826 --- /dev/null +++ b/test/screens/path_trace_test.dart @@ -0,0 +1,353 @@ +import 'dart:async'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:provider/provider.dart'; +import 'dart:typed_data'; + +import 'package:meshcore_open/connector/meshcore_connector.dart'; +import 'package:meshcore_open/connector/meshcore_protocol.dart'; +import 'package:meshcore_open/screens/path_trace_map.dart'; +import 'package:meshcore_open/services/app_settings_service.dart'; +import 'package:meshcore_open/services/map_tile_cache_service.dart'; +import 'package:meshcore_open/models/contact.dart'; +import 'package:meshcore_open/l10n/app_localizations.dart'; + +class _FakeMeshCoreConnector extends MeshCoreConnector { + final StreamController _receivedFramesController = + StreamController.broadcast(); + + @override + Stream get receivedFrames => _receivedFramesController.stream; + + @override + Uint8List? get selfPublicKey => Uint8List.fromList(List.generate(32, (i) => i)); + + @override + double? get selfLatitude => 48.8566; + + @override + double? get selfLongitude => 2.3522; + + @override + List get allContactsUnfiltered => []; + + @override + List get contacts => []; + + void emitFrame(Uint8List frame) { + _receivedFramesController.add(frame); + } + + final List sentFrames = []; + + @override + Future sendFrame( + Uint8List frame, { + String? channelSendQueueId, + bool expectsGenericAck = false, + }) async { + sentFrames.add(frame); + } +} + +Widget _buildTestApp({ + required MeshCoreConnector connector, + required Widget child, +}) { + return MultiProvider( + providers: [ + ChangeNotifierProvider.value(value: connector), + ChangeNotifierProvider( + create: (_) => AppSettingsService(), + ), + Provider( + create: (_) => MapTileCacheService(), + ), + ], + child: MaterialApp( + localizationsDelegates: AppLocalizations.localizationsDelegates, + supportedLocales: AppLocalizations.supportedLocales, + home: child, + ), + ); +} + +void main() { + testWidgets('PathTraceMapScreen parses response frames correctly', (tester) async { + final connector = _FakeMeshCoreConnector(); + + final screen = PathTraceMapScreen( + title: 'Test Trace', + path: Uint8List.fromList([0x12, 0x34]), + pathHashByteWidth: 1, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + // Verify a send request was made + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + + // Extract the tag sent in the request (bytes 1-4) + final tag = sentFrame.sublist(1, 5); + + // Emit respCodeSent (6) + final respCodeSentFrame = Uint8List(10); + respCodeSentFrame[0] = respCodeSent; + respCodeSentFrame[1] = 0; // reserved / is_flood + respCodeSentFrame.setRange(2, 6, tag); + // timeout milliseconds = 5000 (0x1388) + respCodeSentFrame[6] = 0x88; + respCodeSentFrame[7] = 0x13; + respCodeSentFrame[8] = 0x00; + respCodeSentFrame[9] = 0x00; + + connector.emitFrame(respCodeSentFrame); + await tester.pump(); + + // Now emit PUSH_CODE_TRACE_DATA (0x89) + // Structure: + // Offset 0: pushCodeTraceData (0x89) + // Offset 1: reserved (0) + // Offset 2: pathLength (2) + // Offset 3: flag (0) + // Offset 4..7: tag + // Offset 8..11: auth (0) + // Offset 12..13: pathBytes [0x12, 0x34] + // Offset 14..15: SNR bytes [12, 16] -> to be mapped to signed 8 bit Snr/4 + final pushTraceFrame = Uint8List(16); + pushTraceFrame[0] = pushCodeTraceData; + pushTraceFrame[1] = 0; // reserved + pushTraceFrame[2] = 2; // pathLength + pushTraceFrame[3] = 0; // flag + pushTraceFrame.setRange(4, 8, tag); + // auth bytes (8..11) = 0 + pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes + pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes + + connector.emitFrame(pushTraceFrame); + // pump multiple times to handle async tasks + await tester.pumpAndSettle(); + + // Verify it doesn't show "Path trace not available" or similar + expect(find.text('Path trace not available.'), findsNothing); + }); + + testWidgets('PathTraceMapScreen parses multi-byte encoded path trace response correctly', (tester) async { + final connector = _FakeMeshCoreConnector(); + + final screen = PathTraceMapScreen( + title: 'Test Trace Multi-byte', + path: Uint8List.fromList([0x12, 0x34]), + pathHashByteWidth: 2, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + // Verify a send request was made + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + + // Extract the tag sent in the request (bytes 1-4) + final tag = sentFrame.sublist(1, 5); + + // Emit respCodeSent (6) + final respCodeSentFrame = Uint8List(10); + respCodeSentFrame[0] = respCodeSent; + respCodeSentFrame[1] = 0; + respCodeSentFrame.setRange(2, 6, tag); + respCodeSentFrame[6] = 0x88; + respCodeSentFrame[7] = 0x13; + respCodeSentFrame[8] = 0x00; + respCodeSentFrame[9] = 0x00; + + connector.emitFrame(respCodeSentFrame); + await tester.pump(); + + // Now emit PUSH_CODE_TRACE_DATA (0x89) + // Structure: + // Offset 0: pushCodeTraceData (0x89) + // Offset 1: reserved (0) + // Offset 2: pathLength (65) -> mode 1 (width 2), 1 hop + // Offset 3: flag (0) + // Offset 4..7: tag + // Offset 8..11: auth (0) + // Offset 12..13: pathBytes [0x12, 0x34] + // Offset 14..15: SNR bytes [12, 16] + final pushTraceFrame = Uint8List(16); + pushTraceFrame[0] = pushCodeTraceData; + pushTraceFrame[1] = 0; // reserved + pushTraceFrame[2] = 65; // pathLength encoded (mode 1, 1 hop -> 2 bytes) + pushTraceFrame[3] = 0; // flag + pushTraceFrame.setRange(4, 8, tag); + pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes + pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes + + connector.emitFrame(pushTraceFrame); + await tester.pumpAndSettle(); + + // Verify it parsed correctly (should not show the unavailable message) + expect(find.text('Path trace not available.'), findsNothing); + }); + + testWidgets('PathTraceMapScreen buildPath: Direct repeater ping (0-hop)', (tester) async { + final connector = _FakeMeshCoreConnector(); + final target = Contact( + publicKey: Uint8List.fromList([0xAA, 0xBB, 0xCC]), + name: 'Repeater Node', + type: advTypeRepeater, + path: Uint8List(0), + pathLength: 0, + lastSeen: DateTime.now(), + ); + + final screen = PathTraceMapScreen( + title: 'Direct Repeater Ping', + path: Uint8List.fromList([0xAA]), + targetContact: target, + flipPathAround: true, + pathHashByteWidth: 1, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + final payload = sentFrame.sublist(10); + expect(payload, Uint8List.fromList([0xAA])); + }); + + testWidgets('PathTraceMapScreen buildPath: 1-hop chat contact trace', (tester) async { + final connector = _FakeMeshCoreConnector(); + final target = Contact( + publicKey: Uint8List.fromList([0xCC, 0xDD, 0xEE]), + name: 'Chat User', + type: advTypeChat, + path: Uint8List.fromList([0xBB]), + pathLength: 1, + lastSeen: DateTime.now(), + ); + + final screen = PathTraceMapScreen( + title: '1-Hop Chat Trace', + path: Uint8List.fromList([0xBB]), + targetContact: target, + flipPathAround: true, + pathHashByteWidth: 1, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + final payload = sentFrame.sublist(10); + expect(payload, Uint8List.fromList([0xBB, 0xCC, 0xBB])); + }); + + testWidgets('PathTraceMapScreen buildPath: Multi-hop chat contact trace', (tester) async { + final connector = _FakeMeshCoreConnector(); + final target = Contact( + publicKey: Uint8List.fromList([0x33, 0x44, 0x55]), + name: 'Chat User Multi-hop', + type: advTypeChat, + path: Uint8List.fromList([0x11, 0x22]), + pathLength: 2, + lastSeen: DateTime.now(), + ); + + final screen = PathTraceMapScreen( + title: 'Multi-Hop Chat Trace', + path: Uint8List.fromList([0x11, 0x22]), + targetContact: target, + flipPathAround: true, + pathHashByteWidth: 1, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + final payload = sentFrame.sublist(10); + expect(payload, Uint8List.fromList([0x11, 0x22, 0x33, 0x22, 0x11])); + }); + + testWidgets('PathTraceMapScreen buildPath: Map trace with null target contact', (tester) async { + final connector = _FakeMeshCoreConnector(); + + final screen = PathTraceMapScreen( + title: 'Map Trace No Target', + path: Uint8List.fromList([0x11, 0x22]), + targetContact: null, + flipPathAround: true, + pathHashByteWidth: 1, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + final payload = sentFrame.sublist(10); + expect(payload, Uint8List.fromList([0x11, 0x22, 0x11])); + }); + + testWidgets('PathTraceMapScreen parses raw byte length fallback correctly', (tester) async { + final connector = _FakeMeshCoreConnector(); + + final screen = PathTraceMapScreen( + title: 'Test Raw Fallback', + path: Uint8List.fromList([0x12, 0x34]), + pathHashByteWidth: 2, + ); + + await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); + await tester.pump(); + + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + final tag = sentFrame.sublist(1, 5); + + // Emit respCodeSent (6) + final respCodeSentFrame = Uint8List(10); + respCodeSentFrame[0] = respCodeSent; + respCodeSentFrame[1] = 0; + respCodeSentFrame.setRange(2, 6, tag); + respCodeSentFrame[6] = 0x88; + respCodeSentFrame[7] = 0x13; + respCodeSentFrame[8] = 0x00; + respCodeSentFrame[9] = 0x00; + + connector.emitFrame(respCodeSentFrame); + await tester.pump(); + + // Now emit PUSH_CODE_TRACE_DATA (0x89) + // Structure: + // Offset 2: pathLength (2) -> raw byte length count, mode is 0! + // Offset 12..13: pathBytes [0x12, 0x34] + final pushTraceFrame = Uint8List(16); + pushTraceFrame[0] = pushCodeTraceData; + pushTraceFrame[1] = 0; // reserved + pushTraceFrame[2] = 2; // pathLength as raw byte length (2 bytes) + pushTraceFrame[3] = 0; // flag + pushTraceFrame.setRange(4, 8, tag); + pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes + pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes + + connector.emitFrame(pushTraceFrame); + await tester.pumpAndSettle(); + + // Verify it parsed correctly (should not show the unavailable message) + expect(find.text('Path trace not available.'), findsNothing); + }); +} diff --git a/untranslated.json b/untranslated.json deleted file mode 100644 index dd0a7e15..00000000 --- a/untranslated.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "bg": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "de": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "es": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "fr": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "hu": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "it": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "ja": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "ko": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "nl": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "pl": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "pt": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "ru": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "sk": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "sl": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "sv": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "uk": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ], - - "zh": [ - "repeater_pathHashModeOption0", - "repeater_pathHashModeOption1", - "repeater_pathHashModeOption2", - "repeater_pathHashModeOption3" - ] -} From 6e81fdfd465b103c0bd83d2f5edb29da24eca522 Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 27 May 2026 08:32:16 +0200 Subject: [PATCH 32/45] add clamp for path length --- lib/connector/meshcore_connector.dart | 7 +- lib/screens/settings_screen.dart | 2 +- untranslated.json | 120 ++++++++++++++++++++++++++ 3 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 untranslated.json diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 8b1f21df..b21bd3ed 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2798,9 +2798,10 @@ class MeshCoreConnector extends ChangeNotifier { if (!isConnected) return; final mode = _pathHashByteWidth - 1; - final encodedPathLen = (pathLen >= 0 && pathLen != 0xFF) - ? (pathLen | (mode << 6)) - : pathLen; + if (pathLen < 0 || pathLen > 0x3F) { + return; + } + final encodedPathLen = pathLen | (mode << 6); await sendFrame( buildUpdateContactPathFrame( contact.publicKey, diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 04086126..3294546f 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -348,7 +348,7 @@ class _SettingsScreenState extends State { } String _pathHashModeSubtitle(int pathHashByteWidth) { - final width = pathHashByteWidth.clamp(1, 3).toInt(); + final width = pathHashByteWidth.clamp(1, 4).toInt(); final mode = width - 1; final unit = width == 1 ? 'byte' : 'bytes'; return 'Mode $mode - $width $unit per hop'; diff --git a/untranslated.json b/untranslated.json new file mode 100644 index 00000000..dd0a7e15 --- /dev/null +++ b/untranslated.json @@ -0,0 +1,120 @@ +{ + "bg": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "de": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "es": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "fr": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "hu": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "it": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "ja": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "ko": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "nl": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "pl": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "pt": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "ru": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "sk": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "sl": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "sv": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "uk": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ], + + "zh": [ + "repeater_pathHashModeOption0", + "repeater_pathHashModeOption1", + "repeater_pathHashModeOption2", + "repeater_pathHashModeOption3" + ] +} From 2e4f26d7cdff746454670b810cff86975b298e55 Mon Sep 17 00:00:00 2001 From: HDDen <62592944+HDDen@users.noreply.github.com> Date: Thu, 28 May 2026 02:20:56 +0300 Subject: [PATCH 33/45] Multibyte: fix map --- lib/connector/meshcore_connector.dart | 10 +- lib/screens/channels_screen.dart | 3 +- lib/screens/map_screen.dart | 21 +- lib/screens/path_trace_map.dart | 24 +- lib/services/notification_service.dart | 6 +- test/helpers/path_helper_test.dart | 31 +-- test/models/model_changes_test.dart | 331 ++++++++++++++----------- test/screens/path_trace_test.dart | 179 +++++++------ 8 files changed, 338 insertions(+), 267 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index b21bd3ed..cc627ecf 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2864,7 +2864,8 @@ class MeshCoreConnector extends ChangeNotifier { : updatedFlags; final mode = _pathHashByteWidth - 1; - final encodedPathLen = (latestContact.pathLength >= 0 && latestContact.pathLength != 0xFF) + final encodedPathLen = + (latestContact.pathLength >= 0 && latestContact.pathLength != 0xFF) ? (latestContact.pathLength | (mode << 6)) : latestContact.pathLength; await sendFrame( @@ -3208,7 +3209,8 @@ class MeshCoreConnector extends ChangeNotifier { if (!isConnected) return; final mode = _pathHashByteWidth - 1; - final encodedPathLen = (contact.pathLength >= 0 && contact.pathLength != 0xFF) + final encodedPathLen = + (contact.pathLength >= 0 && contact.pathLength != 0xFF) ? (contact.pathLength | (mode << 6)) : contact.pathLength; await sendFrame( @@ -6089,7 +6091,9 @@ class MeshCoreConnector extends ChangeNotifier { publicKey: publicKey, name: name, type: type, - pathLength: pathBytes.isEmpty ? -1 : (pathBytes.length ~/ pathHashWidth), + pathLength: pathBytes.isEmpty + ? -1 + : (pathBytes.length ~/ pathHashWidth), path: Uint8List.fromList( pathBytes.reversed.toList(), ), // Store path in reverse for easier use in outgoing messages diff --git a/lib/screens/channels_screen.dart b/lib/screens/channels_screen.dart index 4613a8ee..6dbe1aab 100644 --- a/lib/screens/channels_screen.dart +++ b/lib/screens/channels_screen.dart @@ -301,8 +301,7 @@ class _ChannelsScreenState extends State ), buildDefaultDragHandles: false, itemCount: filteredChannels.length, - onReorder: (oldIndex, newIndex) { - if (newIndex > oldIndex) newIndex -= 1; + onReorderItem: (oldIndex, newIndex) { final reordered = List.from( filteredChannels, ); diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 7f828d9d..b6634813 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -70,6 +70,7 @@ class _MapScreenState extends State { bool _hasInitializedMap = false; bool _removedMarkersLoaded = false; final List _pathTrace = []; + final List _pathTraceHopWidths = []; final List _pathTraceContacts = []; final List _points = []; final List _polylines = []; @@ -2302,11 +2303,12 @@ class _MapScreenState extends State { final hopWidth = min( connector.pathHashByteWidth.clamp(1, pubKeySize), contact.publicKey.length, - ); + ).toInt(); setState(() { _pathTrace.addAll( contact.publicKey.sublist(0, hopWidth), ); // Add the hop-width prefix of the public key to the trace + _pathTraceHopWidths.add(hopWidth); _pathTraceContacts.add( contact.copyWith( latitude: position?.latitude ?? contact.latitude, @@ -2321,6 +2323,7 @@ class _MapScreenState extends State { setState(() { _isBuildingPathTrace = true; _pathTrace.clear(); + _pathTraceHopWidths.clear(); _pathTraceContacts.clear(); _points.clear(); _polylines.clear(); @@ -2330,8 +2333,19 @@ class _MapScreenState extends State { void _removePath() { setState(() { + final recordedHopWidth = _pathTraceHopWidths.isNotEmpty + ? _pathTraceHopWidths.removeLast() + : context.read().pathHashByteWidth.clamp( + 1, + pubKeySize, + ); + final hopByteCount = min(recordedHopWidth, _pathTrace.length).toInt(); _pathTraceContacts.removeLast(); - _pathTrace.removeLast(); // Remove last node from path trace + // A path trace hop can be wider than one byte; remove the full hash prefix. + _pathTrace.removeRange( + _pathTrace.length - hopByteCount, + _pathTrace.length, + ); _points.removeLast(); // Remove last point from points list _polylines.clear(); // Clear polylines }); @@ -2369,7 +2383,7 @@ class _MapScreenState extends State { PathHelper.splitPathBytes( _pathTrace, context.read().pathHashByteWidth, - ).map(PathHelper.formatHopHex).join(',') , + ).map(PathHelper.formatHopHex).join(','), style: TextStyle(fontSize: 18), ), // const SizedBox(height: 6), @@ -2445,6 +2459,7 @@ class _MapScreenState extends State { setState(() { _isBuildingPathTrace = false; _pathTrace.clear(); + _pathTraceHopWidths.clear(); _points.clear(); _polylines.clear(); }); diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index 7f18aa8a..356e8f78 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -115,9 +115,10 @@ class _PathTraceMapScreenState extends State { Uint8List? _sentTagBytes; String _formatPathPrefixes(Uint8List pathBytes) { - return PathHelper.splitPathBytes(pathBytes, widget.pathHashByteWidth) - .map(PathHelper.formatHopHex) - .join(','); + return PathHelper.splitPathBytes( + pathBytes, + widget.pathHashByteWidth, + ).map(PathHelper.formatHopHex).join(','); } @override @@ -327,7 +328,8 @@ class _PathTraceMapScreenState extends State { // Check if it's a binary response if (frame.length >= 12 && code == pushCodeTraceData && - (listEquals(frame.sublist(4, 8), _sentTagBytes) || listEquals(frame.sublist(4, 8), tagData))) { + (listEquals(frame.sublist(4, 8), _sentTagBytes) || + listEquals(frame.sublist(4, 8), tagData))) { _timeoutTimer?.cancel(); if (!mounted) return; _handleTraceResponse(frame); @@ -370,10 +372,7 @@ class _PathTraceMapScreenState extends State { buffer.skipBytes(5); // Skip Flag byte and tag data buffer.skipBytes(4); // Skip auth code final pathBytes = buffer.readBytes(pathLength); - final pathData = PathHelper.splitPathBytes( - pathBytes, - width, - ); + final pathData = PathHelper.splitPathBytes(pathBytes, width); List snrData = buffer .readRemainingBytes() .map((snr) => snr.toSigned(8).toDouble() / 4) @@ -414,7 +413,10 @@ class _PathTraceMapScreenState extends State { for (final repeaterData in pathData) { final hopWidth = repeaterData.length; if (repeater.publicKey.length < hopWidth) continue; - if (listEquals(repeater.publicKey.sublist(0, hopWidth), repeaterData)) { + if (listEquals( + repeater.publicKey.sublist(0, hopWidth), + repeaterData, + )) { pathContacts[_hopKey(repeaterData)] = repeater; lastContact = repeater; } @@ -434,8 +436,8 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(_lastHopChunk(c.path, widget.pathHashByteWidth)) == - hopKey, + _hopKey(_lastHopChunk(c.path, widget.pathHashByteWidth)) == + hopKey, ) .toList(); if (peers.isNotEmpty) { diff --git a/lib/services/notification_service.dart b/lib/services/notification_service.dart index f685535b..c0f30153 100644 --- a/lib/services/notification_service.dart +++ b/lib/services/notification_service.dart @@ -28,8 +28,8 @@ class NotificationService { AppLocalizations get _l10n => lookupAppLocalizations(_locale); String _logSafe(String value) { - final sanitized = value.replaceAll(RegExp(r'[\x00-\x1F\x7F]'), ' '); - return Uri.encodeComponent(sanitized); + final sanitized = value.replaceAll(RegExp(r'[\x00-\x1F\x7F]'), ' '); + return Uri.encodeComponent(sanitized); } // Rate limiting to prevent notification storms @@ -577,7 +577,7 @@ class NotificationService { // Show first few device names in batch summary for debugging (only if adverts exist) final deviceInfo = adverts.isNotEmpty - ? ' (${adverts.take(5).map((n) => _logSafe(n.body)).join(', ')}${adverts.length > 5 ? ', ...' : ''})' + ? ' (${adverts.take(5).map((n) => _logSafe(n.body)).join(', ')}${adverts.length > 5 ? ', ...' : ''})' : ''; debugPrint('[Notification] batch summary: ${parts.join(", ")}$deviceInfo'); diff --git a/test/helpers/path_helper_test.dart b/test/helpers/path_helper_test.dart index f873b72f..67391c94 100644 --- a/test/helpers/path_helper_test.dart +++ b/test/helpers/path_helper_test.dart @@ -31,28 +31,31 @@ void main() { expect(PathHelper.formatHopHex(hops.first), equals('A1A2')); }); - test('resolvePathNames ignores chat nodes and keeps repeater/room nodes with 1-byte paths', () { - final contacts = [ - _contact(firstByte: 0xF2, name: 'MunTui', type: advTypeChat), - _contact(firstByte: 0x7E, name: 'zrepeater', type: advTypeRepeater), - _contact(firstByte: 0xBA, name: 'USS Ronald Reagan', type: advTypeRoom), - ]; + test( + 'resolvePathNames ignores chat nodes and keeps repeater/room nodes with 1-byte paths', + () { + final contacts = [ + _contact(firstByte: 0xF2, name: 'MunTui', type: advTypeChat), + _contact(firstByte: 0x7E, name: 'zrepeater', type: advTypeRepeater), + _contact(firstByte: 0xBA, name: 'USS Ronald Reagan', type: advTypeRoom), + ]; - final resolved = PathHelper.resolvePathNames( - [0xF2, 0x7E, 0xBA], - contacts, - 1, // 1-byte hash width - ); + final resolved = PathHelper.resolvePathNames( + [0xF2, 0x7E, 0xBA], + contacts, + 1, // 1-byte hash width + ); - expect(resolved, equals('F2 → zrepeater → USS Ronald Reagan')); - }); + expect(resolved, equals('F2 → zrepeater → USS Ronald Reagan')); + }, + ); test('resolvePathNames supports multi-byte paths', () { final contacts = [ _contact(firstByte: 0xA1, name: 'Repeater1', type: advTypeRepeater), _contact(firstByte: 0xC1, name: 'Room42', type: advTypeRoom), ]; - + // Contacts with 2-byte public keys contacts[0] = Contact( publicKey: Uint8List.fromList([0xA1, 0xA2, ...List.filled(30, 0)]), diff --git a/test/models/model_changes_test.dart b/test/models/model_changes_test.dart index dd077e64..1bb6bf2d 100644 --- a/test/models/model_changes_test.dart +++ b/test/models/model_changes_test.dart @@ -6,7 +6,6 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'package:meshcore_open/connector/meshcore_protocol.dart'; import 'package:meshcore_open/models/channel_message.dart'; import 'package:meshcore_open/models/contact.dart'; -import 'package:meshcore_open/models/message.dart'; import 'package:meshcore_open/models/path_history.dart'; import 'package:meshcore_open/models/app_settings.dart'; import 'package:meshcore_open/storage/prefs_manager.dart'; @@ -65,9 +64,7 @@ Uint8List _buildChannelMessageFrameV3({ if (hasPath && hopCount > 0) { writer.add( - Uint8List.fromList( - List.generate(hopCount * pathHashWidth, (i) => i + 1), - ), + Uint8List.fromList(List.generate(hopCount * pathHashWidth, (i) => i + 1)), ); } @@ -81,23 +78,25 @@ Uint8List _buildChannelMessageFrameV3({ void main() { group('ChannelMessage.fromFrame — V3 packed path decoding', () { - test('hasPath reads width, hop count, path bytes, and txtType correctly', - () { - final frame = _buildChannelMessageFrameV3( - pathHashWidth: 2, - hopCount: 3, - hasPath: true, - ); + test( + 'hasPath reads width, hop count, path bytes, and txtType correctly', + () { + final frame = _buildChannelMessageFrameV3( + pathHashWidth: 2, + hopCount: 3, + hasPath: true, + ); - final message = ChannelMessage.fromFrame(frame); + final message = ChannelMessage.fromFrame(frame); - expect(message, isNotNull); - expect(message!.pathHashWidth, equals(2)); - expect(message.pathLength, equals(3)); - expect(message.pathBytes.length, equals(6)); - expect(message.senderName, equals('Alice')); - expect(message.text, equals('Hello world')); - }); + expect(message, isNotNull); + expect(message!.pathHashWidth, equals(2)); + expect(message.pathLength, equals(3)); + expect(message.pathBytes.length, equals(6)); + expect(message.senderName, equals('Alice')); + expect(message.text, equals('Hello world')); + }, + ); test('no path still reads width, hop count, and txtType correctly', () { final frame = _buildChannelMessageFrameV3( @@ -473,141 +472,171 @@ void main() { await PrefsManager.initialize(); }); - test('ContactStore decodes and migrates legacy mode-encoded paths', () async { - final store = ContactStore()..publicKeyHex = '1234567890'; - - // Let's create a contact with legacy 64 path length (mode 1, 0 hops) - final rawPath = Uint8List(64); // 64 bytes of zeroes - final contactJson = [ - { - 'publicKey': base64Encode(Uint8List(32)..[0] = 0xAA), - 'name': 'LegacyNode', - 'type': 2, - 'flags': 0, - 'pathLength': 64, // encoded pathLength (mode 1, 0 hops) - 'path': base64Encode(rawPath), - 'lastSeen': DateTime.now().millisecondsSinceEpoch, - 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, - 'isActive': true, - } - ]; - - final prefs = PrefsManager.instance; - await prefs.setString(store.keyFor, jsonEncode(contactJson)); - - final contacts = await store.loadContacts(); - expect(contacts, hasLength(1)); - expect(contacts.first.pathLength, equals(0)); - expect(contacts.first.path, isEmpty); - }); + test( + 'ContactStore decodes and migrates legacy mode-encoded paths', + () async { + final store = ContactStore()..publicKeyHex = '1234567890'; - test('ContactStore decodes and migrates legacy mode-1 paths with hops', () async { - final store = ContactStore()..publicKeyHex = '1234567890'; - - // Contact with legacy 65 path length (mode 1, 1 hop) - final rawPath = Uint8List(64)..[0] = 0xBB..[1] = 0xCC; - final contactJson = [ - { - 'publicKey': base64Encode(Uint8List(32)..[0] = 0xAA), - 'name': 'LegacyNode2', - 'type': 2, - 'flags': 0, - 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) - 'path': base64Encode(rawPath), - 'lastSeen': DateTime.now().millisecondsSinceEpoch, - 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, - 'isActive': true, - } - ]; - - final prefs = PrefsManager.instance; - await prefs.setString(store.keyFor, jsonEncode(contactJson)); - - final contacts = await store.loadContacts(); - expect(contacts, hasLength(1)); - expect(contacts.first.pathLength, equals(1)); - expect(contacts.first.path, equals(Uint8List.fromList([0xBB, 0xCC]))); - }); + // Let's create a contact with legacy 64 path length (mode 1, 0 hops) + final rawPath = Uint8List(64); // 64 bytes of zeroes + final contactJson = [ + { + 'publicKey': base64Encode(Uint8List(32)..[0] = 0xAA), + 'name': 'LegacyNode', + 'type': 2, + 'flags': 0, + 'pathLength': 64, // encoded pathLength (mode 1, 0 hops) + 'path': base64Encode(rawPath), + 'lastSeen': DateTime.now().millisecondsSinceEpoch, + 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, + 'isActive': true, + }, + ]; - test('MessageStore decodes and migrates legacy mode-encoded message paths', () async { - final store = MessageStore()..publicKeyHex = '1234567890'; - final contactKeyHex = pubKeyToHex(Uint8List(32)..[0] = 0xAA); - - final rawPath = Uint8List(64); - final messageJson = [ - { - 'senderKey': base64Encode(Uint8List(32)..[0] = 0xAA), - 'text': 'Hello', - 'timestamp': DateTime.now().millisecondsSinceEpoch, - 'isOutgoing': false, - 'status': 2, // delivered - 'messageId': 'msg_1', - 'pathLength': 64, // encoded pathLength (mode 1, 0 hops) - 'pathBytes': base64Encode(rawPath), - } - ]; - - final prefs = PrefsManager.instance; - await prefs.setString('${store.keyFor}$contactKeyHex', jsonEncode(messageJson)); - - final messages = await store.loadMessages(contactKeyHex); - expect(messages, hasLength(1)); - expect(messages.first.pathLength, equals(0)); - expect(messages.first.pathBytes, isEmpty); - }); + final prefs = PrefsManager.instance; + await prefs.setString(store.keyFor, jsonEncode(contactJson)); - test('ChannelMessageStore decodes and migrates legacy mode-encoded paths', () async { - final store = ChannelMessageStore()..publicKeyHex = '1234567890'; - final channelIndex = 1; - - final rawPath = Uint8List(64)..[0] = 0xBB..[1] = 0xCC; - final messageJson = [ - { - 'senderName': 'Alice', - 'text': 'Hello', - 'timestamp': DateTime.now().millisecondsSinceEpoch, - 'isOutgoing': false, - 'status': 2, - 'channelIndex': channelIndex, - 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) - 'pathBytes': base64Encode(rawPath), - } - ]; - - final prefs = PrefsManager.instance; - await prefs.setString('${store.keyFor}$channelIndex', jsonEncode(messageJson)); - - final messages = await store.loadChannelMessages(channelIndex); - expect(messages, hasLength(1)); - expect(messages.first.pathLength, equals(1)); - expect(messages.first.pathBytes, equals(Uint8List.fromList([0xBB, 0xCC]))); - expect(messages.first.pathHashWidth, equals(2)); - }); + final contacts = await store.loadContacts(); + expect(contacts, hasLength(1)); + expect(contacts.first.pathLength, equals(0)); + expect(contacts.first.path, isEmpty); + }, + ); - test('ContactDiscoveryStore decodes and migrates legacy mode-encoded paths', () async { - final store = ContactDiscoveryStore(); - - final rawPath = Uint8List(64)..[0] = 0x11..[1] = 0x22; - final contactJson = [ - { - 'publicKey': base64Encode(Uint8List(32)..[0] = 0xBB), - 'name': 'DiscoveredNode', - 'type': 1, - 'flags': 0, - 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) - 'path': base64Encode(rawPath), - 'lastSeen': DateTime.now().millisecondsSinceEpoch, - 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, - } - ]; - - final prefs = PrefsManager.instance; - await prefs.setString('discovered_contacts', jsonEncode(contactJson)); - - final contacts = await store.loadContacts(); - expect(contacts, hasLength(1)); - expect(contacts.first.pathLength, equals(1)); - expect(contacts.first.path, equals(Uint8List.fromList([0x11, 0x22]))); - }); + test( + 'ContactStore decodes and migrates legacy mode-1 paths with hops', + () async { + final store = ContactStore()..publicKeyHex = '1234567890'; + + // Contact with legacy 65 path length (mode 1, 1 hop) + final rawPath = Uint8List(64) + ..[0] = 0xBB + ..[1] = 0xCC; + final contactJson = [ + { + 'publicKey': base64Encode(Uint8List(32)..[0] = 0xAA), + 'name': 'LegacyNode2', + 'type': 2, + 'flags': 0, + 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) + 'path': base64Encode(rawPath), + 'lastSeen': DateTime.now().millisecondsSinceEpoch, + 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, + 'isActive': true, + }, + ]; + + final prefs = PrefsManager.instance; + await prefs.setString(store.keyFor, jsonEncode(contactJson)); + + final contacts = await store.loadContacts(); + expect(contacts, hasLength(1)); + expect(contacts.first.pathLength, equals(1)); + expect(contacts.first.path, equals(Uint8List.fromList([0xBB, 0xCC]))); + }, + ); + + test( + 'MessageStore decodes and migrates legacy mode-encoded message paths', + () async { + final store = MessageStore()..publicKeyHex = '1234567890'; + final contactKeyHex = pubKeyToHex(Uint8List(32)..[0] = 0xAA); + + final rawPath = Uint8List(64); + final messageJson = [ + { + 'senderKey': base64Encode(Uint8List(32)..[0] = 0xAA), + 'text': 'Hello', + 'timestamp': DateTime.now().millisecondsSinceEpoch, + 'isOutgoing': false, + 'status': 2, // delivered + 'messageId': 'msg_1', + 'pathLength': 64, // encoded pathLength (mode 1, 0 hops) + 'pathBytes': base64Encode(rawPath), + }, + ]; + + final prefs = PrefsManager.instance; + await prefs.setString( + '${store.keyFor}$contactKeyHex', + jsonEncode(messageJson), + ); + + final messages = await store.loadMessages(contactKeyHex); + expect(messages, hasLength(1)); + expect(messages.first.pathLength, equals(0)); + expect(messages.first.pathBytes, isEmpty); + }, + ); + + test( + 'ChannelMessageStore decodes and migrates legacy mode-encoded paths', + () async { + final store = ChannelMessageStore()..publicKeyHex = '1234567890'; + final channelIndex = 1; + + final rawPath = Uint8List(64) + ..[0] = 0xBB + ..[1] = 0xCC; + final messageJson = [ + { + 'senderName': 'Alice', + 'text': 'Hello', + 'timestamp': DateTime.now().millisecondsSinceEpoch, + 'isOutgoing': false, + 'status': 2, + 'channelIndex': channelIndex, + 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) + 'pathBytes': base64Encode(rawPath), + }, + ]; + + final prefs = PrefsManager.instance; + await prefs.setString( + '${store.keyFor}$channelIndex', + jsonEncode(messageJson), + ); + + final messages = await store.loadChannelMessages(channelIndex); + expect(messages, hasLength(1)); + expect(messages.first.pathLength, equals(1)); + expect( + messages.first.pathBytes, + equals(Uint8List.fromList([0xBB, 0xCC])), + ); + expect(messages.first.pathHashWidth, equals(2)); + }, + ); + + test( + 'ContactDiscoveryStore decodes and migrates legacy mode-encoded paths', + () async { + final store = ContactDiscoveryStore(); + + final rawPath = Uint8List(64) + ..[0] = 0x11 + ..[1] = 0x22; + final contactJson = [ + { + 'publicKey': base64Encode(Uint8List(32)..[0] = 0xBB), + 'name': 'DiscoveredNode', + 'type': 1, + 'flags': 0, + 'pathLength': 65, // encoded pathLength (mode 1, 1 hop) + 'path': base64Encode(rawPath), + 'lastSeen': DateTime.now().millisecondsSinceEpoch, + 'lastMessageAt': DateTime.now().millisecondsSinceEpoch, + }, + ]; + + final prefs = PrefsManager.instance; + await prefs.setString('discovered_contacts', jsonEncode(contactJson)); + + final contacts = await store.loadContacts(); + expect(contacts, hasLength(1)); + expect(contacts.first.pathLength, equals(1)); + expect(contacts.first.path, equals(Uint8List.fromList([0x11, 0x22]))); + }, + ); }); } diff --git a/test/screens/path_trace_test.dart b/test/screens/path_trace_test.dart index 6d2b6826..fe333536 100644 --- a/test/screens/path_trace_test.dart +++ b/test/screens/path_trace_test.dart @@ -20,7 +20,8 @@ class _FakeMeshCoreConnector extends MeshCoreConnector { Stream get receivedFrames => _receivedFramesController.stream; @override - Uint8List? get selfPublicKey => Uint8List.fromList(List.generate(32, (i) => i)); + Uint8List? get selfPublicKey => + Uint8List.fromList(List.generate(32, (i) => i)); @override double? get selfLatitude => 48.8566; @@ -60,9 +61,7 @@ Widget _buildTestApp({ ChangeNotifierProvider( create: (_) => AppSettingsService(), ), - Provider( - create: (_) => MapTileCacheService(), - ), + Provider(create: (_) => MapTileCacheService()), ], child: MaterialApp( localizationsDelegates: AppLocalizations.localizationsDelegates, @@ -73,7 +72,9 @@ Widget _buildTestApp({ } void main() { - testWidgets('PathTraceMapScreen parses response frames correctly', (tester) async { + testWidgets('PathTraceMapScreen parses response frames correctly', ( + tester, + ) async { final connector = _FakeMeshCoreConnector(); final screen = PathTraceMapScreen( @@ -89,7 +90,7 @@ void main() { expect(connector.sentFrames.length, 1); final sentFrame = connector.sentFrames.first; expect(sentFrame[0], cmdSendTracePath); - + // Extract the tag sent in the request (bytes 1-4) final tag = sentFrame.sublist(1, 5); @@ -126,7 +127,7 @@ void main() { // auth bytes (8..11) = 0 pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes - + connector.emitFrame(pushTraceFrame); // pump multiple times to handle async tasks await tester.pumpAndSettle(); @@ -135,66 +136,73 @@ void main() { expect(find.text('Path trace not available.'), findsNothing); }); - testWidgets('PathTraceMapScreen parses multi-byte encoded path trace response correctly', (tester) async { - final connector = _FakeMeshCoreConnector(); + testWidgets( + 'PathTraceMapScreen parses multi-byte encoded path trace response correctly', + (tester) async { + final connector = _FakeMeshCoreConnector(); - final screen = PathTraceMapScreen( - title: 'Test Trace Multi-byte', - path: Uint8List.fromList([0x12, 0x34]), - pathHashByteWidth: 2, - ); + final screen = PathTraceMapScreen( + title: 'Test Trace Multi-byte', + path: Uint8List.fromList([0x12, 0x34]), + pathHashByteWidth: 2, + ); - await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); - await tester.pump(); + await tester.pumpWidget( + _buildTestApp(connector: connector, child: screen), + ); + await tester.pump(); - // Verify a send request was made - expect(connector.sentFrames.length, 1); - final sentFrame = connector.sentFrames.first; - expect(sentFrame[0], cmdSendTracePath); - - // Extract the tag sent in the request (bytes 1-4) - final tag = sentFrame.sublist(1, 5); + // Verify a send request was made + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); - // Emit respCodeSent (6) - final respCodeSentFrame = Uint8List(10); - respCodeSentFrame[0] = respCodeSent; - respCodeSentFrame[1] = 0; - respCodeSentFrame.setRange(2, 6, tag); - respCodeSentFrame[6] = 0x88; - respCodeSentFrame[7] = 0x13; - respCodeSentFrame[8] = 0x00; - respCodeSentFrame[9] = 0x00; + // Extract the tag sent in the request (bytes 1-4) + final tag = sentFrame.sublist(1, 5); - connector.emitFrame(respCodeSentFrame); - await tester.pump(); + // Emit respCodeSent (6) + final respCodeSentFrame = Uint8List(10); + respCodeSentFrame[0] = respCodeSent; + respCodeSentFrame[1] = 0; + respCodeSentFrame.setRange(2, 6, tag); + respCodeSentFrame[6] = 0x88; + respCodeSentFrame[7] = 0x13; + respCodeSentFrame[8] = 0x00; + respCodeSentFrame[9] = 0x00; - // Now emit PUSH_CODE_TRACE_DATA (0x89) - // Structure: - // Offset 0: pushCodeTraceData (0x89) - // Offset 1: reserved (0) - // Offset 2: pathLength (65) -> mode 1 (width 2), 1 hop - // Offset 3: flag (0) - // Offset 4..7: tag - // Offset 8..11: auth (0) - // Offset 12..13: pathBytes [0x12, 0x34] - // Offset 14..15: SNR bytes [12, 16] - final pushTraceFrame = Uint8List(16); - pushTraceFrame[0] = pushCodeTraceData; - pushTraceFrame[1] = 0; // reserved - pushTraceFrame[2] = 65; // pathLength encoded (mode 1, 1 hop -> 2 bytes) - pushTraceFrame[3] = 0; // flag - pushTraceFrame.setRange(4, 8, tag); - pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes - pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes - - connector.emitFrame(pushTraceFrame); - await tester.pumpAndSettle(); + connector.emitFrame(respCodeSentFrame); + await tester.pump(); - // Verify it parsed correctly (should not show the unavailable message) - expect(find.text('Path trace not available.'), findsNothing); - }); + // Now emit PUSH_CODE_TRACE_DATA (0x89) + // Structure: + // Offset 0: pushCodeTraceData (0x89) + // Offset 1: reserved (0) + // Offset 2: pathLength (65) -> mode 1 (width 2), 1 hop + // Offset 3: flag (0) + // Offset 4..7: tag + // Offset 8..11: auth (0) + // Offset 12..13: pathBytes [0x12, 0x34] + // Offset 14..15: SNR bytes [12, 16] + final pushTraceFrame = Uint8List(16); + pushTraceFrame[0] = pushCodeTraceData; + pushTraceFrame[1] = 0; // reserved + pushTraceFrame[2] = 65; // pathLength encoded (mode 1, 1 hop -> 2 bytes) + pushTraceFrame[3] = 0; // flag + pushTraceFrame.setRange(4, 8, tag); + pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes + pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes - testWidgets('PathTraceMapScreen buildPath: Direct repeater ping (0-hop)', (tester) async { + connector.emitFrame(pushTraceFrame); + await tester.pumpAndSettle(); + + // Verify it parsed correctly (should not show the unavailable message) + expect(find.text('Path trace not available.'), findsNothing); + }, + ); + + testWidgets('PathTraceMapScreen buildPath: Direct repeater ping (0-hop)', ( + tester, + ) async { final connector = _FakeMeshCoreConnector(); final target = Contact( publicKey: Uint8List.fromList([0xAA, 0xBB, 0xCC]), @@ -223,7 +231,9 @@ void main() { expect(payload, Uint8List.fromList([0xAA])); }); - testWidgets('PathTraceMapScreen buildPath: 1-hop chat contact trace', (tester) async { + testWidgets('PathTraceMapScreen buildPath: 1-hop chat contact trace', ( + tester, + ) async { final connector = _FakeMeshCoreConnector(); final target = Contact( publicKey: Uint8List.fromList([0xCC, 0xDD, 0xEE]), @@ -252,7 +262,9 @@ void main() { expect(payload, Uint8List.fromList([0xBB, 0xCC, 0xBB])); }); - testWidgets('PathTraceMapScreen buildPath: Multi-hop chat contact trace', (tester) async { + testWidgets('PathTraceMapScreen buildPath: Multi-hop chat contact trace', ( + tester, + ) async { final connector = _FakeMeshCoreConnector(); final target = Contact( publicKey: Uint8List.fromList([0x33, 0x44, 0x55]), @@ -281,28 +293,35 @@ void main() { expect(payload, Uint8List.fromList([0x11, 0x22, 0x33, 0x22, 0x11])); }); - testWidgets('PathTraceMapScreen buildPath: Map trace with null target contact', (tester) async { - final connector = _FakeMeshCoreConnector(); + testWidgets( + 'PathTraceMapScreen buildPath: Map trace with null target contact', + (tester) async { + final connector = _FakeMeshCoreConnector(); - final screen = PathTraceMapScreen( - title: 'Map Trace No Target', - path: Uint8List.fromList([0x11, 0x22]), - targetContact: null, - flipPathAround: true, - pathHashByteWidth: 1, - ); + final screen = PathTraceMapScreen( + title: 'Map Trace No Target', + path: Uint8List.fromList([0x11, 0x22]), + targetContact: null, + flipPathAround: true, + pathHashByteWidth: 1, + ); - await tester.pumpWidget(_buildTestApp(connector: connector, child: screen)); - await tester.pump(); + await tester.pumpWidget( + _buildTestApp(connector: connector, child: screen), + ); + await tester.pump(); - expect(connector.sentFrames.length, 1); - final sentFrame = connector.sentFrames.first; - expect(sentFrame[0], cmdSendTracePath); - final payload = sentFrame.sublist(10); - expect(payload, Uint8List.fromList([0x11, 0x22, 0x11])); - }); + expect(connector.sentFrames.length, 1); + final sentFrame = connector.sentFrames.first; + expect(sentFrame[0], cmdSendTracePath); + final payload = sentFrame.sublist(10); + expect(payload, Uint8List.fromList([0x11, 0x22, 0x11])); + }, + ); - testWidgets('PathTraceMapScreen parses raw byte length fallback correctly', (tester) async { + testWidgets('PathTraceMapScreen parses raw byte length fallback correctly', ( + tester, + ) async { final connector = _FakeMeshCoreConnector(); final screen = PathTraceMapScreen( @@ -343,7 +362,7 @@ void main() { pushTraceFrame.setRange(4, 8, tag); pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes - + connector.emitFrame(pushTraceFrame); await tester.pumpAndSettle(); From 9e18b99e9d2bd77b2e67b6752ed59a9573e9f608 Mon Sep 17 00:00:00 2001 From: HDDen <62592944+HDDen@users.noreply.github.com> Date: Thu, 28 May 2026 02:52:04 +0300 Subject: [PATCH 34/45] Multibyte: fixed path trace repeater icon and potential bugs --- lib/connector/meshcore_connector.dart | 27 ++-- lib/screens/ble_debug_log_screen.dart | 18 ++- lib/screens/path_trace_map.dart | 171 ++++++++++++++++++++------ 3 files changed, 162 insertions(+), 54 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index cc627ecf..1f4ba0e5 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -6094,9 +6094,9 @@ class MeshCoreConnector extends ChangeNotifier { pathLength: pathBytes.isEmpty ? -1 : (pathBytes.length ~/ pathHashWidth), - path: Uint8List.fromList( - pathBytes.reversed.toList(), - ), // Store path in reverse for easier use in outgoing messages + // Store hop order reversed for easier outgoing messages; keep bytes + // inside each multi-byte hop in their original order. + path: _reversePathByHop(pathBytes, pathHashWidth), latitude: latitude, longitude: longitude, lastSeen: DateTime.fromMillisecondsSinceEpoch(timestamp * 1000), @@ -6179,9 +6179,9 @@ class MeshCoreConnector extends ChangeNotifier { name: name, type: type, pathLength: path.isEmpty ? -1 : (path.length ~/ pathHashWidth), - path: Uint8List.fromList( - path.reversed.toList(), - ), // Store path in reverse for easier use in outgoing messages + // Store hop order reversed for easier outgoing messages; keep bytes + // inside each multi-byte hop in their original order. + path: _reversePathByHop(path, pathHashWidth), latitude: latitude, longitude: longitude, lastSeen: DateTime.fromMillisecondsSinceEpoch(timestamp * 1000), @@ -6229,7 +6229,7 @@ class MeshCoreConnector extends ChangeNotifier { latitude: hasLocation ? latitude : existing.latitude, longitude: hasLocation ? longitude : existing.longitude, name: hasName ? name : existing.name, - path: Uint8List.fromList(path.reversed.toList()), + path: _reversePathByHop(path, pathHashWidth), pathLength: path.isEmpty ? -1 : (path.length ~/ pathHashWidth), lastMessageAt: mergedLastMessageAt, lastSeen: DateTime.fromMillisecondsSinceEpoch(timestamp * 1000), @@ -6522,7 +6522,7 @@ const int _payloadTypeGroupText = 0x05; const int _cipherMacSize = 2; /// Decodes the firmware's encoded path_len byte into actual byte length. -/// Bits 0-5: hash count (0-63), Bits 6-7: hash size code (0=1byte, 1=2bytes, 2=3bytes). +/// Bits 0-5: hash count (0-63), Bits 6-7: hash size code (0=1byte ... 3=4bytes). int _decodePathByteLen(int pathLenRaw) { if (pathLenRaw == 0xFF || pathLenRaw == 0) return 0; final hashCount = pathLenRaw & 63; @@ -6535,6 +6535,17 @@ int _decodePathHashWidth(int pathLenRaw) { return ((pathLenRaw >> 6) & 0x03) + 1; } +Uint8List _reversePathByHop(Uint8List pathBytes, int pathHashWidth) { + if (pathBytes.isEmpty) return Uint8List(0); + final width = pathHashWidth.clamp(1, 4).toInt(); + final reversed = []; + for (var i = pathBytes.length; i > 0; i -= width) { + final start = (i - width).clamp(0, pathBytes.length).toInt(); + reversed.addAll(pathBytes.sublist(start, i)); + } + return Uint8List.fromList(reversed); +} + class _RawPacket { final int header; final int routeType; diff --git a/lib/screens/ble_debug_log_screen.dart b/lib/screens/ble_debug_log_screen.dart index 6d186970..c5e46f60 100644 --- a/lib/screens/ble_debug_log_screen.dart +++ b/lib/screens/ble_debug_log_screen.dart @@ -9,6 +9,13 @@ import '../helpers/snack_bar_builder.dart'; enum _BleLogView { frames, rawLogRx } +int _decodeRawPathByteLen(int pathLenRaw) { + if (pathLenRaw == 0xFF || pathLenRaw == 0) return 0; + final hashCount = pathLenRaw & 0x3F; + final hashWidth = ((pathLenRaw >> 6) & 0x03) + 1; + return hashCount * hashWidth; +} + class BleDebugLogScreen extends StatefulWidget { const BleDebugLogScreen({super.key}); @@ -208,16 +215,17 @@ class _BleDebugLogScreenState extends State { rawHex: _bytesToHex(raw), ); } - final pathLen = raw[index++]; - if (raw.length < index + pathLen) { + final pathLenRaw = raw[index++]; + final pathByteLen = _decodeRawPathByteLen(pathLenRaw); + if (raw.length < index + pathByteLen) { return _RawPacketInfo( title: 'RX RAW_LOG_RX_DATA • ${_payloadTypeLabel(payloadType)}', summary: 'Truncated path', rawHex: _bytesToHex(raw), ); } - final pathBytes = raw.sublist(index, index + pathLen); - index += pathLen; + final pathBytes = raw.sublist(index, index + pathByteLen); + index += pathByteLen; if (raw.length <= index) { return _RawPacketInfo( title: 'RX RAW_LOG_RX_DATA • ${_payloadTypeLabel(payloadType)}', @@ -230,7 +238,7 @@ class _BleDebugLogScreenState extends State { final title = 'RX ${_payloadTypeLabel(payloadType)} • ${_routeLabel(routeType)} • v$payloadVer'; final summary = _decodePayloadSummary(payloadType, payload); - final pathSummary = pathLen > 0 + final pathSummary = pathByteLen > 0 ? 'Path=${_bytesToHex(pathBytes)}' : 'Path=none'; final detail = '$summary • $pathSummary • len=${raw.length}'; diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index 356e8f78..7eba4b0c 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -57,6 +57,12 @@ Uint8List _lastHopChunk(Uint8List path, int hopWidth) { return Uint8List.fromList(path.sublist(path.length - width)); } +bool _matchesHopPrefix(Uint8List a, Uint8List b) { + if (a.isEmpty || b.isEmpty) return false; + final width = min(a.length, b.length); + return listEquals(a.sublist(0, width), b.sublist(0, width)); +} + class PathTraceMapScreen extends StatefulWidget { final String title; final Uint8List path; @@ -114,13 +120,77 @@ class _PathTraceMapScreenState extends State { Contact? _targetContact; Uint8List? _sentTagBytes; - String _formatPathPrefixes(Uint8List pathBytes) { + String _formatPathPrefixes(Uint8List pathBytes, [int? hashByteWidth]) { return PathHelper.splitPathBytes( pathBytes, - widget.pathHashByteWidth, + hashByteWidth ?? widget.pathHashByteWidth, ).map(PathHelper.formatHopHex).join(','); } + int _traceHashByteWidth(int pathHashByteWidth) { + final width = pathHashByteWidth.clamp(1, pubKeySize).toInt(); + if (width <= 1) return 1; + if (width == 2) return 2; + // Trace packets encode hash width as 1 << flags, so 3-byte path hashes + // must be traced with a 4-byte public-key prefix. + return 4; + } + + int _traceFlagsForHashWidth(int traceHashByteWidth) { + if (traceHashByteWidth <= 1) return 0; + if (traceHashByteWidth == 2) return 1; + return 2; + } + + Uint8List _reversePathByHop(Uint8List pathBytes, int hopWidth) { + final reversedHops = PathHelper.splitPathBytes( + pathBytes, + hopWidth, + ).reversed; + final bytes = []; + for (final hop in reversedHops) { + bytes.addAll(hop); + } + return Uint8List.fromList(bytes); + } + + Uint8List? _expandHopForTrace( + Uint8List hop, + int traceHashByteWidth, + MeshCoreConnector connector, + ) { + if (hop.length == traceHashByteWidth) return hop; + + final candidates = [ + ...?widget.pathContacts, + if (widget.targetContact != null) widget.targetContact!, + ...connector.allContactsUnfiltered, + ]; + for (final contact in candidates) { + if (contact.publicKey.length < traceHashByteWidth) continue; + if (!listEquals(contact.publicKey.sublist(0, hop.length), hop)) continue; + return Uint8List.fromList( + contact.publicKey.sublist(0, traceHashByteWidth), + ); + } + return null; + } + + Uint8List? _tracePathFromBytes( + Uint8List pathBytes, + int traceHashByteWidth, + MeshCoreConnector connector, + ) { + final hops = PathHelper.splitPathBytes(pathBytes, widget.pathHashByteWidth); + final traceBytes = []; + for (final hop in hops) { + final traceHop = _expandHopForTrace(hop, traceHashByteWidth, connector); + if (traceHop == null) return null; + traceBytes.addAll(traceHop); + } + return Uint8List.fromList(traceBytes); + } + @override void initState() { super.initState(); @@ -198,12 +268,16 @@ class _PathTraceMapScreenState extends State { ); } - Uint8List buildPath(Uint8List pathBytes) { + Uint8List? buildPath( + Uint8List pathBytes, + int traceHashByteWidth, + MeshCoreConnector connector, + ) { final pathHops = PathHelper.splitPathBytes( pathBytes, widget.pathHashByteWidth, ); - final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); + final hopWidth = traceHashByteWidth.clamp(1, pubKeySize).toInt(); // Compute targetPrefix if targetContact is provided Uint8List? targetPrefix; @@ -215,12 +289,17 @@ class _PathTraceMapScreenState extends State { } } - final outboundHops = [...pathHops]; + final outboundHops = []; + for (final hop in pathHops) { + final traceHop = _expandHopForTrace(hop, traceHashByteWidth, connector); + if (traceHop == null) return null; + outboundHops.add(traceHop); + } if (targetPrefix != null) { // Check if targetPrefix is already the last hop in pathHops to avoid duplication bool alreadyEndedWithTarget = false; - if (pathHops.isNotEmpty) { - if (listEquals(pathHops.last, targetPrefix)) { + if (outboundHops.isNotEmpty) { + if (listEquals(outboundHops.last, targetPrefix)) { alreadyEndedWithTarget = true; } } @@ -255,19 +334,32 @@ class _PathTraceMapScreenState extends State { }); } + final connector = Provider.of(context, listen: false); + final traceHashByteWidth = _traceHashByteWidth(widget.pathHashByteWidth); final pathTmp = widget.reversePathAround - ? Uint8List.fromList(widget.path.reversed.toList()) + ? _reversePathByHop(widget.path, widget.pathHashByteWidth) : widget.path; - final path = widget.flipPathAround ? buildPath(pathTmp) : pathTmp; + final path = widget.flipPathAround + ? buildPath(pathTmp, traceHashByteWidth, connector) + : _tracePathFromBytes(pathTmp, traceHashByteWidth, connector); + + if (path == null) { + if (!mounted) return; + setState(() { + _isLoading = false; + _failed2Loaded = true; + }); + return; + } appLogger.info( - 'Initiating path trace with path: ${_formatPathPrefixes(path)}', + 'Initiating path trace with path: ' + '${_formatPathPrefixes(path, traceHashByteWidth)}', tag: 'PathTraceMapScreen', noNotify: !mounted, ); - final connector = Provider.of(context, listen: false); final sentTag = DateTime.now().millisecondsSinceEpoch ~/ 1000; _sentTagBytes = Uint8List(4) ..[0] = sentTag & 0xFF @@ -275,7 +367,7 @@ class _PathTraceMapScreenState extends State { ..[2] = (sentTag >> 16) & 0xFF ..[3] = (sentTag >> 24) & 0xFF; - final flags = (widget.pathHashByteWidth - 1).clamp(0, 3); + final flags = _traceFlagsForHashWidth(traceHashByteWidth); final tracePayload = path.isEmpty ? Uint8List.fromList([0x00]) : path; final frame = buildTraceReq( @@ -354,23 +446,19 @@ class _PathTraceMapScreenState extends State { try { buffer.skipBytes(2); // Skip push code and reserved byte final pathLenByte = buffer.readUInt8(); - int hopCount = 0; - int width = widget.pathHashByteWidth; // fallback - int pathLength = 0; - if (pathLenByte != 0xFF) { - final mode = (pathLenByte & 0xC0) >> 6; - if (mode > 0) { - hopCount = pathLenByte & 0x3F; - width = mode + 1; - pathLength = hopCount * width; - } else { - width = widget.pathHashByteWidth; - pathLength = pathLenByte; - hopCount = pathLength ~/ width; + final flags = buffer.readUInt8(); + buffer.skipBytes(4); // Skip tag data + buffer.skipBytes(4); // Skip auth code + var width = _traceHashByteWidth(1 << (flags & 0x03)); + var pathLength = pathLenByte == 0xFF ? 0 : pathLenByte; + if (pathLength > buffer.remaining && (pathLenByte & 0xC0) != 0) { + final packedWidth = ((pathLenByte & 0xC0) >> 6) + 1; + final packedLength = (pathLenByte & 0x3F) * packedWidth; + if (packedLength <= buffer.remaining) { + width = packedWidth; + pathLength = packedLength; } } - buffer.skipBytes(5); // Skip Flag byte and tag data - buffer.skipBytes(4); // Skip auth code final pathBytes = buffer.readBytes(pathLength); final pathData = PathHelper.splitPathBytes(pathBytes, width); List snrData = buffer @@ -390,7 +478,7 @@ class _PathTraceMapScreenState extends State { lastSeen: DateTime.now(), ); if (widget.pathContacts != null) { - final hopWidth = widget.pathHashByteWidth.clamp(1, pubKeySize); + final hopWidth = width.clamp(1, pubKeySize).toInt(); pathContacts = { for (var c in widget.pathContacts!) if (c.publicKey.length >= hopWidth) @@ -436,8 +524,10 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey(_lastHopChunk(c.path, widget.pathHashByteWidth)) == - hopKey, + _matchesHopPrefix( + _lastHopChunk(c.path, widget.pathHashByteWidth), + hop, + ), ) .toList(); if (peers.isNotEmpty) { @@ -483,10 +573,10 @@ class _PathTraceMapScreenState extends State { (c) => c.hasLocation && c.path.isNotEmpty && - _hopKey( - _lastHopChunk(c.path, widget.pathHashByteWidth), - ) == - lastHopKey, + _matchesHopPrefix( + _lastHopChunk(c.path, widget.pathHashByteWidth), + lastHop, + ), ) .toList(); if (peers.isNotEmpty) { @@ -697,6 +787,10 @@ class _PathTraceMapScreenState extends State { ? LatLng(contact.latitude!, contact.longitude!) : inferred!; final label = PathHelper.formatHopHex(hop); + final shortLabel = label.length > 2 ? label.substring(0, 2) : label; + final fullLabel = label.length > 2 + ? (contact?.name != null ? '$label: ${contact!.name}' : label) + : (contact?.name ?? label); markers.add( Marker( @@ -721,7 +815,7 @@ class _PathTraceMapScreenState extends State { ), alignment: Alignment.center, child: Text( - hasGps ? label : '~$label', + hasGps ? shortLabel : '~$shortLabel', style: const TextStyle( color: Colors.white, fontWeight: FontWeight.bold, @@ -732,12 +826,7 @@ class _PathTraceMapScreenState extends State { ), ); if (showLabels) { - markers.add( - _buildNodeLabelMarker( - point: point, - label: contact?.name ?? '~$label', - ), - ); + markers.add(_buildNodeLabelMarker(point: point, label: fullLabel)); } hopLastLast = hopLast; hopLast = hopKey; From 61fb39b9f86874093bf2e39f463733b677e04e86 Mon Sep 17 00:00:00 2001 From: HDDen <62592944+HDDen@users.noreply.github.com> Date: Thu, 28 May 2026 03:17:08 +0300 Subject: [PATCH 35/45] Multibyte: some path fixes - Validate encoded path hop counts before saving or sending custom paths - Fix multi-byte path reversal by reversing hops instead of raw bytes - Decode raw log path lengths using packed path_len format - Localize path hash mode options and optimize map anchor lookup --- lib/connector/meshcore_connector.dart | 68 +++++++++++++++++++++----- lib/screens/map_screen.dart | 37 ++++++++------ lib/screens/settings_screen.dart | 22 +++++++-- lib/widgets/path_selection_dialog.dart | 13 +++-- 4 files changed, 104 insertions(+), 36 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 1f4ba0e5..51fe11bc 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -2598,6 +2598,24 @@ class MeshCoreConnector extends ChangeNotifier { } } + bool _isPathLenValidForCurrentMode(int pathLen, List pathBytes) { + return _isPathLenValidForMode(pathLen, pathBytes, _pathHashByteWidth); + } + + int? _encodePathLenForCurrentMode(int pathLen, List pathBytes) { + if (pathLen < 0 || pathLen == 0xFF) return pathLen; + if (!_isPathLenValidForCurrentMode(pathLen, pathBytes)) { + appLogger.warn( + 'Invalid path_len for mode: pathLen=$pathLen, ' + 'bytesLen=${pathBytes.length}, width=$_pathHashByteWidth', + tag: 'Connector', + ); + return null; + } + final mode = (_pathHashByteWidth - 1) & 0x03; + return (pathLen & 0x3F) | (mode << 6); + } + Future refreshDeviceInfo() async { if (!isConnected) return; if (PlatformInfo.isWeb && @@ -2797,11 +2815,10 @@ class MeshCoreConnector extends ChangeNotifier { try { if (!isConnected) return; - final mode = _pathHashByteWidth - 1; - if (pathLen < 0 || pathLen > 0x3F) { + final encodedPathLen = _encodePathLenForCurrentMode(pathLen, customPath); + if (encodedPathLen == null) { return; } - final encodedPathLen = pathLen | (mode << 6); await sendFrame( buildUpdateContactPathFrame( contact.publicKey, @@ -2863,11 +2880,11 @@ class MeshCoreConnector extends ChangeNotifier { : (updatedFlags & ~contactFlagTeleEnv)) : updatedFlags; - final mode = _pathHashByteWidth - 1; - final encodedPathLen = - (latestContact.pathLength >= 0 && latestContact.pathLength != 0xFF) - ? (latestContact.pathLength | (mode << 6)) - : latestContact.pathLength; + final encodedPathLen = _encodePathLenForCurrentMode( + latestContact.pathLength, + latestContact.path, + ); + if (encodedPathLen == null) return; await sendFrame( buildUpdateContactPathFrame( latestContact.publicKey, @@ -2955,6 +2972,19 @@ class MeshCoreConnector extends ChangeNotifier { tag: 'Connector', ); + if (pathLen != null && + pathLen >= 0 && + (pathBytes == null || + !_isPathLenValidForCurrentMode(pathLen, pathBytes))) { + appLogger.warn( + 'setPathOverride: invalid path for ${contact.name}: ' + 'pathLen=$pathLen, bytesLen=${pathBytes?.length ?? 0}, ' + 'width=$_pathHashByteWidth', + tag: 'Connector', + ); + return; + } + // Update contact with new path override _contacts[index] = _contacts[index].copyWith( pathOverride: pathLen, @@ -3208,11 +3238,11 @@ class MeshCoreConnector extends ChangeNotifier { Future importDiscoveredContact(Contact contact) async { if (!isConnected) return; - final mode = _pathHashByteWidth - 1; - final encodedPathLen = - (contact.pathLength >= 0 && contact.pathLength != 0xFF) - ? (contact.pathLength | (mode << 6)) - : contact.pathLength; + final encodedPathLen = _encodePathLenForCurrentMode( + contact.pathLength, + contact.path, + ); + if (encodedPathLen == null) return; await sendFrame( buildUpdateContactPathFrame( contact.publicKey, @@ -6535,6 +6565,18 @@ int _decodePathHashWidth(int pathLenRaw) { return ((pathLenRaw >> 6) & 0x03) + 1; } +bool _isPathLenValidForMode( + int pathLen, + List pathBytes, + int pathHashWidth, +) { + if (pathLen < 0 || pathLen > 0x3F) return false; + final width = pathHashWidth.clamp(1, 4).toInt(); + final maxHopCountByBytes = maxPathSize ~/ width; + if (pathLen > maxHopCountByBytes) return false; + return pathBytes.length <= maxPathSize && pathBytes.length == pathLen * width; +} + Uint8List _reversePathByHop(Uint8List pathBytes, int pathHashWidth) { if (pathBytes.isEmpty) return Uint8List(0); final width = pathHashWidth.clamp(1, 4).toInt(); diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index b6634813..efd00718 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -700,6 +700,16 @@ class _MapScreenState extends State { int pathHashByteWidth, ) { final result = <_GuessedLocation>[]; + final hopWidth = pathHashByteWidth.clamp(1, 4).toInt(); + final anchorsByPrefix = >{}; + for (final repeater in withLocation) { + if (repeater.type != advTypeRepeater) continue; + if (repeater.publicKey.length < hopWidth) continue; + final prefix = PathHelper.formatHopHex( + repeater.publicKey.sublist(0, hopWidth), + ); + anchorsByPrefix.putIfAbsent(prefix, () => []).add(repeater); + } for (final contact in allContacts) { if (contact.hasLocation) continue; @@ -722,21 +732,13 @@ class _MapScreenState extends State { ]; for (final pathBytes in pathSets) { if (pathBytes.isEmpty) continue; - final hopWidth = pathHashByteWidth.clamp(1, 4); final lastHop = pathBytes.sublist(max(0, pathBytes.length - hopWidth)); if (lastHop.isEmpty) continue; - for (final repeater in withLocation) { - if (repeater.type != advTypeRepeater) continue; - if (repeater.publicKey.length < lastHop.length) continue; - if (!listEquals( - repeater.publicKey.sublist(0, lastHop.length), - lastHop, - )) { - continue; - } + final repeaters = anchorsByPrefix[PathHelper.formatHopHex(lastHop)]; + if (repeaters != null && repeaters.isNotEmpty) { + final repeater = repeaters.first; anchorSet.add(LatLng(repeater.latitude!, repeater.longitude!)); - break; } } @@ -2304,10 +2306,17 @@ class _MapScreenState extends State { connector.pathHashByteWidth.clamp(1, pubKeySize), contact.publicKey.length, ).toInt(); + final hopPrefix = contact.publicKey.sublist(0, hopWidth); + for (final existingHop in PathHelper.splitPathBytes( + _pathTrace, + connector.pathHashByteWidth, + )) { + if (listEquals(existingHop, hopPrefix)) { + return; + } + } setState(() { - _pathTrace.addAll( - contact.publicKey.sublist(0, hopWidth), - ); // Add the hop-width prefix of the public key to the trace + _pathTrace.addAll(hopPrefix); // Add the hop-width pubkey prefix. _pathTraceHopWidths.add(hopWidth); _pathTraceContacts.add( contact.copyWith( diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 3294546f..49181fcc 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -580,11 +580,23 @@ class _SettingsScreenState extends State { labelText: l10n.repeater_pathHashMode, border: const OutlineInputBorder(), ), - items: const [ - DropdownMenuItem(value: 0, child: Text('0 - 1 byte')), - DropdownMenuItem(value: 1, child: Text('1 - 2 bytes')), - DropdownMenuItem(value: 2, child: Text('2 - 3 bytes')), - DropdownMenuItem(value: 3, child: Text('3 - 4 bytes')), + items: [ + DropdownMenuItem( + value: 0, + child: Text(l10n.repeater_pathHashModeOption0), + ), + DropdownMenuItem( + value: 1, + child: Text(l10n.repeater_pathHashModeOption1), + ), + DropdownMenuItem( + value: 2, + child: Text(l10n.repeater_pathHashModeOption2), + ), + DropdownMenuItem( + value: 3, + child: Text(l10n.repeater_pathHashModeOption3), + ), ], onChanged: (value) { if (value == null) return; diff --git a/lib/widgets/path_selection_dialog.dart b/lib/widgets/path_selection_dialog.dart index 949ebbe8..c87b5a9b 100644 --- a/lib/widgets/path_selection_dialog.dart +++ b/lib/widgets/path_selection_dialog.dart @@ -126,7 +126,8 @@ class _PathSelectionDialogState extends State { .toList(); final pathBytesList = []; final invalidPrefixes = []; - final hexCharsPerHop = widget.pathHashByteWidth.clamp(1, 4) * 2; + final pathHashByteWidth = widget.pathHashByteWidth.clamp(1, 4).toInt(); + final hexCharsPerHop = pathHashByteWidth * 2; for (final id in pathIds) { if (id.length < hexCharsPerHop) { @@ -157,8 +158,12 @@ class _PathSelectionDialogState extends State { return; } - // Check max path size in bytes, as defined by the protocol. - if (pathBytesList.length > maxPathSize) { + final hopCount = pathBytesList.length ~/ pathHashByteWidth; + final maxHopCountByBytes = maxPathSize ~/ pathHashByteWidth; + final maxHopCount = maxHopCountByBytes < 0x3F ? maxHopCountByBytes : 0x3F; + + // path_len stores hop count in 6 bits and the path buffer is byte-limited. + if (hopCount > maxHopCount || pathBytesList.length > maxPathSize) { showDismissibleSnackBar( context, content: Text(l10n.path_tooLong), @@ -235,7 +240,7 @@ class _PathSelectionDialogState extends State { helperText: l10n.path_helperMaxHops, ), textCapitalization: TextCapitalization.characters, - maxLength: 191, // 64 hops * 2 chars + 63 commas + maxLength: 188, // 63 one-byte hops * 2 chars + 62 commas ), const SizedBox(height: 16), const Divider(), From 89360c8bc2b12d62f74a6f06e22dfbe0102c2b26 Mon Sep 17 00:00:00 2001 From: PacoX Date: Thu, 28 May 2026 09:18:42 +0200 Subject: [PATCH 36/45] fix channels_screen --- lib/screens/channels_screen.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/screens/channels_screen.dart b/lib/screens/channels_screen.dart index d871892c..60950798 100644 --- a/lib/screens/channels_screen.dart +++ b/lib/screens/channels_screen.dart @@ -280,7 +280,7 @@ class _ChannelsScreenState extends State ), buildDefaultDragHandles: false, itemCount: filteredChannels.length, - onReorderItem: (oldIndex, newIndex) { + onReorder: (oldIndex, newIndex) { final reordered = List.from( filteredChannels, ); From 9e5b360f282d20e1ec673b2b7c01116637c414be Mon Sep 17 00:00:00 2001 From: PacoX Date: Thu, 28 May 2026 09:31:42 +0200 Subject: [PATCH 37/45] fix int conversion --- lib/connector/meshcore_connector.dart | 6 ++++-- lib/helpers/path_helper.dart | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index a25d0273..26c89cca 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -6560,11 +6560,13 @@ class MeshCoreConnector extends ChangeNotifier { if (path.isNotEmpty && path.length < hashWidth) { return; } + final pathStartIndex = path.isNotEmpty ? path.length - hashWidth : 0; + final publicKeyPrefixEnd = math.min(hashWidth, contact.publicKey.length).toInt(); final pubkeyPrefix = path.isNotEmpty - ? path.sublist(math.max(0, path.length - hashWidth)) + ? path.sublist(pathStartIndex) : contact.publicKey.sublist( 0, - math.min(hashWidth, contact.publicKey.length), + publicKeyPrefixEnd, ); final contactKeyHex = _resolveDirectRepeaterContactKeyHex( contact, diff --git a/lib/helpers/path_helper.dart b/lib/helpers/path_helper.dart index a622d3d5..935fa2bc 100644 --- a/lib/helpers/path_helper.dart +++ b/lib/helpers/path_helper.dart @@ -21,10 +21,10 @@ class PathHelper { ) { if (pathBytes.isEmpty) return const []; - final width = hashByteWidth.clamp(1, 4); + final width = hashByteWidth.clamp(1, 4).toInt(); final hops = []; for (int i = 0; i < pathBytes.length; i += width) { - final endIdx = (i + width).clamp(0, pathBytes.length); + final endIdx = (i + width).clamp(0, pathBytes.length).toInt(); final hopBytes = pathBytes.sublist(i, endIdx); if (hopBytes.isNotEmpty) { hops.add(Uint8List.fromList(hopBytes)); From a15f5e94da2eebfa13891a1dfe98e1167058c3f5 Mon Sep 17 00:00:00 2001 From: PacoX Date: Thu, 4 Jun 2026 20:26:46 +0200 Subject: [PATCH 38/45] fix: path formatting in DM mode --- lib/screens/chat_screen.dart | 5 ++++- lib/widgets/path_management_dialog.dart | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index 8207e071..8618e0f6 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -1117,7 +1117,10 @@ class _ChatScreenState extends State { final connector = context.read(); final allContacts = connector.allContacts; - final formattedPath = PathHelper.formatPathHex(pathBytes); + final formattedPath = PathHelper.splitPathBytes( + pathBytes, + connector.pathHashByteWidth, + ).map(PathHelper.formatHopHex).join(','); final resolvedNames = PathHelper.resolvePathNames( pathBytes, allContacts, diff --git a/lib/widgets/path_management_dialog.dart b/lib/widgets/path_management_dialog.dart index c3976e1e..ca8b2c92 100644 --- a/lib/widgets/path_management_dialog.dart +++ b/lib/widgets/path_management_dialog.dart @@ -78,7 +78,10 @@ class _PathManagementDialogState extends State<_PathManagementDialog> { final connector = context.read(); final allContacts = connector.allContacts; - final formattedPath = PathHelper.formatPathHex(pathBytes); + final formattedPath = PathHelper.splitPathBytes( + pathBytes, + connector.pathHashByteWidth, + ).map(PathHelper.formatHopHex).join(','); final resolvedNames = PathHelper.resolvePathNames( pathBytes, allContacts, From c46a5ffa2f81637276ea37aff4b285c70dad8632 Mon Sep 17 00:00:00 2001 From: PacoX Date: Fri, 5 Jun 2026 08:34:57 +0200 Subject: [PATCH 39/45] Fix direct path override validation --- lib/connector/meshcore_connector.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 26c89cca..82af67b1 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -3091,8 +3091,10 @@ class MeshCoreConnector extends ChangeNotifier { if (pathLen != null && pathLen >= 0 && - (pathBytes == null || - !_isPathLenValidForCurrentMode(pathLen, pathBytes))) { + !_isPathLenValidForCurrentMode( + pathLen, + pathBytes ?? Uint8List(0), + )) { appLogger.warn( 'setPathOverride: invalid path for ${contact.name}: ' 'pathLen=$pathLen, bytesLen=${pathBytes?.length ?? 0}, ' From 27695d372a548dd5214fffb8a15c7ed5aaa4c37d Mon Sep 17 00:00:00 2001 From: HDDen <62592944+HDDen@users.noreply.github.com> Date: Fri, 12 Jun 2026 14:44:09 +0300 Subject: [PATCH 40/45] Updated to last dev --- lib/connector/meshcore_connector.dart | 14 +++++--------- lib/l10n/contact_localization.dart | 23 +++++++++++++++++++--- lib/screens/channels_screen.dart | 2 +- lib/screens/chat_screen.dart | 28 ++++++++++++++++++++++++--- lib/screens/contacts_screen.dart | 5 ++++- lib/screens/map_screen.dart | 8 +------- lib/widgets/path_editor_sheet.dart | 21 +++++++++++--------- lib/widgets/routing_sheet.dart | 8 +++++++- 8 files changed, 75 insertions(+), 34 deletions(-) diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index bb9c5370..d9b86cb4 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -3208,10 +3208,7 @@ class MeshCoreConnector extends ChangeNotifier { if (pathLen != null && pathLen >= 0 && - !_isPathLenValidForCurrentMode( - pathLen, - pathBytes ?? Uint8List(0), - )) { + !_isPathLenValidForCurrentMode(pathLen, pathBytes ?? Uint8List(0))) { appLogger.warn( 'setPathOverride: invalid path for ${contact.name}: ' 'pathLen=$pathLen, bytesLen=${pathBytes?.length ?? 0}, ' @@ -6694,13 +6691,12 @@ class MeshCoreConnector extends ChangeNotifier { return; } final pathStartIndex = path.isNotEmpty ? path.length - hashWidth : 0; - final publicKeyPrefixEnd = math.min(hashWidth, contact.publicKey.length).toInt(); + final publicKeyPrefixEnd = math + .min(hashWidth, contact.publicKey.length) + .toInt(); final pubkeyPrefix = path.isNotEmpty ? path.sublist(pathStartIndex) - : contact.publicKey.sublist( - 0, - publicKeyPrefixEnd, - ); + : contact.publicKey.sublist(0, publicKeyPrefixEnd); final contactKeyHex = _resolveDirectRepeaterContactKeyHex( contact, pubkeyPrefix, diff --git a/lib/l10n/contact_localization.dart b/lib/l10n/contact_localization.dart index d8344a32..4f21c585 100644 --- a/lib/l10n/contact_localization.dart +++ b/lib/l10n/contact_localization.dart @@ -1,4 +1,5 @@ import '../connector/meshcore_protocol.dart'; +import '../helpers/path_helper.dart'; import '../models/contact.dart'; import 'app_localizations.dart'; @@ -23,14 +24,30 @@ extension ContactLocalization on Contact { } } - String pathLabel(AppLocalizations l10n) { + String pathLabel( + AppLocalizations l10n, { + int pathHashByteWidth = pathHashSize, + }) { if (pathOverride != null) { if (pathOverride! < 0) return l10n.chat_floodForced; if (pathOverride == 0) return l10n.chat_directForced; - return l10n.chat_hopsForced(pathOverride!); + return l10n.chat_hopsForced( + _displayHopCount(pathOverrideBytes, pathOverride!, pathHashByteWidth), + ); } if (pathLength < 0) return l10n.channelPath_floodPath; if (pathLength == 0) return l10n.chat_direct; - return l10n.chat_hopsCount(pathLength); + return l10n.chat_hopsCount( + _displayHopCount(path, pathLength, pathHashByteWidth), + ); + } + + int _displayHopCount( + List? pathBytes, + int storedHopCount, + int hashWidth, + ) { + if (pathBytes == null || pathBytes.isEmpty) return storedHopCount; + return PathHelper.splitPathBytes(pathBytes, hashWidth).length; } } diff --git a/lib/screens/channels_screen.dart b/lib/screens/channels_screen.dart index cbb3cfaf..96b154ac 100644 --- a/lib/screens/channels_screen.dart +++ b/lib/screens/channels_screen.dart @@ -271,7 +271,7 @@ class _ChannelsScreenState extends State ), buildDefaultDragHandles: false, itemCount: filteredChannels.length, - onReorder: (oldIndex, newIndex) { + onReorderItem: (oldIndex, newIndex) { final reordered = List.from( filteredChannels, ); diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index 89310bbd..cdb108a8 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -12,6 +12,7 @@ import '../utils/platform_info.dart'; import '../connector/meshcore_connector.dart'; import '../connector/meshcore_protocol.dart'; import '../helpers/cyr2lat.dart'; +import '../helpers/path_helper.dart'; import '../helpers/reaction_helper.dart'; import '../widgets/message_status_icon.dart'; import '../widgets/empty_state.dart'; @@ -727,17 +728,35 @@ class _ChatScreenState extends State { } String _currentPathLabel(Contact contact) { + final connector = context.read(); + // Check if user has set a path override if (contact.pathOverride != null) { if (contact.pathOverride! < 0) return context.l10n.chat_floodForced; if (contact.pathOverride == 0) return context.l10n.chat_directForced; - return context.l10n.chat_hopsForced(contact.pathOverride!); + final bytes = contact.pathOverrideBytes ?? Uint8List(0); + final hopCount = _displayHopCount( + bytes, + contact.pathOverride!, + connector.pathHashByteWidth, + ); + return context.l10n.chat_hopsForced(hopCount); } // Use device's path if (contact.pathLength < 0) return context.l10n.chat_floodAuto; if (contact.pathLength == 0) return context.l10n.chat_direct; - return context.l10n.chat_hopsCount(contact.pathLength); + final hopCount = _displayHopCount( + contact.path, + contact.pathLength, + connector.pathHashByteWidth, + ); + return context.l10n.chat_hopsCount(hopCount); + } + + int _displayHopCount(List pathBytes, int storedHopCount, int hashWidth) { + if (pathBytes.isEmpty) return storedHopCount; + return PathHelper.splitPathBytes(pathBytes, hashWidth).length; } void _showContactInfo(BuildContext context) { @@ -758,7 +777,10 @@ class _ChatScreenState extends State { ), _buildInfoRow( context.l10n.chat_path, - contact.pathLabel(context.l10n), + contact.pathLabel( + context.l10n, + pathHashByteWidth: connector.pathHashByteWidth, + ), ), _buildInfoRow( context.l10n.contact_lastSeen, diff --git a/lib/screens/contacts_screen.dart b/lib/screens/contacts_screen.dart index fedc428a..0431baae 100644 --- a/lib/screens/contacts_screen.dart +++ b/lib/screens/contacts_screen.dart @@ -911,6 +911,7 @@ class _ContactsScreenState extends State ); return _ContactTile( contact: contact, + pathHashByteWidth: connector.pathHashByteWidth, lastSeen: _resolveLastSeen(contact), unreadCount: unreadCount, isFavorite: contact.isFavorite, @@ -1553,6 +1554,7 @@ class _ContactsScreenState extends State class _ContactTile extends StatelessWidget { final Contact contact; + final int pathHashByteWidth; final DateTime lastSeen; final int unreadCount; final bool isFavorite; @@ -1561,6 +1563,7 @@ class _ContactTile extends StatelessWidget { const _ContactTile({ required this.contact, + required this.pathHashByteWidth, required this.lastSeen, required this.unreadCount, required this.isFavorite, @@ -1579,7 +1582,7 @@ class _ContactTile extends StatelessWidget { ), title: Text(contact.name, maxLines: 1, overflow: TextOverflow.ellipsis), subtitle: Text( - contact.pathLabel(context.l10n), + contact.pathLabel(context.l10n, pathHashByteWidth: pathHashByteWidth), maxLines: 1, overflow: TextOverflow.ellipsis, ), diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 044f2183..3c717f94 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -2468,10 +2468,7 @@ class _MapScreenState extends State { builder: (context) => PathTraceMapScreen( title: l10n.contacts_pathTrace, path: Uint8List.fromList(_pathTrace), - flipPathAround: true, - targetContact: _pathTraceContacts.isNotEmpty - ? _pathTraceContacts.last - : null, + flipPathAround: false, pathHashByteWidth: hashW, pathContacts: _pathTraceContacts, ), @@ -2494,9 +2491,6 @@ class _MapScreenState extends State { title: l10n.contacts_pathTrace, path: Uint8List.fromList(_pathTrace), flipPathAround: true, - targetContact: _pathTraceContacts.isNotEmpty - ? _pathTraceContacts.last - : null, pathHashByteWidth: context .read() .pathHashByteWidth, diff --git a/lib/widgets/path_editor_sheet.dart b/lib/widgets/path_editor_sheet.dart index 67d9510c..f20aad1c 100644 --- a/lib/widgets/path_editor_sheet.dart +++ b/lib/widgets/path_editor_sheet.dart @@ -97,7 +97,9 @@ class _PathEditorSheetState extends State { void _syncHexFromHops() { _syncingHex = true; - _hexController.text = _hops.map((h) => PathHelper.formatHopHex(h.bytes)).join(','); + _hexController.text = _hops + .map((h) => PathHelper.formatHopHex(h.bytes)) + .join(','); _syncingHex = false; _hexError = null; } @@ -114,8 +116,7 @@ class _PathEditorSheetState extends State { final invalid = tokens .where( (t) => - t.length != expectedChars || - int.tryParse(t, radix: 16) == null, + t.length != expectedChars || int.tryParse(t, radix: 16) == null, ) .toList(); setState(() { @@ -144,10 +145,15 @@ class _PathEditorSheetState extends State { void _addHop(Contact contact) { if (_hops.length >= _maxHops) return; - final width = widget.pathHashByteWidth.clamp(1, contact.publicKey.length).toInt(); + final width = widget.pathHashByteWidth + .clamp(1, contact.publicKey.length) + .toInt(); setState(() { _hops.add( - _Hop(_nextHopId++, Uint8List.fromList(contact.publicKey.sublist(0, width))), + _Hop( + _nextHopId++, + Uint8List.fromList(contact.publicKey.sublist(0, width)), + ), ); _syncHexFromHops(); }); @@ -173,10 +179,7 @@ class _PathEditorSheetState extends State { for (final hop in _hops) { bytes.addAll(hop.bytes); } - Navigator.pop( - context, - Uint8List.fromList(bytes), - ); + Navigator.pop(context, Uint8List.fromList(bytes)); } Widget _hopTile(BuildContext context, int index) { diff --git a/lib/widgets/routing_sheet.dart b/lib/widgets/routing_sheet.dart index 5859e0c2..1370fb3d 100644 --- a/lib/widgets/routing_sheet.dart +++ b/lib/widgets/routing_sheet.dart @@ -547,9 +547,15 @@ class _RoutingSheetBodyState extends State<_RoutingSheetBody> { connector.pathHashByteWidth, ) : l10n.chat_hopsCount(record.hopCount); + final displayHopCount = hasBytes + ? PathHelper.splitPathBytes( + record.pathBytes, + connector.pathHashByteWidth, + ).length + : record.hopCount; final line1 = - '${l10n.chat_hopsCount(record.hopCount)} • ${_qualityLabel(context, quality)}'; + '${l10n.chat_hopsCount(displayHopCount)} • ${_qualityLabel(context, quality)}'; final line2Parts = [ record.timestamp != null ? l10n.routing_lastWorked(_relativeTime(context, record.timestamp!)) From e92d2155829a799d6f243a3880ad06fb1973b3c2 Mon Sep 17 00:00:00 2001 From: HDDen <62592944+HDDen@users.noreply.github.com> Date: Sun, 14 Jun 2026 01:36:49 +0300 Subject: [PATCH 41/45] upd - fix and format --- lib/helpers/path_hop_resolver.dart | 11 ++++++----- lib/l10n/app_localizations_de.dart | 2 +- lib/l10n/app_localizations_es.dart | 2 +- lib/l10n/app_localizations_fr.dart | 2 +- lib/screens/channel_chat_screen.dart | 19 ++++++++++++++++--- lib/screens/channel_message_path_screen.dart | 10 ++++------ lib/screens/map_screen.dart | 4 +++- 7 files changed, 32 insertions(+), 18 deletions(-) diff --git a/lib/helpers/path_hop_resolver.dart b/lib/helpers/path_hop_resolver.dart index ed06207a..b17f7b56 100644 --- a/lib/helpers/path_hop_resolver.dart +++ b/lib/helpers/path_hop_resolver.dart @@ -21,10 +21,10 @@ class PathHopResolver { if (contact.type != advTypeRepeater && contact.type != advTypeRoom) { continue; } - final prefix = PathHelper.formatHopHex(contact.publicKey.sublist(0, width)); - candidatesByPrefix - .putIfAbsent(prefix, () => []) - .add(contact); + final prefix = PathHelper.formatHopHex( + contact.publicKey.sublist(0, width), + ); + candidatesByPrefix.putIfAbsent(prefix, () => []).add(contact); } for (final candidates in candidatesByPrefix.values) { candidates.sort((a, b) => b.lastSeen.compareTo(a.lastSeen)); @@ -39,7 +39,8 @@ class PathHopResolver { var previousPosition = endpoint; for (final index in indexes) { - final candidates = candidatesByPrefix[PathHelper.formatHopHex(hops[index])]; + final candidates = + candidatesByPrefix[PathHelper.formatHopHex(hops[index])]; if (candidates == null || candidates.isEmpty) continue; var bestIndex = 0; diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index 2412b3b8..c44e3d01 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -2591,7 +2591,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes, die zur Kodierung der ID dieses Repeaters in Flood-Pfad-/Schleifen-Erkennung-Tags verwendet werden. 0 = 1 Byte (256 IDs, bis zu 64 Hops), 1 = 2 Bytes (65.000 IDs, bis zu 32 Hops), 2 = 3 Bytes (16 Millionen IDs, bis zu 21 Hops). Firmware vor v1.14 verwendet immer 1-Byte-Pfade; ab v1.14 können 2- oder 3-Byte-Pfade eingestellt werden.'; + 'Bytes, die zur Kodierung der ID dieses Repeaters in Flood-Pfad-/Schleifen-Erkennung-Tags verwendet werden. 0 = 1 Byte (256 IDs, bis zu 64 Hops), 1 = 2 Bytes (65.000 IDs, bis zu 32 Hops), 2 = 3 Bytes (16 Millionen IDs, bis zu 21 Hops). Firmware-Versionen 1.13 und älter verwenden mehrstellige Pfade – ab Version 1.14+ wird nur ein Pfad erstellt, sobald das Netzwerk aktiv ist.'; @override String get repeater_txDelay => 'Flood-TX-Verzögerung'; diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index d7b171bd..0882003a 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -2591,7 +2591,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta flood/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). El firmware anterior a v1.14 siempre usaba rutas de 1 byte; v1.14 y posteriores pueden configurarse para rutas de 2 o 3 bytes.'; + 'Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). Las versiones 1.13 y anteriores de firmware eliminan rutas de múltiples bytes; solo se detectan una vez que la red está activa en la versión 1.14 o posterior.'; @override String get repeater_txDelay => 'Retraso TX por inundación'; diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index ce91155a..a5ae5046 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -2602,7 +2602,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_pathHashModeHelper => - 'Octets utilisés pour encoder l\'ID de ce répéteur dans les balises de chemin flood/détection de boucle. 0=1 octet (256 ID, jusqu\'à 64 sauts), 1=2 octets (65 000 ID, jusqu\'à 32 sauts), 2=3 octets (16 millions d\'ID, jusqu\'à 21 sauts). Le firmware antérieur à v1.14 utilisait toujours des chemins d\'1 octet; v1.14 et les versions ultérieures peuvent être configurées pour des chemins de 2 ou 3 octets.'; + 'Octets utilisés pour encoder l\'ID de ce routeur dans les balises de détection de flux/boucles. 0 = 1 octet (256 ID, jusqu\'à 64 sauts), 1 = 2 octets (65 000 ID, jusqu\'à 32 sauts), 2 = 3 octets (16 millions d\'ID, jusqu\'à 21 sauts). Les versions 1.13 et antérieures utilisent des chemins multi-octets ; à partir de la version 1.14, cela n\'est plus nécessaire.'; @override String get repeater_txDelay => 'Délai de transmission en flood'; diff --git a/lib/screens/channel_chat_screen.dart b/lib/screens/channel_chat_screen.dart index 3e271adb..25fb265c 100644 --- a/lib/screens/channel_chat_screen.dart +++ b/lib/screens/channel_chat_screen.dart @@ -515,6 +515,11 @@ class _ChannelChatScreenState extends State { final displayPathHashWidth = message.pathHashWidth ?? context.read().pathHashByteWidth; + final displayHopCount = _displayHopCount( + displayPath, + displayPathHashWidth, + message.pathLength, + ); // Bubble colors — outgoing uses MeshPalette.me / meBorder / meInk. final bubbleColor = isOutgoing @@ -665,9 +670,7 @@ class _ChannelChatScreenState extends State { children: [ RouteChip( isDirect: (message.pathLength ?? -1) >= 0, - hops: (message.pathLength ?? -1) >= 0 - ? message.pathLength - : null, + hops: displayHopCount, ), const SizedBox(width: 4), Text( @@ -1564,6 +1567,16 @@ class _ChannelChatScreenState extends State { ).map(PathHelper.formatHopHex).join(','); } + int? _displayHopCount( + Uint8List pathBytes, + int pathHashByteWidth, + int? fallbackPathLength, + ) { + if ((fallbackPathLength ?? -1) < 0) return null; + if (pathBytes.isEmpty) return fallbackPathLength; + return PathHelper.splitPathBytes(pathBytes, pathHashByteWidth).length; + } + /// Deterministic name-to-hue mapping consistent with [AvatarCircle]. Color _colorForName(String name) { const hues = [ diff --git a/lib/screens/channel_message_path_screen.dart b/lib/screens/channel_message_path_screen.dart index 634ca388..98a9c874 100644 --- a/lib/screens/channel_message_path_screen.dart +++ b/lib/screens/channel_message_path_screen.dart @@ -156,11 +156,11 @@ class ChannelMessagePathScreen extends StatelessWidget { }) { final l10n = context.l10n; final scheme = Theme.of(context).colorScheme; - final routeChip = message.pathLength == null + final routeChip = effectiveHopCount == null ? null - : message.pathLength! < 0 + : effectiveHopCount < 0 ? const RouteChip(isDirect: false) - : RouteChip(isDirect: true, hops: message.pathLength); + : RouteChip(isDirect: true, hops: effectiveHopCount); return MeshCard( margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), @@ -1887,9 +1887,7 @@ Uint8List _orientPathBytes( }) { if (!reverse || pathBytes.isEmpty) return pathBytes; final hops = PathHelper.splitPathBytes(pathBytes, hashByteWidth); - return Uint8List.fromList([ - for (final hop in hops.reversed) ...hop, - ]); + return Uint8List.fromList([for (final hop in hops.reversed) ...hop]); } int _hopCountFromBytes(int byteCount, int hashByteWidth) { diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 74ba1e35..9be1a584 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -1321,7 +1321,9 @@ class _MapScreenState extends State { (contact.type == advTypeRepeater || contact.type == advTypeRoom) && contact.publicKey.length >= overlapHopWidth && overlapPrefixes.contains( - PathHelper.formatHopHex(contact.publicKey.sublist(0, overlapHopWidth)), + PathHelper.formatHopHex( + contact.publicKey.sublist(0, overlapHopWidth), + ), ); void addNode(Contact contact, {bool dot = false}) { From 445a18a83f69cd2e4c20ee1128beb2eb0c37b445 Mon Sep 17 00:00:00 2001 From: PacoX Date: Tue, 16 Jun 2026 15:01:10 +0200 Subject: [PATCH 42/45] Fix failed test --- lib/screens/channels_screen.dart | 2 +- lib/widgets/path_editor_sheet.dart | 2 +- linux/flutter/generated_plugins.cmake | 1 + test/screens/path_trace_test.dart | 54 ++++++++++++++------ test/services/path_history_service_test.dart | 15 +++--- windows/flutter/generated_plugins.cmake | 1 + 6 files changed, 52 insertions(+), 23 deletions(-) diff --git a/lib/screens/channels_screen.dart b/lib/screens/channels_screen.dart index d9846db3..2f8b06a9 100644 --- a/lib/screens/channels_screen.dart +++ b/lib/screens/channels_screen.dart @@ -281,7 +281,7 @@ class _ChannelsScreenState extends State ), buildDefaultDragHandles: false, itemCount: filteredChannels.length, - onReorderItem: (oldIndex, newIndex) { + onReorder: (oldIndex, newIndex) { final reordered = List.from( filteredChannels, ); diff --git a/lib/widgets/path_editor_sheet.dart b/lib/widgets/path_editor_sheet.dart index f20aad1c..93594acd 100644 --- a/lib/widgets/path_editor_sheet.dart +++ b/lib/widgets/path_editor_sheet.dart @@ -323,7 +323,7 @@ class _PathEditorSheetState extends State { physics: const NeverScrollableScrollPhysics(), buildDefaultDragHandles: false, itemCount: _hops.length, - onReorderItem: _reorderHop, + onReorder: _reorderHop, itemBuilder: _hopTile, ), const Divider(), diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 379e36fa..93e46829 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flserial + jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/test/screens/path_trace_test.dart b/test/screens/path_trace_test.dart index 9544d76d..55c10b14 100644 --- a/test/screens/path_trace_test.dart +++ b/test/screens/path_trace_test.dart @@ -11,6 +11,21 @@ import 'package:meshcore_open/services/app_settings_service.dart'; import 'package:meshcore_open/services/map_tile_cache_service.dart'; import 'package:meshcore_open/models/contact.dart'; import 'package:meshcore_open/l10n/app_localizations.dart'; +import 'package:meshcore_open/services/path_history_service.dart'; +import 'package:meshcore_open/services/storage_service.dart'; +import 'package:meshcore_open/models/path_history.dart'; + +class _FakeStorageService extends StorageService { + @override + Future savePathHistory( + String contactPubKeyHex, + ContactPathHistory history, + ) async {} + @override + Future loadPathHistory(String contactPubKeyHex) async => null; + @override + Future clearPathHistory(String contactPubKeyHex) async {} +} class _FakeMeshCoreConnector extends MeshCoreConnector { final StreamController _receivedFramesController = @@ -63,6 +78,9 @@ Widget _buildTestApp({ create: (_) => AppSettingsService(), ), Provider(create: (_) => MapTileCacheService()), + ChangeNotifierProvider( + create: (_) => PathHistoryService(_FakeStorageService()), + ), ], child: MaterialApp( localizationsDelegates: AppLocalizations.localizationsDelegates, @@ -92,8 +110,8 @@ void main() { final sentFrame = connector.sentFrames.first; expect(sentFrame[0], cmdSendTracePath); - // Extract the tag sent in the request (bytes 1-4) - final tag = sentFrame.sublist(1, 5); + // Extract the tag sent in the request (bytes 2-5) + final tag = sentFrame.sublist(2, 6); // Emit respCodeSent (6) final respCodeSentFrame = Uint8List(10); @@ -118,8 +136,8 @@ void main() { // Offset 4..7: tag // Offset 8..11: auth (0) // Offset 12..13: pathBytes [0x12, 0x34] - // Offset 14..15: SNR bytes [12, 16] -> to be mapped to signed 8 bit Snr/4 - final pushTraceFrame = Uint8List(16); + // Offset 14..16: SNR bytes [12, 16, 20] -> to be mapped to signed 8 bit Snr/4 + final pushTraceFrame = Uint8List(17); pushTraceFrame[0] = pushCodeTraceData; pushTraceFrame[1] = 0; // reserved pushTraceFrame[2] = 2; // pathLength @@ -127,11 +145,12 @@ void main() { pushTraceFrame.setRange(4, 8, tag); // auth bytes (8..11) = 0 pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes - pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes + pushTraceFrame.setRange(14, 17, [12, 16, 20]); // SNR bytes connector.emitFrame(pushTraceFrame); - // pump multiple times to handle async tasks - await tester.pumpAndSettle(); + for (int i = 0; i < 5; i++) { + await tester.pump(const Duration(milliseconds: 100)); + } // Verify it doesn't show "Path trace not available" or similar expect(find.text('Path trace not available.'), findsNothing); @@ -158,8 +177,8 @@ void main() { final sentFrame = connector.sentFrames.first; expect(sentFrame[0], cmdSendTracePath); - // Extract the tag sent in the request (bytes 1-4) - final tag = sentFrame.sublist(1, 5); + // Extract the tag sent in the request (bytes 2-5) + final tag = sentFrame.sublist(2, 6); // Emit respCodeSent (6) final respCodeSentFrame = Uint8List(10); @@ -194,7 +213,9 @@ void main() { pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes connector.emitFrame(pushTraceFrame); - await tester.pumpAndSettle(); + for (int i = 0; i < 5; i++) { + await tester.pump(const Duration(milliseconds: 100)); + } // Verify it parsed correctly (should not show the unavailable message) expect(find.text('Path trace not available.'), findsNothing); @@ -336,7 +357,8 @@ void main() { expect(connector.sentFrames.length, 1); final sentFrame = connector.sentFrames.first; - final tag = sentFrame.sublist(1, 5); + // Extract the tag sent in the request (bytes 2-5) + final tag = sentFrame.sublist(2, 6); // Emit respCodeSent (6) final respCodeSentFrame = Uint8List(10); @@ -353,19 +375,21 @@ void main() { // Now emit PUSH_CODE_TRACE_DATA (0x89) // Structure: - // Offset 2: pathLength (2) -> raw byte length count, mode is 0! - // Offset 12..13: pathBytes [0x12, 0x34] + // Offset 2: pathLength (1) -> mode 0, hop count 1. + // Offset 12..13: pathBytes [0x12, 0x34] (1 hop * 2 bytes/hop) final pushTraceFrame = Uint8List(16); pushTraceFrame[0] = pushCodeTraceData; pushTraceFrame[1] = 0; // reserved - pushTraceFrame[2] = 2; // pathLength as raw byte length (2 bytes) + pushTraceFrame[2] = 1; // pathLength encoded (mode 0, 1 hop) pushTraceFrame[3] = 0; // flag pushTraceFrame.setRange(4, 8, tag); pushTraceFrame.setRange(12, 14, [0x12, 0x34]); // pathBytes pushTraceFrame.setRange(14, 16, [12, 16]); // SNR bytes connector.emitFrame(pushTraceFrame); - await tester.pumpAndSettle(); + for (int i = 0; i < 5; i++) { + await tester.pump(const Duration(milliseconds: 100)); + } // Verify it parsed correctly (should not show the unavailable message) expect(find.text('Path trace not available.'), findsNothing); diff --git a/test/services/path_history_service_test.dart b/test/services/path_history_service_test.dart index 87ae729d..3ea6acf1 100644 --- a/test/services/path_history_service_test.dart +++ b/test/services/path_history_service_test.dart @@ -549,12 +549,15 @@ void main() { final pubKey = _hex('w004'); await _seed(svc, pubKey, pathBytes: [0x01], hopCount: 1, weight: 0.3); - svc.recordPathResult( - pubKey, - const PathSelection(pathBytes: [0x01], hopCount: 1, useFlood: false), - success: false, - failureDecrement: 0.5, // 0.3 - 0.5 = -0.2 → remove - ); + // The service requires failureCount >= 3 to remove a path + for (int i = 0; i < 3; i++) { + svc.recordPathResult( + pubKey, + const PathSelection(pathBytes: [0x01], hopCount: 1, useFlood: false), + success: false, + failureDecrement: 0.5, // 0.3 - 0.5 = -0.2 → remove + ); + } await _flush(); final paths = svc.getRecentPaths(pubKey); diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index f02857f4..533a1712 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -11,6 +11,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flserial flutter_local_notifications_windows + jni ) set(PLUGIN_BUNDLED_LIBRARIES) From ef6c1e0898699205f7967c50684894a7a4bdb972 Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 24 Jun 2026 14:24:12 +0200 Subject: [PATCH 43/45] Fix login screen --- lib/widgets/repeater_login_dialog.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/widgets/repeater_login_dialog.dart b/lib/widgets/repeater_login_dialog.dart index 56834455..03f6e345 100644 --- a/lib/widgets/repeater_login_dialog.dart +++ b/lib/widgets/repeater_login_dialog.dart @@ -469,7 +469,10 @@ class _RepeaterLoginDialogState extends State { ), const SizedBox(height: 4), Text( - repeater.pathLabel(context.l10n), + repeater.pathLabel( + context.l10n, + pathHashByteWidth: connector.pathHashByteWidth, + ), style: TextStyle( fontSize: 11, color: scheme.onSurfaceVariant, From 3541b1bbac8030bd1588a641fd09a369437be30a Mon Sep 17 00:00:00 2001 From: PacoX Date: Wed, 24 Jun 2026 14:38:35 +0200 Subject: [PATCH 44/45] Fix room login screen --- lib/screens/repeater_hub_screen.dart | 7 ++++++- lib/widgets/room_login_dialog.dart | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/screens/repeater_hub_screen.dart b/lib/screens/repeater_hub_screen.dart index ab15e01e..b23be5dc 100644 --- a/lib/screens/repeater_hub_screen.dart +++ b/lib/screens/repeater_hub_screen.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:meshcore_open/connector/meshcore_protocol.dart'; +import 'package:meshcore_open/connector/meshcore_connector.dart'; import 'package:provider/provider.dart'; import '../l10n/l10n.dart'; import '../models/contact.dart'; @@ -31,6 +32,7 @@ class RepeaterHubScreen extends StatelessWidget { final l10n = context.l10n; final scheme = Theme.of(context).colorScheme; final settingsService = context.watch(); + final connector = context.watch(); final chemistry = settingsService.batteryChemistryForRepeater( repeater.publicKeyHex, ); @@ -85,7 +87,10 @@ class RepeaterHubScreen extends StatelessWidget { ), const SizedBox(height: 4), Text( - repeater.pathLabel(l10n), + repeater.pathLabel( + l10n, + pathHashByteWidth: connector.pathHashByteWidth, + ), style: Theme.of(context).textTheme.bodySmall ?.copyWith(color: scheme.onSurfaceVariant), ), diff --git a/lib/widgets/room_login_dialog.dart b/lib/widgets/room_login_dialog.dart index a5e2555b..b88716f8 100644 --- a/lib/widgets/room_login_dialog.dart +++ b/lib/widgets/room_login_dialog.dart @@ -405,7 +405,10 @@ class _RoomLoginDialogState extends State { ), const SizedBox(height: 4), Text( - repeater.pathLabel(context.l10n), + repeater.pathLabel( + context.l10n, + pathHashByteWidth: connector.pathHashByteWidth, + ), style: TextStyle( fontSize: 11, color: scheme.onSurfaceVariant, From 2df17be673cac909af3762b2bb5acc95db017241 Mon Sep 17 00:00:00 2001 From: PacoX Date: Thu, 9 Jul 2026 08:43:55 +0200 Subject: [PATCH 45/45] remplace onReorder by onReorderItem --- lib/screens/channels_screen.dart | 2 +- lib/widgets/path_editor_sheet.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/screens/channels_screen.dart b/lib/screens/channels_screen.dart index 2f8b06a9..d9846db3 100644 --- a/lib/screens/channels_screen.dart +++ b/lib/screens/channels_screen.dart @@ -281,7 +281,7 @@ class _ChannelsScreenState extends State ), buildDefaultDragHandles: false, itemCount: filteredChannels.length, - onReorder: (oldIndex, newIndex) { + onReorderItem: (oldIndex, newIndex) { final reordered = List.from( filteredChannels, ); diff --git a/lib/widgets/path_editor_sheet.dart b/lib/widgets/path_editor_sheet.dart index 93594acd..f20aad1c 100644 --- a/lib/widgets/path_editor_sheet.dart +++ b/lib/widgets/path_editor_sheet.dart @@ -323,7 +323,7 @@ class _PathEditorSheetState extends State { physics: const NeverScrollableScrollPhysics(), buildDefaultDragHandles: false, itemCount: _hops.length, - onReorder: _reorderHop, + onReorderItem: _reorderHop, itemBuilder: _hopTile, ), const Divider(),

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
~Y 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 jsb10KXG#Kck}T+WA5hV#P`U}OYY1y zr88a*ZfCAvy{>rX+6|SfH&hf9vOnjS0H>VXImOJ!*+0nPi4&iTw~v>Tte@i(Cns+| zS08`co+b$2uD#~^w>8a!KQ3|hze{C?%!NP#WOU7=Z|(i_QU9!fy^(!!#s#ZNBx1r( zk)Ck*)jPdwyYKPsIy?9Jhw|J_9?7iw ztJdFV_>SUzo5bg93Ck$jsk>`7P3&zPMoZJ7=k^^$@~$B52M<1K{GOhcJ^FGJ#yJc; zH6NeAAxTL|&(P3uaYsi-F0_l>X>fH)t{1bA3698OiSI_eiOlW!{BBC{KS%!z>{;ug?Akf*v!{amnKu@%?}%5|9ngPl{DG@+ z7-aaLKk+>slYRJ~YXSFeIiUZ~PQKO~TEIyBr(Js!`_IkzZrwX~e(yg!1^WK)L(9Xn zT5os!`layi2`_XGW;!|!_Ko@cyF(!Acd6gH)bFzgcgA$5mApvH`e%#pp@_t#e>R`K zzoWM^4S;qg=kK`P|7^Z+3;+Mnq5t!SeXU==T4`xzT)1$-Iy5v)=j`8@&Ss3~*=?7H z&EMMEygWVoBeA-k{{F4Fl*0e%%LfvdF107h+ITMx`4q3Mfl}n9#!OAkwCzR2!+Nfr zI(?$JsK_Y4sPPe-iFqhxbh;`%T_UCM-`;(c&BtdS*e5k+Wo5Z0pcvC8Z%# zQ`2op@AILAiN1+r-ctnX3b`e4YU-KHq>Yu8ThnT zNvT)pl%`F|!|Y$gWS_ke5s8V3-Y;LiMEexFn?hepUlcugvV_Zpc({32t_ydLm1OFA z!mDE%g`0cB!~e=p*3j7YD(?O<+evQ{`gW(SprqtWXPT;q@D;maMrEaOQWY}X`#12L z=X34nj7cPIWNPXYFk#1EY;5?0Rg`>2J#DJID@uE>gY`07p8YNjuN^YhaOM@Ju~ii#?#sV#|zx?qtJVPRUBuCR!xg6gb(T8sSk>(qE-hLw%Y zqNq3;my#m9tPs_L@-3N(1pkqdmM$zWzp>U_yz z72&6p>H2E|3gc%I!hMU*jJMAGnYFY*rjUFNA3i+HArOgOEj=t>v$661CGk6ZhB7tI zG_KNphPSuYsom+?T&%!OyfQT+Qco#C?7Jescjr1&=a_s73Il;g&?NGtHAzWHX^T?^ zF_*o3xin;EMzP8L8O$>=@~Qs-MS*OmIy98~$@~i?wfxD<4}mrB@*jjP2ObEe5pbII z$?i*$)|lS;&R4IZnoIKw&;6AX5Ks|F`SY^wRGhozgFAO3N#W|Nt;Zx#atAK?rFe}O z_XL%ur+)#~3P?=koYLq?Ji9S3A0IGA{Dx&_St~}QeEJ3Us%#F^T3lW(ZDL=+c&G+ZOIfuDj4kfC zhyRa`rr?n#ST%<~XJM7c@5e_D=ZBdm zWY8MdD;qeB6gzc7`l2yptGp@aZ!5xg^8jaEBo;dKpj3&pS<%3pl%w%@t?|Yq=VH`m zJG@6q2M|c)(sO}~$xEvT585dZnqM+WBqwpyW;&RSA%9I;@_@7N4CCzB#=KRY&%uMM zm7!k^Y#I=SPz#F?xsV|(Q~nazUf`AM$JNC5RmyB@uJ_?M{bqIw7~msQofdIOI5MTU z2AvtmZQjdX$&3lT@k-L;mFdk<63IvSitUDR^gxq2>YACEX;E!w_T3~_me!%>TKV2S z*`va%ukJw~y7%S+@AHR%d*K1MAlgwI2B8ClSq4Z_RaI5JV7viYMOwd2^E-~6L9^>f z6$L*p)7}#1gr?m6-#~s1b=lh521)_@F%7m$6DCN@ltccM zQamq!oDd*{ZP4LO%SsVI&?p(SI0{-{dTJ)#J3H&#bg)hYRa zDra}eg}aHHQvDjdtuEBYYc2f8k4pmgyi2zQf~7b570V4HoIz#fV9GhdCxZs_fK1ls zZ~F`CGt~a7$8&2d3+IF{TTW&A`)}7S^wp}Jv8fmp3!d5quC&8&==kaW$3COw?JeW= z^`YQ{11*;>D1U|b)mFsN=>d>K^EN(BPH*142|VXtP&;JyJqaG`^Oy`TkAt!a^!a4l zH_@8RSGC6d=*1JiTckLO4rX(u1j3KfxkqD2T2qkrv(!%NxiRroQdG#ydZ;bPPJswB zz1gMW%;8>)9XJoS_9<6t+---d=9%A2hj|D_^Cad}P;V|no}SVg$xL9?e~ z98RA?Kdt%hmBvS>l)N{llrB9kUDKM=hSRYxiqaF!P83mQ=K~e+3oSO{45w&u4fKFt zHc3@9B{5`cCMnmh@A01*W3j5ilHm5=0-G+uc}44aM3I_o$3bzGTw`42c>Mz#!Ad;G z2-KG6*vDk0n!`!U%ibC=U{&S5jg58fXx_h){MC*rKG%g?e_CG4it{3I^Sr=JKak#Z z3rEYg`bs~xUYiWjXXYoZ%eEX^q?66T?J%YLmZ7YlOcbyuK_aUAa;2uNuI5 z7vLWltVg(Nz}p(aTSKznk#?>iJXt4DZP=ip1)f1iEKMd*Y?$l8|n`!J$UEB}Tj4uM{|^acu+ zU;5d_E%mf5ZHcOGGqo_MAJqHyaXbDYEPKo!ZN{*&~*)LWus+v|6A#n@#f}sC?1N)Rw zmr>eWMV#)Vl}P({;Z$kNKPvlc_l>%6(g;;V?)}=})wlqr|0!T}F!RrQ=wxkfSo7H? zW=$};UQ{{syRNN{j2>NrzF;Or{od1Jfm(u>`wZ1lK4s3*IVvNS~;v9}jthrZq5^q%=4$Nov4M7%#{Y$iinBQ0 zfJ)Geb=(M-!&YB1^%>w%#J9C=D%`WN0R$1X07}1ML>6I14Mi#E%(rPIdtMOe%#QTM zEGjiQ*;IMbpWaltw~df}TfUw6%SJ8KEMkUe$4(HBk6d3=rpIzpNn2h%^F&bJg1;!N z(Ap_RZS4ilrDESE8P4ktq>WG|@|VRiJSK*O?3S~x|BlV@I3LI0-HG(MbWvT@yPG%b z!~G`Xm??%_y2fU~nwAqPIuhm9J+_{7by%3$Oz+wnEVPkT53dDz@VIjrA7UemKx+G; z)U;*D{&5$+N*RI5z(QV3_VrCSVOi4;+sah8tA*wXS8pY>Cf~m+_z*oK17CIT`XKZR z9$AE!c7g|UBLq6HY-l{1VF|Tx zv$~ALL}y(2!phqg#srNUU3i3f1Z03aEPjMHLE=`VHu-kWVv(*B-~=pqLxVWb+i><_ zke+{BP8%*bln`dFj^i$M@qS9}B!`=4{ado{yLx(#%lvNiB%b3}g`L@mf}yX`KQ2Sf z4Rg^Mqd)?#t1SyPg3$ZT(3nhWeoz+6;LgGwGjcrQ10}~a9l!hY2ct;iIiY>-!+!6= zWFtxl*5)_yfxDUz9GF?Ak6<|ZwB1l+K%kL@;_(RMMHh=UyO_b;l`iZnI5(U(9izdp z%Ni|;RD5$y}56C75}R5R66MmZu^fE;|o^&!D_uUGGH01pYI60 zb;4`^C%*!aHMF;py<8XgXXS5=%8Pq*5X48$P6(cHL{yv@cliG2g2f^Tf!4%p#Fm>- zo)Jj=wnH}hyYP_>m&S)ymo$n=cAS}fvDiDBG$GUh3l=vAzz~~$q=u?$ zn~cFgo7pi1H`C0T_1O?`Z>=xS_u_aP1!Ba}=Y7SnuTV+bV;Utq#n6E+S@NV+LauvH z)~AZl$wz0bk1hKMW>FwsogbG{8Z{bDE$h8jMa4;?M2N=3fc2bNCadM4zvo8IU=VBL z5<7oIKe(K9oR9B?LsHb=QX916H=e_M44?-o9`C}=L#N&1(%K!yUYaQ(DC>Fcq5gaF z(uYOtAnOgu=J<_iQ}H+=@>5vzZXRFAY#_UtmD_cTC}BKW)ab6timj>3M-mLo+wwvE zjg59ZO2hdUZFX>G`4MQ7bgS83w|9fNNLkbXKM_&kUcE*C6Q1Hp%?HbZzhp3!tWgAZ z<(FrgP3>vuk0#0X1__6)i}3gn?c0S?h^Aa-9tfsc+4-zlkM1$B)zI@}q>9FBmkA4krX(D6BmU%XQBhGOv7Jjlj?C*55l8=Yxo<+m+H zZCN3&fAzgG(mTGSuBX6mSdLF=X@I&^&zbFee{@;GXO_F+U2{$X?|odMjk}g0o7Bi5FqJ^*{(gB#i3k&rs7n#%x3oBy5@L8%kpFhuH;pM3? zlo(%UmRGdxWTp4(fOw>OZTq0|%SbfCb?PdkjY@+dTp^Xhj@aH__NPtAJ`KP?aLSk~b{*d`GH=Sn4 zB9dB%_)6$<)z`<J98ZE>$NC_=E{rB;4^gzu0%C*Ie~Sm`aoi2MN&Mv$5txGi%+XxUA}yR~%&(?in; zYLesCiF*4t)E*pEUPU$xCN46rrW(oTE<#LpIib;MsP$8%dgp-R!F;dVXRBs|bt82p ziN@8@lO8hOYfQaocmi}F$p7mPAu%-T4d%d4sg}uuL{PMxc*6U4u6VM@VnD^!`|mNi zc@zculdqAD1Z>gnNsk`P{tZ%k^~lQ5As|<%ko>9JI-ho-on~UjnbbLF=a2b>9DM!y z9#}JB+R3SFRcwiM-;$|+O3`!Utp?$E>h@DqKa2owq}QgcgV$-}h26q|x>Gw> z@cPM19WU57Zb0V=BP|LZtht^nLnRfp(7~F}Jq3PG%7oGoF=CG7#^Q4yJ8DO3yEs=H zG8>2mb+N_C zr%G@TBQyGN!aK;*{Sv^ljGo?)?5|owXa3le zY6HDW+4PSl4q`Uk_hI*=M#wAo1-6Jhdeaf5QQM&hc1jbYlfw9YX_tN>J)8_H6;6n) zksUG|cmQI%;_hIWMF(=UU}Aqe<3K#LvFVsrzd}9?UIO755ikpn6kJ|0Wg6VzD=`Nv z9^Jo5aO_dv>}cAIFm9%Y^a}?#6DXy-iBNk-rWNZBwuJfK+h@Zu&2PuvpinjE&OLK}u$_VZA4=nF` zr5v$5+;6IKl67vjO=GL1Yd7KBX6@e-jb3#qjt89iVF&d0PPAsuH)^$@1;gavjZ5+z zNal|p23}jGPGVD+vQD2kz1f>-l_4AMPs}7UL>MG7@4s9iKr!rU=9|Mub&gE$l2lh$ z7qfN__b3h~|ITMLe=K;i?dkRiNQ`hYbk@&~U+X=(AWfIFyS7!UFWVsnDoILaA7T?e z%s|2NZr3FZFA@S+t)?yK(CQs6;`@6@xiJvd_amp(ri5B*iO`ws(LLwckE~#m79P9L z8$QU^IDGWzQ7>ScRz7Nv>+&3uu_Qi`D;L)$H>fCjog+(=n>x+>!|)3?MquUHQ0F^2 zRY`jM;%9%V#Z0JAh()`LX9$e|L__7goh6e$`Ib5JFi1z}N#p9`5OsV+9#ZW*vL?g; zbH8Ymdr7pI!F$tvuUNogi^mif(sY>8wM}Njh~Jyn#4F(@CJT#;G+h0alc(yKy0N4Z zgWik$4Ltg(CI$_M;f4?|PB2y~+tZB5q@GM&ejs%3P{BBNj{~s;J)tMmU~eq;t!~We zib{qe_^DvO>>={}b1>wQP(p&(zDu7e8{}K?Wiu~BM&^{~>hG_REZ3G=ehU4i-5ubEK=kAljgPRIe=XOG!#_S?wJ{M1{IO-j0!Ax-X$sRxyYLGlAcbNSxI z2ez``A?V-Lg^;q*L|NNe)DjLsxuk)WGEUu?GFBp~B%M<7+|b9Ci~bTJE{0|ft?rag z0N#OfgIFu$^*`(&Y0PZaME7k&(5(P!4)fW-YX-=tuC{jDvK$OnTX`z(qP1xyx=ydl zAt^(BDIy-uL%qf0k@QmqMU9;@mjww?yN9>d=h)}(%U^OGtm$9PcS`8Y>>OL@i%;lc z*$&alB}K1SaJ>v9%)30vx^ZE9z-w`4$^}ac&@Pb zLSre~&U9=H+P)C%l0>vzfM!9-lRDypLqn-$>f*FCp~9TyU_I$vBivei=BY*?@gDb? z6bt$DcT@TjxV<70)|0sdwZABH=^CAEK&s!i25P1lQ+*=?hIDIkvd9%n^O>m@vi8V+ zMep+08;8NK1D8h^IND7G(E^A|_6YmwJ&-RklI z?2X(f8}w)XZ&g8Vb;!lgtDl_GKtq~B`NH{ESgXQ+gol#_M)NH-H5Qv>b^u;xzCl%0 z?hp>B2OfqFgsv+$r0IQXlfAEmB$r{qW)iAI} z7kXiKW(GNsjcBu@YCnd?H*z}1#P&%);80+V?#3GQa-2M!{I2Lm3Y}Yjg`!~1KOe*!fHzVw#TO3`{4oUu2#rh652y^Z1qBDUKKDw! z3$=*iA~P}~Ui|>^92X*l;fI-vHZ4zdmyjfO8m|$^vDqzuS`GIEULFU#Zgdc!`Cb#X z^g#d|r`4|~Hn5jfCmp%?TwFRV*({nX9XO!A~l=#z~P6FRVz zp9>|r;_DiA8`voC9V)#jx3J>ZBuMEoA&w1TFm3>+LjPoxj`t20e1!MGL)y_a4s(fG zMM@*A)e8ygHEc&EHL&iJQwZGtF4IgW!J7+dx=OKi%q7OmhQkWy-m%ke!JMGRbx~rl z`9SWx+JeeOJ=6}quH`RTaW0rzF;q~IJ&=Z6Rt5{tg`e_*&QhFh=1g0fF>+-%DVs_>4!D80D9(je`@E{EUeTmI(x4y2eYNA<6;eAcoV2;Wh%hQR zF?U*}T4Vf>Xjz>Dxmky?AG4_o${oS;PA*_)l1{sFRQ=X z{xWDFeL2+CWItBr!xS^-jWzK|O90RLvlw7?z2AEW-_X*LC&=U(7#OWlZcVhhRr*Be zh%^^CjLBn17M+a-&_Hpr?56kF%&$+VBTqL6VcOZA=J;H~UIjHn<5)=AE_^SDir9IH_{h}*swygm=B?O^in5C=mT*(B}E06 za{XJ6bU!?2kUuxFebEl#>Hky8*7S4kXXBx}L%;vD$HVI3ZRs8v#=L;ORR56cPv>jQ zo9?H!o#IbXxW_f-ad50RtGqSdHoV?ifxX6G7N%hfHY~`tXSgTeYw;E-e5qh+8RKid zE*2XqzJbh{9(Y1HKB$s0bP*vZC@51tL~}YX_j}CzM9q@{198J_2`UJ~o8YlYBVV5H z=QNBeRYc#17D;Mp)&4Ix3n(Qj|S!+xrED{MZLy^Zj) z$Bo}visO6w`_0+v!@<>67Mpo&^EXEcYbNsRg%`)`7Py4;^hrAuUAWSR);3u?Z^RPk z7ki~9kTp$Y8Kc4>V%h|*i?GbEwtTjvdNn) z`?`wkuQts2JvJzTeDGt1vv+7FL}S!2(c~ufh-fhf7y3KXyJ$dUK5&c1WAl1!_RT-H zkEqBsPAyFwJnoT4WP+=N;s{>1%HP}DZJw!bjRHMcTF%W(!dLyxc>_EY(4MLqKg$XG z6+{Z@U?GrRUwvH1@r>|x$F;VZrLT(ZQ| z&71L=@%^oKV@#idqERK&{J!UiL(b@bqbyR zVM=4`&#^IPJA}uz>+P8&tJjxflGD>hrh%nNrfus4s{+zi$-`S*OK3(1$H;qP4aR1_5hTN1K^WY52`h?YEmULg8k zVOsTtcM8&1p^UswH$)QAX>~{Aj>i7?PpKIW_y<=mHcU&n-8kbEtp3kMpN=iudETok z7I$ZlDeB+px3e#-S2fw(h_?UVTk{2J-AJk*{LWBKwvayU^y0r~tICe<+i>6dvqKyu z4gPzp&s6_HljWfE=Q;K70O+xXVM61yoo zUqFK4aOb}v5i~aNN||Pnv3A>~;b5I(*%;;|9*<{iN6*R1$aI{2`@-Epk6UVMKNnRC?mjMS z{iq{JwhE}5RRcHPD^%SWD~tm)X^VqJWxszv9INrm9q1oC@y}yDwQ;lv&vJ8fW6+7H ziI!$A7mc|M9Wo!=FCJ)Eqs__=7@O>Za^Y5`~k7l(*dnYuBE_XM%Du_~{sSFb>2 z)$N}*zP~+ZVP-bnpkC!Y;qGBUTqQG%)#>kMW@bk)+%lf$^XJbi1F68~!Drbh5UwL1D__lqS|RZhM&N zm9t+wxLeU@a%rIAT;{n(&xa2)0s;a;0zBbxT-C*H#cxvI8rlez>2^gE6BCK?@zZl& zEs^|O6d=wG@b@3a$LB8nsv>PTng$nmto`ik3iq=V>~zS$4N)lW>|k13AZx>|DH{DT zMG>jsV`>`5e}ta}nO76P8T^?EOK4skEU4J)fa~q+^8#|QWSbN!hdEh=!Y!q!6zvxa z{yg^gyRH=BPSnHUA-Pkaru{0Ixho&5aGWKV#_`_lyPP0x^+yBWG@E3S9&8PvBU)!C|IUgs^Krg%15h5ZR%Z1up!B}7GAdDiiKog!SlIi?h)r^XGh5`SZedv zLt-H5+h(7J#>PAV3=HxJE`$d-yXr#A#%8Ht)A`)kvV!uTNpB*v4jsQ-3{a*c^WW#8 zOc`b65vkXs)sHj3VtvbUbB9bz%|bPPH*4(80R_8AU%a^DYcdAAi02sJGbj(+4#UTq z$D1T1B_Tgs!eB}j#_p=chyiz*iA0S`FkN`Cjr`|0E zbiAUleB%a?B7NBZ9^{~4m1uo>X}F{Xbm$OjMDIbX!K=Fkr5U}}qt?J)NA9R&48(a% zY;sm2zq2W=4@gK2l&68}byH6u0(RiaAHKvHm(;rA} zLQr9L19=7}5kXk6XeFFWNwTBn5x$KJd>j}Y7zJcBE}~RX#!3qqnLyaB9pSHZ-4p&L zqq$*8d8Be~T0L;;GgqK@X3Vb(GMDc0Sbx<;tM~Qm!!}nj&tSI+>Yv#TY(sLsmS#j_ zmB9^9=+~Ui=bg_OP@!@^Kudf@?0sId@`HEtnu~nVn$) zbh5>lGHH9PZe)XPb2jC!g|#VV==Nea?dZP}@LNkC=zs|FE{+QEE=8D;|BRQ`h|OPW z9jjwH!sV_gwaM%gs=ZWic3^mjG&hjRBKY1ncT!P=%nE(n4;I@XbY=WLYXgYFU}xRm zR}xH!x?`{tc@lp>q$80}joCQ{22>ZA%aF@t=2dgeY-t^Z_I?ilj$z*2l^F)z`=TmL zT1n_C7Z5m+kGVy2G+TTm8$et zHWA-MoQY@5P#UNYs|S6gKDnESmPL~C*TPH=tO2aq*(lAPG zYZF8M<9W&Eh5XzU-WXpR->&nnF98f9 z(Eja(zYiS(71m^rAUz3Z??WRA-u(j9)Ve?;+59vdsK>nIrXretFiG$c5LD8qF!WK6 zz)J<%$If4x@4vrxD&64^!FgcCFT$rTh<4-|JWNPPh@GV?vb)HEBd^{2<=L0wP~rv2 z^Ok@LzX{fMUH&8VCSJheMuBZYnw&%pNG7Tt{z99r5#F=U4 zg&Fa;VPrpQr&hU=?nC^=_INEE>p?gRb%8ZO%Yyd5(T|R|d z`D`wcDe2gITN4qp`_`{J8YjZ40DA+`6dI5zX>a;9J+bC3r(Xpgx~hYlu!|N`b!J0G z<^~c$9`e2NkaY;O*^W@eV0x5Zgx;6tv$(s9ioCI67EItXWfO<)c1U(%C9Qj7IrFXe zs*+hrfHh&O*ne-7$ScxV-{MTNiZNlkA0mBvFiRio8T^_3nt;tG++ZWv^{G!gYY-_A z_EMSH3->3N4S!^DvjH_Tx<~=ghxNbf7d#~*!dS6%SOOA^2BPQhnY3(z*uY=+2;qf< zyix^^LCdZBC&Xc>K>laz{{8fa2Xcfcl+z0;`PMLY7U^I_{p#CAxXnNPHjZ(IUciUR zLj9$$n(O6$zDLesg^HxFPbZ{;PC$k5 zugvzk@9;ZzA#@>}y`FY?65xCxv1Y3-9~EB(>C%;;*^dmK{0P8~dz{To6zI>1t)^n8pCdD`8L`}S)0^z)At2Wt>*$lLw{OpZRR_b z%|5b1>ekWn3C=>11Z)AKQTlT~SNOOPOC?|1QtkTnr8z=rMsuJVvmPg&ddT)}L?$5_ zI$wkA@&@ZF^t@|c=yNeby5^${^ggP&xVNp4vEmWFff4Yo*FO(~eF8WN3-2WPkkh}E zmS*7fp8s^_3)wR1^UxD8YwM%UWhTVK{rCO(zn~YXRiVweJS9?SU;ZUr2+M5@sDuEn zVc@wkRDOA)s%wutf0G4}zZoUO0FbL*4*k;97@&((2e|RZf=H^d;@n{}+V71g z+Q907M}A&^jFYg_UJ_bzdr>9n-P@`I>+2q#FB{ch{w&+6(KzaR_HgXp;$v?TDhhu= zw&ye3#Ry}SV=LW%1h#W>?%XxJTQ;W2xuc=H@=_>CaBR@ms0vG!zG^X*Z_gTlH@LrX zV1wj@EE-pu4?*f702A|S5>RuF0qF(&kgYs)#yzY6poB(RY^qoa1Am#;O_FB5f?0?^ctjYT!>K&OJ=>p9@b}pYV=hhat)(r7jrL zqX%fIKXL}nDX4_(XeEJm=5SRTNWyOY;{IX zZpl?E<7-l)oIVqBqu%F_mbA9sJ|%jxq@?&4;KcKgBRa*$#Wh1B zoZ7x|YBo1th_`(Ip7$muW~@P4S@|n~K3qP^0NA-<7K^oQdG2ks@3wwoa8d2m zYH0(H%NC1m+-#0w0I4M4)cmj?3zADoPFX6fnk;Q#Gpx0>Tl$f_b`7pnrCXmQ*g&Y) z=(TZVY5+Ze0enJ6V=!xuaPOWB9Y$}|m56EdCSguHeYuOvbzyYY(Jal(;wSj?VZ=(& zE^0AQ(^28uUz%3@0746B|Da%TvF}}{9UU!5-L8dRqOf|vp7>}2fP++L=4M!#=_T#Y zHKDiBV$e8(h`hvKInohO1vei!=0KH7{cn?A?W>j+*1vao8XBh39~?PCJ5F8ySfE_# zz}aV05*h(>cYgF}b3NnMdW}nvrH)QEU`L$1({`sYuee(bF(q*d^lUW-y?qWWI8MIhwo)zW$Qz7x)`$r=qBZCtYUM^j!bYkDY z;Gng~-F%_rf}@pKamJ_n3AkSpS<6e5@^^m(cZ^RixR61jzJ~{(JvF)DrWG1SYx#Oe zSS_!!tD`DIz(QlIHNKHYY~t1uyOQ{a$Uspx*xUO==WAZra8#09RSRwkhM| zKlClfxo*t-am|JB_v^wxnduV^C|G3W`fO(zVGAmeS5yVV&6o+)Ne(KDnB`2&?NQOuZ2nunQG@&<2_L;@I4KzIfutH z^Z7rI$h#~h5jnjwp+euik-;g2wq=8ro}&)|FW|CJM;eGWQRWh}Khwl<+EMHyCE!1k zhi@m-(^C;^zE96PEh57G=|Mo;GcY(TVQqAvY@gcaQwP6fMTXBs*n0&(dQ|G;e85bh z+$P=j1x)>>Sp<1=#=sbQ$cT8hfAQqW1&LetKwUABw}AQeqCJUiX0$Jxu+;JMdohrk zMm<>W!%z7kaE9u*6AWYa&8sKoI)rEEkP3L|6F{Y+rUyNc-wmS~8sA-)m?bp#tL)#u zPuq2v)^Q<{Io~j<(crTAgr0?#yZjy8);l++IY##i=Nyz_cr9?esG_h9bLcH=YYU1{ zqP4EBF7~SqWCBCgH8L_9_RdJX`M8;}Jh7-fTY;Nd|KSA)t`fzgbtUj&cV#il+sfjD zMX!wAJUq%u1p?))tG{<~{0Ut1TZpC2lCB3f{P|ZdUoHoHi-^4oovEtSZnCx+(G3ug zK?xQX7Pf!KQLF>~0|D>~SEM8_-*Nnk^`q?UY;=K1&l#J6EG3Z_1R5cdJ2(5sNVKlA zq;d@KE3_4$hMx3@5mQA|?LLT5(-#*n%9bsCZ2$aVNT&%4!b0^`IZTs9yVBs7zlel2 z4;4j~*)|L$yoHsT1^Wlc|NJWjDzPwUav%THeVP>jguQ@Pp8Fz&vU>H&bYuW9``v}* z?AF}-bq>uUySm@5pq@O5!dcZdSH7E&&1j zVwTe9?;UzJ^;_qV+DCJN!LdFU09GV(aQl1-KMUR~4Y3JgH-m>u=YE#VbR>pTrP!_J ze$9b5O8VN(at)PX2EmPLm*J+SODIdMu5R@TM`AkCwZIVyi6Q8q8uO+s(jGXDV6RsKYVTb z8iEL;`$9{3$Nu9knY(GQ$feS_ft#qy2bxl>(A&at4~luy8XR%1g33vue*(~Z9Ca*? zFbb%j!@7TGXo(*s8g#9#g`_>lC%NjnxEwg$he~98TvC?kueGP=o>HH`EGx(OB(D-x zL%2U+=0A}PCD&-GA{q5C=h;6$OR}ScLv%d6Y#U%$3yXI)`j68AzQo4H1`AWNc-KXz zKIn)Lu$O*aNVv>=iSJBpvj6oleb)M~kH8+N8b_58Nc` zI`}X?76|YSMXYD8R4>X4VJUrE!;Ue?ndu^dxFXA%->+iLHB)y(px33#Uo*a%UzpZA z;7czHQ;jGdo%zFVW(v-Zacgqo^{XRVqxycj_~L#0L|QO9e*785(gU zCbTkclZN3k8^J@1LNbJ8LnHko9Y@9rGk#b_l&ctVAeYK*Yah97PUNk0a~qhX^{aMs z8_)KO6>DRUjO-Uj3pDqcBDq_0UVYjrYLC=Wtn&ToQNps7Z7uZsGfM!>q+av3y4`@R zEMZT=*f;SyVHOq$A({_*U5QFWZ^FpTje>u^4pXx~39&ci&rKxC*?O*P@hRH|1Qgm5 ziVmg^<-x+F1^NY$5r#Sud%4MkE4sQ;SlO5uV@n?&98-z9w6yk&lqumW4bq(ZxH8!( zuuuBYua1t2tUu?8-#uMDk35^oql1rZs>olLzpTC#qm>```>cn%TSYDF&LW6Lm*^wI z?d&=gVssqrFb5u0bUl9jH_uLc7S)_vZcaSY5M1)jeQ{C!qoDz%Y^mU~xC&0Fa$*2A zeGF*!*UB?GW5p-+Q8%1F!9?_Vf&>Ii*NqxBhv*`mBo+;_0j{>yGQhr~mP zXDqYTu8~{5^B6Sl;B%|JT?nI=soW+d3ZiAY;kQ!wyHVPHZ9V+U!Wu`&G9nMiI6c3kb+YMM1zqQL2J~^cp%rP+I66LIR2uD=G*G zNbd;{TIc}<>Ai%|5fSN~1V|`nI(;ZhukNdBXnq)PsyO>mR6Ngmg|Q8*d5)Q+}Iw}gTV}4T=I#;zCmNB>d9wT zAB%4aOFmiokT=pYu?!9Hm3Q8JcLk+AnSRK4AzXH%zFxsheM)vrpQP*iK5GfOis8*g zmd<{*8G8+RT}cR_sF;^yWN+7cz}OFxWr^bQQ@T0Fl~q(Eh2OD3s`qFcOB<6O?VvE( zk>tBX^!xMBwPD`t9!v;sBlY%~u2f=fW*iN5Scv0(!?%7fpHTG`dsR`fLE3+E91STK zz7~G;F*it6pJkgOre$%TgUVY&44~x-z9_!dp7-0+57Y-EV$U)8Gmvi*#VoTZ2=wlR(y?9hRMy!JMBZ%ISok%)+dEPkKK3crDIr zY~`XB>y5V|np*cW51GRj5MkU}ESYN=%1v}@Ep%qpvc=(T$Gz&&Dry7{>0u>&3233* zRA6NcB@)%(LoZvtW<_>6`@#^jnZg7s|P=Ot%q(Y2#50^*$$rxSU8n88WHsf=yb*JcPkq9QsKcWB&fG z{ux1|$?v^D=Bv-IB9g>poBQiz~pPZY~GI+!maB0!}k(mP7Kx8PP7gj=a#guvZy8# zf+sW7u!7sS*!5wV0a^^rnC3TnR_T{AHp`3&2>j7Z|J9}4Z~W)X_Q-Rb9}%B+9x(<( zbsdL_+d`0BQpjF@9#S@Z0*c{U8nFXd68uENJKDszCRWgQ>C|P_P|L{EUaB6Pr-)lI z$?3nyim#BC2p`G=wu_?cRFtHM)lgSA+t*kZr8&V$;R-9yjcFE!Haw zqlGj~?FP)!H;WpUaCSjOgV9msU~g0sdHSYX^~68nFuaR?S#j4>*wkgm*^PZehFLHA zwu{ckL#eNP)=-T_Rz)3cP5H^mhnB91yJc>+@Wn9pK|DkeXLtbh9;7kle6M>iHa#c0;vc;6<$eQQMk%Tq=;;r)RLh^2m=BqM8I;Q{_QBQ z=M{%SVCJU-R`%|KQ&+Lm&>}$zx{Tlun*}CA&tI+4SqUE7pwPh!$&Kexw8EulQ1Z5} z*A}qB^FXB@48BJ)UO1#{h)vX&a$9p<+xB{5HOcq;{&H*uZUz_!hVLHvP@K9sF>@pP zb6%OHC1)=lk2kh6j%BVR&99-ky?ZsSU!F|Thb31FRaWQaeZg|Gv&B>*b>(KE1?{-( zyn=#LV+#8EB^_2~(Dzl*(v^RSrrmN~kU9mN#L#r1`lxCu&=nK97{Omm|URA z{n$;VP+w6!L%9=JB9_w1d^Z&PMnwlQ0A3|V&Gc&~T)#gPy}O*kj6PRIjf7|C7K8RY zouu-^#{n%zIQleZz*Oo!)RRIco8CMa9$Y76mOotZ%jE9Xds$hAQ~?12%1Q$lZ5hc# zG6S7o8Jt~Kh=ncRNh>HaE}CW1XX~xOYomH>(=1T8mrqw!tb70LkCm?isVpcIVLf>AP_%JC5|s zbvnl#=P!TtrKv4hTRzG8y#=SLKIbG@E-OP;k3{TBqK8Y z-DQkq@1%QN&CJfpVNNnlYl}7hMf68HxiVh2KA9A+#H#KQxYPGd6N#(2LpC8&I?PIc z!m{P%gR0Q5oGZK;flrIt_?bZsQ4)fN$uuXkEVmzf7Bh-VT(Yu|2#P?qrYdEgzCmSK zFVz|!C6_|VWd zK0-P{s%2$&r9YZNQ(_)H+!2EYnpWyQ=HQ6axjo8%b#7rMZn(;dz&zJQi#0Z?NogyY zg1s8Y9@0`Z-fe(DeAbjJYhT!*Qk`NG&z_XpvlZ#TP*yn;n+fLH}g*r%&IZcnB;c9rnQ0J?Kmqy9a-q~YwQew5FB+2OWSr3SHByo8N{+tGfAb3=Xypr!>fsZ!R<;ztXt__wd_TR`;Mw{MnH zzcjwdJDT0Mb-%J?gC8A9f7K#?e9Bk>ShSg2dON2G_A=&yVBugl)MPrLpx^B$;i_Wk`Q2mW8FfB(md zxJsU{3Gi3};o8_jHo&j+m+QpDgy^kXKg?X#+~Zkm?gB}sm@Zzkvlr5RLMAG%uCLP4 zQw=UjTL6woABkiQES~zNdZZfwnx|c}y7FN&?`xA?`UZJp!^~v_I1HEMT(t|9dVtr5 z>BNbBC!n*$@EW%*0`Us0F;*&P1WtS%zHr<9!5$462SD}%6_Ye=t$Nc9v>6Gr1wlbUbWwKzcy+9| z7`D#5d~Kjus)rn-OSX0nc5&s7ZogXdL8Q7rT`krDM7Ak|bGWTrzpwb01?P^C)Y@8} zzTs{}O3Gun`KON`ZG6h^>S>!i;Z=`YQEpgSImUj0t*B~u*G})&k3qd06H6fZ6;8H9 z8Jpivngl+tEFG7~urL&H(u3pIleT=OIkEm%ll+ws5gwk}gz893Zf~^Y;XDTJi&8$T zA7%7SOzi1-J+lfrv1%$J6QZ4fT)hV5?E8!=g;F=#nw$4O+;`8iDLHK>+T!Bk3im+r zE5#s}AO?oM&VCz^R);^!Ow?^T6*gMAy^X?VXBVY@yCi|y%ySqn?Fwn2ecHr!-q;i{ zF6rN9SVM23oXnP{a?K86`f#s$fG9E~WJXJ4VrClp)fOvt8uWJwJM&BazqoDhm*!f! zO$~ne@`&+EEZ70t|n1e*f^&DCi72{Ikt|p7YrK!DVRe95gd6= zLe?UnTJ+8hLrcuYwMS}7>cy?utt`DvTOG5tSqmplo;2F~@^quNSN!y8LYBg1D*U0{lKs;`GMX3fKs;)$~X8sPJz%*e40 zAQ}%=uKJKn^bXpB#G4e*m;Hv>ZgHJ0yY)@?90vG+w&L%))rSnul>u^&#A(@n;A8Qf zj{6X8t`d1290UJhHuk7ulUv>aZBHZ6aR%tbCAqbI<#}i(o>|E$SXPB0adPcfux9R^ z!*N-nlHwKu0uCVlc6n}ocD3m_ICR*Pn&4@}B zHNlZ9Y0iGJ^JBZ!yE&jSYINVPDx^~cFQUU;z^CYoM51EL?w0j+jhfT_5br=Rl3(E3 zK0frjX9W%%F5&^4o+-Rg7{@4wlTK zE4L{UP6+;qUG+rG_skmN@4TSAhspFt*HZRxL5cCIV@j;2ehBbLjf7O&QGA19F$QnG zHTV)UkROWymQw)tMV+8P6Vza|wHZZ6M!gG`CZx-Y#Ov^z>x%eUI5q3kuqj-iGg}i=_HrKO8h`Dju6D?lt);LOPaks1t;6 zSNaa>r%d6z1q7*=7hk#E8R_5rB)D&4cWxL_j7VLPJ{X>Aooa}Z-R`vm=e8T}HdZ(8 zx=b=-Tzi+7XISsg_~JZI+#j2QiSuo~Q9qG(4>s53yxpXfsGXBq+IU2E86*AK0kp#G zAB$#Q6)J)9>unxZ&FJ`C3{avVU}~r}6E0}$dZkU1av7Tp?HGaX%vFZAV6)VP}gs zCE|atoFE}5#+`+M!UQnfBgeQIIXKwYxYv>o=rA)xl?YxU+`0(U{Pa0&UT#_BzLxf8 zSwX=tR)P4si2rc92l;KWebYZJt*u3O2MmEaCgt)Ym5KSCfx2Tm6k2LW%EikcKfCon z&6k3*XJTSX@L2+Fx19W>E(``!b2n>U*|>>uJilGuj8Ut?x18{f|My37&KLn7Nmh$| zj`&15NSSnS5-+L&aI^YuHJQCi3UJ|{?DzdD%sh2-%>B_RS^nnd9Awh{9r1@MMc3k zL`c8d1>!zeHvMyktEQ)(MHExuE~+I2ld_tf0q!Im_Zo2iNk8!$t@J4d%PBL=YiX;o z{HX6daCUgk1I9q)9w1M7iy#!Ng28Px09s4vn(O;}q2mhx{-RBkmcAHK$6zX9wZkHI z1k8DSJGEYcc`EsIpV|>0R(cmTE9+X-NN%p99b*e+okG3n!|=%{gc^DB#0mIl!yOeB zwKe6Q#dtWg32({SrMa2Knf%ap!7<0J;aj+Wh_{eZmoMM7FBwB1X0r(?J-iOxRhb2_ zDLu3pz;6|qg>+~{MMX^!3_1YHH$y#c zbx!Ntq1n6KiH=|oO=$?Fx*^bsP0{YVy{F8*pY-!9Z!8Yk0d6E@YNvVa?_;F9yu1ww zbc$=7gn#?*Z~fHxKI_Z5zvCWB3QCCi|0C#1gD9t|6wH^Ueu!Oq21lAnLm z-(-j268Z7txyZQE%HdM<`411jkup5qhK6n-Wi(`E1D536WpMH>5265mxoi>XgrBB_ zhldN?bXnaD4i4V_z0MyP?y!=7h%tA zr;YU(jme)Qp|CVQXW&kZtPVdogNeY}gEMw92>S3}zgjdrY$D;o*ZzFp`}o~Y%uZHY z%Oj0X5qh0^gZk}~e-&7kUcH9oY64t^Om>>t&_z_|5tVka~u^>IyK|+rW0c*_hD+@SH}*z7_gdzk$dD zV*D~PV|@JlJ19@HB0FX8(-toIvmMdNbaG>VniItpg%8$IcGWW7k`nTk`?~ zH(Sh~d``Q>Ym7w3grJdv00c@4m?eaxmBX)t<`wDonRwDF5)Mt=+1b%Qj9FRvTSZL? zUzAt%Vcguz+Euw==^b0jtWQup+aS*2bYPxv6%ZGCrBxoPF7xS-H90t#?jzt;mew6B zXq_X5pk@JLTNMZS5FitIiLg;-37F~L8{3=91dQ#`BS#4k7%U^~3|!@8!|kmq7hEEF zZKC0p^GH>)1NS{?@8v{Lum#@RN^av%u>SoN-pl?3z8>)e(@9^0%=j3Hw1~ZF?J~^J z2reylIMWTa2`oDy`iY{VA~c$-tY(?TfHpG^?Fd!QJKFB$v6p?LUFK&6^=Ns!(+^Z2 z+*1(|Muy&*ytAF1FNh+-o6Ec7Eaj0AAN%Re>`h$*>=$xP8bZQrF<|2o(G4O?l<;W7 zKsjgmI@{Pg@WY?&hsx&UnD3kwGWjk?9ouvEx|7}nnt+x1a|se9y|o$~c5ZHNcOu2@ z9Bs)vLe~U~Y61>1>xKk}WM4&b9s3HFz6#JH+)@o%PzCw}C1ey=l{&kzf2#TR%8)Az zk?s@Z%Q`Uux8#d}uAvzH%>1k4#69YN$k~)T`$e>YOfq0v4@3cE1^Y3XlAzW2fXR&C*QdG_e6&116^aW|^?q~uT&Hx5Wt5f{PliGS$!hc2Eptw#n+iXti zp+?YDd4;dNd%ZmcW3lsSqd~M9Q^T*}i}YPkH7NFf^o1l7j#0$&HOn1{aUv4&oZk^Y zGP_w~5DCcI;$(t4G#3+7RG!`cKyD!XZ9V)7&+Vv<|eVP&E+9Id{8k{qz;3r_8d zo`a2KL0Z}un>dqzHvJxOk?LL(r44mVOupR`z9fA(1jtf4+*$wBwu9Zu#(q^(x3;Hn zs`c2r>$vO0!)iW2gi;mo%1Un!uDvy@6vNRMajrNGqe-Y1nt#Wqp(v{CWmXH*}Mq;=%ZiG!6m zaW*JuW@bkEf(+uHZJj$9_~&Gnfi~tLl;^#$l^G z{ZQkvy|Z;7aT{7w_TXi5}!jbq4&nM-ZV^2XMCNFOv~)QJ~JEqGGf_rI*K!6}vb6v!sYIUyOlC zpNjqrg%`Gyh+>1l2#w3^{k(ksmm^6ISzSp*pO$&v)_u{)d*+@0B zDM{nwwn=k2OB;7@+?XCBcJ9seJ{P%sw~0!fzP%l2nQj{r$cN}j)YYA`uy4OB$0f-!a$>7esq1`p?s_;`BDZef9= ziiv4Lf2@1EQqn9WvV}2e5RHR+nhE#SPmq4q1CyHAB;yo6*8^1inW^W7t6( z6r=0{UyEo-F_O_(+hm%S_VUv!$noqu+u7gshy{a+zpu>!v*GNx5jexg*%m|K=z~Q- z^$av0y?xu(H$<`njz_Ds%aO6+3kNX)-+-+E$hzdF=yaT%d5TqmP-90)QSa%!vaGDS zTGF)rx(Au5YPX>YRG+v5GG^MU2MRkL{4av16ha`h0kvuj1RPoQLUaHkj8C3us>SSLs;YAE{Ok z^Ifg5)^2l)AWKV0A_FI89+j#fft(NAKW4pP;^EZ_w>(?n%+DghS5McIhlEz-1z-ZAIN_@PTBv@|DjPT;PiP494SG9 z^}5LAIzU~ckEc0uG$b2W-JzhMuzw8>RJ}0#JFLF0&gYI1Ov|wjR7qiBh?K`EeWRm} z)*YsKp`q&R$CLKMi}|G%j(wppOcwBYCB%wKu=lI4@jsniIYYk7z_wXo0ru0-?}XSFV2Ju z*q|JF+f=!@xSY)DK>!j|Z$t#JzGG_n26 z>7T}Wdg&sfqQ=I)A@pf72qTQz8;!u_k1u2QKOgF5VKVQG4dZ=dBO?JJvHvJHUm84C zDfIBz_;VRie-~Q)NLL|>0G%D-<5LzH8Do_KF6V`S9%}FvpkmX9U(jEh|LhNyDG}l) zI{T1$)RdL?&zT2GhlG_XU)@NNQgT{)qxSp#2mV_v_3wE${|g$xf0SMSGjBa*55)J^ zg%2-T99vo0h1K(30TI_$F4l4170@3Sy(w)DZX!=H+XU8Ar?%%B8ykD2M^)SfK@oBN z^5wc8wPml5?_If4zcUP!jDh9lWvR0L;P0258=&-)>*qGI8dOK;yjupi%6ZaF?a1)TkHQodiY z4+{$mv$IqCyR~%|zGd}{y5Q7l9_lf4UVMmfRhNBuX~1=yAcKit^V6!+ybz) zE`Yw8C`-*`@(&B+a`))V!E4?>8$bB+T>_9oQR8Yq0zLD-;lGUDKU-A20naJoj<=(F zC=_~T5Ts>@y}gEt)*08F<`-v*n_syC#ffZbGz6UVw?st|4hsv?Z_t24y(q$F1=xt@ z&`GGCsg484L5s{S&KAJ1dIJ=PAqPW7<(3vXZ=`5o#$SJV3SAWtz=Ot!(c{M{`%i&c zA9#|XH_n_r3v|6oylAm8T5dvDK0UZUBQ4EPN$Z29r4^9Nr+&u%_;LN_&9ANnh3Li# zAqn9pJ3D{r>jHd%F5!;I1^Cc;4)(%ld8+=5hhbY;@MO?YsmkUvz}r7)dHZJ5*-t8C zdB>7?X}ck&P5dvJY`L%-1)5i+G5!Tgg9()Dlqqht=OiltjzE81nY#~2~gbX zfk?d1N!dnIO-+{EBtE~M?WrynPA`x&0)iEAH*C4mgQPoM9YE;WHPI@~t&^`4y(Mk| z023>ndP$C80FFM?X`r&sNYF`T;aqNs(C_E(i)vwdn6Qvg!(T#7rU}wdOvg$}y!to$ zOPL+sRh>D;ZDz%&c2>xUC7=+M(3pkCj{tM8fhqdAP)6si+kp;gX_vw6oOPL(H>A^} zakh3&1n<#D9GUn!GaJE=;u5bYuO!(jBQQsUi6Zzuj>u~X##US7J~o7`S^?N;YJM9e8+Hi$ReBIwxDjptC9<5txp-mBTbda0W2#`3RrsgMCP8c_mp{O{2bhQnc9W9d_n?Xex$}JYbzb z{-QIbI|Q)8sf4Y*SPB(qw&AhU=jGRe;ls|4#4Qb)p_YWU%R)H48{r^(IR}~AHQR~x zx2&dBRNDb&$c6`>`%a4gmLkv^)M+yveuyofEz-!@D~Z1~dvG=Xxdhw%6ccj`R(3Z$ zpm}r@&gI9&wAP!Vd*9HPQ9y=X=eQOS*ziCijfpiz{h}1*fuTh{+$JrBx2-!u4itAl zAgi+9qvs-$Xv`Pl2NjSCF<|CPe^RX?f$BCMz{e~@qf&Ej9(Fk^w~2vtb%*_6S%(?8 zsbG)3BZY-aH5`$(@uCdNg9#5NjJ7J=mfsfqyiz#uvli=8&&lW>IH7^$tF;gnt-jUc;Evq?7K6uWUc zhjGdln0a)#XUOYh@&NPh>`}@zMG?dhxYox)mi+gGa+31D)&f@~+{tV)B69!1EcI#) zecvnmQ~GOt1FyaPb|G2{cJt1fZQDO%?6O72qc9FO&W%Xf#*A4thG@u~LT$&^)|Pa* zubo{i^ElV}^JK#jXs(r|m4TIaCK6U&UQQ4%5(&(OIFQSOz4)gqy|e0p{8qWDJJiXt z_huRY*a-GZl|b0(yKtyExc&fkwZ%aFOgWb49O&_a>>0l=Ic`#iEa^K|@ zdUHI4`_25Cn`C%!4gU+>FGyhAXEvUwsm?JjK?Y^+v*Zr?R085-j)V5NGs<1y}ZddAMM-HV;K^S}KsU_4ZI^az|u1{zsE z^1T~#dSPj9V|=SCfygV&d-%PQQh4ELM^p1^qT?mYZ)bF2>Qy%@b6=@5B+iP6gK9&= z&IU9=6GCv^XKQp|ml2F!9g}=2g!IWDD0Zb?V0ArBSzlL$iGs{AcjBQziSuFV8ISdt zyA`>7daL1J_C;;IU7Nj(r0{(0ci2t(47XS@2THRpY{{>P#>337D7T!AJI}2fFXk2R zFht37vi2jQTH2e6!N?P4EO_B6{Ka`OS783yahy5EU$L2&zx?M{V^rb=a1WD}4~;PX zLn8NeEM${IY`TtxU#To#ZyrtKlng#_OE6n;C9S6W=g&+2{`W8WQ;(nic;+5A z6*WkzQha?qF1zOQxrE_RJ~^3i*B{VA^ESCaL4$gsWAi6;wSbt zS0+d(4Mpn^4slc?zjD-dLkkV5t&jR~@N)O2lN{nt791A*{E8OCew;D}4dQBCMu|jV zj~nU~FVh5R&W!TO$=&StI`}l&O7S6Ew_Mxy;_a`zm(jmG)H*-L-frN(J2%VjBLO-){nP3jf25wdN7$tskt?Qd57!b`)~`)xZ_|bMyjtGuUb4 zZM#z|S&E@&e$lSa$4J3n8u`IPK___7n^BlNOuTZgJo48sQJ^IjCD$BE_>@IRsSP_7 zo}HQb<*!Q6a~iwj#{Antdl#l6QjpcMU8$*0VrBfFF+V32#GJ#R;AI`+GKL%%rsnkPrhsjB zVJ0JiVwVR3abpUKj7=%00}<0G5T2vslfi++0BJ;JTKKQ06M*CotBT<9dMp8zz%t*` z*0j>8axnIa3P5R>#E(|RLPRRcD{`{Rh#)nXlZ?s@Ny9vN`%N)BqeAS;A?;`x|0?<@ zIo^EjGU- zXPo``CB5lZb{({`$iZ-%3dk+c{g?|E1iD>e6x_S1B*&vI`w~GH-874svtJm*Q-%vW z2C6hD17JRuqs_nX<{vuRJ-c@V1uaT+ezLI&j=X7#ZllpbLLq_R7(~sR-`zcE$H)zT zth1(@7j+>(hj;?Ph_==z^@@XYVI?&mk8cC3DS9huoSPl2z2vlDk~}ocD1+~+2vP=! z^Ccr)10oLWO}jD0V_gGx@k}{#w87C)bD)z*D}B5YqV3;flV%6Jr%Z287<+lWt2T4@ zJH3gS)ovMS!Zd(sV9W}!Y_Tyxvl*m7nwl7klfADDki^-<{#~!EujY0=Rd9O%IkDjXGIThXN z)$p&1MOd=l;U5$jKJaN8sAF&XH#bY$uDH02*IWwRVIF()_8o}%ei~61*HBVY0@e19 zDKWwA*iYw5K6Gh;{B6Pb_&9&N!0#*IEE5gmwgt@~@JJhNRhC7@#x9t{^}XJK%#Wem zV|wATs=2IW;->wYCAo8m;vh(m?7qa3|q5Z_6xu%)GWoo5RQ+AZLJ-X50dx zGbt-8U%z`e9gM02o?k;>fGV(G8YOT>?wcPrQVc<43FG>88^Yfxw2Y}geikc$dJK-n z^zz9vHDjPj#~MH=g|Bm1zvR|b1C}o^{n3h*;VVROZEY^U>Dv z$Hv{t;-tL#j!2f!V1LU{Q@hst>()bWH5`H~-!O3jM6$ z=hoI8`N=i1bURthAeH64$KZp_sEFv9h_o#qA3e=ZbG0@B(b#J&#AV80IS}q0@uQ6wHTxTgN&hO@raYlhdaRjmDF~83MRK~XJ?0F3&Vt!6oP&J5ZHr?ZKi}=wh zX|pS*UM2vgIh4;tfU$$$`vT|r{Q7iyclk3p=%VJ=lz5?Q*9t%>$~=AAyBJu+)fkDh zbL?nifP{=ZFI(2lQqvx5JX^a7_3I;vdCT;+vrw99wqPJZz|qA0{Q}2%d~m%LF5qoo zq8CUN>O4benLh&!7W`toqlC-q8;!n?KtYA&2Qh5&`4Ba{b!>%SS*|N?_@>vrJ_C?lQr2{qzQ+toB*<-hl(sZ5w!JX6>BkQe8MB2Q z(sR!;WUU;gfM1>hvK@nTG&qS&50qmu*#%x+Rd)U>gzDufdT!cxrS5DF7TdB*tlrY6 z0KZ;EF>1ioEJKzgLyhu(0;Yf#foV_~kqJ@$BWUwO`$qa!VSXT1e8lA0+i@_Ok2YGv z^&^t3EHu=V%94*}1vGzVF^ZRT>#LV@#(WW$5$mWws}AsTyi%Du_l&fpJDzvdDu()` zO%JmK3dYEc{beYnyJDzyvm<0Z;jXW=B*_}|Qz8=*=3trh5(nZ)_G8EcV+6=J$giR| zhlaCTPbAnV-!}yf$0f71GChAMU;|qU2^je+B-Gmpwqv4g^7Glu%0z-J6yFD zh-s!ufvHxU5BX0!*xIhdCqpBk#V!-|S?|}8R9TkY=hf6_Qsp~ZzRO>a?ri(*(frQ` zOdnyEgTaslbeX=<{|&8N{^B*F_&3xX#0y^s^mBX> zq9A=`+3g#KuXzXU!u^@R0edg*b-QEcPo*>N_@~mLsgiSTu2u#-j9UZ5NuPd<9Ui1o zaW`OfnMFYp1J(Z3`fYxjUqeLi2v3vv`ER#?bSm0lukQ8P1>`y>S-})kI(NKk`-nu_ z5N57oa8ls1@aLiJui&l1c2*^%OKPvACvwFN(ZiFEgxjNDYcqm~HV{+gq?ukP+_nyF zi`LeJ8DJ4nV&|>z4!Bh^ zr(^{2-7cer_u{LzOh2A7!bVXWCY4H&e<7h43dS2Oku|JkT z>oz-h$?iP4zjtN0ef)>`8S+IsFMVeYxQ(RjEBjh0fIu#N0#4KaQy29Dm>bPzLy=Pt zGx@a2D)7Dc=&%nMR$5yX2lxmA61+p@6%|r}xw*Mji@P)ZFf~lGdEAlz$GQlL3Jtud zLwve&EMa6aa2XY#kuE%2JDYMpd3R~ENK-4~1)FxRrglJ_}_{racOhH&Q4@z-mPmhw{do!o7=`7voRue_5)!}(NiV%13w7&h@s!#ij4u|2)eacsRmj}_Xg&oE-@1zd%6c$c|(0Qvp{kU%W9>|K*Jwz zU`tq@5z+B*GWkj6o_V`?d>^KGz$%6VG&nwiHONP!BOu@qJCnJQj$0v#9c;0Nwze-d z!gO_vr&<*FnMHcGx3{2HQ@oNdu0y_B!{MPKB}LRc-=>q?wtn%lm3I=x;RoYt0Mr5^ z2qO#(4_g^VM{~wt^y$8@%a^YNk)ht58PQWB*LT-46>aSd{9%?s`nrgRd+W!-V~mY} zCA|Mvo4}eSjYbvV53B|a{;H)CJ5OJ&(#@JRAp^hrRp{-NhEcYANwy$b%2gd8-*#@y zt85AJkq`Cy^{br9%Ha;u%Wz)F1M%B;+u!Ld>0gcc`0+w+-65_cI7^Y6x`0=f;33_F zeLjKO!EBmT*_TP}toQgiia8Aa9GYfKa{U;f$rJ}*Fokq3N=!_Qb54)bf0bEQ4bHR{ zR?5}GFik^)_W&&kk%Q)46V`!d9a4pvC|KXpchY3A0)8gRZB;cTa`cQ)kfy`W)l1TB zgSj5pKI@uk*I{R6203NRK+lrpaHz4qmlva@vD7!+%b8$y;iBDY+9G`H7x_?WQqnj} zSn&l~34*K_h4Y*mOyVDAs1>nf>%VWiTB86e=+T_dFjFOy~-oEYY?-z!(WgWOJ zB2xFfDm~pwrQ>1A&(tTlPF)5B8l9r=!q?wxzm5SePo=E!B=o{bb2~W$vk+PB*z6}9 zY@Dl)h*1@iv`Ri@cG;)rIBIg5iAf*K=T35G2G3|@IN17k*W5DlvbLUr)~-X76*kP~ zv_!D7-+r;Q^W7tizTXu}NlpFsyeqwBsxzdffp=4G3=3HUY?rEzo~#axRRqbm5`Vvx z6QPzEJ?phJ>HrQ*>uwoqDG2SjzwqMIGczl@Nx+cR*WU{)BErJ`^d0ld*T1Sp09uaX9y-fDyDfU1=hm;L_E(~2g!?&TM; zl;H(trHLzI8Sg(LwD&)(SGa4l%j8Fwg!GSUkKk3hLao|jvAW#PKoc1 zWqLQKI6jZ~)qu2jt$Jtdp9W~0XtW00VKG(WTv&Zj+_{v0cSbof479g?5{JLOcXw4( zP>kpc1@pfD^%_3LHX^?m7bT+yaD;V|2%iy!;6AKI1sTvYU6X9+U_rLjps_f}J zBz||@C#+Rk%)fGiJ8O+2X8Be3__)jK2R{V3xw%n6Hk*(I?cGoksby^c@BV_n$_OjY)S5#qfnj|04JoX`b*6&-+bFM_ zmm+L5*-l=ZuY9X!5nz z`t0WSKfk+$Z|S^4hZ-6s5&ZgtfN-6YLueaCZ&!ifK){lVV*o)4hBnA7to=zzLS=qr7gAAdYb~` zsRKEYA3m7x{p14dnx)<8>O#8gGH^vuu)Sl<-7?J*u0{or#vwrYN)du?=K>iOavVbM zNKvB3_EhG8<#y^d7zSB))~rZotHj?zBHp*X#EW;@oBZcVOE-oq#YBIwr4M;_)_}dk zRZ?G}L2IM%@bjrweG zFdIvVi&tv9|6>wfp#-f)w6QSR{r#o!h(#-ragQBZo4dvNK%KC)!SO-L(gCC2KmFr?pj;X1%wbF!1HeQ^MX?TCxA0 zA8WxfP0`p}ks$*f<5<usN6ufKH?O~OFN|!m1ZRPz78`%v8J}OR=Vj7C zN0o;2U#c#4JKGLeHmL7tgN&A@rhmo#z~-Huo7)cZ_aM4H;WrG41f%L7GuxxSkZ>M= zP)92tL(&9rS764^#;7@CtM_2z2nA$t9q%_|;9^Kf81eNq2Hin`z%&G^7nrLyp$8Kg zdq)7;L&qF_s<(cW<47eD=wHyjaElJfwQOjJ+j@)HZZ|2(ZJCHe5kq#YgWYa`p0%1< zTk#yhv`S`ja+0##7eZhogCXC0G+mI>-x=Gbl%T8qSDJ-TQbvv|$@1U?@v~v<41B0! z>9H@Ei2ld^ZS3gt5Cf4X|K)&iTumAQ8TGu&m#!G7slBC7j5s+j^N5a#0lPHw?GncU z1byxR^ygXcFTmkq!LOIS%oz>YKK<*O`!Gmh@1cM;-^8KuFz?kWgjtC=q&o-5aqAa# z#<6{4BSeQ3o)j=m(t^&H0q#78Du2jB=&i_z2s%x%+8;?ye`0Oz`(g`7^;?08gPwpp zS#n(S``Lv;Oy40pxy_ir1A4%)x7viY$iJcuN26c|r&b;}$hgI8hw0dlR=N&>iJKZ0 zX|w8aVnLrEoM6g00~nHB)Rj+HYas`%BT9rcpKgB*;R<|zbBH8!=Y|c4%vJ3T_9e5( zMxKreyjajx+X)coW+W=poYZ&X3Svk6tP!r=3#0};JiL550V(f1rzxoOZGbe#X+KNN zoYfstR#iSh%Wv#>*_RL%I~9KaTC1A6a=f^7P$IL`=6kN5c2kKRN!v0tW`|Yj+(9!_ z+)roku+b>@CurmVcB-WeS_m%eYfcV4am3c-l$L?mQg%YqZPnsznp zZM+*jB};1cat-bp5;pJuVsg-*+g{P|vj^GOQ5`pW;=P6BH)B3bSr|g2IpR1di@9Do z#p!*b;Gj;#(h=*4PF4>wWJ%Dk7WG;*!NH|KlvG~}1A7{vT_K+%EQLDpbs>ZcJxxpp zq1IyQz(P70okQHcu|r9pQ2;9IN1tg5&jq|houzlLzk$Jzw0VGK2ZHw;>+Kw~lF>*Z zvqkRI02pjokEBa`q6V6a@bk3Z9*rR|Qs5UsiQcJ6ass&O1u!7onjqt~`&qys?+Y9` zbD0?h`wGbTDD0{im?!|KBAOct*DCca^ZU^BxgK9&^7}ogVYL!VPhXgX-;z-ER75aD z8On$7q-4aSnnN$#wZQGJ!f?U5(3Bb}m@BY^_%ddUj{~Wz__9i*fvs({z7(REJg4Q6 z*_YJZ1tJ(+zj6@DFiE~Q^cEE!Pb8tij8tSOMf=-1EPVGWW+i5oVH-WGBW@HsPRL^Xbe!pxYb&2=uR{-&AMjH5wVkNIC0X zBmggq=g(;^oF4}}MEgrx>ITEFQA4KD;+DiatV$h_kNp|G;`M;NrtWt$(-Pood$_LEyn} zKCR1JGSZYXyya|%$+b4QO+kGs7b&r_pBv53Xr8#CSI}FK+8+JHt1vqD?i6Fdi%YIY z7LlXR-yZ3DbmU=j#~yEjEbG)~0txQh!^K%OXIi~R7|XBe3gXmr+E<9mxe2v?aDT=Y*Qs+xA(Lx^tmIQt$7r@enR#hbrtN zCADXE7z0Gz)@QD!(}NzP0Of4<1J@RnEGB#J>5tr(`KM?JNbo_kNId$h~( z*vpr2t@BFC%9WNcFc>A+2gHUKxu#d8g-A@%h2_kyWT~YU{oE;E3(Cj7(t(AGVTw-& zp*hU$AyC$Gwusp^OfVt#seVKxBtl*aB+y3YRC+yfYD1=cr?Yplx6?H?I=;34Euo=j z6)E(N^hv~%q1vbzSH^$sTK>*a3ay(8yw!Ve__U$r6sS9bhnHapq7ChL94M&6I;G6% z;IX3LV{Uo8dS^(&LCgsmGXB#0qkF!Oi(YJ5fVN%>%)W|SX3>iHJR1=m9bsE5dog47 z8$jZXU4N+ZH3c4lxp6_lDqHQ-jj#SVwU?(~DM(&FV3ly?5r^rGhfBJSNEng0L(|0q3c9e9?d z2zhp5k`4|zjG`QKHfIx(Qx4^9hU8FkDCLl2&bDFB=TRh;^I^uEE2lZkX~r0zyJtOL z@9%%`?MH29k3IHy-0#=h^?JEh*N~<0d?{ew{}(7f(YNTip4l?+V*78tWQUiV$*xyI zDxfXGbyg*nIDxZ$Pgn4SHF3OuJ8$9~smPz{i?8cjaqB+ezR*=T*YiccH%DXDF+tL{ z(9m&I2odgJUx$4H^^StLJzXD`YS45F%1+J16V^?t`j4w0w=9yV^aXYfbf$3odlQJ= zeGqwEp$r?}v>nWhmU93X^x|LFM9ITyEhd~(g;)xX_6L|;KuqY{oVbA21nP0D$S@Gs)a(3Mz;u#sAl!kl{;dcZX5wvPjVqK7a8n49T1W;?nm_GUTL{l+2Um!S^(q!ycJ+NPn8v8!Y zCG&{#79DB_(qSy+7tC9~mOq9AyQ}a&G!%`JkHu0}r8)C8-^(^X4V(1!z_KbJva#{G zjbCG0FB%vlW@9r=I`F)+;s@D+DVRjwFD4%4-#gQ>{i*s+m`RYii>?&DXjmhubb?pW zEtl@WtCQ9l$~cH;=xeqkXcJl87`myQ3Z3W$G>@t}bD-+vq}f&#o*CMG5Xs=WtI+;M>t{hut=Q9SJbTGv8?tvsm?P-hp6sk=TuK0U?(EY5~LU zaK@>1esI67*dut(#^=9w!mv9QcV+`avvh7_)Be25(zO}hcgKx<2i;QS|NKbye#W-0 z{9pMo`V)fc^M3?A+58&1UI|Or&5%DvfWWZWr)~b=jjhE7{-@z}eYo@fy!{tKjUcoPn1oFYhg#U8nnuy!!HV z;^HNTu`uEJr>Zai{1sjq0g62xnkc~w7ed#rT&(M96gIO`(4D8J@J3!1=dJ@oFI-eUkj2i%s2m!r~(09lgf_i^Hj@IR)?Z+AEG zbWqo?HKS{ZC;W3Bh8ikuxH-(j)n9~U@tU*Pt1E5{oq9|+EP^1adtAmGvsGvG*T#( zZJCo_w3gKN@?D~5@$ld#=_zoPh9|d!WkBZ?dnbJ#{$}t9?HJ9!t~FkC%PW+f-#G-V zI%KX?Zrw_;9A@}CITe@-5v+(rqFkzgV(3QsOl)EdCC$m+sTf!+86IV2WgAjY!=}hz zb*_x3T`DOm z>iQDNYm2eRm~)+wiTh$?syFw{2JnjM(?mH1x&xCzlR&LMmI>IYOS$Fqqfj`fx2Nav zNR3Cux+-^?SWS+8}Rz#SPn6d z7lW^ZmbfkBu3tG7HL9i;X{>nYCq+&1gz>4E5{YaZ3GF9%1#z~A;C&Up5$Mw+{sec! zZ9;s*dI_BIHIq*TBzBN=LaA*hS-8QwS$7U83Bqwr7cUhbxCx5zJ#>mnkxts?67ZO z?!;FV-q;OZi5#%qyK6U8;ZnJ`nFU*EXVVJj<+&Q250$<&hpk1g`Z*DHZtj}Giw9+O*RF}H+XNJkuX$#LJP;S}y@Jxea*g0Aa4MnV*nN(yK=*~jatXA_o4;NG^H#$m z8bRTee=>|j(aPuiEylEMo8v`MMnZrbdL(_kpCe+i_)Kr^P)xJB(_oAZ@;%1d?(i<& zpDDa&bMuq()e=S1F0xxg>y!k>*IXmmR=GB)NHi0{4mN&;hb;@Sm!KU=U>4`JyOGIn zVskG$^32UI@zq=*b3PPIt`mI`&KJ{>DAgM$Vorg^fKGzMW8XT~A9yV$SNCu0mNMJN zb|MW63eD$G z0eIhwbISYyzYx*U`2nBt%eL~n?+sf=RnX=H^IHL*{8xI@yj7&1{P@hVPqe~kb$XCq zPls=9b_R?R4%CCK{PU53jj;e1kBJ1VJAsRvG{$Ti+kB$WGThshoGxM6cp$B1O8~M6 z{XVKO_vdaQ`ur15%%#wDc3z$%DmR~6x6Yq@yEuRPu=z8rZ``At&vDba?Bclkhy6x2 zObuu-z<$vkG!TCyVfFQ1IgK@miQF2Gj|sj-jn8i(RM*RZ&24$%ACs|vcBQJtd zzS%n%EF6)|4T@jOf#fISwjN<#=iV)!J2_{vn40j;&blS4TqhGUPa!(`N1?$^jvjiP zm(of*0)bo+8orFUPbq~c1Z*_%n;82T-$Ld$x_^l{Gg^xH`4Z~@9S5PWO`qDP&JH7O zEFHLF;ekQF-rsz*K3FkcBXw-7mnM9=5Qhg)`OeKJP!30-`a*RvB-k3dxRtoczJv38 zDYBl{l<}NT7<;v+9PhU&m+m@2>vMH(&z;gC#_LdZdA&XbvF+#zv$B=ffb|jGS8#jV ztrHcCGl9(*Z*&GQ(wwL}ggpvDM>ywskC^Xqk%r%ILo zqdmFWD-cLRcdurLlO}wc2sR*|miu^Xop(a+Y<+=qa?-zVC#jcaHY~R@f2VR*NZgacf=(`Bn@BRa`+|4E{>O} zjAKYjny$Z|=TJMgyejS~@|-lVH%M-Y;$OXezeV@KnV|$&|D1lBUP9hEb>chjS9$;F z--(q_(bXc3lDY@W>vok^-DqTl3;Y`P!8`ij1ZbpUi=I(J?0cKNgqY?CXa}S8)_|sA z7v3)JDeT&JD1Rl)>t@q5w1`r}xsGj^i51TF+*lF-b9dTSzP6DYt>4teM|~J%&V1}J z+KXV^EmsK`_UjL{1d1CJ5-`^gL>wc6)gV$i$q%y-$l6yr-4QIMK?^ixnn8~X8|`hc zM1Q(CZTX$N#_PCKx5>w<{OEq#L_;rKU%=E{4?W`LtR(W6{*xrhE1imJyovzfbv={G z6udxOhAP31iVBOYPV0*t;f!+}g_dc(mu}`m&0lXI)zBxQlgN8GZE>k>#UKR@CU3U~ z#>&`Q-=!g}$K2|Dt$XGGdh)9I7M|?EHZs4Ee=d4KqvM500l!@H6_M%n`2Ml0Gzo+UHt5s(snRL(K&Te; z_NNqu42mPsB5#FL1jTpLGorw_G-t~T;>&r#;UzOtP%QuOop^t2=Ob#M_C!8wHAX;% zxUA1|CdI-sO~O$3UJC5wc?g}8kMTtdzJ6KvWA48Dv9C=s>g~D}c6ZVh!(`nNg4pr= z%WRd925z3DI$teBF{EAAuKnA3pkaFcl+vB-FG+9SKN5>sT6d#!$F9u@3%q zJ!Lr(!F7;`T*fUA4Y=e3iYnq2B#hXkznZ<1WWvB(gF-jb^NN?2Z4Nvi>I*4{aU90! zV?U$i7r`xpuwz0ua^JyX)lkex68wOE5w^a_;pT^M6SjavNv3}5KAJgVlB%Z#pG06O z>R6Z(;tuwPq1!5`Lav(QvmxidFRj^1sArHJ`98zM5X5|}5!7$&WnA18M@4EmDCq6Q zNuxx!8qSRHvn4nL6nS+b8#ECK6h7f4;#sVN@w3IrnAY_(dfIoY~(NS!!j^3Wk z$pAT8Qy+C7uYm4U{p`GpizXdsb@t^wnBnhWHfcnU^!GbE3FN73s_rxv&Vik0v8407 z(GZuycl4J0n4rqDc!kD}(IkWiQ-?~EO@-0^g&=2Vvcd@g6OC;6hY^TZ$N&O)7TKDO zpm}dBSz0LI_i3k7!63H|rqi+os(J|&t=J?88_MOvJ04bji$r+99Xd*yx)%*fk|X~T z$ZnJh@v1?xVIeyX4vzVvvu9@cly-)8e~vNE3fk#G7pAl%heQKt>UaY)P*)qtd$U7v zj91{JeyoGZA-X#<iw#tU<`Lc-@5Cd{!QDCvLKEk$_8UQ_~l8z``mbmmp$kg z5)QiB(tE-b`pBJC@H;;|wyX68D&(7Qj2+Jx3n}09a zfjno-1TZiaVwn56{XHsAO>S8{8!Y0eH_dIF%(G6g5x59RrKIga> z&IJgYIOiLxyR~vf6$GlpqBSONVRQ6oHh1sD1z|@&Iq1W&HcWVQE_HWdj9K8~pnnbf z5r>QqeX!~%N_aR_=~C+~RL9ygw!1?`@qf)!jsmL$zj0E=&)F@L#1u){&iG{E*L_bn z+am5;SQT&-m;PK`jSKsrOOS#-Py(3m2uf-9wqO-PJBcI66d?xFulpNuCRGO2;lH%Y z{21@lu&1Rb=)J&5MNa|I+r)DhRD12;MRVp+8d@UGI4LXG4RS?dsxeY+=)_&)pWW)} zBLPeC@-y`kZ2k}9Uj|lH$J7A>NF<@$%d$1j90Hwl+(#hVc0~aT^seBADB>&MJ-wthO377 zU|IWa%>4La#a_uNi{Zj36s8Jb7zz$THLT_cHtblYf)Z^gS)$;pFfWvh;hNg3uqOIr z&k+|_DVAq=)u**DPR8~K^X-E@(4*zXMLA;X6#7!tCy6+Ob+=C@_S0yO!cq>bFUl3o zFtZ@mjI_)}gmePxIarBLu2XPQAe^_Tk>(EU_+*an{exQmjNVSkh!Uf7xau12sSIjy zRtU$Yxx5 z%bYQHKMUtS+|Rp4sqxSfXa8Ho$57@lTc(N0Sl{rkPG>62D1-q)qYN*NrTtRW&u~M}l@V`v zM4BhD2z}7s@CHLls=4pw5{28?@cWU9pQab|$HRlH7VHW&p1F@uUSUQHAD2%F3cH$znG;9$ZKEVB`@w48GT4$xwXT(hWt5+PBeMtHtGSf8m1kuDO~C3$F`7Fd zbe&J7Q@{LshwaP~wc4BWbl66<)`68`wV%~jvuqimdm3M;*NJC@0Vg9X7`)VU>||}~ zy!tBypU4%dj>htkDU|DreJ5<&N#)zIJ4h1@K-S^3^k;|oql93 z;Yv!r<7CRO>$squhA&`m_Z_?i8NADq=&MsvUJ-KJIUK5yG)43x7n?HqGhKCBYg?ju zs04oE-16FNFW)vT>-Ng$mnV1LgW)L3JKJUiQmH?Q=_ z>R#BTb*C@ixOCy=<L znzOQrJm#4U6B$gEbKh4G@N$uhax-EBs;mA&Pqy(lM`I!5bOaJTQ{lCuvFX+{hvfH z1VZMbEWb%lK!d&P&RLD*U)J4l<1)K9hAyzvq?;g>U%S1dl`1xfi-P9iE*GSl(rn>R zwu5PxM}(R1E?IjdXE-cE1eUnycK5g6?e@0shN7-h|GOCbIH`Yvv%L(^00aL(=-aor z#F!sYM-hR12M6cnotIu0(023LMHL0#7USaV(%=F85Xg}_U7b&lIB&!9b((V|oG8^# z-sVA;3o6G-j`2u%Z{!Ag(6B_L2WhzHaV#`;bWAVlIPEBxa@6VBPu9xHwF|@5y`Wfo z>ukJ2k9n=9j|wBw#jh#;0dB_@=J9DKk~V zrhaYEgtGds)52$@cXtAI2@9Y<_&Mg@kyC@MqJ(*tIEleM3B`XjmGd8%J}rBf7dlA6fpm1Sl9DBp7DifN@nB{;2UANY% z3x+Bfr=hpxOLqPqOF@#b6-Rt$tH;iyRu8*&_T$Z`St#FQh0&S-=sA}ZD|DJKM*Q;- zZ=QuyU)1duQmLnSg!%%<+F44q_Q%3qgRK`cZocx2!Y`QdfIrDvY6wn_Kv4u(8w!bt zdih&Ke!+gY+GjK6@Jr^~SlBylBO+c#Rrnn7k;Zx3kPBBPqv{irZhoFRrBQLOH2m?8 z1lFM^<1YwX-;UQBptzE*5zQoUvQXW6-C9!EV%ym|;) zI+xx(56N-Y3`x{!=t!M5yf(!H^|+p=Xgw?oxr`@C}iF%wQ+s=Qx3{=m*6we*4M44wTY859GED~h$ib}pW(F!l zuAY%HrO?nTMKhbJ$*@&Gd}eHAcHT>p7c%PiSlceF&!svZU(0ul5*szxReqO~v|jRC z#JA974**T#I<$WXP1!||d-0uVXON|SClk8QhXEEu!WvXzH16He(lP-$XADfXC&p@F zrQldlS(_R9D%zUQsovV7QZ}@aC?l1IB%q$H)2gM}d?YuM!-^`;@Chx=RpT}Z{_CD{ znUwn?@`m`%JsiXXzw?k*21FbB9g|peIW4KibSz%*7V+SHNyhfVaCDwYDSmlmhVJ#$ zZ`PR2_hw@BXlyJxG97Q*Bq`wNutsXX`)n%GPL8wAgh^|7)de%r)^OA(K+p>BUA!`$k1Z^QhiQ>* zd0Rx}UGmyfrN1q{gqgghIw><=NbK)SRFZvV@--g*? z@@Lf~){$?Ibbd=L-nV48;i^Dk`GVKwe&nUdBiWvOV|0hu+BsNU$~8YteO!hkRwCt? zY?SAi`Yf&r?%&S~6papRh|yoXac;p7M$h{7XJ)_A<8!E|WvFY=l06xwx;22{{r&Kd zde}S?Z!Qkk9gh3;ixb3GOKelo zqa`IJ^F7(G*3U(7BOYkU0!`h#a@4`WVcWy7^EQ8~_YWb{x`!B>hYyXuO}2XG#)+6( zM$4^xC*U6L6(WEH8jl^QmMrzKy!s_N?Ez55#r{1Ef!7VHQfYWw+~&Lf9z+*}g$6)|Wxn+im;{4B;G>(5 z+R7L;(kKo9X>*z%D6VkrwgQ#9b$}=oGF-Q7A{oIW4{W$c3JMGR7r%gJExA2Yre*!{ zA?E9}G#9;G%~G5pZkt~`6qHB|ORa8qUe-KYIW+~0m@>}8-aIiWP9Ejup36Vjc1Pw1 z-L6P_CG2Uh%ht-r{(T?gme&tSI76Npm>zO+P;WEg*M2>qZQt)La-ooEI4NmE(MK(A z;)6*?Bz)UW1N};TO&(zf;}j99ew^mK1L`vI!|@L7pZ*aL_yk5__@CetH65#U?78a(_q53wq(?;s*ZrglGVG`LNYOtxC33`ek>Ea^9kQ>`b}7eN>8GYzINYCCz^}i`)T7O{KuAbP z&H!AOi3y;T|ff0s6ulzZK7-dFVe z`Cgol#{zd)NBSmZj+`Mys-}(cnp+dSP{=f_VdhrPVD})J-T88I-{!t?DuF2 zq?nl4#&qVig2=%WG&A=|ou9qJ!j3N@&&c#&(n$P8cl!GJF%FL}eKjH1*9Ua{d-v#@ znNO5Nq{*}^Vw6pXh5C*ec;vFpHaB!nUl6cAq+l}Fj(yc0quYKX zYzUnmxJKCopPT6}?Vl8JR7E6@{3psBg;4Uuq}zR{A;7{5kg3;p89#UTOpE0yG8IGR zj)sKqRQm3C^n4`AqI{%QzBFIJxWboaVp`&jv6=oAyf42y{#wA&#Fl~IYz&%~9S;wN z7X>tcq}e6;MN-3#h6O8gurS5**H?k9kpL!|{T$Tu*pc)C1r4_FhV5yKf%i9a;dUvq zKH>1KVZ;2Q57&a9@B+WWnXQ>j4gW&Hh+ppXiyX6zE-Th3Au;M~U>DRb_-YF^W3 zkZ)#V{Uw5CYKlZU@cVB(TZ zC%hd4v))`|-$Qe1>go%n*DBM3Hz_#gGlfYYS%tabX^uTcHx> z>%%|05#*zwOle4NaJx7bS#4FB(WMPdprn}?8F5TijR1?_oHe=DOY5=Ec31ku*-n&8 z_q?k-k3t@Lrt8iS$JElwq*VizdwOM3c-w!@#G{>B$IR(8)RIQtu}m*8uDvRIGHk&$ zL6I%1Q+^jJU!QuUy?OIms3CIGxGD`am)!&3XT#KhZY3z^23$5^CmG-*+S4k>HdDsR z-@E{%Jne~6t(Wd6&(IN~#?=lURil#E-wazvipRx{d6|dcSWXiw)qm86J~R!*Szc*lRJN zi&?5t5+BO$ylw2pP1ksqQyap|UkV87X8#I#HLWP<^G)#|wiIl_D+KGM;B!|bgX3r8 z65i#lwF}cZC4}zkspL#D_H5=<;nQcO9P|(IwhWw~<3GmIBPu(t&z1&T{^$KfGK8Vq zbe%H__Mo+uhfkr(P2hvaDO91hH&=_C z&GC`8*k0{A@lO(0N2bHKNFKSOWY^BAc8jhN*d0VEIoQ5GUrJ!U)(WMNhttR`E7p5* zNEDjTKawGdn{ru>xri*@1jrmlvZGL4kX{NM03y~0thENp?0f5OtoAe?;R^?6A?drq zc;Qw7Op}dBemASTd@t#irLOnXr9mtQR`|lA>Zig~8T|cYokpAyqQ@s{8;#j|eHW+N zQXN62u~Mt@aYYbE0v<{DqTA@vuujG+2Fj5yX}y2E+GHk}=T9YgHIBt;1{m~3uMt3h zCx=BWKJh%WFBzje+v6&)&x^IKDo+1Iecu>By=Z2>&^Z%)_#`ux?{KG`r?{XYdCgIOy>SR#cX6=}rgBB%BnvBY(1f z7i_cZ96&u2>k)+_$r{(Pus}$IgwyZ?8L#<6=|NiLAoJTuZHFd?mL`h7Td*N}6<=U(8zQ2mbK?wgCssD6E!NIyeZmS}xq7vpQ=x}B zqFx7W!+h`GiU{4sV4n1? zPjdk{@NtvaVre|g&jlJo8Ls&PZujI0*Ql~<0T3bO;37ln-kvlg2+0-$00nFGwfi%r zKp>YD4kQidmFT+}-|{WffUM%GtKa7pJa2SEpiA*R2bKW7*9 zI9>Z^uUXzd2)YU4>*RzSHpW0+D^+$mWL5A`G|ZAc%!j-(`-nfcL&nMEjeGz^mGDA# z7?&yFZkSNupVOP$d6e#%Y$5#bn&)=FX`pQ9N!rowm44=UHx+T*Ufp26Ve6H|ONYD{ zDVY@kxIWI?LT&mVvg;#E$Ywe^i!7sA-}L6ULsl!HF~^Tg^e#HXrcLNx&t}m8WZs_B!Y%1!kb%WzYhzN?j$aa^w)GM_8k6s z**97Z!44GEbACJ9#z`j|uYGH4TghI54A*^M?zxA*F*3q;3QrzJXV{F8N`?V15g4WkCOk67Y`cKQC!9+{5C>arC=d}#BqLx_EaMM$~=v{QPl zXo;7tx-z5TNX=M{0jMOast*_+mrF9x|K(PIET-6-n3~SDZqm-Q=N5KuHD03q97Fy4 zDRPhwTByLl>f5Hp3a%IyC9ckU0(X@VkL}_3;@xbAHqH+!E9_$=DSWu79`9oWMk|Ne z1)&Vg^vqX|z{s!s-PUiuR}uFCfBDp}}$)*ILBIiE&WY&Q!!p2HM0o(Pg~%R8U3z1)vwSi?k!}P;8H|Bq^9j z8mrf%D*k#gb%%#GvkE|oxh_h5TY9`Ha$MYDNVy%3JQ36S#`qszkv&Z$yPv`YJhlzf zo8w`KbGQPGe>K7vE?-0;tQFDdG!hr>LW-;nHj-Deqw}J4d{EDj{Q!rIGLA^U1$rFy z=$CZ5&x%QihiKpOOcTFE!z|3#__Jk_5j(}oX-l^E+}^xPe%Krz?&9NL&Z~X8+M_jB z&c(zEzm+5R0bkFUbKQPAc3V|o6WHHsTe8*JbNCtRo1hXT z*=l^NktcKK`VtO)2tE7nNAMZ*=}e58@*xA5X2=1I^r?5p&p-<=F$<4RS~{wy43-}e zaJq6>RfljaIImHsm0X^`^#+K;qaV6UEJa2P2D0?OdRb5*+rGWW7a`oGZlRtHcvyR5 zqk_dso#S+rQCF_}?A5myM4Ajg=G(SyiN!%OMFWs=^4nqporKTw}j^95zO zcog^?MrY6=QD~<_S#yZk0!HxYOdaHE^x4sgq|=xmWz*%tfpxKQu8R@ZxTK^8M;czS z+Na2SMm-96lyTem&Sag>k(w?4j)dz?@ly@U3`b-)ZgP(N5q4c*Ic}QtgqVa#(qRH8 z?f}S<)gAj(LyPuqAXbk0jpW>aZ?!k@r;JvP`ZlG#+1sh^pB~DF=)grG?RvddaC3m2 z5ef87fxYPe^61~Ay^r2BeoXb=9gJ_7gLO7pSU>}q-1ro}l+6!JX;x-Xg&qCOvj}6MhRZzN1xfB_;_hH9*i@+$&ojz7JzKO3Jm-&igUD{aA6bOC{Nw-g@9!!;a zoB(WU88Wh0M1*M$4H+3{kngd)%`K5Uw!k^I{QB|OD4cI4J155{THA>)D>Aigd&|>n zKfbWAf=rfX|D_*^sZRyqcTSIEpv!j01BwHN!ck?n{`|pF3y<&bF#hPbx%XEuE@oU? zP^nt<0eKv%9U8RY7qbKo%f+C!2{tYh5o>?jOVUDQ_htjhpuT)kZRo`!nRXSuxf=&V5juUv;DEQ zxp6hPAS3!uKrJkOZaI96=D}Acd2TnlP)ZreWWKdjb;O{<^D9mq;v!~gadaTlZ+$^v zA?rK2d~3h0a7XJt@y3Kp828}BgRixF2t*!zX69f}RT8nJCa!+e(q19@;=IY!2wx+y zBB!&Vw}-}k+r&WLt^W%CkgWSsprI%>;Ne{=W;at}qx+F8WRcUqz@+>OMR6(Hocy-N z_ZqUGhMP5~R{|cK_3D(!GG8M3B~pNr-V`PqsLQX8woq??euUk6HK9kKl^fD zy}g#ft7f;Rq4{(*^_|Wz?Y)_c#P#4d>;S?-KcpEVRQ@c6wT)M%V(XHAt6}~cy|=dq zoxjy2UP=GEOK70uTgNi2oy)@STZzI(lDzC#eA6pd3#Y7XZJ+h|YResElx7jlH>-E~KV8W)KDW3PmdIpo_E*Gc186P~ zY~E$tKJ@h{gPCX6=VE31zaV{6K{D5tKcH^5W_6}?i@vZLa7+8eR-azy#fEUKMFmRjJ;Z`D2yUR?jJy$@fFYV69{~ao%IbF6Av8|*KdX? z&3(5@x`7GOpRn5^tS!~SAtk_D>8k-dhY)|DW%8u}A|2vQE~pm?Rx$C+huvd)Z9>j> zP!6#pKUDpMVd%ojS`P~(uvVSC96hw|WGWjG0aLoE7?^!cYa&iUx(299=0`=H+_TyP zVc%Pu(nL4X5ba=oV<1h+R_F3NToa`0)Rp<#kRal5R%F899Qo#2?+sTrZ$=9CG;|&l zu5D>dD|evAW8H)w_YUYOE=h=;)ssiut3nSM;G+=QITy#I!8-gqCS2zZwoq}J6nd{f zq@ez&nR+AbO!w7UO0BUDa^k1sN@_|w-@xRrqqGm&=_#YVmu^EgIbm3`LF-^x@KU9C z^7QcF&H7iq7SPHX&jm9)3KLoC{+O+wOVoU=9jlMVM!qXcfBl7L=ppQz;vkrmFwWBB zWZV<}N`QE%tE)5l$~{6Nu{-yVyJ41$;L6bC7Kwc9Qjs|wK`M{}%Rx862;zXaA;eT% zDTJ74iq>K&PZeUq5kzdNINUao-@IkkH3}zi0O6v~_Cre18bO%uNG*4o;KM{0E{3Ik z8-RaXi)>lT7xb<_+mU&!KVo?qV3zqj%)yq{Yu6E#TuU9+ck)}^w~<+Gy6}}066QvK1GFO z>HpVfdHN{Bwj~F7NafFOK6;9YRE0rQhlYj@ssH(zY~MTU<0>lLGTt)(%UOgO$w5PsjM_Kn|p1ydO!lVw}Z7OClm zWE6iWE0}wDh49z!|6h7=kHsEk_y}{>?W2P3GDU|idm^}?px{9EpXc)l+Qh;r^GktZ zr=pJ!Jl%5Ud*^8ahJWQ{?k2jr85b{I3LynfmHzi?85A9xclBYqx#lE3_i;tt24uYBKq z0dRPU()9yu*@uxj6c)^1{~gSIULuqY%!9H_;d3x=Rxv;V8!8qY} zv1$Q1O157U{-bPn$@|f2n!|4{oDv?SI;xQMyl8nlU8;Bg%m6+Fd=6J~2^eJTKcb31 z8S>vdcTFp9mi_&{0;~QH!cq8t5Dv%x7t{ur(N~og9aXs5GJ*PfAoI_0J$SeCpZ3&e_9zr8 z&2kofST*y`Md7mx*t37$Vc@e;UUz)?ETy^ zC;p?hdMB*431x!#$y@c1tONg{MEEX!7Y3bnwQj8}xC@cKumA7i1K$2;f^-ov$Bk65 zu42#rFHeHSna>1*+>7Xcksfa&d!Aetc2(5ksXu?)KK3M*!>YA7mBar#*;)4+sH**U z_#a$5U8VNl(@!5bm>H0Zk0m7@6;Cj0=ipyAJ_GDK_; zu(!>Hb8_}vx&T@jTGj7UDA9==JQlXf-XXV32<47-^nkYa#_vJ0&pk=jJ{)jbK{Q-Q zU>2STY@3nX;@{Qq@5sOtoDV7hhevlBDnS;*z{m)o6rDir#9;t1t)E+s0EUefz)=OZ zZlHqMfq6iGcemy5KccFEA$|e<;ct7+h)Wj|FJ>oZKMFN8sA^o}c$f28E;F!<(41f1 zonPIbUm&$z*q)yWUmr!^u>WxZwY_{h}=@=a?yzC`o8Y_Ts^?l~`?H_2}><%`5|q>U5XqnxSC zJ#$-%oEv#(&j-C1wfLs`ZG5c^?}Uj!K&h)S3GBnUzdO| z53p%D%QFY%Jq+)3q{4?%{eGw>0T?`3!}yGYZnpUr1`+R1ghv6e{a(6ZelPmzpvGn= z9ZF_OZ}($f2K3jhMapxcNI&!ed1rP-%)5ChEXm&w;+|o{SG*&Pj;nlElM? zvIAFuRd>CKpV=jR*TQe&UXqmc6xWo}^ccamlCVy8tN`m=4mo*eFr}Vb=aS!el@yw_ zI^A9>zsVkOf_2~_`+4Y&y+7vxKETaEq8AXLc5m2Y%(&FITm-~)pLeHi|GI2|KzJBJ zKSESMTEuB}s_jTiUKw59dyHzq`F(Ha6nE8_VmS*eU?&0KzVt7f?#6q2NbOLR_Je?J z{+)qBB;il?&qCt4`~?km7SsM0OW!5cTVIA`VlQY^MYd<&h_NE(C^pi06gTt?9s0GQ zI0@c;5GWx0xBvs@+6SkWbzWq*5Cn?2?gK(rTMt(Oj2&N6(sMQ5Z2k6CP#p`59SX0# z1cP6M!Sw;2q);PCqCFZKlJ)+~d!&Z%p708iBMR5zA6hFu!0vMfyJZ7CLr0eeS_OT@ zto9L*xy4&MEN;1==!@mx%q0WU5xh-ASftcEZDEDuNq0uGz%^9I-o!8LIDZL9G_-=& z?d6kShDrrgaD|wPky@{z*ZBe!Pbbyb?ceIfINjYjgv-lcx=zdbiL8Fw-1PD5()L7! z>nC7i&ie4AcJj$Tx^w4QKmf4U$RXP+<31^a(6y~g-7=`AmE6?bN(w2G%&hKX8giKOvo3-v z45U{+$N)6mdSql`;xI-m-GAFH_X+Jd+Im&2k1EAe^6wWXP!tCOBo6k3pzis`!a(=0 z)2$R2LtVA`*qFb2J}fcI=9fw@1ZUe6Pi`>pKYI(i4!UpPA7wl!eI8UCOgDY_iv|yV zi_rKfwY85}yYleREa=7@fbvz4Goxi4PF}jd)};s6y!R}A2L(df^=7`H^M=oTFUtUg zVr%}o-8+XgTYM2S!09p%sFF)I6v&bCZU2t>K|buB9~(p|Y+s$ay5_Lw78<;q=5GaD zMR7O90J{goF}BK6K*RfUb%af-6zU6zmOqG=U$07QkYua!rIp<}P>i)JI3$qKaT0MA z_EGQNB$y8S`S@0LTyqg==et2M!^)Z0KYq`zoKB5Y=t*78Tzv-`fku~P_o8g*U3$IC zz25M7K$`QH7vmC+!!LmiL>ZBwy@d182`t#cy!P#HGq$Wl#Qoj)AS5dBd5rMI3iQ_c zqQoHxk2qZ~=l(KP=m4Lb>{wLVtwm@xnElhbd>yP3*EChy(*7-uFFr z@>%MUkb-V6nr%oEmF@7jY)?*t8QI3;00Rd_qe3-gNLx!3 z?<(YnY4^=^*hHRFpozc>n4@@HslZyKiQ;{LE6Cx}pclVdOdmC*;b-^{ig8Il8ZDBQ z&zUl$uYmL0z~mGv&M^2v10Wg5Hzb;-=+U))!hI+Yy%Lx+nbC|VYqB%jjC}I#y|hAY zSbnM={HJd}LOkCw;f7B*Xk2JXYe8?(&FS>ti(0?UV;vyxniJPItr3NIgY{iQ0t(I@ z3{r=^H}Qu*yBa*=@Uz#fStTnaa{FZoxg2Yc`n>c6UQ3{LqXBDNn!PDTaXgFC9UL4y z7nR$2k9ilWD`XZfr#Gfeok)m#FWh#LfM3EBly_A{Jkm}p7_nLIIkEoI)1hTzuR(W& z?1-CKJOGE}#VcG1c?hv~xo2(oQPO{S!*yGa?=dZ(8{xPw#8)zrKO`5TR9;I^P)Cf6 zhDTux_DSb3ieY_y;(000rtVLSu4Vj#n#GCw%=C8;S{^<%*PIAy9)>EMOVg_r;dhyl z@c~T$Kt>^@y?H+|MyxYH82I20@Vcz$8?WzO-X$OF-Ybgg9^gUy6?GWoq`KUH-t_DE_%)CRm5w<4teq7NaY+N;$%# zD=w#c|8wd>n6?oq!}Bm#hegp47})~HnMXh>-n@2dj5I75p?|S7NGb9j3x<4aM%Ll* zn|BGn1g5|B=E`o@yDkTXQTNhl)1udPSnS`*{{?Z9-`TKce__+S5(_HdbkhPxEJlP8 z!&tI+Q|Pe~&{7^RUY`e5@J(nD5Ew8BDf1=4J|Ikwl$(05E>y~1AdbDtaEKjqt^1{__*|I?f=<>E`%X3m}w7iZq?x#_x6p5Ei{8apQG=vps^S ziXV(rWwGdV1SOUa@~2B&*qlr@L*n{(LCrDONG+OSnlf9ULJVuwa9lnzgNaYB2HPZtG0IdTE-E1rfw7 zdbSF&^7F#@IxEGJusz@}+8-+BGFa1$r!On>(;ZA{m(U9|lHX{ZZGAU$r8Z~f znSBkVV1U6<)mg+@&=Eb z%>&jR6}6l}ZG>EC7H->41x78TKXidi>I>v`2}AsSdvrZ%+xn+Z>D)`fvIZ=_vT)zk zWSR16ST*1JB3VB%k=iI0Vg>?RwTs@f_OlfZAZ&!o_^6+r0h5(<8Ql)KE|`4w=A#J1 zGuR9rL|CooVgv%?N&E8H(W&%VhD{e1^q@13@kp9U%9-a%)G}Hdwx4+@J+pIsWnSa` zZKpSlc^PlFwj45U$l}hZa%V@lD6JMhYA18t5M6dq3Bg0=`c8WOROTUke+oi<$U8V~ zV?-w80ARo5>)Yfm+H%G?q+`= zxSi@Zo9E|eIjS_1q!&W(OcVU*O5eY$!Cgl{wl{#T=~+kunK4*$-)b`a!jR%4^HQKl zWSTSI4Vy;_>G4w7#kf5l>@ z=Z~iM7X-D`rn~C06vs^p=j)I2utonJk_I`rOB&k|wRkF;s3;;yHIBu7)F4)>P9(sG zj<4M#xo<4}&3><(B`(g7>(r@@DPsr8@zzDfTlsYTlssg%bR{DOHr(5pmDRZmv7b*A zO|fV(;K;jnU0Ap`I#VtK`?bBjy*z*(up`qT57{WILlSXV69mum`r%eDmn;IIsU_F7 zk{+s2nNdwTy@oa~Ev!6$R+IwAh1-jKB5h$AeOhQGVuuMgesz{_u7)$*VH3@{k_w1+ z&ovP*uwHg+ZL`Vk6UjP=@-)2#_7k9Lv&My6Z*AVUXv}{9%KV?GRM?#pF`*n6q{L5| zzyvka%30#O%2%01F9jm)Um)Ik4x^wp%F2h9V%{>2KIWw4x%|pa^Y`tw7R=Loy~pCw zYyL^9Ul$inlxTl`F+?}x99H%~ewy=3UM+#dAVtKqy<3)@p%0t438m1cgZxYRP8?8% zd!`rN`ulwaL0qkSN?WHWCo&Bb7JWoOpP3-hmpQv&ThJha8v;@S z3ZnFyMXyo<0SrhFgjfiu2q-EbReBP7??GTIN-?z1s|ZSHB7{I_cd~V#alhSh&p2Ps z82f9+%F4>j%3O24@ALegg`l;`7^M4C=`)?e%aw5q0YE17gIDQ{Ui}6D3!1vsizW(u z3(FH1Za}9=>sbLEl3YDQNmo5KLg;VGw}*AMb2$H!p*`Zfq1>yU_8r<)F^}alxh05H z#e1X?E`94)zD~=4hcc;olek3dRl5eU%Tl-lskG^Y&8};|{NtwkBA%h3GzLG#a+cp> zgtp{(ATqH$V=GDKuEAKEyQo<3O|tXm;br*uN+W#Ro*NKiWu$^ELM(vg^XW}*uoD_C zikX7Nbw;jPWpjWu=FABy$ih_LxnH(_#1Q3~yFgM#3Umv5a4XQO>?MX3xekjNK;Gf_ zS(*Di7bt8n>c!FhK-an_g+b3`Jo^*l%pUH2bFm%3DHk>5_L}=<2TWu>Ps?%lO5uD; z*$0hvOQN2zpWPI^P7a-Tu(pKXlTwWSgnKi!YcdY8vQbP6c*X))QFDLQ%2U=5#Y**f zM0Eg7C|<%gRXa(cUuL*tePGCGwxY1iYtdk|as%v0M?{u%NX-Rr3f}sr8GGljEmkIP z3d&6TkQxleW5#BLSu=+R znbi3(=@Isl()NNPi?WZd>8U`d4|H+GEVnQEP_r|>RiPPQ$=3{^y0D{{i)Lrn2P2Dt z7hq>E1!5$Z;S*pHFVqb{Vn|6?g7+yXFFm_7o(<8UOm&^CywI%8(+?}fgXEoD# z#RC0np5#>nE~&3L)v;j%Y{x?QdJ=v~rfz!EP`<%K+?qNoe;+$Y&6P(P@K)oP@X_PQ zRE?e;vg{5~a66Zw59z=w40Jydwwty`K<5OFa+$7AQz2t9Ec{_s^PI02Qp!ky**%x8D zkm>qPVwxxpQ3q5FrPg(9mwXNFOWMo4X7t2?Rp-UjcUwqevDpv6dsv`-0CrYtx)py+ z9jm$y{dj!gp0sdP;zAOS@WdhrQ2T3BhOmsSik|ch@#q=c%v?`>VvZF58zPuOGCTK8 zaeGxnX~ia>F(jP2&#Jy83Eh@5Pc~C@nuiW;<|#1gS*LiRH~5YmXj ze$8`b-V4In6=rU8zK5QmtfjKAI``-~`)ckQ*&+Xy6K2Y5H5QHYx0d~$Eo!ua zC(W?B`6Se9at3|io`&WJ?}U*iy>mIz8VpgB9t7E%#4f^EFtXXJc9H$o+qCWJcyrb2 z5msh6@k!=U|Erl-RO5F!Kdx3*L$*{2K{puwJqMU_brfNQu9$F*D0h8UgKqft+Sepj z0V_*slWeR)VH*nmPA*z$?Ux(|oGD%4zMSaI_MA3p8?Vf%GMg06Rm`G2J$9u5Fo^MI zK-KBfdM*9OmO0*7bGG!gVNgXrrtZzCbA(hDEWETZ2Cm1iGgGykGc8-8e~r{^39;c^ zJ)eHSB$zc$OX6-rUO&F56QsQ&mjj6XnCdqyoT4~xg+Bza<=$mWV-M}kI`iX}U;Kld z)=Pvu1Qtd>u=E|kTV6D7d<_n;oTF!@`uvUyLiFl~{XTa)-*cLJgK!iD%@E2dO54>4 zkIy$w6;HjD;oznfBGpfK~ zu~%VCrgvc*-o2OahvJcj4sVxUe_oc-7Mrkoh`BY3_CEu*|IBC0mFVPRrR^o9^2Fr1 zAsO!!RiTk}R>bc?-of8njZ)Y2GtLMVQ&FA`Fb4yFfw@lGu8Lu*Z z&&tjv$%Grci-Vt|qxJcpQiR0fjO;&tyciOY)_e`xN1=Fts*GYC>&!2l)7vrDch*^m zNy7HMbiZZYWx#HBLHJ~(HXleKPg0uVT+7zI%*=_hO6i@ za%P3Mi92P1h?7b^`SD$Ur9FOe-V6j5v#JBP8(DKf7;IRnydK9$_s|Wj=HH`x@A}lZ z^_^r(8|k3QlVYVYCEa|Q+Uko1s9H5d+0j$xZn`-Zt|Bzc62dC8+NihPZ=G{?U%hdg zLoxSYjuHubyPHRUQ)1oIGtMu4D+Yj=g%TLz{z}s|Rms4z7oLD>)A&Wom+({Ac$H3B z)lw^xrw?^9@;@+$o~~9M_SI&FF7ZC|)$_H3f;T^(6kn^GUX6?2ByM@sJ?u#0Yh`5o zL*?J6`0(`ES{Y!IleYWeXI|?RAznO6*eFS)`t=X6`-q#FHJvXox<5<&V=YtTqZR7o z_My^al}q>j6hqM0pD7mJeI9;7vGtP$yl^-)!dJYmuGqsX*kj1H;8$B|EJcP(xsz9` z4B-vk9igVD-w-|V936Sd+-50Dm&xc53pn7fhco8uE-S7)^z)OxJ1p%yX+~W2^PA+k z)w!2K2cN7J2fp5{e}Q(LSV4lEw6f|kRy_mM&l zOK7dqjiD52^uXDcQ_|fr{Qz>cHkIk-LrpJP_bpGqS3(T;|K|+xp-N|=y=awJ{RNMG ze~5|Zl8V5U4Wzt4R~az~R*xx(b29>hxwW+uWszvH{f^p*kU=2iuqP7Ja!F2AmX|AC zn<9h?Ifa3pp)K}` zgAN}oUYBfXZ7u0YYcf$$dC2);^Gb;A_?nKcW_jk+`D!z0vQ7|*D{-)QG{svchBp7a zY@V>|1s;aCT*(2${KY+--G@uYDW(&peN)<-_A3egE8<=w;wiRjhl8buf&vsUXD2-RuY|;Yrg$x`{{+) z&1Pe(0@bjXpSkpJ8^4U_pXGNOLE$g<#7H4p=BwF7CI}a$W>BJn!C)#jy%_GJVr7={ zz9tZqkwQRp_YRIAtLIi1?R-iZl+v=YV~Sa2dt$_o4n~|DY*;dOU@|wme0_l=Roc1J z-euvS+9@TE);zFU0BN2-_pje2jstT%MLpi74WrR|$gs6DbO4{?Zp5F%6s~ctZrh)9 zr?JFYRoZ9hDrlvZQJP^3nxN|6G5^f#!!zNP#DyRlNTzkVb>I{bF9`@DC~vLU1K7T- zc%_xM;>a_NQ*H5BV9P1WY1MMM<6Or5l{N?f3puGZLopR!544qn=@rDhS8rB;xNClE zGyL+mgYp3@Piwz_){K7k%mxsPq7xJCz~9`+$jUKZ+O44F-Mi?dBwOGrScIuSc0N8{ z1Ct;$T5i4&;FOrA&w(A@H6Dr16Cc&t*K~(l*g{7~hqZ3DrRX{38ZYUa7Y?3+ge-^A z9nPp7yc?8LpWr8n`2!$0>ynbvXii{+hEnX8p0>DhCt_}Q}|^ML3y7X0Nlep!p-*S zC+9~;i-(Xw-s8C6QsBr=*qygD>pb6{hx^F`9&icy2 zeipk&*bj58DW~7lwf+H7@hd=d8yVc~k6B8->M=x1@yItRY|a;#d34K^O>JD1%8n*P_)PQfmFI0_oT}4IGsd=X`01O`_HU) zATwlQrn23_X`i5UARvYzg2E@7bPMR92j`1mnJE$gZ$}=_NJnmOa0B+10TA%d<82N% z$d2HayyGQ=d$^gi{axc`w{!nELL{7Smwcgg+y1If);7LRXtz1Cg*{(1DO%HM#-D$D z{57C5#jfl7-30QI^_pKZv@gazI6XCEzEt?Ew#NQ^(0a8WxYxNBM^Sm;d-=B#MB$sV zWUT|^FQg9}6rd~uF9xSeiirg4!*b;0! zx=tv60J4`VUQ}6tM0DbdlMNqbsYrSV&nS!6<;w?sA&lzz-~zq-4$h{p#pT7}@E^Q8 z6hMlKUvzYwBT(xxn;Y0w?C&Gb+#{IM&OhvVKJtxeCz^c`Hd9ys2y6-O^R8enmcqH> zmEE)Kj_@4`S;$yJdszx}RWWDqClDYiZ=gp&QR&=oHl{1{^4NZ2$nQH{aqJ^d;C%im z8#v!r7lpRw2CI9U6ucQy1Tqh)LEG)-Oa9$jL`Rr;aZyOHi|Ob4*+Is~8_F-f$YK** zhF}9n#H?na8eBeN!^(E%J8$z5ARgw(^G)spTEjBGjze|li67#4KsX#SEKe7yag->l zrK9tsve(3zD6z;W%@*QtvAT2f{#qxm#E}T0Iod4^jX3S(E0V3)s89xbIO_WrnDe#c zpIdS_(M$783Oh0UHs{X;6x5zq5Y!IW4zk+YwxsfHps&xyyv((7J`iTfuLuto=kCpU zYmu@@fn0J5$sG)gOXK=$MO{d^b>wJ++1@mmIP-)kAM}Vkri8GlYtUvQ=%q6OZ1R=t z+fd3Tuzu(Msn82E6VZzO)}$Y6W@tIro3$fkhJEo)J|7y8xt>!e0_&n5u-U5FJDy}b z0NDAB#hMWO?>W1|_hI(IOy!oi7U4^^olt+j^Pc~})bcGQvPC6b7V0nvq6#d951ypp zF_bL_rI5yQ(eEbPNDb~7u8b1Tjilk~SwR0PnHwy_l}^6og)vT)i|+7c#g+EeGeAN4 zi|}i>IDaQu05!f7fTaALeIH0*JNBqTvQxo&Ms)naP1Y(ej$Bm;yoHLeWcn3NMbj->*V))t)S`o?!&NBC)Dzg#r*sv1k2 zm{D|j8YjPZ#=I<$G4AZ||9X39<71Q1Ju5;Iil?C|{3O;GL{x&>20ObXr(4DLq^5Gn z%y@Cqb8SJH;IFm;tLCHAwv?@3qK!97`;s&|)l^i~+6Qj)XQM zj&riI?;L|&^xkAREP^M>_tUfODSNEy;jo_NtUOe3v%tIOKrxLl`=1oKndTK z%S#;Rjn&pJ756l*{%vkn@jrwcT;bxQ%Rv`v+_=UUfU&H>@ABG0CUKFZ4AqxTx!4~o zSMHM>Pr9f@?+XR2Q~&Nw(tcrYbH5{emnZ^8EsOkDXQ~ck7kx9*(uNz+NL`pJ06~O! zT6~9FpERdsy)W?mdcXyid>HbF-=KS1>PZYV(#-*o{=j`EU$SoL!FEj+l=34?oce`k zg)+^3!e|^{c%qp0-NLRt!~!?$p!ZFMT05u>tfkGcQM49sbk;X-p2#FL%sRs zX=>#GO*N?&*nP8z&~%kqR?xyaHOIP5gkEhp4h3;-T(-J8dNPXgAH*3+0E=SOY9Ui? zw8qn;Jw(4O7ZZ7NDl6Zq$U<1gCe53zne2?k&QRc5E9XAfdgJ7SbqKoR;qoGA5^{ak zbLGRCNcIBi-0PPwogNFfYVA{kJjfUWCav3#FAuC{aqnF2M#B5mG`J?EjP}0AKW0~h zM&jFSMY_f{&x~^{N*;X?tD3A&&oDc9gQ4<_v^d=-7pj;RL<+YQ&QQ!(EW#aGmW4QU zMd3wRNjNzL&uJkq(YIn$RA9@}Oi+>{zEhFy^n!)he2)!kQJLc&x2juwKch&4jV~$N z43 z`qNH3`M!w@*CV)Yd};UV{TC%#TEn22k^OG%=@ZT`&WlZAYXr>ij?zl5MB!xMHfF_+ zx!Q?x^u|vf6HNhEv#8Ht-8XDe%4(vA4^#UNUKfsn3-Rlzy43Q&A;;-yE=|Wj%($?0aHk>@O zthFbUn@lQ>9Q_Jk*qhOCo%okC8Lxzv%byRY7?(bNZnpo1B&E>FFvq;(#D!M+@8-{! zdA;CYy4TV?(?i!22M`B{QvfSofZ9gpI#ns5s~f$uDc&2we^{9Y$d@EoA(iRID7RyO zO8)7l;itpT#z=|~3jtiXz<=pT@LG1UwxH57`Uc*Ze)F@>8WKj+1c;vpSp9pz23n!S z19F3gUs3Str-gsY@HU;?nP=xd#=Pr|rSmmKznjUpXQ(+TKY(30=B8cPtj`q6y(%=A zPNpiXtOsR|iTL(OSV!bee!QjpC^KWmOgSegnZY#G({nm3qO;7Q-qN-dGP%}?5u^7U z7}GzOD&4MMcMHND(N3P%d_h;ayY}SOh&XE8G>p^nB9$B=t?=XIUrS510zZ75{-}}` zHz-YgASvdilr{WSP@qP`aF;X9VUvxm9qkwyx6L2ebzzlGTV6KtCQ&_sRe1ENntWFF zXMOo0mrzg3cxe?%4y7O|56#G_3Kz|%9U5d;nJHyPw`OH!y`$J-)Am1*zTGLCDwG+g z#MFagbJ{XfJxQDQ-lwc*Zzay0^6wt}?VB&os^nlSH~(FDzkJGhv?@=tr}Z9JsVzSgmRhG>)oE6 zl(QSB?3RF@!1dg6BJkzYJ+;>sh|%sYU8lwDwwJqfT?c!_dYN~+JKc%4?5EPdcOF<7 z_`@Q8kaQc1>v%f<428VFFa7DYJPk-_4sshdqMITFzt#h_zPIa1UHM1i)`iXQL${4i zo9YJz2&dyz845=)CoG+u0aB>k(hRz&MCn=JP(;QsMbFaDBQwTp*sT;OJNJu*dhdC) zTqE$;OcXsW{aW)c~I#2MUhQ88&LxIs$ zfY_Yb3KLEn;QS_l4tAkW-GVt_C%egpRv*dXaYo(w%XXxr&i=8zh9bJFvL&YUSy@lF zsT@-)?SxbF*%W#HW{hc_v_6JgIDNM-U;L$u1ZY zQm4RsMF4`j2ZY$Dt6#KwM+#4ndQUn<`3rtRRE49mB>>8^D((r;0s#q;4T!yN0~auj zAw0+%kdhwrPkM+xJMlrMlWb*loy$k>lE19&0L`p6=4GrC$U5nTL>PTlip&L+lc|vr z1^@+_`%|WfvKD25MC%xETgLLqfkbUiA>~hT$R<%WL55&MP15(aG=X&!21rp7%6~#H zTEYe`m2bpJQL~}K^+U|xp;)BvNMQUGyAV#|QI&R5dv(5cWq0Z|=tWyw;Z_l5{~Js% z-KD2rlBR%$Z=;m-++KQ(y$#C$)GgaRY9#zUL1N{-gl+&U&~d#H-+}B3)QwZPxTGSq2X@_ir0=|4ZV-~9VOiw$x;(kP z)Oo|a+;tJ=LVQ<+#+^?C5XNqNPv?ew|C^s_ZDWpy?k@e1KYVCiL=+lJbtos3eftGV zl>F~S_uX1*_++xDW&V6LD|AYAJWBbjnCU`o`PXuHeS%Mm zvh#M=JH0raKg2yAHANLWVR-%31Np@K_08}7CVjDE_hWbKBw9m{3fnKOpou89<*cL_ zsJhx}IgcEcl#Vge$=8E++0wwhyF|`%ymTqdttx%-;yzaf!;~^P?d(jZK7Vnc`|0~P zw3&q0rlun=4C=c4y(}OVxKx+-s^pP7Zg^ws?mmCR&Ei6uNpGK>-J-0X;6q+s2HRVw zEjNPf;nbM&DMF{tv5mm@X(fH_@qAcx^ewzKvp+h|@=MyeDf0MG)g9#RLaUr`d^ zJ&9r0nQ*K3&~SidTJ*F_P%6ti;+y~D#4|lf*OQ$Wa5{W!Hmmym(P7cOPvxl8>@~en zQ_zzQ<0oMf;zZlR6kqf)U8gH>x=Lwv6CK4FXd}KNmlHT=9q;`N8Op-98i8WmGs;5F z1B1s&`h+7JqgMttWgjQq+Sa+6oD|TOoF|5Ss!hnoN@e|AY5Gz|L4Jdph7I~>Gm3-b z;kCLuLwxU2@zAlKW)hCKjU<9^`9fha;^%uf_Wiyo809nFzvtku7la%)sny8;3XQ0@ zzXn(5e~Dqa?>78(1W)nG%F2D9`hR#h>ep%gOjO?`?Ku)f5x-dbD~yIi;py#N&Y`8{ zzWXfHD6S>Bxox5ve=9>dIL2&K?|~QSjh(x=)ej#!wDH@V@CC@^SE-tVXAi#*yd0%R zIZ-?cE|!eeqjYwrf3e^G1sdW|;Iir_Z@#SBZE(CD+z`M-Qrp&@xB~;S4*th5F&|3W zc0!|Xxi+pvIGxH^=a2FsrU<<(EA=6!s}El%*Wm&W{Q5%kuYRbFqO5k2jjBW4fv)hc z)DN_!59qb)=Ie)N3ClJrok>-D{`nay2#5ah{Cqz4UzVKz z+wk%K;SKrs(0@nZf8Pj5aB$r7`|p{d{`Y-ZFqb^~e|o(B{aXKyz`rB#?+E-4j=;+H Zo`lbT)FzZny6r4y)KztEUVE>-*IMt-iq_IlB*1-!d+**o0%aw6?R)ng=-j)9MS}eh z{TC+Dr-JA&Rxbs8FF6lub1!>W7dn8wv-LeIduMJsJ|Q}1b9*{|UVcG3zE`4r{GtN< zj8#e?^iL@N{6xpq#>>~-!}^}Bi>tFWm#3wNwY7_|VC$IMn z+U9th2DUGr{)P&DBxO!|jQ-VoCT!gkkKBC%$pd1{Aq-`}jpPpBaQB#)E7f++^3vo@ zAqCOXd8_jmj1oU;YwOBQeWXSwCSYUbYMnd+0^>0;xXZ6d{(X{6K7U>tsZ&>v(=}Z- zYiMZDH8yqz&H!(1ot<-vyk4oPtE$#zXM?)bx~;r(quOS!WU6ft5cq%Hnx-X;8>7UC zInx>evA2f^dTkSP3{9T1E;YH!&6NCmBEwO$Y}cYo`m<4e9Bt35(_`>)So%mz)W1(q zZarl&fAHh>dnykJ4_0pg1*D&$&w%p(K9W_7_&P7^YRjvuyJBKvgS8=Iz%QiLQ(`M1 zOg*Sc^S9S@2vND9xQl=#{d2$0C?y7vP#=sXS_rru``G+4G(QC&R zPmR!1nUaz+TV*OmB#a}vuZZtZS6eGCZGAacY3yil-ZVkP-b9|%!Fo$LJU-sg)+T-z zOaiuLp7_Q3*Mz}FBVSh;GfR~=@365|R3C-&3Jju(VdU{1v@%SMeJazBTC~k2EE--E zu+KoxL#+?qvYS+ycDe|;B2Mn5jMTO^@DP(kukAC*0$un3o4$CaUk_07K^s87)OTzTt9x)6nTkT(H8%@%xc!Dj}Eoa6Ae_5OPVfAn)($IuU?` zeZYd?1LIx-8pGMk=SlO+YD}=c3_twrgeRd*xi}dR8|C#7WO~&4bE-)7_8gVNtNC~3 z1;D&8M?Mi3+t^w+qVk2a8(LYMRCWtS3ITgSa6c3PnmD*U!<;v$vssY3j=cLy^Xa*m z&-~p5?Om_@#&P6wtX}2Y!{H+fZzxM6*?$iDGb>09Y-otBQ&%Vc!3odY!S@{VgM`sf z^?8%@ksCk+NsG1u9ATw%A{=ymIJoCx=;|WYswgixc+ozz&jQ*%Kt=L+T{Qk1oCHlV zsjQ8SO#_N9bUIhdUZFIwDAlWt@cg52BhN9=~B7GRI0INhl zZk;ygDb0IeXzFTjq!9?z5y^v3)Dd*)k(FQ__&R~c`N4w+Cf0#lW0X}*dmpq~tE<1p z#Kc_hmuTdu1l-j;FE_ory=iApSeHvwFQRG8rDiWeIJn9*kI@upo{u=p;hDawXaF~*jXJqLo`j$L z{2siPNhEpErCVj3qEdA1K$m*>_$Gw|OEp;4tT`M_oUHf7gf83GnbtzK*B1 zkEP%_lQIDJn8lCgN(4Hg&h}_F*tFWg**sWr$6Mod3w5?e%F4>xlOn-a_3fv#Mm{Io z-%z)qg>{FU*gNS?T0vD8Jul8|HgAfDPybq>MZ+`QVVpc?FZjhi8||z?LTflA%nDHR z!;#t9Qs>z1Ha0~ab|w4%=G#Jm7;$Zvy*=BRhdnfIkM<1c;JFeY)q88uDf9lJ|0dhc zkAT)vvz%A<9|@lFcHJSq6BmLmM@?aDI>mlbUMpP~V&L00y~g-w0wXj5+w^zGB~mw# z9Em{K-~%W?iF8-ubXv#c#_woDndprO7+V*;i0#Q()T#v>XZ>Dqo=4JoFVtF}O{wzu zyS_O){Xy(=tk9E4FSq;01y;yLPOY%AvXOfY^!{4&w2ZGm93+C#+Z--R;lGi#XnCsm zrfD6x(A(%W!$pa$>V|ebHp?LVFxlZEHKJQSZ`cF|o9q zOn0hNy5hQ$_oB%XNQU@MBoCi@()JGElq|4>p0t{0m6qm+`Bpw^FVn54Jv#CLKi4V{ z_1V?0(%7*A?$* z)UP|bricxIiw!1siwyb?U-tQr zx@*e!3-7oct|^FlZ6|tTA(;jRGCU7JZZy!8cmHh(LpO{lhAKKoI#-9d>vv-jlUICs zj)Xc{G)|{%v?rFDTDpbaLwzdR?#eHu!4r>|&(!uxi;eCQ3T^;}q=l93OJyof;7@fbXL zlycMTx-4lbi9wCZR1uVA2xX#Cv;)3*V;)IF3$q-I|MBG0k>N|*i4(e5D%7Wyv|nnN zEYKC~2b9q9W&euyz;hT@(wl7j5BbSbmUuX+BK}8K99&$ddHvq>(@aY-GLPZ)=q(DY zE~_w`Ll(F*TVbLwa;X615dsZds&1=p4-5W)sAG_KuMfl>3-yZax2^BwJ$+Zx9_EAv z4f_%1ivJQxQ17-X3+AGc8ya*RL^KX2(4OP|xG=HEvZQ<3m}WUvYY*?TT!^em;C6n3 zP3ccqHA}*`s;y2pPU=nkap1}? zP@6GJrtUj(;og(~0Pl(4h3CPF43V-viEhl-P~JFVUJdT!{Ht3ME8@gLuX?9fZC=Kf zo(a*3&H_I^LCA)*hC3AQaKPMEhP(_U+>H>JBF!)W_h-WB=!8Xs2>#)GA#3=xy7M zL%Q%J9;2!ogcR`WJkUSWG(xoqF|3rR%QHZ;MWnj?Y0oK8p*LOb`v-xo95t(#Tc8#B6+O zalN}Z@={mZjPP3P*nP*)Qia$j3!ak_NT4@oUW{Tum3G6`d)n)+Ua?S4c20ls0&VKh z$sOV_&$o!+b7LZ01EQ-)ZiCvs``j#P4E05ZpV;TmpjiGAE`XR!0oEJ9Vl629Q8q=G zu9MUrX0G2FPG|esq9ct(C|#UZ22NC|l2xFvrf_5_9n(qB-Oahgv~>n&mSicQUi);o zrNP^TM7LJb2@h!OnVk`l=R{Jebg+gIYE zb9s2~!UEY#Bz3Yr%x8IbM6)VhxR^O-*y>Z!3DQgyUI6s*_|Hl`ysog6KSy&b(qlo4Q${2lH(o9#f^{S^PxL zAa&_L{(H0Ju8+it1*cew_>Qc*jQ6aiU;=M*@<>Yg)$(vYT0r>ZibO7WI#p@zhj)1UBoL1@@PFTJBx@Q5D0>`fxhr3&%&R2!<~hl625UT={L+)WlC(Yn z>!Dt1lgy$?-0ngjQT8I#UGQ+l2ry_EXZh# z=^p_`wZWWOdz&JM>b>q?j#7Bjz1Q5!83)7GFV5husGBe^tk2h3mgIpmNBWq~vq^N~ z5slUckMo8CW;r^ zr$SH#DR=ehXR~sm+RqWk>x(*l!^NbB53o^@UAf0xe8Mw@fWKMBFyl@%*9#Iw+hoeb z;lzZ)^S-3o9Ma+=`n-{r&g;?6dh|KCSk_ruZduAL!yZD}ja^`%nXX?#U*6LnP?vM6 z4ikUbZ}KeD=2-4?KqYh-VnwEX)u$w!fX!m28$1@m#ldCY$V+ zzMIKmx%sqtWa_;{EXlL@6~1!I@)%X0Ee}{ERS11b38zqpVAXK2ny$jrXXxb~tVK4* zN*HZxP}AtxH~G|MGT_bgABdKkTh6R^=NcB1__HDrP%|*`N&ne{8X|U#7Z_|i1D2P` z>(b2Zz-ISA90i=A`S`wqotk#(B@>r6_vRWd!15V6fb;J6{_St)yRG@}Ef_VpnZdn2 zgFa+LpK0x{8R%*x9t!i!pPw7uT+z9Ms`o1PE%U0S^yd(gA{qbfWJ-Kv8!>qTVBs(%uV5mKsf{zVtzrswu2pD;2v)tA z(a;lIXtgGQ?HMNL5Ox0yTY5~DmTYk!RWu(Ab8h1jXXGs8PyQv`BM>Uj{tPl7my%FH zg6Tnr12%lbh7}MNj5PyTsY!q|-4B+V}chka`W~R_{6UfHh%P zjY6y9B}FoQB153{Y?-CVU7}D2L)rt$<~ft%=rt>yppcOHwDfmbCT(pjTr>fgJ>JkJ zvi@^E44&S~=P(&)3 z-)SL^A+B6{OOx=->+owEX&>lbE5fcS+rAo@_KZ`Cu|IXQWIpX-$zu7zQ<~UEd^qIT zk=v6>n=jg>ErD$2R5DcNUXHtpp<=QuESV~OIMPvyrOzS{$eM@=-&73uDY|1aVKRee zlPtU4nW+nFQx2jJV&@#5_Z%5w=>QnWp4Co>N1UoU{lc3SLJY3|e*6#}3l}*_ne+DU zk@erJtMHDQr@(5d=P~P{hgy))Qr$O_wY^1%>aW{YB;dL7BK*q5;9a7%Y9_2_RdI0g zGOmRu>~EzK7Bk<)d~Fvv1Fi|lp2P7zS@xxoM<=V3OnFG1_bWp#rdVMu+Zq6*hicy? zxsl|-ZM#t`?%&dsy%D}PrLmf>+*UvGw=f%dxSxBNBj@7IiFeL-*8F29Dk-wc~t7qVWWn0|=>8V~71*rs|zW+wCUAUz3j{b{R_OpOfn9!vU5IV3ALRjJ!bY z-fKS?c2|M1!xqmbqC> z*DgGl3}|Pwx?<*v8PZk}W1lCORNdE##BvxplcQntKCn2mxZ&~iPmvvkyK)mRuTE=o zogYB4vcqQDC~1OE-Vn`~$}_E4-&_hMo7d1_xm4Ktunui{&vV1F%miq}QdN~k0!Zg; z6aGXs%iQc{3nuYIWVDC5`Px}|!3ekbyE5=;mErAkR-^S%jA~k(Y@E%@h4aq4V5x~i zHN09cx{Ke-;P3AL@^e z58tXCFQ8=7mD8W~b_<_$w2!C|vaHfRO4Eu*B$VR;%c;FW^`Qy|+#xg}B*}Dqi~;3^ z8}3-2Phy$;_p#%dS)Y>Uv`Nx)7nm=x7G7b6hvj0K*ATtv{c%Z&!2+xhPxD?av~EJ7 z_B+9ICMh-iDNq?$bpA(`o_Y3n&gQ1IwEM4^vghD!{&oAklrL>AIFF){FD7k2zv`Kq zo%sSdBK<|uM9MPwE>Ayx@K_okQ3s!ilQ(V>_Aw`_e9FQ8i;fX0`wM+4N zZ1s@!$O|Tb`s^VB0^s~p1?Z&?)o^pej(O^#Hm`I+c`g7EDqsS}0eDG!4*fz~h2dfa zWahLOv_i6~gn|i{N@7)m!!i%pMvJU6<{0baQu48M!_;=y`)EF(W9&D%gS8B@FRofb z>32D^R5Wun6<(nCLzagPSO#Iq;t{w&Sjwh{l-!nqNzmTY%36u&-WJQrY5iu^O@@>( zv%sdB^48O&4P?0x*9$+ct7+1h0p;#_+TB565j}=8${DB=>*PA$t|pYrz((B1J+S+X z^z+fnjy*Gpg{ocJ_~)ot`d#<6>Zo@KG0L)Yh_~G%H5OnGr)>f?^1~l}J_JGT((e%8 zaDTz7UH2c)pNC08e0!UTjWq3Q+5R3D`r^w;YD|~d9yXNWZad+&bUcrFpkK&E7yd0dZFdObQC8tt4O;jq z=;4+$o-RH%_5HR|+kFNKG&xTEo z$&U*YU85MeX5eRJ)*9%w{zK-;#4XJ}e1T-+4&YxmqQM z!t7B$lkn3B1Qt8-6gc817z_q3AUfW$TLgTA&EPe00nGOi?eN~M+tblIJ5-jX5e-uD2DB{`snbt>$d9zI|p|mUCS({<)F7`1}v@7Lx84-Ag}0-^>aT zUhd;(Qw*0Y_601v?yFX-how6M6MP(~4AD?13PIH?)`g_okko*KG1B>~Catqc^sCMI_YM20aZOSLN zbh5@acA7r=ptUm?#RiDR*7B|`y7$=Bf0G={vz`7IRzwBeGLaXPT4|H3lm;|L2aC$# zYeN#-jjSE`E3mP9wmsQDmd~??D1VY)?De1e(O&d-^o7SvKi+-fJ(U4Q_{igXWK?fy z$T(b6CQqMy$}MI%x|B^Esi+GS`}-E9bEPXXDPRFs=9m%!C?m6*JhDT&fnZa!&bjd4 z$=FqpZ^1R)a#Jmi`Cr8%kFe-7py+IWdAWDIvQ(?6LfXZpveSfrC*s#H2VilGQX`#G z(Q|oU&G~=aBIk>oxkENKJGyWxH_-}=Mc}0>5+@}muU94SI`)lBX9>ANZ408jVujz( znqoot{}ulCl^rml@>p2zLsDSUXIjxSU%##hL1o3XDWBbcgbBd>)}$73etd3ah}*}` z8;bwu-M*{7^yUuKza~3RQA+>SSPJ*I-O?A2`iLL9eew82{PGO<1F&HDA$Ay~=2^-n z$!8DMCzICC{hXoNmpbx=Vh5-M-jrnp!0d6LR`Oc(fBV$Q^KkhByE{vRv(%Fzo5#WBSA+L-cnZ6t-`wj^RIMoCjTe`LQ%pG%YD<2>Bp zU&W{jMYFX$gUz(2wxA|R{vJT^g*+)Yl*gy^Q>V{f=3UM$B)7qYF`lgb6wpO`=7B0X^L%Z ztQOy4+;>6AtVN=JU**%h++(Y{P37C2)D`mz7>aR$=f>FLL`i<;>Hmq*rRrKJZ2H~+iFFg4aYT|fP5bZqRT z0|F?V`u-0Vp=aqfJ`(cb*j88y2su%j`3m~qevkzBPhb4{b$h0CDc#xd?|h=aT;`~Y zXXj8>I%B+CQ)GpOh4t5zciewpHl@eQFCI@g_u>%I+dF*~@vyACd^#lAg`!u-1p-MSnc9lg5>jYu+!i;6DeI^|X&{{k82=r3-T zw=yh>JL)cc`YE{(5w-S|uvo8#3p}QX(&&_b)?^4a*b$7hV#Eao!nSy4rn6*POe~_F zMIQfeqoQeW2~K|sRhdk3VfaBu_)}9;Q!nbDAw5(%C1X8@rsw9$@*Idh^8#C_JF&6f zG&8@Be7p>0A}d5V>$djQp8M%k0spN| z$0050aQ5EYqChsa6mGK7>HWur1NQ`KzIotlk#&Zw?sL8$WO`T@ZGG@>%7QWc6)jdX zylBHAQ_LT6v@N4DcRzSn$j$0^X9`39h0#i`6rSXEL*R4mbarEg8h;NXY#BDa1of2t z2a~G!76Q%xZag99TaOC2o0523tdh39OD8}wYG$C7|8LMaY%p3iC*XWWmBMV&SQKKy z{|2BsIaFWoq_{$2n@&Lce@`-| zXJsAa=jRW)xIsgLikHms*L%ODQ|JW5N;>0mYrno$&vbpSr~$iPqra_lOq*P|Oh)bX zg^c?IEx#_SY(v=IpZWB84MROl-M?9cFvVW^+G_sBL$8D@k{}3Zy z1bzdF%eqZe&pwSJC#1Fzm`U+Dc4!tr;Hv4!ea$rD?W(Qy+*7$U5UX~Md;X&iQK|Ro zH2tDo7ei|cfV#RqR(!@r8JQ_5*0E2xj_wCvU$~2*>Dj4Q;Y}O8 z@Bx}2)uHjOzNSFXg&P%`-w`}}HRLKFAmD>`(N?$BP&8j$`1VE78Ld1JMCTeryr#jY zz#XSUs$^K`nD8nf(3KtYYmMdLBD$XFBo~2Sv%Bj=CG3`e_kk>jH^q4k7I^MbR#9;? z#&1D8qyHRE!l74rB6Yq8pW8z^80}0Y&+<_2f+sp}Z%{@G3gNVkFL-#WHrt%z)-(Nr zP^UXcBnG`05^FH+oCPVee2*npllnX~6qAFS`)qDSd_yAW_S(M;3U&C&*SoIIf}|XE zjk|$Uoz?v3lU~myEkAmz=ZcGLP^|YL2XtWIJJ6)1=u7Dj2C8}|>gqUoX_0Xm=E+-< zHeXmK8U_wBOA>Z#@k)pmXO28|^^EosMu)~=p&@b=UVZXZ!d}_q2DcvxUOXq4otg33 zns;$@*u7;3)`p^`X8!be?p^yOUv?d-xSn*E>D`GAtkJ zot`Od05HPtDpt?hg1-Xa2AMuY<+=J>2oLy>;(MxHh;&vj;J@ z2~P*#RE#wfP1sIczJEk?XW1;CdK{kk>9n-6@@!dgF#h@R+*(cBBzlv7-p}tp zE}yN3tMgy9#6*(EJk0V3^){;+8&}++#xh=VRXh^I%X4kDCoahBdZ-{##y zZy^sX56mMROxN3Bo-gUGOlr*8bcGi)rZ+&NCbt6T`RanXlj@B^CMEhV`f?08$(HFv7HyOCa0=J2#8L}?w_*iN;H`jnjxF?Tz{1#^1tL~Rkb}oh*}hzX!`~a z>?I2&X}LKD-%g?*YJN5$wm+{4zS2RHYopO4Yygfn&f`3EHcT|yao)bafOc{zPbX4S zRk@q}=g7ONyQ?Y`YPF&fapWdxknI_yqZqZI`%Xh^w1%E{8SOC6z=5#F!)2`8Y^wU8 zd_#eVoohwM-%HK6L9!+j7_+`TVK{=;BagwF)S_NPrtb$yzmh>oGi#lGvpQ|Yl0vsM zbK7px#0$#)Tj)v*M|hH+TU%R~NacW-qlGkwL9w{LU@cPCj$il?h`pfoEtw!_fS*WJ z%6|vtW44odkkLBpfuextuaY_UU1W4r*v9YH$J!FXQ&er8P=iv9zo1mGlLgZncY6JH z|B9vA&Kp~LqU~#yMX}W;t@8djSQ45P9=GLxX+clH#utVZI&U-}JYxkPvC^cUJPhMk zjHf;%OCAvk;BfowVXBF?*ay(29;iQ+$J7NK>%eGl4B@qaMoEYf9Zrzvq!{03T`I zMn4+B3U&fJ@@dV;1B?@n(VW@!SLr7fVP~$h2IhJu;>~OIJ|3G6VY3&K$m>eu*6TD{ znHT4tk_Uki`JWO$Z4xj2!S>5#0Iu)06hU$qXyF5jg5dgS<4Nzd{`mN1YH7)d?|)}y zQtta6`WWwDzkW%4TCZC#R8E#C$!}+9oS6Pb()8TOC-anty@pRG?ZRgdapB{cXsBoD z|KNW6kryJSO5f%7-N80Xt9!!|40K`H`J*Xd_{`P7I{bd*!imD<{CxF?A5@6y9X)Pu z$9xr=dbHRCjjB{t4>#JkPk2+_?Zld1e`Y-eD3BKZ{?U5=(p*{dwcWGG3+)FZTDBU6 zziEy%e+mOL@b_4$gV*DP#I01sDY3!LB-|w81FPSR=_4Q&KOpSn*9?ZWR?(04v5HS# zZ&DC<&(}>#?j-mhj|=Ug(f#eq9$hG4L4!Si|8X(G)!U)Gx)Ar{Dg8UkAu&{r5&o*7 zRQ$a};smV(VqRTI{*7R?weHre*@~lJ07kevp9V+wUR{cyJ}%RX$AdjVbwOvWcNpu-VW0DYj-q*z&*iTZ z^mmQPI=kiYb^O)dR{rN5*vFv9Po7+Dn@YluS^K4fB)PbrQ%mAeETWyZ$M%v;_w8FN zJPPh3OupCZM+UE8pDn|9^E5AaM{JRg=np;j-lyg!*;|%KSow!D`&ZRw1{u2<=?!90T6aLbUpf)EGBkai*Oz;Gv+q3#RnHyWas+w$kJ=MuXBQ*Ofue%?;Nuh z2%7Vc(raya?aAmBv^oJ$N!W+zl^F^}KMf@YndVbU(qM!7y6mp@s3K zekIe_4qgydbKXA{4Rwp_O2XBT7Xc=elS$ZL&PL~vfNJAUN|^mN+)tiZ=in$qwwQ*P ztgPVJd&0hcH0@!{cT~$45j<#z%kU-8!Fg_Q1_hP{iJ)uwQB&IMr*o#~sE-D=>{>9n^OGQUux9l9BUlX_mI>p zOEz#}TYp#5ucS6ds__TuUCHP4`--=610rP0oz6hHI-2XA4fileIY;L!G7hi-=z1z7 zKVwB8qH~v)=CAZKkH?Cjp+Qae(} z&TMUvF!4(Iuwn7Wt1SUjT|)|ri-y-7GB)z7tOmH0I3fm$9N}Wt9N6_8m*cJh0&laY z!=X*fmpRMLJDwsxLFc~Uxt3=#_~fC(bZ)DK=IIiy*a+;3NI~BRBcmcXi%_LF6Lf&w zseq-EEl%`Vk`OTZ08=4!dNzUaz?zgPRFr1YUoM<|kO@>qe&2F} z3o5Z6VLFeMwcmNyahEk`aYwRLOM77rYV>CDD+)~plRd39y(}UPj3m9P1sk{o+L?ZR zwofLj2}?V*>Z}*&qYY~aT96fB2MdCa^?ps}3AyI#(H@V+5r0}AyS2_~N*H{DF?My> zT3oR{mPWfvHbDf7RB=JPJgjNs25wQ~&4zD!wE2ViqRFL@4ZxiLvbCej9%QeuIY}N6 zf+qhRW5*oq+UvZagN4&^q2&WvddXNG!}@utvZE#eM_m+h_Yq~W&lVG0tvDsi)Jcy! zry&yx$1ABc=B}gvQnIkkhF7sW-F;w&2R1d!Fc4X_MY;q!sm~CURY2<3rjpDv>}PW> zvNczqIpfProUGH{%_~m%$d`mc0I}|&UO=Rw1k#qjX6w?Pf*F3t@J#Q!%q zN$QB3JjN=Ly685&!k$FahbyG5q~}XYKMNK)lWwF^1nRgs8MDb3;SZ<%zT?5aMPcWLSXd%`ZKPcbg!D5Fo;XoBy!{CEtbP&T`wsf?q#oGxjW&d7~-Gp}W2lB!&;Q z$VaSnvG!|h-T3{+pAy!oVNQwxAJ%~?ScBJ=vHEwZWVLS@sgzn(*1U4OxDSYwKIs8+`N|KNf{@K&e$(n@G zt);ED{Ljg5IfEo^jUZ~d{pP$qrh2C8LfKD}Mc0(eU-t+i_dj@Vy^S|tLyJa(X^%if z%oxkXd||n$j|4jF@|tZlDfxWW4`yvmY!<@xM(aC{}U0SKgb3p=vQ=h{z^FImuDNnw! zx#7k259)|nUA@JkIz=uniC(CSNyEtpr&g0UHbRvq^(~8?qt|{KCVnnH8bdM~w6zf~ zE;$rNf_+O-P6dN%(&55n{@DguU!!m!`pOZ6jdSaDB@F2W6r4gm5)qGlZ4+?`uUfo! zf@&EfWIeSH2$Xk(*jL$riJB6ppYDdWJVR?MznWOHo9h{E?qL~VeGKb8S=ywc2^Bwk z*%`H_b$U^Oj*`sI8mfZF<@j^q2q8&lbv3U>Z`RVy`D0d83RDTC%+Hzk%LJrMN=({U zb8Xz}4=TqEJ!by60{CIK2MU@LmG6#=$nwkEaGi z%@Yc`9p}f9x+Ee_uxu9rTXZR#OP_3%e)~zR&qz`s9Cb(PpHtzmZ2VnIpFIg{gTHNpXQ(L03V- zCO@U!)YjAb;f>!O66D$4kNnVpQS_x8dW24~IB^E)EYq%5@c)DTqlWzDpjY|8dHO_qzn#s>C@0NCd(ealy!;6o5{V-LVA3#``Hba-j-Qx zY2+$kEnq{kRCOO=o8c&25)mNTW@g3n_N+64?1?#an-4)BP*H;mo@o~ z3`_>iMP!3H|cHB`9d0>A5W5?#iV^!Jxrh^?ZZoSmB}v_n`YF9xY#2I z8?fG|iWLHQ2L98tQaKt!&T(yvwT@OJz?JBfAFvjPboTwE4=nL6&PnwNxy94Fq8 zN3I^zK0`Q$RfeTIQLJ)KZn~G>Phb=;BFCs225tG`padle52Y-!rLdZ?ih_)WM746% z>D2vb<-k3t=CRzvzw-+!N0V&*UXD)GdG))X&mw7_-LEbf5VrcGv)bGB zrltaXKIsfsl&X6V*MkqERaH;ie!SK+G1H+CC%?_!@4fSN_UqN4S$yU(_dDlZtfj2Y zQNryvsUwlxp_dkA1My01>@;6DlFK%>^lcfQeo@>I>Nq4I0^)o^1nx`h{KP)oULF=5 zbfswVv;#Yaxt3FzlhCvG-ay*E7$yjD6aev?=9jT_j0Mbf@wE*)XX$N{JK1&&d+KLN zC((+=6s_D99?*Jkuy|hAUYro(fVZN;H4xpMkg%_muA-%=G~QCpgHz!zAuHH3B7Bl_ zGwT2CYH7tC%M%NH9U4oX8|D+{NB3&O?=Zqf>fkjCr&V6fl77hIYzy&psQKX`#Y+sP z&ZY%LKn`idK<;N>Bir0w#{>Nih_h%@aX+Ptptry2 zIr`OdLMD6nHra`AE3;Ho#W1H{Qdgy$phEU6V=X*yW8(lH#(EaLz<$WM|%LoU)Ay? zf857o9~Nz?{SlJLs*z4sh74fuATPLz7vdH|43)p^CJA{;?qh6hJoolAd%?!rA=|v8 zoqgG_gEuVCnNdEL%$|gXl-QHdz4bfnkQ&{vSp1i=MlIoOQ56i8wzRN>K>{VRlsKp9 z!E{-ad=`ZiJK0j;3B`CxyBcgrouWqaCO*0zV8aQTxUYRxoGVh>JCV0Ui#f$#R_4t8 zb!2GlY$YZ2Uhm*|{Vs7E%~HpJPX)MFBXaOOOgU#bH8=Ro02Q}wXylz~RDNb^Ok0|29kqsvjy#C?Bumi@Dh0{oZU zCCy^13=0i0{(i-u{03Sh%#-1-Dax?Lw$x(r*xJFcB?X_-@g;3Q_iIf9v*w%FisD}p z=o50-!7-B+V{&YyrmZI=b%tk>y~-3uh7y9udsi*=*D03Q6gV2HBM81&vn`_5C_1+p z-~UNW{ip`w(I78}Tek!Tq#VhTyv6kUx~#p#HbnmS-}xCgq-i16QdxeXhNg4o>oyC8 z3kmb3%EuLUD{iXFjuS@Pk%sPv^*O@T3xrO0U1fSZJ6BsvjJP^Qs(rt{!eqxMumR+S z|8TOYoJ-Hw+rW(Q+uQK+@E}&k(W$AITmoENOW(zDo7k?a_{#Ot7`kV2{sEV3Lae@c032EW zrS?zIr=V`et47WBRI3T$Y<&NdGlyQb&vfp!V?th{XFIz)z3p@sG(FOe*I8sB;ja z?^<3C75D@_8ZOevy+QMvOx}MzfRg(ba5;j#{R}izZH$%xTo$1P5L|@&dIJB95|rEb zxvq~GNDh%mKtEphkV4^lfH?wMqXI1Wch3osj}sWR82Cahg@*CAc7;MQJBS@&Q40MZ zCl9F8*MAZ_y2gcImB>Or=FJ)pp{x!l$!@6g9~@VRUWLd`Bjn7XCrVe={~$7hL|n1v zUx5dD1u2L20RAo{5|SjQ7i#~O)&KV;S^@>2)hplX9wsLZCZ{h7}sNk--o+nuqp; z|6XN`+(XNTW^<;drpgNo`yz;_Xt;;!_Rzh@f1vN5HsPe)kevn@dUvj*L` zd9{3eg$&=>F=wmu70|69U3Y- zIy!nhi5nNEz8Y|6)5OwY@rR+KX^>AI8o5i~z5P~Y8vmos|9gCx<4+oLbdR$ws-mXm z8(K=a3jVXLF};t?0j*|vgicq1Hp>Jp2k@x?{6qWeRHrRhqG(l2HJZ9ED$)j9?RT74 zni30yyH4{3oYbna0Pg$Wx(mE|v)3_USN;DS0 z7oE57oqx2op00H7e1d%6U267( z*{_$Np{VP^=IG`R?V^zuZHcVhToOqQx#%f)+8d_M8?MkuZb=2n$Z+48_Tc{hH z$Q7|XB{)Tsb;qDrQInJCw*1Ic?z)WCX22GWaMSYbG59J$f%9*3kDb46pPJqvB!| zN$(yC-GzMnz{NB*Im_}v_ydrPzP`R)24x0|hY%Lz?soYmkctw)5qQ4WAcXMimAp8( zk6tC{5*m*-nsD3lg!8PIXy&cXeI=j|5(nRAKNt1-N*D<@_*vrC4i~7QYLk8wb+nF}V!-Ux zVxMxd)8#mz6Sk!`Vn~{49 zwz&jsXVb)=O&Z9Fs;a$r<_!G(oBzZvO9UyU=;Sdwj%Zok&k>Kgmn`I+iAbMOK>$R%^KEom66YI^n&5h*O;;mBc@S zcODXMF;kn(w9)qH3iR-Ye(+k^u7-vS3Iwr@3N7cAqnO?{Rn+c@!6IWj@ERlNij4X< zamy;o8Wd^$ry~d{f0-ht<{&(g5H-wdG*K1{JS#Wu2x``J{l74Msg=)iV6i7W)_HbU zBzNvP_S|q5x^LGKB}glwVN@O(I{bgwd(XF~wk=-Rf&vQCwj!b+Dzc>u(jgI0k={b@ z(xih(4FQD!HbA6H6O=B!cL6EVf*>^%=_R2~r?s=idL|eV)5M_=OO|%3O1f z@oOVKCT3_*G|n>aM@}Rs^iol!5L|nK=x(OrwTxvfVr~*)#*USK9?=V<=iF%9aagSk zIyQHk^_rbKlPu;G@5Xs^bUI+(YbJ8`=A$w2oge~FHa%GKRP^$S3oizi-m>}5$niOD z)rQMA*G7cn&X$N~qe|QYNbKSsa}SQU%7GVnQxl-C;xm$zO|3pj%&E#kcVVxmbjV%< zojhy&gn+v?Els0dZFgnrk{}f|-R0jb>U|ejb#=4VwlUFFT5%E-3ozY`is*ysR@R^N z`}E%POY{u4XdTdw`KYa@SB6>dq8+^T4=>5|q3H(PcGltw%-KGU6~uL_f4ui2oFP?6 zX7k{HVJ2*7A?@w2j_gN3;zQ4xXV5@>5iLKHKbQH$&G!AJc$BB3qZ2VRYF{PA^36Wm zy{B4-w;??in89{ceKs<+xhK#C#iX7I&$(gPt>bIWpNa_jNaxNq&drS4omoNmde zy>;7UgR~3tHBBvx-QS$(2zwM15gYr)jZq)t-w9Zg4uzFiD=;b_VFST+7|%06U8^H@18U$Av#FG~-i0ew^4%sdi~p9GPdTT4Yq-T|5h7D6Ho@HEBlge{O*Cj;ix$q?8nLJ%9wx)m)Qx z|Mn<~ZAi2grXR^5*NkVU7&%$p>b=)@uJ11wlPCWweZ-_qiHw(b`VK+Jg-d5-s(`$s zlYMI_*KjUXqG=T4PS)g=G8T^(Nv9?LWKsLb1J$|UXo4X*`m+)?gaJ}wU;!Ui?2xp& z-E-YC8N?&VmCZ3Fvj|G!y=6p2Zz40iI4ag@SfA0=&Q!t;ROiXBV{T70<0X!B=;^Fx z>NlG(5u{r2D#kAe3~YCGt8D$JwtHgV*FYW1u@4EB1#&rQ{}5^ ze0wM+zZmWWt>7dMGq@(x#l7{Y3fE`;3p`d9PKrxfME`MGD~(W|evGXuN!blP5##w9 z(c?+GHvS05EmucVwkq|g@_R;GI2KA;K3?cdwj?aNH8^WR_bY^U!6}F!U^vP9F6f6A zWkL;yXP_OjOF@L0V~OHk+-TL(8|T)a044gR|J8R4R81SpcQBp!p1T$oA!;Q;_yd+G zs8!IW!LhljoA5|__vYPMMJkpg57$x-0s~e8>_DsRbKhfP+7faC98ll2F{8!jPp&FK zP~WVhn)syyVe5Z?{O9=X$(0d3?~0|Q9$XuzK*ee~X0$ivN2 zI}xR;_;`}-VIw*0;z%!-`s**8(m^i7VZ{2U8wr?O##e}2;X#X|@=4W22h3h3iQNNa z!|3jZ(<3e>>uy1~>Od}vM1GLz%)>st=P;WzX}|7*!-+PDK0uHLs=iRUuktkMsim^# zMb4MZ84LUDqjHQucvqUIo9!RU^YVJeE!NQAt(a0J&T=8dwkpS&$AAw#`ACU>QzN(ZP?AL&j`W(;7@G+7E-%OD&F*4v=)gMGI5;= zz$Xig`tt(^^oz(7N#|Xw3Jbli3cJ4$u(*f9DWqRVLNU#-o(jUq<46vwfIe> zaSwmeTCOvK(|(3LQr$@ZNM1hh@C0m=lbwiossciz{+u)3eOePAup2Qdi(DX|nU#L!^bs>V@wBsl zeYR)pH2Hu?40bn@7*~3I_niG~X1hLn>j?C?99n8%K{BHGlX~o3Qn~Z@Ev72x@irX5 z^7dY9uS_v#cl^lCrJ23H-A9NDB3h$s96pEPfV%o|IFlBWIrGi{!>Y!NFN-DfC2bGd zQ+HbnADHqFwxznicGN!A4C*g`8VR=zSq4E`2-}fHqRNU2gFY`qUgoW*pH*U+B*>FY zH(fxe5qXk!z5{(8)ocm%UsNI!A2^?;CrTjQ2J$Z7a-R3{-B{87+$KSsM~of6JWcIl zcDO__K#6)Tslkb*orn=we6#baNRZ3OO}0B+YU`{D<-5x$G^V)OwI1YRn0C}8lkC2qAdJ;0fwt_nXuw!sPnFK}|4W#E|0!0vljPhex}25 zQtV=mu?8cqpy}X|d)t|S*dF*0-mv&R0YCSOkg1}XzOEhc%96R6| zh`(7K&Q5_-vO?zf(8mkaa$0gMO_GPdL&T~)<{v@N!UjRV^mwL)wPe0C>OjaCKe)e; z7efvu-JF$npZK*pJ5keoZ~;MBmuO@CsYJZ;Y7O@206Sieb_4Wztc8T|l~>Cyd#^2{ ze2;bFdv@52XIP&*Bu@C3-3f*Xjs)#gLrc|@#qsSFoa3>Q$H~XJ4;OFDqEi88|7iGk zsy{@3`s-f4ZkY3Kme2)GDXii!E&A!5`!mCr&+7CkFU~9|_g&1xj1-rrld(BfwyK_8 zN|=)hS{$8X14R7pdgH+iK`l{bnA7T#;y$f-%RbX^A_NPidXmuE45e#XSQ9Hij6u-- z=>hYa76YwYS70F`&QK$yKfm?*L?v04tfA*T9xAfw)NON`PMuTg3DV%kK=QuE)5Y)7 zC8kx|!v+@n-(r4CN$`wT$5=g~iYf$IVrvdV*?wMbiZoAXD`+7M$Wd;Z%jLJ z-~A-t)Zy*c;d~S!oF;5o_xiU8YmFZ2$k`S}YEmui(GVx=o}n#1MYmxiM4_EuaW{{5 zsX-EG&o`CA_B^lB#N}OD@<7Rw-lf+g_j5E;ao&H(@>FH!(t(Vt;mA}OHBeC;arhHO zRe1OcYAsgsVt7bbfIP`45YbxMwlO7xIFuRX-)-AJGy2F>bLhO+?ovb`{jcVrra0tc zFP+6Dx5*kVeoT#eljLym`P%f+)$?`yYU)5#_XZ}IQp;$6_y;Sdw+YPzi*eU}Jp7=H zg^TiS&pZ%bh+&!f_;oe#?n{Q3I&?bnDBauDH?%%~C~lURc58~w>>O-;*w>cZ1N7Su zKHh!2zi8t$-3Z+C%Bc46~&mCAjTM!uc(`*Wuxk1D3=SPPP7w~=9A*&xi9PPu}+uSL)0_>Ri0y}D3!!MlO zcAIV(FOUJB{b=A>fK)MuO`?jS`ms4qQ`gtR{c3LRqA8UHue$)rVKoQ0ax>}(ucjyF za<#~`@d-FxckuF?y3JMeCmsE2vZdj;=eu5NHIbHIdZIsvyP&4!$PY1PwmmL^H5cZO z5-@MnlOdJO7oh};b3Lg`EN^zC5%LM4d35bZmCXlE z<_?Td$$_9ZT$Yp4YeSmQ%Hw&9W6r?YyuT2)`xdB?80D$AAJ;yLD;n8VMGe2|ZQ`(a zdm_S82k?Kh zbn+g$gY1Yff2N_E(JiGsrrB%=4o-Xu?WhnNTT-C9=lX=+@rRF?38D#$mk542PnU-z z?Y=RICqKM9Ds5^2boZ!0+)(qrP)iT3Mo!r8d$LhK)zxg;y=Z#+db@Wh4~okvO1?`p zb?CRK`@8}I!>5a51#7fal@orU z&C%(^NCkOi-H)_FPWOpc+fD0F_4qw3HZf+=s_hOx&(UT*KQG!A&Zw~decAmTA~!%U zPVC<8X3mX->f0;n%jo-O)`duOLgS;&xP25v@G9R(G{b{FE5E-OoXIeZX7gF~+I1aa zF;n>?N-Rk)lyHSHkhT^iplVru_+p z7c^zt-T8Q-usDi{4dy5^DJLr06Y{y9-h&hPS^84$4jpTV-5!2*E#93g$@gcMjsB!z z`bdq?1p}TM)vC*-H}&4i%@N2Zd_RAUEeyZER%@=xkio&C!1PHZ<1*oEp>Q1Lv6hqv zXtaY03GE^@OVJ-cOfai3uuJ#yB>C_B;BnFValN=AYxrc`rLWf3zSCP)ZN!iVH=sf~ zuBmU;?M6Zq3LCsT3eVY2b6yR{_5bj_wlQ2Fb}(~W5$vJICPKJK>FX}CO#7C@Z38Z8q=X2Nuhl$tg2 zu@h}2w{E|E66Pg{B@>0nlY*uVmIon>kwzGg+14}7OAbz50XJ@o%=OF;wq%WrYQ=qP zvQ3m_5%&5L#7Br$(Lbf?-`TX?!7gy}xe3jwRZU}E6YGPX@U3vqE~wV8QG5x)z5i># zldK4KnSMg@AR%_X)8Fry>`tWAJJ17WCd72V2iq24*1@#{ou0G>^l>gyO^Dn9R0th6&)H zT3~_2UEpy3{3xOd9H;0nKVnET@49Cvu)Rq`km#q%hs<@KJ`J26SyFy-G28nx=d;9A z@e7>r&hmOC+aK0nKeLWm9u8(Od2w+2z7d)<|K7TiRDBJ9nb-QgYN$n-W zA5`y=trhH_ngtq7{Tk^p5@Swo4R*kv;o!&78S8h__;cnwwzfPlwa1#qB(MLlm&$w{ z`Ni2p(NKvuhW3d`zA1}VJ9;F68XL3IvpB+No?MbZTQwbkQFpU`|7x*J=rD$yXEy$Z zVm$N@>u?t^z0?G|CheR^&(F5<*#*?*&N4pE)mF1j05J$Bx`w4n`n5)K%Gj}se=Yy& z9&yie$(c{!8g^82uc32wi~FEuD@&B5P0hfD-R1T$GuQWS>I=j-{zL@I1-h9B&3h5X zQ9(;A%Rd#oS48fU3JaWaL@E zzRj)SuK3K#v!1%b!(JdV&VvlP`nF2pKJT^e?(Tr&63$u;=c&4vh#%YBm+c3?e4kID z3rk`8ShexGn>0xS%^S3#fpVTWbpPFcf@^Zp$1C>*lhgdoUX zwKGWwXH3U2zs6vOON_<^6n9vdmZmKeO=%Qqt;eH~_1ajU3I7|Sj2oVX>aY4xtBW#L ztw^+a^1A&gq1&3D*Q$a7kI}f-n(r>UsyUA6zvlyY0&#k@MCk(O4kkP^^9lRiXR(^% zm3Do+=xQI$!w)XGYDs@@bcvvrlJT?!xN+j0q;=*SLis*9tsQrgZQCBNHmr>)t?&u=^ z7$o}bt`9||`)A!gdHv;X84xQNR#w?!M%-N_$L;!47Uh==nve8m5&%9?4NyY=%a1RU z7ZaMWEHDsTI%y&{kPb~c|GYnRIX!5a@T!T_kLJh@nJ=50z1XAyyWobd>MKaaYk92B zaa)KNlZfRg6Whc4+WpS$QzP6*aLwiengeNI8E=PhFO0C?iljf+wn7(T<8|8MeR0zUg4aj|B9m#9vZ?y%9Mt6BkZpO4l9) zJVuS@b^@7d)+Z~6n)z?vx(W$EB4*o#eBJJ}N{2le@`?HO&T1NT3a*|ySxv#eW32DD zpF)!g-2!_qAxpN`D)~4ZMKf4N5wMV|3-@U+fZ7>+%RzIqySdSyv5SDm$nWPfC^md# z9LB)L&eG~|E0{uc``-gWe3Gpc_WgOq6WlyI1>Ys@|s~OA}rec#N91lbHY!dwP$4| z*+-IggFTi~<#i;f(t1=ok3ZRLIEZApxmnOH80)uqo3%LVtMB(m@2&#F zV(Bs4>+fe|CtfE!|&THO?@E> zz9}FJ{tW&M$3QSSmx7DDf*~Oi= zRLm4?CQi`tvi(ss);-Rw zD)}TlnP9y-d*uy=)_*Y}T<8-%xUR^%DdLJ)$7zG2;+hK+8gFHxr{;IEs+ zH`eY7;orvZy-Z5nGa}fbkboBGc-!y%ZeE60EnX;5lU4zEJ!4h#}q2LMvWl zO_hgds9BTu{=oD!eg`XWq2-2_^_Xnj3p$VNb8+1=MR#c;5>3N@M9`S!-I%KNTy{Y% zpPvL29Q-k$0*#Wbc;eu)3FcY>+dU7hzn5&g%qqkJ-`@}2Br zcFg0NONs?=-tcjyOjzP)GrcyO5Ri%nFDkU~nFDR^}dKV}+|}wM|J{!|jtIdgoxb-LKXZ z6Lo6W$E!QTb6CUQPLK!(K}%xQu2YT%txZ;jvL|o3u+zw{-t2CY^;(PFRB8&?{4=b~ zvq9>Sv&>6gmT-?=sW7@I&F>`OQqB(QO1$UsA*id1ZZuDAcN}DtFFiP$1Y4 zV)z}=E8c)Rax!22(Js{)J-T2I3)p&z>>e7i;vKWtEcTxX8M>pJW2kKvot2e?5BzP& zalS zELE4ID6}?m>0_*;u7Zxjyp-osD51DI;0MZk=w|#@oJ-z?Q7@_@`zJF*5R>rB$xy|y zdO07r(9Pqr$ihdO!!;k1gADZk5*Nub(iIUS-RC?$bPKqQP@1?aM{~SpK{|GsCZ4H&baMEJb^q&bk(ms( zEBa#;c;U#sC%znvJub5;P7ZViU`wyb8VaFT!sQNqWnnlEz5FO&K z6DxdE(X+;s?e4GZSrEUWpP(CpfmU?!ysj!z$-`_SA^GJPAZ{tkANN`p2^ifJU~hhjKA zyWLQ>W;Jm0jCVzU4v^vH?Us9PdkdX5B~zH6FO4kl61dq61o_<>n|z{hiXh;xYfl_z zD{_lWI+&rgTF^+A^?Re9HaHm{Gonft&ht3y@`rBC2^b)9Ia@o|A>)6rd^2w{opxa< zBCl%(V%MoJPiUG51`mgIpcSVszY{k|k4HzYqXl?)B%BT2xUoD;GblFS*4{0w{;U-G zPq4|2!N%M_ZRhltZv4r|SAJ9J0zsIJ4IGE?oM^*4q(9hFVbEK;_9;AQ9KSmVC4|L<=6y=q?F;+pc$jg9@| zze6a%vQpO9)s6AW=3vcc&dkovK8k4OgZ(37jF#bgusG6{9uXmM95~?rAaTO{MgH}F zb%YyXSEIK;sF*sJ^`4~|GC!g^c$hj1-S+EpWp>^D9dhaPn*MBZE?z8!&32Smf zopqOOE0MXcUzhyzM?SW{5v8W7*<37@41R0)f$rbGbYpOM?hEYTqq?_4;*|oOe^k4a zof_k1wMP2-^`AHCBE4!)JNTgOJx&F?GVx!lFL)z4`QltPz5kpBf4%s5HC%v*Efd!J zH!kVMAj_oFPx}P=-SGd}Csw`x2sG~WQnz)~jX4I{Mt?uO59&-*Rs8s>)$|i^|DzvW zy(4`o%loJBab!{KKcDKceO*GY&j0*RHctE zUp5gD5&8xO_FyL>+rv?PJw4@n70(Ou3QIv;o72;$C4{)-WG683hFk~IbK+CuT*gUd zg-uP<`T6-o6g9V;+|;vY&xrd)V2}(LNc8X5W|lLG%%jSi0V;t?kl^lL^7xg?Cqs{{ zRsf(p0k)z_0OD2QO@n_09if|D+QR6o>Dk4{Ox&7n?NMo!g#EsRW?Rr7l%>{tPehTI zlz?I@3hjx4*aJCRd3y7ar;Pj73%Nf5tW{PVw2l!+OgtwPHy>EI?8f)~@24=(%f58+ zqTj>S?fK62x%RhUz)ls=1OAE^FmnX8QZ<;gga)963yS^T)Aw=>M5|;;;Qo{GnJAj7 z|C*VZxwt%Yv{e1|i;Wh|1D`P<$}GI;I^8haQ|B=smi6U}uO2VPcXg0k73Et}AD?er z% z(cn%6&;;HCc}whK&tNnUg-nzv>c_~dQcn_ue2BIGzH9wnop2oF%W{8uxmmq;<)ndh z?k|vi`jhdUMwL8w2v&zik5*e%MJ2#Dz|Jn40fTysDmmGHnm8jRRV)6yi;<7baL(lf zWm1W!9ja6gjx$6kHbQ;2ez(LA33V1csok6ycJiK`3uT;$pD|9529mS=^vcj>AVDTP zI~1+rx!x=1dGyY#)<3JSDc{J*2;@#UgKoJL$n46qm(H2ATB|B=ciI5OXw?OF@!tM4 z8GBpXJ=5`!$fjr~80iHYOMkJVKxCq9Azchbj$7XtkJ z6@lZV1|b(O^~z0XzPm%=wz1Z{54%F6azyoCRWN$N_N~lT~I{ ztI2*O(msep`^wdDHi}1!=kV-sn{1?ujo-EyDjiyEY5MnLIWdfB{Z%!P{QT(MDg_w= zBGZ?J#*N)=72)x+Hk3w~p8n-crdw^>5-t-qaNNeW@OnFIv*l@Ox~)z@i>k@f9YOeG zLIOwA&nv%IbJD9?vO*Ape5X3VibMlGyV_?O(P?pzmC)o2^m1FaLKK60L9K}ty2#tP7qh(ILC9?p)Ry`EKD3l09lsX-4o>?GL1|(cntB3tDMKYd3pNm z1V{~BPZkOq3M9sGqMeGH?SLAz>gVT2XbS9Q{NocdA?kQEXwS>Z1&9xEizORW#gw^F zTG5xzAls=yX?-GI#iCU?)cs*hi3eweDw9Ulh3`oEStfnZXH1<4$abb}|Vz9nQVw zfZ;Hss5af;de9e6DQ3?-FmN{OZBE6<7Y$fKO5;a;vhn3V4usTcr?;VT+mfU+b^CZgDyICa0Qv8n2kTR#%rBT3S*XfUhB>tJJiaH?EB~~@9eT`z)n&f-dmn^t zRlO;=DDH}tWKfq9r~1L7_>I{0=AyXsig3EtTk{&ABP<6AXmH_fOt~Omt93^d=Vn}$ zj5l_RcM43!I@;zAuvNG_A;xb})q55o)-Sh!Ka%7zl%sjDrpx#xl1;QD&41?(``srG zByST)9t|ADgfZ(VzeQ}ArbOc3N6}*^#0|Bq!5H2L`AnYRbU=B`clc$^0|6Tr@cfk& zX?Rh7RXAth*l9>U6WgE#Q(6KT3N@SnqC5KIEO-x89)$%K6Kql$JeRleq+OSl_Zb{m zCgK#m;&PJko6*}TM9V(vc#HR&Z8*GbZL!114wjgbNFeS6)0R21;NF za#lIy1fvr&n9Z5r>Fle73e4V{bp+~#WLbx@@SjwZ6|9zX#d9U860Xw}>GC)@KZs&^ zf=hRijaQ>?hDRM@wAj?NRO(NUgsa#@a<>T2@?I>ts@tl^ftnB8W)1ooVs2w=Hx5pt z##2f2s$xR3cRG(ZNozB^w$G;j^@;qoX5)TG{EjUp-pRXTo~k1G`1+3$AKnY{wzp1l z&T?{1rcJ>cHt)23qg|&VyDzLT^B(^ zI2%KVUN$lsmQvR5%=yy8RintP*?S6}JUA5l!t-!zHt_gsQn||<@^w=KWmt=J8J&V! z@YDDo3VT^-1chxlYM!-xq(dB;M;cd{- z8;5Oq5_7L+r=E!Gx~cSzE-0HIt=rhW`)y}D{gV>5W-GwInAune@zkM*{OQ=))x4;< z_@6~*a`Yfk#aD%9d~D#U9@p1fkF!KR@aidu1}-U#85HCBxLE>(xiJl+ zJM)(gmC0$De}(5)F9OBn zep)Jjc*bu!LbltVF-CWPLD-O@pmg)!XB`;&Xm2A!nlNN(_(y&SQf zuY)_8vFdY7@{#+)mauA42LhMaWx_h&m3yEXEkWj5_2%*R0fOduC#$D0x26k#6Hmbu zt(~=z8FFXydgrYhkL_9A18PZAO{MX2irL*Hd5zVa7_2$bjvESm z`J*)ViCMW_1a%(rmxBW`yN?iZ;s~&)(`zqBE`Z3+=_lU~l=3%gmO916CgKVVWF-sh zjBMct*h*3RJ1=4e;w&S%=Jp0ca2rR zcmW|rE1ef#Q4b3)qw`PI5$kc@M}FSB23$}Fvx{`HZhXDAzA~7tfx)aQz)hJy1R4tz z2u;7vDB(7_75GWbRSanR8E)rjCT|2S@7FYo4rIO{_14KAOnRC#sRii9Bt8(;a0;mT_zJf#J$#F@S-&- z;Qh%-*FC=^v;`>wmY}^6x_?UY!hKMYclSR$&x&{VP*C@`7a9Kv0xq40mefJ)!DC-5 zD|wo}?C~K@x%G>$W#iw2O1XhLk51G6v9#4R@-++gXTFllF&P2Dru-JV@FU0egkIj= zPq)5D=tZw*gr11|OwDk0i;MhqH};2afE1fmBbdCfh|o3pJj25R1BJtIb+quoQ3NL5 zhfng|aGn>J^DQ-7e49eeVb>caS^h6`G1tq=8L_VPn2s;nK&t&%PuFZng!b|%^M`K zZ9n2Kwr;-LqXY3p`y~1OHIPQ=eDH1x5`9sx6xj`{6B+*_uAm9kI`6$Xy^etb9V*DR zd>L_VR5nA;O8({gR5gk(>Awb5;Bx!`y0iXfTv76!REc|6sccH~cgz_TDD4B>!(S72 zJ30Sr1@MKy#b%G_G3&q+BoJkv=%eSQw+q$zNO+^8r;-S^0)2)v@-$uFHDFL?W9AB` z1|6nVgmN3|vOmh*JKqcyejPWqZ9PpLH*%`s>?}_kn$~DYvCD_}-6K6Z?TumBx6x6F zd&P=0mZWW^$T6Uxz{cEVf>b>k=yA%<`hut1Ln8Pw?!M;u#b*p}XmzyP{B^9@TTSu} z*|Pfs|E$-t0~6o&l~auQ`2XDd9n<^IRk&Q7;Sr2W%$kI$8MF}o(TgT0ipEC@%GVGRX6o-_~?&z zqiq<*w7{d)oGLJSvRGqLjOJ;cd0}BeDX7xmC=>D*o%q*vh6b&=!EPKq5&9R@6dt`j z%h6+FP@(i&Ea}!;j{F8eu6qP$&~sP8QLYSTf8YNvZa2|$@x2drwNNklebvD zn8&Qb{6(B0iq)?~a+VhDkawR^}xld7m+uzxYG=z8F8{^uF~K=nWP@Bf9L{Qvq# z$mbYtikZ~r_X$3J{*vBz?@+{sy6g^K-lDN~)x{Ab!*C+-q*hdX?-n$zz>K;XA`pn= zD0Ox9QtVe}b~(o{sm<;!Mdpo{HdN_RsPf?806xC@rxJX8g*MW9!0by_vmPK}ilK8ZQ?6nm!@c($0{s(=mo@qJeTO3m>k%ZE z1_zKOZ{_FTGp`gX6cb;mh@IlcL%rh(o!k>!=MrBfNe z`Flyw@Tmo{l~q7OD1m?Iz*A8%Bs^(YY`7|DhRk>&>O#iy&G_i)t4|rg6xTKs0Od;5 z4TzB7$ER8=_U=)_4xYA!(;uX_TX$5IO=^xHo`5Q-3hXKHL;RkuCVD|RrVv8J9u=O5 z@yZ1zA&`PwPAO(IQXyWWE>=@2s;cWf7GxC~Vn3yd03)_RjI}+bK3GnNPlxmYZ02i5 zY0F22S3MWT8f@QEKoIZsiNy?T$aiUQWpEvvwRU*tk4dRKb zBG4{R6fh&S&YeFedng;QkZX{=^YNOtg#~MH3m?aro}K|7!S6PR+~&yNm8EfKk7gv~rVSCs!j?(j&7kO{^yn&l)sN{(X!;jV||z3U4bN-21_kUICz) zbpSa~Os04QG37-`P+(B8YgSo|)(2aieaR<>G$vKfNpeSBp8;C-Fv$7A(`u&!!D44_ z>{U7cioPV#&NRdl+wnm<37?MN0kMTUN6X{j2nUbieZt{bd@lEq#>v>QH zg}2qE;?_(QdWmGbxi(>ICw$#e(%jj^9+p$}=oNnMywFjTA1PvVor1KO1XAV}&uql- zd?@aB5m*@H*qOO=`S#Y5WFujtzIqDfWYH8b&KJu0z3%VrbMH~3pc*$#eqPbG3aSXi z?*UV|!mm2U3GaK4A0iMTQ#F2Vd^()Zv#gc0x05bEzQlUb1Pp%$hUd}06p_5Vyu`Z{ z93hx^ia~65XUF+Cp2ShLE!uld9s|^7kOcxsZ7psUA$$&={U zpy6l?#@RG{e-wFncKr;^>ivO$!!6)VYxE(Nt~#vZ;)(;>Is6uwl11T>z)0Ng4belHd#|ULgY259a!h3 z8+$F`oD~(Iy&{y5Lzl(?9fvHqbHNuBmhe~O%a zLbp&g5>Dk0Y`_3*dCz#|61;h&JKvFEMbN<1fp$Na|C&^QA&VX6eAmF-Cn{b?mP{dVZ`f>lJrurtJLY6>vtq=L#vjCCkHuwDj8d z@?ISTBXMlG{`|U=Kaw%KOji!|TdO#5KXWl_cc~YYNBw?_JeY5|rKN>KvULzFba`{! z=My(4eHu}Sbb|zW+ZCwS3~R_LLCNjy)fTxxdPu9 zUv~bLt8Ly+n7|a{J#TBKVNZ$*oXb75O;3^RuM1eid;rXa1)+P?S!?w=160a~7Ir*G z9W*J4Gu7bJXufl;^CROaeOC~z4Xf!m>XJmmSNE^9QtnzfiaQbOh$k|Yn*WpN*vfY;) z6K$&u`g2^1fZ&zAy6A_DnD2HOig7A9=gY%=qG6P2m1br z?z)`tMV0{VKB<7Qfu*$;#!ETj>y{#X!6UoNJ;vtY%NJ zccNG|X#D&Aj|0&e*tYPft&An4i&E6Jee)a)(6J&22Vw3<4RU`{&DaS|lS?Fouu{HV@<#s@Y7X~0?~i^1b= z8|s;CTN;6p_bO?qD-;v?#0efO#r%SExwhm3^nw)!ISJz%XOute?RpzR>_B+Gr$%#Zdg>gQvPcp2*2310LwLaH<;O(+iO&A9@zTYS3 z036@&W(R<7Ri2|o)FNMH`1sI#g0!;Z$7;`?=NMsIAUSWMFP(s;b_5o>a8)FOVelZZ z#BXL;@{Ya}%!S#wi~-PkBg}NSpNs`PXulKV2G|OKuaL`kxlB1E>{8@FA3iB^hqC8r=Q^rZgBy(j*Pjb*gcAKPc|Yg@@XT&S(}lZt0mkP7S4P4d5m%vkOg^j+l2_+xe^ z^^_hb$EIHJ>mawCff!z+_*yt>x+JnsakxP7g+CWn2{O;mPwLt^T?8B$Acg8LpXx>F zJBjcUjcG2j%|U!NWZ7lB-x-MMTvI-QBW(uFoQ8(|_MwW)0YNo@MV!R|fip#j2{BE- z9+@!*OJjDPR<<5XfJxeYv7g-bXbZcryEdVlqZy9Q^A0ay>B^qYcej<3)W0ffe2dXo z3F{N6ap=22lqw#S^TDN1zjbCOnJuHzIr}RWW~$)rNSoz0e5V#7@}j`Sr@8}|CZriP zE?s0D2l-y>>ps&s0+@TU-1)A1oN4y_38#LY#v}ZYro>p3IsT{FXb32@QffIy9#K_c z6c`Cpn}G+SQ9PFRxex(*m9z1_n6u{1A`R5~g+_}c7YD0vM`hC$?_P23zn)*0Oh;O_Dm5J?0r{7gQK>_N@bcOy$M|ZRuHN3QM@6t+=BkmIbL`1H*zF6&Biapu z7ZZ^cLpkcD$}zVOpCs-G8=3Yo~~n5VIL{++~hKpToDQr=EKn|c+yJVWMbo*IlwT>mY_DrCOrsqo+4 z=1UHcJUAj~?y+U|mmEAOwCCZGy%F$*SA;A(em~DI`{<8j=p@a_4ZwksP)KUO;rU9; zXd~wx&AetYwjq+!2Di%L4;vV8#Wt?zz)JKhL<2|~6DAV=2F$@sPql4*?;yXcJ$b%0 zz_l5H9|SUH(1*z8Vz!*ZycT`6@x~mdTok^6ZVo>{`l}-pwcn_FMe>~r1;Kemp?hGM;*plhSnEvk#89;b-GtD40Tx_GI!pI~Cq8b+a= zTYzze;V9KDC`YyJ{-!89?o12M`sEcD^iKH}l=rg7UTUj#a&~G_I zqx7$gx!ky2wNm&Hv96Ni1=EO5Xpeu+E&iIOrWO-A#+tI}zLQ&pp9B_1LOwj;<|6U4 zx%LTTqoDXPMFrQr<%Z|m9}ecfxc!M9m9A-GnY$NU19TO>dVIs_ut{eBK^ZZPs^>g( zQk@Vz2xRN%K@wdJkpK~Cpi$(dGBpgC7~-kb%66Ij{W}a!%K0S zEk*|77y}?H_QX$7wNa>A&B1p3{ck-Bn%bt&{5V=8srbjT8V4bxHjT6pqva^*(HQ)F zW^PHBqJF-@ro;Gb(AB6&NIIg;MyG)XL`ZQ&Zu+Ln7V@XmUkx8qnIC9TtU`2pAN%YQ zo_`82IH+s-8d3to#<-wSh_zVPWM`rOu4Ucwbuy%`-NWy_B-LqbT~QQ5?WnNr?(NP2^}zJ4in zsxvi<>rXz=1K34RR+iW^Jygob_qMFv z0e*A|IfF4xpI`=$_|qM=g7tA{2<`ypfT+r~aK)%prpf+5bAGY+^%Cd|GtcuW__DA} zg@8SXWRvOOb7u<-l*2A#xafLU6Ic{hVHQEH_sRVw{v)r?spdoTp4u{V2gA%0yzDuF zD5Je?qlGIaJA8FcAsEuQ<HrLL#Ty0bZ-qt4+O#gbci#3J#ibZ-E z6q~xNvcrpM99QML-SHmQoql2z2HQBW--(%7$4fa%omaL%yO) zhDGae`vWuHmytzKctKc50QlqE`tETy6>5i@pU zUm9z6GnSMk6^iV84CXT!yDVcZvad53A_^I6_HFo`^G(yN9h zni(^n&pGG$ejms2K8|nFDI=E$C7+C?M=jxnxIP6=cAbcJjNYkH*(nB;*C41dE9}2+ z=2i9BcBen&>YW=Z>*-MDf5X5(g5H(UuW-w8758leBO=}m>sVV^ujM=%`o+cAxL)`9 z^=ebO+DwF+>@TXq?$_{e)?2_d=g2yj&0UxFv zF^qv*xauS?@!a6Np5A*YaOJ`A(dk;2!>loLBfd2ap`0h=>ohq2I&e#m(Vz^~_9#Kx zF8Xd(OXqF@phH`y3dKLVygkk>-djKPN#3X{;WGR4|nE$k`$Dj6SV%~S#S-G-(T6BAzmVeO6Xhp8ZWgOu+l`4fUEgbu(z?=qRfRYwanj zmb0_7G>o^#Vqy(AyKP?^(mqjl@qh|s&5+hzFO{bPnGRSTBZ6U3y8+9&3yx;zv&k%E zF}V!S>hOxuA&&6_y+>vES4-qX+2hbxoYC}jAS5olxy2Yh>sZNQ=zBhPnZ9rm# zFQ2yXKu`N%Xx^D{)R&lx?Z^3fr@l5hjg@_#*5Cx;eH(+9 zRM=&ZMa-&`2KLKM#rCL|%^UJ`0+Bf>G6z~PA&1yLi|dT%?@e`Bp@wY5A`K8PQkSw1Qk^9y87^b9=m<{=>o@A% zhH`|jz-!K)CNrLu9rAIV2O1zfQo!uF*0y$}&vE{^fk%PcC+rJVVY5!h1`w;9Te19z z=VQ%|RfXQmd4v(j>QB`YnsPbxSk?tQA+&1D<~cV1b1y+Om&@9)w;Oi5;Nkpd&--Fl z3YLM1lHLvVl6z13>)oxgXp!Q+<4dQXgeVQ>43@|28T8fm*=NEfe_v zjhT5+iZ};22!JyK8E6UyQl!k8?`3(tL@4GO!51@`L~S zj<LKhFS>3f@0Dq@_6)6TAdxlDqDJTH*K;+=S%fBwnDB`z& zmWYUnUg)``nqaOb{p+4bD-4InF*nK)jpl*BP1LE--N54U^PJJ(;6 zv!MYE7_0Qb1YKv_#q_2q)}2zbEvA1jsqS&qePC{`XJj-l!4gFxkv6DAIGpDT&Xz$P z{to3pkHrJS5N@CKR6BBIQ`N?z#QgfY4|Q`Ox@wu1k;1a`6HpN}uhG)Llq*7!-l#>T0r zu`q!O$J)h3Cz+4a(TTIfTrm1tyx0;=onJncc>RgIj{Opg3*rTGfI?xv)F-bD?Lh*;w1Iw-(@VI2wI|@Kkz> zqHek}Hw)BPK}Ywa6zl{4neK530!-Sa*Q1kngWl^+rQG2;sj}o4s?;!AABeiF?Kb)$ z$n)5>O!&Uq%c+*C^m5Ld7U&v1^|uZ{wm~{6uP@)Vz2hlv>an!c5pB4z&-L3g)7>TV z3WuzuhBy5~26M$Xe_KYG%Kmj~`ufE~1uvA3c#de3FrFS>O9kzT)hu;ilm5y=l)E%J z9Kr&X3*!~ntuUc0SMu3fwEY_`J#IIDKP^;FXucsgbCkT#+{$80{6)$Bp+%>q?9{5% zHVbaKr$cLeTZu?mXFLcDSI{=dRpt;ZW+u|n%A!4=+ zuZpS`$l_kRnkegC4lM3#O6L3L?yl;aEkZQ)VhD$X9^?}7bah6znwMP^^#=S!d;PQw zdTl)&_Rnr?n4=be1<+Gee8dU)9zU=ZA#hnADJIsg^yoY4t>=4tB%Zwzd1ga))+SUmIo6R z9Y1Y%fL=+oTQs{Qw;f$cB0j|xQ;#rhI-v(IDrJlEP-vME^YeH;3yacKLmTw!%&$S} zxi^>Sjmn%bG*gqUoLoeq)Y(krpStz0DJ1RszeFJrNtpDE{^ci{U@K;jHAqYmmAOzK z6crt5SUD?Ms-{CcS=WbRmSHeSqq%aPZLxD$yl|@i-b2`@2F3v!o*0>@i|p5$vk}Ec*u|osFoB43D=D@tT1@May6x0vi-?ADzbAU!T*r6HAR$bF^?jom?li zAcsODK6?Dp8X@jPMf7wi9f|D!@>jk57nIbYiqqKzP&4ZFK%u2)jFiWM@x0ll@XngA z$qJ7b*ELiBr1g z2H(2vHeodu8={BUjgA_$;T}{L9-pbfRA=Jkk619B$Ej6!OWIQxJ zfK6a|tATmwMKeJj0J8^AG0lAC=M6ZodBuR{w+$RD`u9Jx;f_s9q`H5>U0ZQqGowLQ_=8umGYOpx`R|-_ z<@aYLI1{mPlkVIJlmqP63H-4AS#$H5o;vW!%1Q6!HOb7~jTP#Un#rBiBiR&JseHRS zzQ=zP9Bbv#U|Y3o3g>nE@#QZEzLbz`(7MZfB1*1EYG4@m(SALvnCdy5vARMgHe3?m z=U?W^)W(aWFqBG3F>z_>vG|8qh7y?Q=r*`!rYiNw)y6y0%E$U@}n<|*m5iX7fGYz2h+5EJYg)FMf9@5`u z@X@0-dPExrTUUTH$`QG4ud%0jcA}M(l(vUlU0uK9K_#%U#mLBLkILy1!Q0u{xnXz0 zS5{Zqf8PNSwr1RWGv14zs&_lGk7>?}2@Pn+K*n%lE+cIJ?}xNxRiV#awj7rz2Ewy@XAA8_1{-?pJg;wa4GY;E2C-r zgT2>WpGmRe-+SUGKM}UQKaSmw`MrYo?R)y?hU|NGlO^N8?+4sIORu^23g?*ov3t*A zIZ_AP`{T=lCjZsTzO^m9r=bxZdGfTbk53XNBYoZ3%*;&u`gKzR!J9NZ@I*$2urm|_ z9+Hy*H3!z`b8;qb%+5POax_=ZdcrzN(h{n3$vr=@orxR%)rMTqTz+P0j$P#>2ngq!+0zP6WFF5@*VfXJmw&#(eC)Dn@t2=jL7}m2v0S&^T-}Yq4`#@`#5 zaS2!L^|@YwF6{N`t9cZP60>Mnvb5{hUsIrm?;?L4G;@utrH2A;W^Z=LI&5I?{CGhJ&#!_oc|eAKeh zQ4^adb}N%7Sw?cs!L{&+e_4eH8J717*sU$-kk5rx2-BH>|r`9JtlO}G%~Zahsc>DO)$L49{fg6 zUq5K1;}iNLhf7;%JJVpkSrAZ}_W4Xp__pl*5HE950QS`dHYEja)TQ!XA4lsiAhtme zc*Y%;?}t!Ia34tQHo`vlzQP5bEZfqC3`_hY_)lok1_@OfK7-_sGA`CHJw!Z2tsv8i zi%Y|dB*er%D=EFosVwR(xGuVl(&mV(40myHX-!VPRZ8x77auVThgPETaPE7W9F$P8}4vu))d~MuWNvBV_{`sMyAt)RF+SEG- ze}CMCcezZkn) zSx}Ulk87Yjjd?7Tz3@zf!(=6J?NU%OB_66?8TPB)&#ZiOaY@E{c5Z4#UE*F9I6}Vf zpZ+wRWd%WZiqoqKaV-kMq~(gxp& zAv*5N_RQPx#?n9*oyoRisrXRkM~@Z}1@i@H6kb(&c^iy!0>2?o^%%0tGbn6>f3jA{8%y&p;dBMz$E8E#P|Sdcr^9L zD+^`nO*<_NB2!Auf?ku&gG40iD_TW!mpW}|2wdeq=IgE(5tROw$5Ciu-)dcep6`5! z@)nWn+Z%Bgc8=mY8yQWtB&k{DZFn2%!dLw#^!Ivtx@UW*3b`uzZ4)I*8{Sj01*8N7i@eg9F)BVk>WNr%S#REZ%Yv(i1(DskfOF8+%5+ zL)wTPPiY~M#5oxJGQ|`51urj*FEBp5kd`KX@fy~;o~PNfa_Opk@1*RS%z3eRfyV^y=R_L4kbW{v-n92n?}!u9FgzaRVg zx~fd3#hP~R4KLtYSO&cn6B80U^fow(vmMN40{of{g|T{rSbOFw??9Z2ijAF1&6e+- zZoK)Et+>l=f0v5EetYvDX_#%UpU4Y1mJbaFwD%T*rs#AXjP9kXkPspOa&&p5TCAOj zWT-&BM+R5(i?H2>_*WLkaeV|MI7WuYi+ZscL13OPmVZQ7#Hd4@FT!AE(+<{8mzSVY z+GFyqFGGzhYKkYurscciVRfN$5evVn3if`|m;{*gOieXm)|kFZ)OXS-2znFAHXaoj zI~6aC<-;C$6o4h0EBQg<{^9;MyP3SJ*BJ6A`5q{%uIzJlbnNd)8(-SQb`}l0SB6y? z2^~@J_S}8h_Ja!L_=(5IJy?qij~g=+-AvhA7NYi~6&1J#RyE_~`PG#*^hfM)>V{|8 z@KLc-AE0m;PdfR)`j-4p2myhjH!3MgeDn>&=!VNk@0ATbhsTME#2gu!uH)&wif~Vi z_=oO%N+!g&%q3K)ru53P8--|`mS&WTU_Bu>Dyu+vr4|2Z>M71AgWRh$*&C=+uBD_@ z0FrFh8(@syMAL5#5Pa_%^f-Y1^28N$ST)S<%lm``QxJZ~rH*W>cKfKEBI&zhAaLbM zL0z2}n1W3b(z`jL^y+m(M=FaZo(R(pU=izp_*=l%_(?(GJgJ+EeD~mD0#57@P9}<5 zocyB+!g>CjF1iVcDueYD<_ zt!8+pe`3OtH&aFckFJ8RZ@lrsQTR_pE zrr(vhA#Do;+dDo4MK;KWlwCw3xd8$8bKy~K*PpjNs`(LSlYfO6wQP%C7Zv1{B;(+X zSWL~Q@30Wa27G54vb6T+pE^JpC!_6_1QOM}5u%0Hy`nF#_`xSN<-{vVq~U8^;ixS? zkrHcVzl+T7X3i-}{Xbnr39QOmy~=PQ_FAOHPVzuAELbap zX|E36H^e0Kzg1fPcPiE<@z)pm`1IixWo)O}bWy1C`{)0%0SiVznxl?kW8<1+THV*x^|*rEY3}WP2-54d54|ng@^V}nveR-55WfvSA zEPnImpKB+g84gO2-JAC!d9o7*&co@FpsR!vdhJG7%+5H#VWMrCcnoIe=JMx~hFLP0 z&g{LHPj_|GxEP?ZH$B;mns9G2k!a^lp!!q+-4qU+Ta=%F&DYMu{L|i}zqw_wX0#_A z&yx3ui;plPczcru2d$>gOzo^ymWgTUX_!-~RMKg#y@!jOu>5=&)*KiS5s{No&VMMA zH!9}6_3SJssk8HE%XSa&1ljwX`$R3YU>TtsX00GW3w*a5U-U$gw3L+}7AGXwPX9{6 z+TPwfs*EQtg6~vF2-XTY);bPRohDR_fBmu-2L&VEzc-hZ z9MF23>;M|zouO~vQe0i!bhWjkk28m@I|C2_SbkXCy?d9`-)p<30g7DE2D}4aCViLe;JYx(|a_mRG+n(Y_vCi%Uy_0*4}xhp75+gKo~P zx(Rek#WsE9r4AVf3G)t8c z5Re-bb(T1c%&{fY($c6uGUf6?h5~vWr^T>lwr_8P98xX3qypE`(=aeUc<>-;V8GR| zCUZnzZ&0?%OLjXkG4Y9Vv|z!9y1Io@&#Zy|e)CyQ&hJ4MG%@mH6MEAYK^dX8&3duk zt0`FQXPiN?itqTMg^w&<>G19iA+haYD}W_!I-?xGbY8%I9eu@RcDvawoAjWi4lH&t znI=hp=G66kBMQX-$k0v+`3DInlDJo+4k76}N92s%H7)LA+TtZT^ak~2C#%=XXj3)w z!d&2kl&(yZ2AkOg>Ivq0<`-G#(z=*9WzA{c17^JvtA0ng@`RY}^A`)8lpj50TI-+p zo26MPeCfL2Gek3~2vn~e3Jt6_^8N1WYrmAyw)$=2NKPrf&u5{YyPt;mjFzct85)}L zVt7|+E^J|l=|s+`ckiAK=I?z+HLs!TdRfeo-?4LZT+A?s?DsQ2XO?$jDbeh>9TiZr z)i^mielcokZOtoSsp941)75q_6*lafhOC8z1%5^CXH+PD{C>0G5+C1Sz-w2YyQ)QF zAI>W)s})8?X)!ybQT2}siu$_)uz_op!p^9otgIx+TUjdb244HbNh5rGa@-UB{L`mH zz7C+*JMyvo^w)@CT%SO5i|vgeeY;uSiuhh(_*xorq}YZ;roeG_g4;dA!*jKivcgGQ z5A*emc{utRUy?`NqLZ`Cy{lh@^C)o?N8kITQ}T0wD*zuf%I&?waQ(i9mXXW&yDuhspeVBcM>8JQrV<;^6?POMg$UJPDzVCw+39vrs0|z=9>m2-txWLI%xoA z-wHNcR)!T)2svNDM2aQNK^K@MpkoF(4|EScezr-r!Rsn%IIYh($rw{>nSH+PpS3o> zk(>Vqq%!8GU6%|>FH30P!s9Rx>)@)o4syA*$N>=3?7-rsDDeUVtZqi$AWkOj#N6?t_4j0B6~9hBSy<{C6+M0jpQL$28e;pFcKS0$zV^QyPhpQIP{sByOgO zFRAE75EB`AFl6I!)8%Vyr%&r6e3Gmqf07z1tN;CPYbO=U7uf{9t6a-!>vc~WMt13?_74A-d_gUgr9gY%*2=bAHGfe znyRx8E>tBTl*hlPeiOW&3c-BCuBaTngMqZ}w=63wy{cq%?W)`O-iX9jKbI34RQtJ^ zW$I)aiYwVyf8oN;y7ikb@q>C09)aundtK}MYmb{ZpL&fR^YKO9JMZq^!}k>*wY)o( zOvP${09A?p()YI26}F%8s~!=;j7%)D zzq1i3sug2d3Zd?Te+reDSNGz1&%b*NLREh~!>61ZaktUN_w+7+`Nv9dI{ zxW}`M_Q1nvZOIPYj=p@n_y6EBYX=?K?(>6EOn^NvWCmwmg*egZtvlEKCglQyRD;T zZS6Dp>apWY0sADH(D~32N~Px#@cgQ~yBrJ)fSy`dSPcM$MCClCa%1T``_a9kf~_#) zI(&2>5_i0+$NP>?(wYR}?2Z=ULz2L;{Wk7uYV-#2e8o-bn$9?3lRn9bj>PZ2nHUV< zEX#tRBTQTy{YF=1EGb7h#-!D{ND+v?DONM?XZ(rH~~<=3;r6^&b2!&w!X zg9nvXt`H~G$Oil%8s~0*YHjU8tl_VY+`_aT4t7DKs=BIQ#SS{A8XstQ>Wgk*w5^BI zEAJ@HefRe5PYxrQ-N;G8b+O@PK7zREdF>n znE#!#rMb0$O+d>7j;pf`_;Aa8wrJjWcT2XhVr^!%69pzwS3jLlTdzc96FhS8cF);P zp4#m8S-f*}H zghkZFPr_Y|8-Z$4ABO zBfdLa!zdI#@7Io@bf^Egm^=b-5t?aVcD5j1Ug+2;QpxERcc!EgQ*!b1PN03;+Hhfl z7ehjR6OXCt#R*0oBld#7SM@VS{>UX&%j$Fh7Vm*kHHmRbF;X_-f553{=-~h3OwNDZ zsQfv5_x&e=s0kpbmoDkqKPmy9bo!Q-fxP~chYuglAr$t2$!a@u^G{*QpgAe%W^HM1 zE&@&Xb_{4yy$v=w3ia6_=Ed!O(g( zrueghqT*gRxSkycmPB0@7=6dl-!TFl5GMUz5O?rBK|a1lc6N>&tR(y96&E4q#>l|i zKrQ(0#f!V3RwwqeeP~bAG&AW0IIiuiIGC7Sv;~=1tJ}^UTa~<*E)4`n@PSM_GZUu4 zIh+WH;OkaWR;r(r`e}CP_r0+sXESKBrDt5^8~i}GboXbpS&kj2mXYtk!S2Py>jJ_; z$Ni8cuI_6(M!wZ;mQ76$qY@Km{V3QTE17diQ|E5-N`8(KM3`1@<%}G^gT!(I!3r47 ze$p7qU5Y!dEt6N3Y&%l&HECm86!hB0zRM%K@Ah^CQ9F`979wS5T`n9NIt!@Dd@#U9 z?tBZWwn<6d61vWs-@LGy5Qn^lo~sNQ=7VQ3`tfo2Gckwh&^9s3&tuihBa!EvM?VCV zcyGDk*S)};?<}7jH8@eucX;s9y-Cm2q6fb}gSu21}4hO+& zZS~P;db{`>nFNVT7i7M^dc`QytI9k{;r@HU?BpENF{aIH<&P9@Hum>tVS>IZUPvR6 zN%p|#l1E4EmM5ik{iCbg=TR>`2;qK3iYwqVWd*ccGk0v&)WXDWi0dlb48943BH1Fv zLHv{mNo#9E*vEddJ+ZK=s_Nq~fZn|HtL+In2Kn9B3$J_cu*b8{f-$)gvqmO4h2;8! z%+kjCTtlYg7UNL~;kEz>;p*qQ=~xqbR%Wb`I^nRL5gE`I_P^5XnB?wItEp>UHiW|Z z$ql!EZ{??imeh{jG0R7@rKblSNqNEJ#mUaKm{$Z9 z483S-(f-iVw~|C*NvG%}-jcjBAmOWF40UQv!hN;unqden(|286EH_rs^!f-bu*{m= zMokmL9{Slo^_VxNx2q^G-zGp;;f_#S9@0kGlU`uM)05|?Q2r*+pg9y@$+|3D_(6m# zpbE-uBRTiYWnMc}Dte!)ar7voSGG-Gb}Jj-=%0Gx_H&n9}QP-TfQ)6zpR` z&gMbMp5pyCe(X2Zy6LMyuLO66o?g}w;ul(j)Ozn-H77x*Kpw-lu4i`FyN%n&!c7r`=@5D?P+1O$_#$)!1nD( zw%mFxvvdla%~9Hn=Z~ZU)|ww=QiFh~F{IglJb-H2;@2C1|4LW{*X0rv9{r(eU@-tIAY z5%4*gU`vBciQa9!8ouy8{=bO?Ee=)7~w<>y=N!ACIQ zUFykmPK$^HhR2CAXcAZ=(nAJSwq@LS&uYhC&jA%|5{jM$tsZCzl*d@v=R0;}5}Fhbv?c*E-@L7^g_ zqW1%y1vqhTx#Xx#fpak5UY%#S@n4i!sdsg~RXef*Op_0!692C2G8mB-AVt6yzBPe?K~{nf;OaS&>cW~rrP_HkfiK6sE9xYtjrS}Q!!zF8Gut%+ww*4@_*cCd8qpNtt+K+x zLhlHEyNg8fu)V6P(6E&zkAXY=nQ4k}ShCur7BAGk^6*aPb9JGIeUi;BN`&jhSPW4L zFZ65e)FGatUQaUl7C~yY+$O8eEih_*Yd!F=w{2|SgceK)_e{@MQQ^Di0W`j2Bu+v3HyE@@E;QIy^*`UU2}a4oGs$trVU!gc|Xgec0M zTKX(|tN6ythYwU18fQP z;FwqZrh|inUTGP$;rF33XPKV{z>~#DTL#8{Xu$U=;GWz;T49-l^wh&!0;(%TG_^*Yoq68(LeB#ox+o zNY>=mfCo&Bk8f(A;IH{BTfcnCYi4l_l&ceqt7I4D)4w$srmLprl6GN5gQ&3v>ezTW z_t4!O$C82qY4#GXn_h#j8f#fHN{Wiepa!#HnAeV+{`9OU7270Wi-Y*L4Gehi?y@2S`}@C8}1BE2}6KVU(j$>L_3U!s3=`WaHe) z<#TDXLA%3u+;dlul#Td4iX$_9%CdO=+8`$s53D4Dp^tCbA1H>|( zPrVI_s%>pVMhe>sJ|?y?C|um6&`p7Y;9oB0h{!ccAmTisVrXLzKp8CWM( zcL26bINthg;vpphdZrQi0T>o7QhE!zuiG&0$D=~#7)&T_{F-b&p$ZMs)+7xdx>#T< zeXJvd+-_JggC5yRs#d#W^~f!BO(Y~B3&`qaGn*r(@%JRcy0?E!P7Xc~IBE-~`MIK? zS2``*gZ0wZg0k8NsR#m;0-HR`&Q(A#d6Sc4SIW5uL!@Ls3Tv7fj{s`MlLdk+=?P`$ z;Q?UqZ(r)5xH>Lqbg*^os6sX?n*6ijA+x9L2(J|!@-m4 z$_D~a-hFjF!LV5vPra>W$8bZ95(JHJqjvr&cVXL^GqakU|93jqdc&idjSUU|(2;B1 zFwN!)){ILATMz%}8^0xKK03q25aBiW6|189lF7!!rFXB-`G(MVG-Z*@5b;`b9@zoo zzDWEdbev1YmRwXVsqkmnBfo2?#*hicFh_;BPf_v0A>7_8%mqKVczxV0-CazD?ReCm zp1kI(Tju8^cNrBpMS1>@VA5Ul#skjc2j)mP)~T-^W|0LrJ4EUqKGOZg^WJywMsM*i zR!*BBfl`tAChGxsz#r~eBm<mDccs7Mrk2C1_*Q6aZ1D|M+pMoMG>sd^{se>6Lxt z{&#w_41=cG$*jhrWn&lHX-=R3d+d`z{$4DO~8%7^Ia7 zS73=O*?(|~wom+z74dXgT-kxXtgIRCyxTI&n!KlC6dbM(RgSp)2z4XvJ#=AUG<7QG zev5kjg=>efJ+oExnr4?WKILzbgzx?N)b^K5>Ku~z+Q0FyZSkvco}P|I_I3Zco*#oN z%I3SNXEGk$;QHt16GW*Ydt$qN-!xzTxgq=hPsv^XJ0Qs)>~-J&Tt)l;<;(I6SUv#j z32}Y_efv^hQi>&!`bN1EDdn+&5wgD)>p1nRTTw;~%Nurs@2LuE} z0XqAu;a6H^k6s~a&(>49$+qd|R^+yYcWd?Z^k+_2uLls8=5C2cOmrkWsL4@_WPl}m z33|xxWR`Z~OKt-&LXcq@?2^Wd~S?Cjc`w~MCg-DYz0~pG^SL-%B3xKdCK+NC& z?t)^&ARTZk_oSPtXO^)oJ}pchy%02Oub!2=m6#*M{ri3_3|td6LF$!jOMwuE{_)Kg zF7lOQZ(@O`mv%P43!Bg`9eS%H~|6EKF;$Uu$D606{vAYOiUtR zjaQ#`P-j9U*lx!W3Avx}G;sL-YasEP-;tT^vL#Yaj~QDeo0f*g7@qgi#mzD@nY>Nl zOyraxoDT3ldRlN*_o}yw9FYhH#Ge*&X8L0{> znrAj?cz7q@lb>O95fpVmr_(q8xUcgmjYR?yNdW<&C7V)!27aqaIg-Sf>RK5!gG0ja zq&Hx%@m>rp<6vLicw%k6(5y+I$zYum-o=i7*BsF+Hp$A#S&`Juce+nsW3$~a3Bm#Z zMYoM`WlDY#V8XQc!C8d;%t}=bqq%Et!pzxZeYyg`4gAflAXdfuI=a8++p{BsK&NVf zNmk^kShM2{(NT7OomeeWT(Y;V)_lEw!2~)`u;b^$OmuQ`&d$pE;^gd1b%4X?fZnsMg>Q?6eS z=y`$QTx-8I-#>(GsfKPz$Sp`Nnf9;hh->M{NcdwDwTn{)~$*6Ck zt5?>%rl?iSYXh_poFFF70$RA`)kVh3E9G_4a7mwq+9NwVid^2kB!_-utM;T-5iu_C zTmJ6s?ozd9US^6@$DGV6?zHdt9ZLNmSINKJ2_)FG#Kpw}Sbp6>8_ymb28rMijMPgS zY~$KVTd%Y$_@#T-*=hh7REJYyD|vK;`TgCO*~V+V*d7|OtR1+siKmty>0vY()YHG) zU-m^D^vPi08OY0S>>%i>ZpnK9f#el|V{1A4R)hJH@(u5wN< z_QByXlr3oA$MOvF&Nw$!dDmOYx`}{#U$x%-+HGz|QsC;9k`5WFB=@`#m1yJ{klUd1 z7%{pZf1n)%R8G&%{z8%iCk~^*`LI1q96QH)rg&t%!J)rlg@cfI2jJLn7|i1Vgzjt5 zfUXN&x%w}H3yyzo+h#OVsQEcd?_6u5Xdm$Go|@fog~Wqh{v^^HH4^(cK~og5@1)w-00LwcLW%N2Nc+|mG)?pm`0up#mEUPA<>bG3xfNMNjSOfkH zf;8@Y*nG|3OK{qFRqS5mJL3hQ93b_h%-`aaAJC!0pi(G9j9i&78gNKWq1kG$aVPqF zN2PzXwtk^ClYz#PJz+hSS>f8wP{|QSO|ir9MX-83R&2AYv-y$4_S;k?u}sF-Y;TYZ z)tfm{QBkOXCo^7*Z`fKXUTLG5b83B>j*z4}H>r(7Vrw#M4Ib#IH3@ql6D!h-7dvT( zPvP(DKdkc~))8#wD{LRMlSqE>keC5MLq$&_98g8B(^|e+>>6OKUI}u@P7g^snft`~ z!pdX#<*bl|-jU@;m;2#1`{7oQ`%f_OOgMtHwL*v7<@pg3&U(W87^8quXrz7^FzwgOYz?}3zSN!8@7+oXd-4)5KuYPrE#Rs#xEe*#l zzE5`N$Gz~|@rzGV=CHZqLi9X2oI8>?EXPgI-qkFoJTU)J-u7`URY@xu_}~BjEUo87 zSu^-+XrqH(S2hLkRbzfrm`&xKx4tX8>)Kq%cHlybyIOoLT>kEgE>XjMWx{Luo#HHq z(Qbq5Vsu+aNhxA&djCD z>BPIWQ!T;-Ag~kKDQ(9Dwd2H(4(M__IH&mJFup5(+7G+~X+8ry9&=}_(sBA@ywQGg!2GNqEQQ(IBqXS88w`MA>53#3Q|lS+>wV@e3M6C@On? zprUbj_nSBK)JghFmkhZT_z%G_5Z5(S^?}M@`(ukI`}t#tPVRQ+SE5I#%D(pB14F8= zMYyGD8})J2!$KZc41<&_T_s8mP8j|K+xeKSi1L`f{0Q8+;l%3jgLq|ES2xdFhgKx0 zj=Mo5GMO?7qt8a<+0D*=H-Umm`mUy(L)UK}k4lWNld(c)r>53U)^Bx!Sko@|&`oco z4_qbzgx%bkZmWY8AHV57nxIYdYDKYlFaBuywM9eX92_yteWUM2f1$PX4-pj2;+#_c zsQ;`iFRH+IyAB>j)0}JC{x32-@OCq9M$J8%*^Bup7 ztu3zE!_#D<=_j&bH)ksS3Kd|PSA?j!Q+W#$j*gX#?;-@o_39SVp$UFZEI zVV9@dvV08{Ui)$3coWq#`2z0Mk>*AxVF$OAUqIVz0S+5!iy zUN*P|_jRn6xG@WlptkG)6Y^FLe@=L{ybcu1;>;Uy`f&t)4Zjrfq09R?iS|orX+E}! zRzbqIw6ii*bK8?-ru(>$-$}a60*joXQQ$z$#Cv-FM2=MFsUG))s@xz(JlH#V_L*QU_n;OdCSdzVeJFl-*K%=k$Y(g`Ecjk zw`a%wgXZo>;utlFrgtVgubK5tTrJrT${~O+ElBnnLQB(Emf`oO78c%y8GV0Ttsj61 z4u05$z?lewu62itt|-peyPYwITFC62&ASU(gFC+V9mas$>Y03(^lr{%i)M@KC-QsS z7SX5a(*s_ravW)U@Q&ZIlO&`+>R-Tf!*XJ2qcDAzqe%61&6^!k6 z1>LY!!&Pg9c~2u!L&l{&BtpdbXY3!G=c#e5+}?BlFHGb9@8JkR<`v8rFJ9bZQ}(Hp z(zF^^*KVl5U&h76{A8v+%G&!l#!{ETSOZK>QL%Bi>I4A12=Hf0Z~y#b`DF)~2PB(m z#`F4Lv7>2y&xzQNI1{AcJq+s~Tur4S|E;Lj&ojaIGGJI#UmfiDbuf^z*URp6EWMI; zG5}(P@#$kw+I6r$r|iD9*E(7JjPUPb-%a@M@c+J|&$d(r)k9V^LZ)TJU%;;7SX@oJ z_aNGRYX`@p08jpOe)a}<28ZgNs^X*3XK~CczWRj!hqJT(YqI^@xB&)=V4wm5avLaZ z0MZH;jj%Bq5$RHCMko>%V1e{NBz6rL-D5P;-7QihMr{Me#&ho0`}+qxzw&~yUA6N( zKF9Gsa>OO{BL4T*C;Z&T1JSF;{%TcwmLv2Z%`N4&a1OqFmqPn{{;a+r4Wm`z|NZm9 ze-id}avs)2tJ7Rnj-jRl7G0ZFHLw5q<%#Yq3BNixm!jWkfu)kw*4CCDO#e4upX;OW z5D=XJNrs~Nk0;tFx8Ws#Alkn5-vT2{2KL+XxwPZJGM3ZR11r-7f-WUp~U3p?keWC$GjN^}()Qu?*L>_eY~cH)2`cL&igDm_mm}_26*J zc7^qfO#O;#_ocDv-XGnUMC4m}ksH^H3SFadJA~#!529(=$z%{uc=60RD$D%uwXe{6 zDrF2}av7@WxmFhPxx3{$OHFd6u)K%Tn;6f`6QrR-90`Ij9-g-cAX@xnr=|MG#|&$Nw1kVWfKv4h0H8Y8|!pkUZ!ie$RetG!~Oo}N>~E0rt@Xy?LL+o$ab z^F@u@O)h3R5|b5#1+hW1ooO?lMYjU!D}sW#V!o?tVBp{=pp}r%M;~RQ6~KiMgMFDs znLrH+Jc4nGFmN6y};GuD^`Tdf+D6fU>+W_+E# zpX%%#x7{Fk3VzQ~MWxZrJYGpJUip>ny+c|Y?1GP%mzGF<`x$~HBgTL*^_sSrg=1c` z^6&JNaJ*O^!!?5d$u-_|=pX%A*zFj=rjO?2MS@|vSOENFFU96w$& zSiU32W)I4`PSuahb99wRmnfiOB^~oAikp?*$nP#0UU2{>Furb&#aVsB8cY6rdS152 z4DzHxL$Kye7vSP-PBypex`+&fyy4*+K6x1@@)8c@EeG4A%UmbjUer4kcvTz(DAv!D z02^uwd-bk}s3`fP_=P}k75<}|>YJWM!_qD@`V1y9l6i}nZ`fA Pm(RBa9Zsa(tE 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 b2Ph)>ao)o@$u9)A*Pp!fo7W|hMgji=g^ai+ literal 0 HcmV?d00001 diff --git a/Capture d’écran du 2026-05-17 15-00-31.png b/Capture d’écran du 2026-05-17 15-00-31.png new file mode 100644 index 0000000000000000000000000000000000000000..98e6795b4615e5c8cf603a12941c0f70d98b2ae8 GIT binary patch literal 104900 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 qV4 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