refactor(ui): compose resources, domain layer (#4628)

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
James Rich 2026-02-22 21:39:50 -06:00 committed by GitHub
parent 96adc70401
commit 2676a51647
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
322 changed files with 3031 additions and 2790 deletions

View file

@ -42,9 +42,9 @@ import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.StringResource
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.cancel
import org.meshtastic.core.strings.okay
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.cancel
import org.meshtastic.core.resources.okay
/**
* A comprehensive and flexible dialog component for the Meshtastic application.

View file

@ -37,9 +37,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.clear
import org.meshtastic.core.strings.close
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.clear
import org.meshtastic.core.resources.close
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View file

@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.PreviewLightDark
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.channel
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.channel
import org.meshtastic.core.ui.icon.Channel
import org.meshtastic.core.ui.icon.Counter0
import org.meshtastic.core.ui.icon.Counter1

View file

@ -30,8 +30,8 @@ import com.google.zxing.common.BitMatrix
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.database.model.Node
import org.meshtastic.core.model.util.getSharedContactUrl
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.share_contact
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.share_contact
import org.meshtastic.proto.SharedContact
/**

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2025 Meshtastic LLC
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.meshtastic.core.ui.component
import android.content.ClipData
@ -29,8 +28,8 @@ import androidx.compose.ui.platform.ClipEntry
import androidx.compose.ui.platform.LocalClipboard
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.copy
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.copy
@Composable
fun CopyIconButton(

View file

@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.PreviewLightDark
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.distance
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.distance
import org.meshtastic.core.ui.icon.Distance
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.core.ui.theme.AppTheme

View file

@ -47,9 +47,9 @@ import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.Channel
import org.meshtastic.core.model.util.base64ToByteString
import org.meshtastic.core.model.util.encodeToString
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.error
import org.meshtastic.core.strings.reset
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.error
import org.meshtastic.core.resources.reset
@Suppress("LongMethod", "CyclomaticComplexMethod", "MagicNumber")
@Composable

View file

@ -39,13 +39,13 @@ import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.add
import org.meshtastic.core.strings.delete
import org.meshtastic.core.strings.gpio_pin
import org.meshtastic.core.strings.ignore_incoming
import org.meshtastic.core.strings.name
import org.meshtastic.core.strings.type
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.add
import org.meshtastic.core.resources.delete
import org.meshtastic.core.resources.gpio_pin
import org.meshtastic.core.resources.ignore_incoming
import org.meshtastic.core.resources.name
import org.meshtastic.core.resources.type
import org.meshtastic.proto.RemoteHardwarePin
import org.meshtastic.proto.RemoteHardwarePinType

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2025 Meshtastic LLC
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.meshtastic.core.ui.component
import androidx.compose.foundation.text.KeyboardActions
@ -35,9 +34,9 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.tooling.preview.Preview
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.hide_password
import org.meshtastic.core.strings.show_password
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.hide_password
import org.meshtastic.core.resources.show_password
@Composable
fun EditPasswordPreference(

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2025 Meshtastic LLC
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.meshtastic.core.ui.component
import androidx.compose.foundation.layout.Box
@ -44,8 +43,8 @@ import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.error
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.error
@Composable
fun SignedIntegerEditTextPreference(

View file

@ -24,9 +24,9 @@ import androidx.compose.ui.tooling.preview.Preview
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.util.metersIn
import org.meshtastic.core.model.util.toString
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.altitude
import org.meshtastic.core.strings.elevation_suffix
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.altitude
import org.meshtastic.core.resources.elevation_suffix
import org.meshtastic.core.ui.icon.Elevation
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.proto.Config.DisplayConfig.DisplayUnits

View file

@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.PreviewLightDark
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.hops_away
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.hops_away
import org.meshtastic.core.ui.icon.Hops
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.core.ui.theme.AppTheme

View file

@ -41,22 +41,22 @@ import androidx.core.net.toUri
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.barcode.rememberBarcodeScanner
import org.meshtastic.core.nfc.NfcScannerEffect
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.cancel
import org.meshtastic.core.strings.import_label
import org.meshtastic.core.strings.input_channel_url
import org.meshtastic.core.strings.input_shared_contact_url
import org.meshtastic.core.strings.nfc_disabled
import org.meshtastic.core.strings.okay
import org.meshtastic.core.strings.open_settings
import org.meshtastic.core.strings.scan_channels_nfc
import org.meshtastic.core.strings.scan_channels_qr
import org.meshtastic.core.strings.scan_nfc
import org.meshtastic.core.strings.scan_nfc_text
import org.meshtastic.core.strings.scan_shared_contact_nfc
import org.meshtastic.core.strings.scan_shared_contact_qr
import org.meshtastic.core.strings.share_channels_qr
import org.meshtastic.core.strings.url
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.cancel
import org.meshtastic.core.resources.import_label
import org.meshtastic.core.resources.input_channel_url
import org.meshtastic.core.resources.input_shared_contact_url
import org.meshtastic.core.resources.nfc_disabled
import org.meshtastic.core.resources.okay
import org.meshtastic.core.resources.open_settings
import org.meshtastic.core.resources.scan_channels_nfc
import org.meshtastic.core.resources.scan_channels_qr
import org.meshtastic.core.resources.scan_nfc
import org.meshtastic.core.resources.scan_nfc_text
import org.meshtastic.core.resources.scan_shared_contact_nfc
import org.meshtastic.core.resources.scan_shared_contact_qr
import org.meshtastic.core.resources.share_channels_qr
import org.meshtastic.core.resources.url
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.core.ui.icon.QrCode2
import org.meshtastic.core.ui.theme.AppTheme

View file

@ -50,10 +50,10 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.air_quality_icon
import org.meshtastic.core.strings.close
import org.meshtastic.core.strings.indoor_air_quality_iaq
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.air_quality_icon
import org.meshtastic.core.resources.close
import org.meshtastic.core.resources.indoor_air_quality_iaq
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.core.ui.icon.ThumbUp
import org.meshtastic.core.ui.icon.Warning

View file

@ -20,14 +20,13 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.tooling.preview.PreviewLightDark
import org.jetbrains.compose.resources.stringResource
import org.jetbrains.compose.resources.vectorResource
import org.meshtastic.core.common.util.nowSeconds
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.node_sort_last_heard
import org.meshtastic.core.ui.R
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.ic_antenna
import org.meshtastic.core.resources.node_sort_last_heard
import org.meshtastic.core.ui.theme.AppTheme
import org.meshtastic.core.ui.util.formatAgo
@ -40,7 +39,7 @@ fun LastHeardInfo(
) {
IconInfo(
modifier = modifier,
icon = ImageVector.vectorResource(id = R.drawable.ic_antenna_24),
icon = vectorResource(Res.drawable.ic_antenna),
contentDescription = stringResource(Res.string.node_sort_last_heard),
label = if (showLabel) stringResource(Res.string.node_sort_last_heard) else null,
text = formatAgo(lastHeard),

View file

@ -45,15 +45,15 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.StringResource
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.bad
import org.meshtastic.core.strings.fair
import org.meshtastic.core.strings.good
import org.meshtastic.core.strings.none_quality
import org.meshtastic.core.strings.rssi
import org.meshtastic.core.strings.signal
import org.meshtastic.core.strings.signal_quality
import org.meshtastic.core.strings.snr
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.bad
import org.meshtastic.core.resources.fair
import org.meshtastic.core.resources.good
import org.meshtastic.core.resources.none_quality
import org.meshtastic.core.resources.rssi
import org.meshtastic.core.resources.signal
import org.meshtastic.core.resources.signal_quality
import org.meshtastic.core.resources.snr
import org.meshtastic.core.ui.theme.StatusColors.StatusGreen
import org.meshtastic.core.ui.theme.StatusColors.StatusOrange
import org.meshtastic.core.ui.theme.StatusColors.StatusRed

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2025 Meshtastic LLC
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.meshtastic.core.ui.component
import androidx.compose.animation.AnimatedVisibility
@ -32,17 +31,16 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.PreviewLightDark
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.stringResource
import org.jetbrains.compose.resources.vectorResource
import org.meshtastic.core.database.model.Node
import org.meshtastic.core.strings.R
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.navigate_back
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.ic_meshtastic
import org.meshtastic.core.resources.navigate_back
import org.meshtastic.core.ui.component.preview.BooleanProvider
import org.meshtastic.core.ui.component.preview.previewNode
import org.meshtastic.core.ui.theme.AppTheme
@ -82,12 +80,7 @@ fun MainAppBar(
}
}
} else {
{
Icon(
imageVector = ImageVector.vectorResource(id = org.meshtastic.core.ui.R.drawable.ic_meshtastic),
contentDescription = null,
)
}
{ Icon(imageVector = vectorResource(Res.drawable.ic_meshtastic), contentDescription = null) }
},
actions = {
TopBarActions(ourNode = ourNode, showNodeChip = showNodeChip, actions = actions, onClickChip = onClickChip)

View file

@ -39,8 +39,8 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.unknown
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.unknown
import org.meshtastic.core.ui.icon.BatteryEmpty
import org.meshtastic.core.ui.icon.BatteryUnknown
import org.meshtastic.core.ui.icon.MeshtasticIcons

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2025 Meshtastic LLC
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.meshtastic.core.ui.component
import androidx.compose.foundation.layout.Arrangement
@ -40,8 +39,8 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.dbm_value
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.dbm_value
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.core.ui.icon.SignalCellular0Bar
import org.meshtastic.core.ui.icon.SignalCellular1Bar

View file

@ -55,19 +55,19 @@ import okio.ByteString
import org.jetbrains.compose.resources.StringResource
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.Channel
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.config_security_public_key
import org.meshtastic.core.strings.encryption_error
import org.meshtastic.core.strings.encryption_error_text
import org.meshtastic.core.strings.encryption_pkc
import org.meshtastic.core.strings.encryption_pkc_text
import org.meshtastic.core.strings.encryption_psk
import org.meshtastic.core.strings.encryption_psk_text
import org.meshtastic.core.strings.error
import org.meshtastic.core.strings.security_icon_help_dismiss
import org.meshtastic.core.strings.security_icon_help_show_all
import org.meshtastic.core.strings.security_icon_help_show_less
import org.meshtastic.core.strings.show_all_key_title
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.config_security_public_key
import org.meshtastic.core.resources.encryption_error
import org.meshtastic.core.resources.encryption_error_text
import org.meshtastic.core.resources.encryption_pkc
import org.meshtastic.core.resources.encryption_pkc_text
import org.meshtastic.core.resources.encryption_psk
import org.meshtastic.core.resources.encryption_psk_text
import org.meshtastic.core.resources.error
import org.meshtastic.core.resources.security_icon_help_dismiss
import org.meshtastic.core.resources.security_icon_help_show_all
import org.meshtastic.core.resources.security_icon_help_show_less
import org.meshtastic.core.resources.show_all_key_title
import org.meshtastic.core.ui.icon.KeyOff
import org.meshtastic.core.ui.icon.Lock
import org.meshtastic.core.ui.icon.LockOpen

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2025 Meshtastic LLC
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.meshtastic.core.ui.component
import androidx.compose.foundation.layout.Column
@ -33,9 +32,9 @@ import androidx.compose.ui.unit.dp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.util.DistanceUnit
import org.meshtastic.core.model.util.toDistanceString
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.position_enabled
import org.meshtastic.core.strings.precise_location
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.position_enabled
import org.meshtastic.core.resources.precise_location
import kotlin.math.pow
import kotlin.math.roundToInt

View file

@ -48,11 +48,11 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.copy
import org.meshtastic.core.strings.okay
import org.meshtastic.core.strings.qr_code
import org.meshtastic.core.strings.url
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.copy
import org.meshtastic.core.resources.okay
import org.meshtastic.core.resources.qr_code
import org.meshtastic.core.resources.url
import org.meshtastic.core.ui.util.findActivity
private const val QR_IMAGE_SIZE = 320

View file

@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.PreviewLightDark
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.sats
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.sats
import org.meshtastic.core.ui.icon.MeshtasticIcons
import org.meshtastic.core.ui.icon.Satellites
import org.meshtastic.core.ui.theme.AppTheme

View file

@ -57,22 +57,22 @@ import org.jetbrains.compose.resources.StringResource
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.Channel
import org.meshtastic.core.model.util.getChannel
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.security_icon_badge_warning_description
import org.meshtastic.core.strings.security_icon_description
import org.meshtastic.core.strings.security_icon_help_dismiss
import org.meshtastic.core.strings.security_icon_help_green_lock
import org.meshtastic.core.strings.security_icon_help_red_open_lock
import org.meshtastic.core.strings.security_icon_help_show_all
import org.meshtastic.core.strings.security_icon_help_show_less
import org.meshtastic.core.strings.security_icon_help_title
import org.meshtastic.core.strings.security_icon_help_title_all
import org.meshtastic.core.strings.security_icon_help_warning_precise_mqtt
import org.meshtastic.core.strings.security_icon_help_yellow_open_lock
import org.meshtastic.core.strings.security_icon_insecure_no_precise
import org.meshtastic.core.strings.security_icon_insecure_precise_only
import org.meshtastic.core.strings.security_icon_secure
import org.meshtastic.core.strings.security_icon_warning_precise_mqtt
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.security_icon_badge_warning_description
import org.meshtastic.core.resources.security_icon_description
import org.meshtastic.core.resources.security_icon_help_dismiss
import org.meshtastic.core.resources.security_icon_help_green_lock
import org.meshtastic.core.resources.security_icon_help_red_open_lock
import org.meshtastic.core.resources.security_icon_help_show_all
import org.meshtastic.core.resources.security_icon_help_show_less
import org.meshtastic.core.resources.security_icon_help_title
import org.meshtastic.core.resources.security_icon_help_title_all
import org.meshtastic.core.resources.security_icon_help_warning_precise_mqtt
import org.meshtastic.core.resources.security_icon_help_yellow_open_lock
import org.meshtastic.core.resources.security_icon_insecure_no_precise
import org.meshtastic.core.resources.security_icon_insecure_precise_only
import org.meshtastic.core.resources.security_icon_secure
import org.meshtastic.core.resources.security_icon_warning_precise_mqtt
import org.meshtastic.core.ui.icon.Lock
import org.meshtastic.core.ui.icon.LockOpen
import org.meshtastic.core.ui.icon.MeshtasticIcons

View file

@ -34,8 +34,8 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.database.model.Node
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.signal_quality
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.signal_quality
import org.meshtastic.core.ui.component.preview.NodePreviewParameterProvider
import org.meshtastic.core.ui.theme.AppTheme

View file

@ -39,19 +39,19 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.baro_pressure
import org.meshtastic.core.strings.env_metrics_log
import org.meshtastic.core.strings.humidity
import org.meshtastic.core.strings.iaq
import org.meshtastic.core.strings.node_id
import org.meshtastic.core.strings.pax
import org.meshtastic.core.strings.pax_metrics_log
import org.meshtastic.core.strings.role
import org.meshtastic.core.strings.soil_moisture
import org.meshtastic.core.strings.soil_temperature
import org.meshtastic.core.strings.temperature
import org.meshtastic.core.strings.uptime
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.baro_pressure
import org.meshtastic.core.resources.env_metrics_log
import org.meshtastic.core.resources.humidity
import org.meshtastic.core.resources.iaq
import org.meshtastic.core.resources.node_id
import org.meshtastic.core.resources.pax
import org.meshtastic.core.resources.pax_metrics_log
import org.meshtastic.core.resources.role
import org.meshtastic.core.resources.soil_moisture
import org.meshtastic.core.resources.soil_temperature
import org.meshtastic.core.resources.temperature
import org.meshtastic.core.resources.uptime
import org.meshtastic.core.ui.icon.AirQuality
import org.meshtastic.core.ui.icon.ArrowCircleUp
import org.meshtastic.core.ui.icon.HardwareModel

View file

@ -20,11 +20,11 @@ import androidx.compose.material3.Icon
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.internal
import org.meshtastic.core.strings.via_api
import org.meshtastic.core.strings.via_mqtt
import org.meshtastic.core.strings.via_udp
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.internal
import org.meshtastic.core.resources.via_api
import org.meshtastic.core.resources.via_mqtt
import org.meshtastic.core.resources.via_udp
import org.meshtastic.core.ui.icon.Api
import org.meshtastic.core.ui.icon.Cloud
import org.meshtastic.core.ui.icon.Device

View file

@ -18,33 +18,49 @@ package org.meshtastic.core.ui.icon
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.vectorResource
import org.meshtastic.core.ui.R
import org.meshtastic.core.resources.ic_counter_0
import org.meshtastic.core.resources.ic_counter_1
import org.meshtastic.core.resources.ic_counter_2
import org.meshtastic.core.resources.ic_counter_3
import org.meshtastic.core.resources.ic_counter_4
import org.meshtastic.core.resources.ic_counter_5
import org.meshtastic.core.resources.ic_counter_6
import org.meshtastic.core.resources.ic_counter_7
import org.meshtastic.core.resources.ic_counter_8
/** These are from Material Symbols drawables. */
val MeshtasticIcons.Counter0: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_0_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_0)
val MeshtasticIcons.Counter1: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_1_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_1)
val MeshtasticIcons.Counter2: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_2_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_2)
val MeshtasticIcons.Counter3: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_3_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_3)
val MeshtasticIcons.Counter4: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_4_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_4)
val MeshtasticIcons.Counter5: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_5_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_5)
val MeshtasticIcons.Counter6: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_6_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_6)
val MeshtasticIcons.Counter7: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_7_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_7)
val MeshtasticIcons.Counter8: ImageVector
@Composable get() = ImageVector.vectorResource(R.drawable.counter_8_24px)
@Composable
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_8)

View file

@ -33,9 +33,10 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.unit.dp
import org.meshtastic.core.ui.R
import org.jetbrains.compose.resources.vectorResource
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.ic_mountain_flag
import org.meshtastic.proto.Config
val MeshtasticIcons.HardwareModel: ImageVector
@ -50,7 +51,7 @@ val MeshtasticIcons.NodeId: ImageVector
fun MeshtasticIcons.role(role: Config.DeviceConfig.Role?): ImageVector = when (role) {
Config.DeviceConfig.Role.CLIENT -> Icons.Rounded.Person
Config.DeviceConfig.Role.CLIENT_MUTE -> Icons.Rounded.PersonOff
Config.DeviceConfig.Role.ROUTER -> ImageVector.vectorResource(R.drawable.mountain_flag_24px)
Config.DeviceConfig.Role.ROUTER -> vectorResource(Res.drawable.ic_mountain_flag)
Config.DeviceConfig.Role.TRACKER -> Icons.Rounded.MyLocation
Config.DeviceConfig.Role.SENSOR -> Icons.Rounded.Sensors
Config.DeviceConfig.Role.TAK -> Icons.Rounded.MilitaryTech

View file

@ -51,14 +51,14 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.Channel
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.accept
import org.meshtastic.core.strings.add
import org.meshtastic.core.strings.add_channels_description
import org.meshtastic.core.strings.cancel
import org.meshtastic.core.strings.new_channel_rcvd
import org.meshtastic.core.strings.replace
import org.meshtastic.core.strings.replace_channels_and_settings_description
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.accept
import org.meshtastic.core.resources.add
import org.meshtastic.core.resources.add_channels_description
import org.meshtastic.core.resources.cancel
import org.meshtastic.core.resources.new_channel_rcvd
import org.meshtastic.core.resources.replace
import org.meshtastic.core.resources.replace_channels_and_settings_description
import org.meshtastic.core.ui.component.ChannelSelection
import org.meshtastic.proto.ChannelSet

View file

@ -27,12 +27,12 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.model.util.compareUsers
import org.meshtastic.core.model.util.userFieldsToString
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.cancel
import org.meshtastic.core.strings.import_known_shared_contact_text
import org.meshtastic.core.strings.import_label
import org.meshtastic.core.strings.import_shared_contact
import org.meshtastic.core.strings.public_key_changed
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.cancel
import org.meshtastic.core.resources.import_known_shared_contact_text
import org.meshtastic.core.resources.import_label
import org.meshtastic.core.resources.import_shared_contact
import org.meshtastic.core.resources.public_key_changed
import org.meshtastic.core.ui.component.MeshtasticDialog
import org.meshtastic.proto.SharedContact
import org.meshtastic.proto.User

View file

@ -18,10 +18,10 @@ package org.meshtastic.core.ui.util
import android.text.format.DateUtils
import org.meshtastic.core.common.util.nowMillis
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.getString
import org.meshtastic.core.strings.now
import org.meshtastic.core.strings.unknown
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.getString
import org.meshtastic.core.resources.now
import org.meshtastic.core.resources.unknown
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds

View file

@ -19,19 +19,19 @@ package org.meshtastic.core.ui.util
import org.jetbrains.compose.resources.StringResource
import org.meshtastic.core.model.ChannelOption
import org.meshtastic.core.model.TracerouteMapAvailability
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.label_long_fast
import org.meshtastic.core.strings.label_long_moderate
import org.meshtastic.core.strings.label_long_slow
import org.meshtastic.core.strings.label_long_turbo
import org.meshtastic.core.strings.label_medium_fast
import org.meshtastic.core.strings.label_medium_slow
import org.meshtastic.core.strings.label_short_fast
import org.meshtastic.core.strings.label_short_slow
import org.meshtastic.core.strings.label_short_turbo
import org.meshtastic.core.strings.label_very_long_slow
import org.meshtastic.core.strings.traceroute_endpoint_missing
import org.meshtastic.core.strings.traceroute_map_no_data
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.label_long_fast
import org.meshtastic.core.resources.label_long_moderate
import org.meshtastic.core.resources.label_long_slow
import org.meshtastic.core.resources.label_long_turbo
import org.meshtastic.core.resources.label_medium_fast
import org.meshtastic.core.resources.label_medium_slow
import org.meshtastic.core.resources.label_short_fast
import org.meshtastic.core.resources.label_short_slow
import org.meshtastic.core.resources.label_short_turbo
import org.meshtastic.core.resources.label_very_long_slow
import org.meshtastic.core.resources.traceroute_endpoint_missing
import org.meshtastic.core.resources.traceroute_map_no_data
val ChannelOption.labelRes: StringResource
get() =

View file

@ -21,8 +21,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import org.jetbrains.compose.resources.stringResource
import org.meshtastic.core.common.util.nowMillis
import org.meshtastic.core.strings.Res
import org.meshtastic.core.strings.unknown_age
import org.meshtastic.core.resources.Res
import org.meshtastic.core.resources.unknown_age
import org.meshtastic.proto.Channel
import org.meshtastic.proto.ChannelSettings
import org.meshtastic.proto.MeshPacket

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 B

View file

@ -1,23 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="48dp" android:viewportHeight="2607.9" android:viewportWidth="1871.7" android:width="34.449787dp">
<path android:fillColor="#67ea94" android:pathData="M1349.1,573.2h-855.5c-11.1,0 -20,9 -20,20v1219.2c0,10.1 8.2,18.3 18.3,18.3h854.3c8.7,0 15.8,-7.1 15.8,-15.8L1361.9,586c0,-7.1 -5.8,-12.9 -12.9,-12.9ZM1128.5,1143h-411L717.5,787h411v356Z" android:strokeWidth="0"/>
<path android:fillColor="#2c2d3c" android:pathData="M1166.6,5.5c-21.2,13.2 -31.7,24.3 -34.1,36 -2.2,10.6 -1.8,11.4 13.6,26.9 7.7,7.6 15.3,15.7 17.1,18l3.2,4.1 -13.7,5.8c-26.6,11.4 -109.5,54 -125.2,64.4 -4.6,3 -5.5,4.1 -5.5,6.5 0,3.5 2.7,5.6 5.1,4.1 1.3,-0.8 2.9,-0.5 6.4,1.2 9.4,4.5 34.3,10.5 59,14.3 6.9,1.1 27.6,3.3 46,5 49.1,4.5 71,8 71,11.5 0,2.2 -21.1,23.5 -37.5,38 -8.2,7.2 -24.4,20.9 -36,30.5 -29,24 -42.2,35.9 -62,56.1 -27.2,27.7 -54.4,60.8 -60.9,74.1 -2.5,5 -2.7,6.1 -1.7,9.1 0.7,1.9 8.9,12.6 18.4,23.9 9.5,11.2 24.2,29.2 32.8,39.9 30.8,38.2 48.3,56.9 75.2,80.4l13.7,12 -118.2,0.6c-65.1,0.3 -203.8,0.7 -308.4,0.8 -182.2,0.3 -221.1,0.8 -237.2,3.1 -11.6,1.6 -16.2,4.8 -18.1,12.7 -0.9,3.3 -1.3,130.7 -1.6,479.6 -0.3,261.4 -0.7,530.3 -0.9,597.7 -0.5,142.7 -0.1,152.6 6.6,163.8 2.6,4.2 6.9,6.4 13.7,6.8 3.1,0.2 55,0.6 115.4,1 99.7,0.6 109.7,0.8 109.7,2.3 0.2,11.7 -9.3,741.7 -9.6,742 -0.2,0.3 -75.5,-1.9 -167.2,-4.8 -158.1,-4.9 -167.1,-5.1 -171,-3.5 -11.6,4.6 -12.2,20.8 -1,26.3 4.1,1.9 10.2,2.2 165.3,7.1 88.6,2.8 168.2,5.1 177,5.1h16l4.7,-5.3c2.6,-2.9 5.2,-6.2 5.7,-7.3 0.7,-1.5 10.4,-722.4 10.1,-757.4v-4.4l159.2,0.7c87.6,0.4 159.3,0.8 159.4,0.9 0,0.1 2.7,169.2 5.9,375.7l5.7,375.5 3,6c1.6,3.3 4.2,7.6 5.8,9.5l2.9,3.5 167.8,-0.3c158.5,-0.4 168,-0.5 171.9,-2.2 11.2,-4.9 12.1,-19.9 1.5,-25.8l-3.9,-2.2h-318.7l-0.3,-7.7c-0.3,-10.8 -11.2,-710.5 -11.2,-722.6v-9.7h121.8c85.3,0.1 123.8,-0.2 128.7,-1 12.4,-2 18.1,-6.1 21.9,-15.8 1.5,-4 1.6,-46.7 1.6,-608.5 0,-332.3 -0.3,-610.5 -0.6,-618.2 -0.7,-15.7 -1.6,-20 -4.7,-21.8 -1.7,-0.9 -24.6,-1.3 -101.2,-1.5l-99,-0.2 -3,-3.4c-1.6,-1.9 -9.1,-8.8 -16.5,-15.4 -24.3,-21.5 -43.4,-42.2 -71.5,-77.2 -8.2,-10.2 -21.9,-26.8 -30.5,-37 -8.5,-10.2 -16.8,-20 -18.3,-21.9 -3.4,-4.1 -3.2,-5.1 3.8,-15.6 11.1,-16.9 35.8,-45.8 59,-69 16.8,-16.9 30.6,-29.2 57,-51 36,-29.7 54.9,-46.8 67.7,-60.9 8.5,-9.4 8.9,-10.1 8.6,-14 -0.3,-3.8 -0.7,-4.3 -5,-6.4 -8,-4 -29.7,-7.2 -76.3,-11.2 -36.5,-3.1 -62.7,-7.4 -84.3,-13.6 -8.9,-2.6 -17.8,-6.1 -17.1,-6.8 1.4,-1.3 31.8,-17.6 56.9,-30.4 31.9,-16.3 56.3,-27.9 73.3,-34.8l10.7,-4.5 6.3,5.2c11.6,9.7 23.7,13.6 38.1,12.1 8.3,-0.8 10,-2.6 11.7,-11.7 2.1,-11.2 -0.9,-22.9 -12,-47.4 -9.8,-21.7 -19.8,-36.9 -31.4,-47.9 -7.3,-6.8 -8.8,-6.8 -20.6,0.5ZM1356.7,575.6c1.1,1.1 1.3,114 1.6,619.5l0.2,618.3 -2.2,4.4c-3.2,6.3 -8.1,8.7 -19.8,10 -9.2,0.9 -48.7,0.8 -618.5,-0.9 -254.3,-0.8 -236.4,-0.3 -239.4,-6.6 -3.2,-6.6 -4.2,-16 -4.7,-44 -0.2,-15.4 0,-283.4 0.4,-595.5 0.5,-312.1 0.5,-569.2 0,-571.3 -0.9,-4.2 0.5,-18.4 2.5,-24.5 1,-3.2 1.9,-3.9 6.3,-5.4 10.9,-3.6 32.3,-3.9 396.9,-4.7 448.7,-1 475,-1 476.7,0.7Z" android:strokeWidth="0"/>
<path android:fillColor="#fff" android:pathData="M717.5,787h411v356h-411z" android:strokeWidth="0"/>
<path android:fillColor="#454656" android:pathData="M1246.6,622.6c-10.8,3.8 -18.5,10.8 -23.7,21.4 -2.8,5.6 -3,6.4 -3,16.6s0.2,11 3,16.9c7.6,15.9 22,24.3 40.3,23.5 7.4,-0.3 9.3,-0.7 15.6,-3.7 8.7,-4.2 15.4,-10.6 19,-18.3 10,-21 1.9,-43.8 -19.2,-54.2 -6.6,-3.2 -7.5,-3.4 -17.1,-3.7 -8,-0.2 -11.3,0.2 -14.9,1.5Z" android:strokeColor="#2c2d3c" android:strokeWidth="7"/>
<path android:fillColor="#2c2d3c" android:pathData="M651.6,705.9c-8,1.6 -10.3,5.2 -12,19.4 -1.4,12 -1.8,452.5 -0.4,459.2 1.4,6.4 2.7,8.9 5.7,10.8 2.1,1.4 31.7,1.6 275.1,1.5 150,0 275.3,-0.3 278.4,-0.6 6.8,-0.7 9.6,-1.9 10.7,-4.8 0.5,-1.1 0.7,-106.1 0.4,-235.6 -0.6,-263.8 0.3,-239.2 -8.5,-243.1 -5.2,-2.3 -17.1,-5 -23,-5.1 -8,-0.3 -489.4,-2.8 -505.5,-2.7 -9.1,0.1 -18.5,0.5 -20.9,1ZM838.1,787.9c6.5,1.2 8.4,2.3 8.4,4.9s-2.3,3.1 -11.3,1.8c-12.3,-1.6 -35.6,-0.4 -50.4,2.7 -14.5,3 -33.7,9.1 -43.7,13.9 -7.3,3.5 -16.6,10 -16.6,11.6 0,0.5 1.7,1 3.8,1.2 3.2,0.3 3.7,0.6 3.7,2.8s-0.4,2.5 -5.8,2.8c-7,0.4 -8.7,-0.8 -8.7,-5.6 0,-10.9 30.8,-26.7 65.5,-33.7 6.6,-1.3 13.6,-2.6 15.5,-2.8 7.9,-0.9 34,-0.6 39.6,0.4ZM1063,791.2c35.7,7.5 65.5,22.9 65.5,33.8 0,4.8 -1.7,6 -8.7,5.6 -5.4,-0.3 -5.8,-0.5 -5.8,-2.8s0.5,-2.5 3.8,-2.8c2,-0.2 3.7,-0.7 3.7,-1.2 0,-1.6 -9.3,-8.1 -16.6,-11.6 -10,-4.8 -29.2,-10.9 -43.7,-13.9 -14.8,-3.1 -38.1,-4.3 -50.4,-2.7 -9,1.3 -11.3,0.9 -11.3,-1.8 0,-4.7 7.5,-6 32,-5.5 16.1,0.3 21.6,0.8 31.5,2.9ZM824.5,849.6c4.6,2.3 5.9,3.6 8.4,8.4 3.2,6.3 3.7,10.2 5.6,42.3 0.6,9.9 1.5,26.3 2.1,36.5 1.2,20.5 0.5,96.3 -1.1,122.6 -3.3,53.9 -5,74.5 -6.1,76.6 -0.5,1 -1.6,1.8 -2.5,1.8 -0.8,0 -4.1,0.9 -7.3,2 -17.1,5.7 -43.2,-0.5 -50.3,-12 -6,-9.7 -7.6,-27 -8.8,-97 -0.5,-27.2 -1.4,-56.5 -2.2,-65 -0.7,-8.5 -1.3,-29 -1.3,-45.5 0,-40.5 1.5,-46.7 14.4,-59.6 5.3,-5.2 8.2,-7.2 14.6,-9.9 10.4,-4.3 13.6,-5 22,-4.4 4.9,0.3 8.6,1.3 12.5,3.2ZM1055.2,851.5c7.3,3 10,4.8 15.4,10.2 12.9,12.9 14.4,19.1 14.4,59.6 0,16.5 -0.6,37 -1.3,45.5 -0.8,8.5 -1.7,37.8 -2.2,65 -1.2,70 -2.8,87.3 -8.8,97 -7.1,11.5 -33.2,17.7 -50.3,12 -3.2,-1.1 -6.5,-2 -7.3,-2 -0.9,0 -2,-0.8 -2.5,-1.8 -1.1,-2.1 -2.8,-22.7 -6.1,-76.6 -1.6,-26.3 -2.3,-102.1 -1.1,-122.6 4.3,-73.4 4.1,-71.4 7.5,-78.5 6.2,-12.6 23.2,-15.8 42.3,-7.8Z" android:strokeWidth="0"/>
<path android:fillColor="#2c2d3c" android:fillType="evenOdd" android:pathData="m1034.5,1359.6 l-215.8,316.5 -45.5,-31 238.6,-349.9c5.1,-7.5 13.6,-12 22.7,-12 9.1,0 17.6,4.5 22.8,12l239.1,349.3 -45.5,31.1 -216.3,-316ZM581.6,1675.8 L833.7,1306.1 788.2,1275 536.1,1644.8 581.6,1675.8Z" android:strokeWidth="0"/>
<path android:fillColor="#fff" android:pathData="M407.1,1220.2v-6.7h-23.2v-9c0,-11.1 -1.6,-21.9 -4.6,-32 -3.4,-45.9 -33.9,-84.2 -75.5,-99v-2.2c0,-10.3 -5,-19.4 -12.8,-25v-2c0,-10.6 -5.7,-19.8 -14.1,-24.8v-5.2c0,-6.9 -2.6,-13.1 -6.9,-17.8l-39.5,-206.2c-1.2,-6.3 -4.3,-11.7 -8.6,-15.7 -0.6,-15.7 -13.5,-28.2 -29.4,-28.2 -15.7,0 -28.5,12.3 -29.3,27.8 -5,5.3 -8.1,12.4 -8.1,20.2v3.5c-5,6.1 -8.1,14 -8.1,22.5v146.3c0,8 2.7,15.4 7.2,21.4h-10.1c-6.1,-10.3 -17.3,-17.1 -30,-17.1h-10.1c-14,0 -25.5,10.3 -27.6,23.6 -16.1,8.1 -28.2,22.9 -32.4,40.8 -9.4,8.6 -16.5,19.5 -20.6,31.8 -11.7,13.5 -18.7,31 -18.7,50.3v33c0,18.7 10.9,34.8 26.8,42.2 6.9,11.3 18.9,19 32.8,20 8.6,8.6 20.6,14 33.8,14h0.6c0.1,18.4 10.3,34.4 25.3,42.7v3l-31.5,15.8c-3.2,1.6 -4.5,5.5 -2.9,8.8l27.1,54.2c2.7,5.4 8.2,8.5 13.9,8.3 7.1,12.5 19.2,21.8 33.6,24.9 4.3,8.2 12.9,13.8 22.8,14l46,0.9c12.5,0.3 23.9,-5.1 31.7,-13.7h2.9c19.9,0 38.8,-4.2 55.9,-11.6 57.4,-6.5 102,-55.3 102,-114.4v-12.1c0,-12.3 -7.5,-22.8 -18.2,-27.2Z" android:strokeWidth="0"/>
<path android:fillColor="#2c2d3c" android:pathData="M180,744.2c-2.7,1.3 -7.1,4.6 -9.7,7.3 -9.1,9.9 -19.7,35.8 -25.5,63l-2.8,12.8 0.1,49.5c0,52.1 1.1,75.2 4.5,94.8 1,6.3 1.9,11.9 1.9,12.4 0,0.6 -3.7,-2.5 -8.3,-6.9 -11.1,-10.6 -15.7,-12.8 -26.7,-12.7 -9.8,0.1 -14.6,1.8 -24.4,8.8 -13,9.3 -34.8,35.8 -54.7,66.6 -19,29.4 -26.9,47.1 -32,71.5 -3.4,16.1 -3.2,36.1 0.5,50 3.2,12.1 8.1,22.9 13.1,28.3 2,2.3 7.1,6.3 11.3,9 10.8,6.9 43,22.9 53.6,26.6l8.8,3.1 7.2,12.8c9,16.1 14.1,22.7 21.1,27.4l5.6,3.7 -4.3,1.6c-26.9,10.4 -28.9,11.3 -30.8,14 -1.1,1.6 -2,3.7 -2,4.7 0,2.4 13.9,34.6 18.7,43.3 7.2,13.2 15.8,23.2 29.7,34.7 16.4,13.7 26.1,20.2 39,26.4 13.9,6.6 25.5,9.3 36.6,8.4 12.4,-1 22.4,-3.1 38.5,-8.1 7.9,-2.4 19.1,-5.5 24.9,-6.9 5.8,-1.4 14.7,-3.8 19.9,-5.5 5.1,-1.6 18,-5.2 28.5,-8 30.2,-7.9 59.5,-19.7 70.7,-28.7 6.4,-5.1 16.6,-19.3 22.2,-31 2.7,-5.6 6,-15.4 8.6,-25 4.1,-15.4 4.2,-16.2 4.2,-31.8 0,-17.1 -1.1,-23.6 -5.1,-31.6 -5.5,-11 -13.1,-16.3 -23.4,-16.4 -3.6,0 -8,0.3 -9.8,0.7 -3.1,0.7 -3.2,0.7 -2.5,-2 0.5,-1.5 0.8,-7.7 0.7,-13.7 0,-9.7 -0.4,-12.4 -3.8,-23.5 -11.8,-39.3 -19.9,-57.4 -34.4,-76.7 -5.3,-7.1 -7.6,-8.8 -10.3,-7.8 -0.8,0.3 -2.6,-0.3 -4,-1.2 -17.5,-11.7 -23,-17.7 -35.4,-38.4 -22.6,-38.2 -34.7,-77 -44.4,-143.4 -1.7,-11.6 -4.2,-28.7 -5.6,-38 -1.4,-9.4 -3.2,-21.6 -4,-27.2 -1.5,-10.9 -3,-17.4 -10.1,-43.3 -4.9,-17.7 -6.8,-22.3 -14.2,-33.4 -12.9,-19.5 -16.9,-22.6 -29.3,-22.6 -5.7,0 -8.6,0.6 -12.4,2.4ZM200.1,749.7c4.4,2 8.2,6.5 16.6,19.7 6.8,10.5 7.4,12.1 11.7,27.1 7,24.4 10.2,38.5 12.1,52.8 1,7.7 2.5,18 3.4,23 0.8,4.9 1.8,11.7 2.1,15 1.1,10.6 7.4,49 10.1,61.7 6.9,33.1 15.3,59.9 24.9,79.7 6.6,13.4 16.5,31.1 19.3,34.3 1.9,2.2 1.8,2.2 -4.6,-0.2 -7.7,-3 -21,-2.8 -27.7,0.4 -9.8,4.6 -18.9,16.8 -23.6,31.6 -3.8,12.3 -4.7,20.2 -3.7,32.3 1,12.7 3,21.2 7.2,30.2 7.3,15.7 16.1,25.9 30.2,35.2 22.4,14.5 47.8,22.4 82.1,25.5l13.7,1.2 -4.3,1.8c-2.3,1 -9.9,2.9 -16.9,4.4 -7,1.5 -20.3,5.3 -29.5,8.5 -29.2,10.1 -50.1,14.5 -99.7,20.9 -28.9,3.7 -62.9,9.1 -78.5,12.4 -8.3,1.7 -11.4,1.2 -19.9,-3.3 -8.1,-4.3 -16.2,-14.3 -23.5,-28.9l-3.1,-6.2h8.2c4.6,0 12.8,-0.7 18.2,-1.5 5.5,-0.8 11.6,-1.5 13.7,-1.5 6.1,0 18.1,-4.3 26.1,-9.4 4.2,-2.7 13.4,-10.5 21.5,-18.4 15.9,-15.4 18.4,-19.4 23.9,-38.2 3.9,-13.5 3.8,-22.5 -0.3,-35 -1.7,-5.2 -4.8,-15.1 -6.8,-22 -11.3,-38.1 -20.2,-61.5 -30.5,-80.3 -3.7,-6.8 -7,-13.5 -7.3,-14.9 -0.4,-1.4 -2.2,-5.1 -4.1,-8.2 -8.9,-14.9 -12.5,-50.6 -12.9,-128.4 -0.1,-34.8 0.1,-38.6 2,-49.2 5.5,-28.9 16.4,-57.2 26,-66.7 6.7,-6.7 16.2,-8.9 23.9,-5.4ZM124.2,972.9c2.5,1.2 9.2,6.6 15.1,12 9,8.4 11.4,11.3 15.2,18.4 2.5,4.6 6.1,11.2 8.1,14.7 7.3,12.8 9.2,16.5 13.5,26.9 8.3,20.2 30.1,88.8 29,91.4 -0.7,1.9 -3.2,1.9 -13.9,0 -19.4,-3.4 -34.8,-11.1 -53.2,-26.5 -22.6,-19.1 -38.4,-35.1 -53.4,-54.5 -8.7,-11.1 -23.7,-33.2 -25,-36.7 -1.6,-4.3 23.2,-33.2 35.5,-41.3 10.2,-6.8 20.9,-8.4 29.1,-4.4ZM64.5,1038.3c18.6,28 33.5,45.1 59.5,68.3 17.3,15.5 25.2,21.1 38,27.3 12.8,6.1 22.5,8.8 34.8,9.6 8.2,0.5 9.7,0.9 9.7,2.3 0,2.5 -5.9,21.7 -8.5,27.5 -2.4,5.6 -10.9,15.2 -19.9,22.7l-5.8,4.9 -8.2,-0.6c-14.7,-1.2 -43.1,-12.1 -64,-24.5 -33.2,-19.8 -62.4,-49.6 -77.6,-79.3 -2.7,-5.4 -5,-10.5 -5,-11.3 0,-5.6 35,-63.9 37.1,-61.7 0.3,0.5 4.8,7.1 9.9,14.8ZM295.6,1070c5.3,2.4 22.2,13.2 33.5,21.3 3.1,2.2 6.6,3.8 8.5,4 3.1,0.2 4.1,1.2 10.2,10.1 11.9,17.3 19,34.1 29.6,69.9 4,13.7 5.2,21.9 4.2,28.2 -1.3,8.5 -1.6,8.7 -16.1,8 -40.6,-1.9 -82,-17.7 -99.4,-37.8 -5,-5.9 -11.1,-16.4 -14.2,-24.6 -3.3,-8.8 -5.7,-24.9 -5,-33.8 0.6,-8.7 5.8,-25.5 9.7,-31.6 3.9,-6.2 13,-14.7 16.5,-15.4 1.6,-0.4 3.4,-0.8 3.9,-1.1 3,-1.1 13.5,0.4 18.6,2.8ZM27,1116.6c16.2,24.3 40.8,47.5 67.1,63.5 22.1,13.5 49.9,24.7 65.5,26.5l6.4,0.8 -4.5,2.9c-6.7,4.3 -15.9,7.8 -21.5,8.1 -2.7,0.2 -9.2,1.1 -14.2,2 -6.8,1.2 -12.9,1.5 -23,1.2 -16.4,-0.6 -20.1,-1.7 -44.8,-14 -29.6,-14.8 -38,-21 -42.9,-31.8 -10,-22 -11.1,-45.9 -3.4,-74.3l2.1,-7.9 4.3,8.2c2.4,4.5 6.4,11.1 8.9,14.8ZM405.2,1219.9c1.5,0.5 4.3,2.5 6.1,4.2 7.3,6.9 10.2,17.1 10.2,35.8 0,10.9 -0.4,14.3 -3.4,26.5 -1.9,7.7 -4.7,17.2 -6.1,21 -5.1,13.4 -16.7,30.6 -24.8,36.5 -11.8,8.6 -40.4,19.8 -69,26.9 -6.7,1.7 -17.8,4.9 -24.7,7 -6.9,2.2 -17.4,5.1 -23.5,6.5 -6,1.4 -15.7,4.1 -21.5,6 -14.3,4.8 -26.7,7.4 -38,8.1 -8,0.6 -10.8,0.3 -17.5,-1.5 -15.3,-4.2 -33.7,-14.7 -51.3,-29.3 -16.7,-14 -22.8,-21.2 -31.4,-36.8 -5.1,-9.3 -17.1,-37.9 -16.5,-39.4s30.2,-12.6 39.7,-15c17,-4.1 61,-11.4 95.5,-15.6 43.6,-5.4 62.3,-9.3 93.5,-19.6 12.4,-4 27.7,-8.4 34,-9.8 6.3,-1.3 14.4,-3.6 18,-5.1 18.2,-7.7 24.1,-8.9 30.7,-6.4Z" android:strokeWidth="0"/>
<path android:fillColor="#fff" android:pathData="M1819.8,966.4c-25.9,-6.6 -55.4,12.3 -80.2,47.2 -7.2,2.1 -13.9,6.5 -18.7,13l-62.7,83.5c-4,5.3 -6.6,11.1 -8,17.1l-5.4,1.6c-13.4,3.9 -23.7,13.3 -29.3,24.9 -5.7,2.5 -10.7,6.2 -14.8,10.6 -3.1,-3.5 -6.9,-6.3 -11,-8.4l-8.6,-29.3c-2.4,-8.3 -7.4,-15.1 -13.8,-20 -1.3,-3 -3,-5.9 -4.9,-8.4l-1.8,-6.3c-5.5,-18.9 -25.3,-29.7 -44.2,-24.2l-1.2,0.3c-17,5 -27.5,21.6 -25.3,38.7 -2.3,3.8 -4,7.9 -5.2,12.1 -6.9,11 -9.3,24.8 -5.3,38.3l4.3,14.6c-2.8,8.7 -3.2,18.3 -0.4,27.8l43.8,149.4 -4.6,-1.5c-5.4,-1.8 -11,-1.8 -16.1,-0.2l-5.2,-1.7c-6.7,-2.2 -14,1.4 -16.2,8.2 -2,5.9 -1.1,12.1 1.9,17 -2.3,10.6 -0.4,21.2 4.6,30.1 1.2,12 7.4,23.1 17.2,30.4 5,12.3 15.2,22.3 28.7,26.8l6.3,2.1c4.1,7 10.8,12.7 19.1,15.4l20.5,6.8 1.1,3.7 5.4,-1.6 15.5,5.1 1.1,3.7 5.4,-1.6 78.8,26c6.9,2.3 14,2.2 20.5,0.2l18.2,6c18.8,6.2 39.1,-4 45.3,-22.8 6.2,-18.8 -4,-39.1 -22.8,-45.3l-4.4,-1.5c-1.7,-4.4 -4.3,-8.5 -7.7,-12l13.5,-4 -0.5,-1.7c10.2,-4.2 17.6,-12.7 20.8,-22.7l4.6,3.8 41.3,-50.6c3.2,-3.9 5.3,-8.3 6.3,-12.9 25.3,-12.2 42.7,-38.1 42.7,-68.1v-186.1c5.9,-69.1 -12.5,-124.6 -48.5,-133.7Z" android:strokeWidth="0"/>
<path android:fillColor="#2c2d3c" android:pathData="M1797,960.2c-13.1,3.3 -25.8,12.9 -52.1,39.1 -30.1,30 -54.1,58.2 -80.5,94.5 -15.4,21.1 -16.2,22.5 -15.6,25.7 0.5,2.7 0.2,2.9 -5.5,4.7 -3.3,1 -7.2,2.9 -8.7,4 -1.4,1.2 -3.9,3 -5.6,4 -7.2,4.5 -16.8,13.3 -22.5,20.7 -5.2,6.7 -6.5,7.8 -7.6,6.7 -2.9,-3 -12.7,-23.3 -17.8,-37.1 -3,-8.1 -7.4,-18.3 -9.7,-22.7 -7.7,-14.4 -23.3,-30.5 -34.8,-35.8 -7.3,-3.4 -18,-2.9 -26.1,1.3 -7.9,4 -17.1,13.8 -21.3,22.7 -8.5,17.7 -11.2,34 -11.1,66.8 0,24.7 1.1,36.1 6,62.9 5.7,31.1 21.6,85.9 33.3,114.6 2.2,5.4 3.8,10.1 3.6,10.3s-5.8,-0.1 -12.4,-0.7c-14.8,-1.5 -18.2,-0.9 -22,3.5 -6.6,7.5 -6.7,17.7 -0.6,51.3 1.2,6.6 2.8,10.9 7.1,19 3.1,5.8 6.4,11.7 7.3,13.1s2.3,3.8 3.1,5.4 4.9,6.3 9,10.5c6.7,6.8 10.1,9.1 32.5,21.8 32.7,18.6 41.4,22.6 69.5,32.1 41.9,14.1 68.2,21 94.5,24.6 6.1,0.8 16.3,2.4 22.8,3.6 20.4,3.5 26.1,2.6 34.3,-5.1 2.8,-2.8 6.3,-6.7 7.7,-8.7 3.8,-5.5 6.8,-15.6 7,-23.3 0.2,-5.7 -0.2,-7.2 -2.1,-9.6 -1.2,-1.5 -4.4,-5.7 -7,-9.3 -8.5,-11.8 -35.6,-37.2 -44.4,-41.6 -7.5,-3.8 -22.4,-9 -33.6,-11.8 -10.4,-2.6 -27.5,-9.1 -46.7,-17.9 -43.6,-19.9 -57.9,-26.8 -76.7,-36.6 -11.6,-6.2 -23.4,-11.9 -26.2,-12.8s-5.5,-2 -6,-2.4c-0.6,-0.5 -1.8,-0.9 -2.8,-0.9s-1.8,-0.5 -1.8,-1.1 -1.6,-2.5 -3.5,-4.4c-4,-3.7 -8,-13.2 -16.3,-38.5 -25.9,-79.2 -34.5,-139.3 -26.7,-185 4,-23.4 13.7,-40 27.2,-46.7 11.6,-5.6 20.3,-3.1 33.6,9.6s18.2,20.7 26.2,42.6c5.2,14.3 17.1,38.5 21.8,44.3 4,5 16.6,30.8 21.1,43.4 9.7,26.8 16.6,65.4 16.6,92.4v13.4h2.4c1.9,0 2.7,-0.8 3.7,-3.7 2.5,-7.8 -0.7,-41.8 -6.8,-70.8 -4.5,-21.7 -12.8,-44.4 -23.8,-65l-5.4,-10 2.7,-3.1c1.5,-1.7 3.9,-4.7 5.4,-6.6 1.5,-1.9 6,-6.1 10.2,-9.2 4.1,-3.1 7.7,-6.4 8,-7.4 0.9,-2.6 10.3,-8 19.3,-11 12.9,-4.2 20.3,-3.7 39.3,2.8 8.5,2.9 18.3,6.6 21.8,8.2 6.9,3.3 9.6,3.3 10,0.2 0.4,-2.6 -5,-6.9 -11.3,-9.1 -2.5,-0.8 -4.7,-1.9 -5.1,-2.4 -0.3,-0.5 -1.6,-0.9 -2.9,-0.9s-4.8,-0.9 -7.7,-2c-11.8,-4.3 -21.7,-6.2 -30.8,-5.8l-8.8,0.3 1,-2.4c1.1,-3.1 26.2,-37 39.2,-53 16.1,-19.8 40.9,-47.2 59.2,-65.2 34.3,-33.6 47,-39.6 65.4,-30.8 10.3,4.9 16.8,11.2 25.6,24.6 13.3,20.1 15.3,26.3 19.9,61.4l0.5,3.5 -14.3,3.9c-26.3,7 -48.8,16 -84.2,33.6 -24.9,12.4 -33,17.4 -33,20.4 0,3.5 4.1,2.9 12.3,-1.8 20.3,-11.7 60.9,-30.7 81.9,-38.3 13.4,-4.9 36.3,-11.5 37.4,-10.8 1,0.6 1.2,89.5 0.3,93.1 -0.4,1.6 -1.7,2.3 -4.7,2.8 -14.3,2.5 -43.6,18.3 -57.9,31.4 -6.7,6.1 -8.6,9.4 -6.8,11.6 0.7,0.8 1.6,1.5 2.1,1.5s3.7,-2.7 7,-6c11.7,-11.3 37.2,-26.7 51.7,-31 4,-1.2 7.5,-2.1 7.6,-1.9 0.4,0.4 1,78.5 0.8,89.4l-0.2,7 -5.2,1.9c-7.2,2.5 -19.6,9.4 -20.7,11.4 -2,4 2.3,5.7 6.8,2.6 1.2,-0.9 5.7,-3.4 9.9,-5.5l7.7,-3.9 0.3,12.3c0.1,6.7 -0.1,17.2 -0.7,23.3 -0.7,9.4 -1.3,12 -3.7,16 -6,10.6 -16.7,21.8 -24.9,26.1 -2,1.1 -2,0.7 -2.3,-13.5 -0.3,-15.1 -1.1,-18 -4.4,-16.7 -1.4,0.5 -1.7,3.1 -2,15.3 -0.4,13.5 -0.6,15.3 -3.3,21.7 -3.7,8.8 -18.4,28.6 -28.4,38 -4,3.8 -9.4,9.2 -11.9,12 -9.2,10 -16,16.1 -25,22.5 -6.8,4.7 -9.2,7 -9.2,8.6 0,2.9 2.5,3.7 5.9,1.9 6.1,-3.1 23.6,-17.7 29.6,-24.6 3.5,-4.1 9.4,-10.1 13.1,-13.4 8.2,-7.2 24.8,-27.9 28.9,-35.8 2.8,-5.4 3.6,-6.1 10.5,-9.6 4.1,-2 8.7,-4.5 10.2,-5.5 4.3,-2.9 16.4,-18 19.7,-24.8 2.9,-5.9 3.2,-7.6 4.3,-22.8 0.6,-9.1 1.2,-44.9 1.3,-79.5 0.1,-34.7 0.4,-84.4 0.6,-110.5 0.3,-50.6 -0.2,-59.6 -5.2,-84.4 -2.9,-14.5 -11.3,-31 -23.8,-46.9 -11.9,-15.3 -31.5,-24 -45.6,-20.3ZM1510,1348.8c6.1,0.6 13.3,1.7 16,2.5 2.8,0.8 7.5,2.1 10.5,3 3,0.8 16.3,7.1 29.5,14 13.2,7 30.1,15.3 37.5,18.7 7.4,3.3 20.9,9.5 30,13.8 22.9,10.8 46.9,20.5 57,22.8 9.6,2.3 27.5,8.4 33.1,11.3 7.5,3.8 36.6,30.4 39.5,36.2 0.8,1.5 3.7,5.2 6.4,8.3 6,6.5 6.4,9.6 2.5,21.3 -2.1,6.3 -3.6,8.6 -8.2,13.5 -6.5,6.7 -8.4,7.6 -15.6,7.6 -12.4,0 -68.1,-10.2 -90.2,-16.6 -28.9,-8.3 -65.5,-21.3 -79,-27.9 -13.3,-6.5 -40.2,-21.3 -51,-28 -7.7,-4.8 -16.5,-15.2 -24.2,-28.5 -10.7,-18.5 -10.8,-18.9 -14.9,-47.9 -1.7,-11.8 -0.8,-18.9 2.8,-22.8 2.4,-2.6 3.3,-2.7 18.3,-1.3Z" android:strokeWidth="0"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM440,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,360Q600,327 576.5,303.5Q553,280 520,280L440,280Q407,280 383.5,303.5Q360,327 360,360L360,600Q360,633 383.5,656.5Q407,680 440,680ZM440,360L520,360Q520,360 520,360Q520,360 520,360L520,600Q520,600 520,600Q520,600 520,600L440,600Q440,600 440,600Q440,600 440,600L440,360Q440,360 440,360Q440,360 440,360Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM460,360L460,640Q460,657 471.5,668.5Q483,680 500,680Q517,680 528.5,668.5Q540,657 540,640L540,320Q540,303 528.5,291.5Q517,280 500,280L420,280Q403,280 391.5,291.5Q380,303 380,320Q380,337 391.5,348.5Q403,360 420,360L460,360Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM560,680Q577,680 588.5,668.5Q600,657 600,640Q600,623 588.5,611.5Q577,600 560,600L440,600L440,520Q440,520 440,520Q440,520 440,520L520,520Q553,520 576.5,496.5Q600,473 600,440L600,360Q600,327 576.5,303.5Q553,280 520,280L400,280Q383,280 371.5,291.5Q360,303 360,320Q360,337 371.5,348.5Q383,360 400,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L440,440Q407,440 383.5,463.5Q360,487 360,520L360,640Q360,657 371.5,668.5Q383,680 400,680L560,680Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM400,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,540Q600,514 583,497Q566,480 540,480Q566,480 583,463Q600,446 600,420L600,360Q600,327 576.5,303.5Q553,280 520,280L400,280Q383,280 371.5,291.5Q360,303 360,320Q360,337 371.5,348.5Q383,360 400,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L480,440Q463,440 451.5,451.5Q440,463 440,480Q440,497 451.5,508.5Q463,520 480,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L400,600Q383,600 371.5,611.5Q360,623 360,640Q360,657 371.5,668.5Q383,680 400,680Z"/>
</vector>

View file

@ -1,22 +0,0 @@
<!--
~ Copyright (c) 2025 Meshtastic LLC
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM520,680L600,680L600,280L520,280L520,440L440,440L440,280L360,280L360,520L520,520L520,680Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM400,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,520Q600,487 576.5,463.5Q553,440 520,440L440,440L440,360L560,360Q577,360 588.5,348.5Q600,337 600,320Q600,303 588.5,291.5Q577,280 560,280L400,280Q383,280 371.5,291.5Q360,303 360,320L360,480Q360,497 371.5,508.5Q383,520 400,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L400,600Q383,600 371.5,611.5Q360,623 360,640Q360,657 371.5,668.5Q383,680 400,680Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM440,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,520Q600,487 576.5,463.5Q553,440 520,440L440,440L440,360Q440,360 440,360Q440,360 440,360L520,360Q537,360 548.5,348.5Q560,337 560,320Q560,303 548.5,291.5Q537,280 520,280L440,280Q407,280 383.5,303.5Q360,327 360,360L360,600Q360,633 383.5,656.5Q407,680 440,680ZM440,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L440,600Q440,600 440,600Q440,600 440,600L440,520Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M520,360L452,632Q447,650 459,665Q471,680 490,680Q504,680 514,672Q524,664 527,651L598,370Q600,365 600,361Q600,357 600,352Q600,323 579.5,301.5Q559,280 530,280L400,280Q383,280 371.5,291.5Q360,303 360,320Q360,337 371.5,348.5Q383,360 400,360L520,360ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM440,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,540Q600,515 582.5,497.5Q565,480 540,480Q565,480 582.5,462.5Q600,445 600,420L600,360Q600,327 576.5,303.5Q553,280 520,280L440,280Q407,280 383.5,303.5Q360,327 360,360L360,420Q360,445 377.5,462.5Q395,480 420,480Q395,480 377.5,497.5Q360,515 360,540L360,600Q360,633 383.5,656.5Q407,680 440,680ZM440,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L440,440Q440,440 440,440Q440,440 440,440L440,360Q440,360 440,360Q440,360 440,360ZM440,600Q440,600 440,600Q440,600 440,600L440,520Q440,520 440,520Q440,520 440,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L440,600Z"/>
</vector>

View file

@ -1,29 +0,0 @@
<!--
~ Copyright (c) 2025 Meshtastic LLC
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12 7.5C12.69 7.5 13.27 7.73 13.76 8.2S14.5 9.27 14.5 10C14.5 11.05 14 11.81 13 12.28V21H11V12.28C10 11.81 9.5 11.05 9.5 10C9.5 9.27 9.76 8.67 10.24 8.2S11.31 7.5 12 7.5M16.69 5.3C17.94 6.55 18.61 8.11 18.7 10C18.7 11.8 18.03 13.38 16.69 14.72L15.5 13.5C16.5 12.59 17 11.42 17 10C17 8.67 16.5 7.5 15.5 6.5L16.69 5.3M6.09 4.08C4.5 5.67 3.7 7.64 3.7 10S4.5 14.3 6.09 15.89L4.92 17.11C3 15.08 2 12.7 2 10C2 7.3 3 4.94 4.92 2.91L6.09 4.08M19.08 2.91C21 4.94 22 7.3 22 10C22 12.8 21 15.17 19.08 17.11L17.91 15.89C19.5 14.3 20.3 12.33 20.3 10S19.5 5.67 17.91 4.08L19.08 2.91M7.31 5.3L8.5 6.5C7.5 7.42 7 8.58 7 10C7 11.33 7.5 12.5 8.5 13.5L7.31 14.72C5.97 13.38 5.3 11.8 5.3 10C5.3 8.2 5.97 6.64 7.31 5.3Z"
android:fillAlpha=".5"
/>
</vector>

View file

@ -1,14 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#3388ff"
android:strokeWidth="1.25"
android:strokeColor="@android:color/white"
android:pathData="M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z" />
<path
android:fillColor="@android:color/transparent"
android:pathData="M12,9m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0" />
</vector>

View file

@ -1,14 +0,0 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
>
<path
android:fillColor="@android:color/white"
android:pathData="M14,20H6V6H14M14.67,4H13V2H7V4H5.33C4.6,4 4,4.6 4,5.33V20.67C4,21.4 4.6,22 5.33,22H14.67C15.4,22 16,21.4 16,20.67V5.33C16,4.6 15.4,4 14.67,4M21,7H19V13H21V8M21,15H19V17H21V15Z"
android:fillAlpha="0.5"
/>
</vector>

View file

@ -1,14 +0,0 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
>
<path
android:fillColor="@android:color/white"
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33C6.6,4 6,4.6 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67C17.41,22 18,21.41 18,20.67V5.33C18,4.6 17.4,4 16.67,4M15,16H9V19H15V16M15,7H9V10H15V7M15,11.5H9V14.5H15V11.5Z"
android:fillAlpha="0.5"
/>
</vector>

View file

@ -1,14 +0,0 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
>
<path
android:fillColor="@android:color/white"
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33C6.6,4 6,4.6 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67C17.41,22 18,21.41 18,20.67V5.33C18,4.6 17.4,4 16.67,4M15,16H9V19H15V16"
android:fillAlpha="0.5"
/>
</vector>

View file

@ -1,14 +0,0 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
>
<path
android:fillColor="@android:color/white"
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33C6.6,4 6,4.6 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67C17.41,22 18,21.41 18,20.67V5.33C18,4.6 17.4,4 16.67,4M15,16H9V19H15V16M15,11.5H9V14.5H15V11.5Z"
android:fillAlpha="0.5"
/>
</vector>

View file

@ -1,14 +0,0 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
>
<path
android:fillColor="@android:color/white"
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0,0 0,6 5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0,0 0,18 20.67V5.33C18,4.6 17.4,4 16.67,4Z"
android:fillAlpha="0.5"
/>
</vector>

View file

@ -1,14 +0,0 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
>
<path
android:fillColor="@android:color/white"
android:pathData="M15.07,12.25L14.17,13.17C13.63,13.71 13.25,14.18 13.09,15H11.05C11.16,14.1 11.56,13.28 12.17,12.67L13.41,11.41C13.78,11.05 14,10.55 14,10C14,8.89 13.1,8 12,8A2,2 0,0 0,10 10H8A4,4 0,0 1,12 6A4,4 0,0 1,16 10C16,10.88 15.64,11.68 15.07,12.25M13,19H11V17H13M16.67,4H15V2H9V4H7.33A1.33,1.33 0,0 0,6 5.33V20.66C6,21.4 6.6,22 7.33,22H16.67C17.4,22 18,21.4 18,20.66V5.33C18,4.59 17.4,4 16.67,4Z"
android:fillAlpha="0.5"
/>
</vector>

View file

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M240,800h480v-400L240,400v400ZM480,680q33,0 56.5,-23.5T560,600q0,-33 -23.5,-56.5T480,520q-33,0 -56.5,23.5T400,600q0,33 23.5,56.5T480,680ZM240,800v-400,400ZM240,880q-33,0 -56.5,-23.5T160,800v-400q0,-33 23.5,-56.5T240,320h280v-80q0,-83 58.5,-141.5T720,40q83,0 141.5,58.5T920,240h-80q0,-50 -35,-85t-85,-35q-50,0 -85,35t-35,85v80h120q33,0 56.5,23.5T800,400v400q0,33 -23.5,56.5T720,880L240,880Z" />
</vector>

View file

@ -1,11 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#3388ff"
android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"
android:strokeWidth="2.0"
android:strokeColor="@android:color/white" />
</vector>

View file

@ -1,11 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="36dp"
android:height="36dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#3388ff"
android:pathData="M12,2L4.5,20.29l0.71,0.71L12,18l6.79,3 0.71,-0.71z"
android:strokeWidth="1.5"
android:strokeColor="@android:color/white" />
</vector>

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2025 Meshtastic LLC
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="#FFFFFF"
android:alpha="0.8">
<group android:scaleX="0.24"
android:scaleY="0.24"
android:translateY="5.4">
<path
android:pathData="M64.716,13.073L37.867,52.447L32.204,48.585L61.878,5.068C62.516,4.132 63.575,3.572 64.707,3.571C65.839,3.57 66.899,4.128 67.538,5.063L97.281,48.512L91.625,52.384L64.716,13.073Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M8.379,52.406L39.741,6.415L34.078,2.553L2.716,48.544L8.379,52.406Z"
android:fillColor="#ffffff"/>
</group>
</vector>

View file

@ -1,28 +0,0 @@
<!--
~ Copyright (c) 2025 Meshtastic LLC
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:fillAlpha=".5"
android:pathData="M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z" />
</vector>

View file

@ -1,5 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M348,517L403,554L462,524Q470,519 480,519Q490,519 498,524L557,554L610,519L570,440Q570,440 570,440Q570,440 570,440L386,440Q386,440 386,440Q386,440 386,440L348,517ZM209,800L750,800L646,591L582,634Q573,640 562.5,640.5Q552,641 542,636L480,605L418,636Q408,641 397.5,640Q387,639 378,633L312,590L209,800ZM144,880Q121,880 109.5,861Q98,842 108,822L314,405Q324,385 343.5,372.5Q363,360 386,360L440,360L440,120Q440,103 451.5,91.5Q463,80 480,80L688,80Q699,80 705,89.5Q711,99 706,109L684,151Q682,156 682,160Q682,164 684,169L706,211Q711,221 705,230.5Q699,240 688,240L520,240L520,360L570,360Q593,360 612,372Q631,384 642,404L851,822Q861,842 849.5,861Q838,880 815,880L144,880ZM480,605L480,605L480,605L480,605L480,605L480,605L480,605Q480,605 480,605Q480,605 480,605L480,605Q480,605 480,605Q480,605 480,605L480,605L480,605L480,605L480,605Z"/>
</vector>