From 20f58963a6ba7889153c3a23617b7c4178bb662a Mon Sep 17 00:00:00 2001 From: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> Date: Tue, 22 Aug 2023 21:17:19 +0300 Subject: [PATCH] Use CSharpier --- .../DiscordChatExporter.Cli.Tests.csproj | 2 +- .../Infra/ChannelIds.cs | 2 +- .../Infra/ExportWrapper.cs | 81 +- .../Infra/Secrets.cs | 6 +- .../Specs/CsvContentSpecs.cs | 26 +- .../Specs/DateRangeSpecs.cs | 116 +- .../Specs/FilterSpecs.cs | 17 +- .../Specs/HtmlAttachmentSpecs.cs | 24 +- .../Specs/HtmlContentSpecs.cs | 48 +- .../Specs/HtmlEmbedSpecs.cs | 33 +- .../Specs/HtmlGroupingSpecs.cs | 13 +- .../Specs/HtmlMarkdownSpecs.cs | 7 +- .../Specs/HtmlMentionSpecs.cs | 2 +- .../Specs/HtmlReplySpecs.cs | 21 +- .../Specs/HtmlStickerSpecs.cs | 6 +- .../Specs/JsonAttachmentSpecs.cs | 48 +- .../Specs/JsonContentSpecs.cs | 48 +- .../Specs/JsonEmbedSpecs.cs | 2 +- .../Specs/JsonMentionSpecs.cs | 14 +- .../Specs/JsonStickerSpecs.cs | 24 +- .../Specs/PartitioningSpecs.cs | 10 +- .../Specs/PlainTextContentSpecs.cs | 26 +- .../Specs/SelfContainedSpecs.cs | 5 +- DiscordChatExporter.Cli.Tests/Utils/Html.cs | 2 +- .../Utils/TempDir.cs | 12 +- .../Utils/TempFile.cs | 17 +- .../Utils/TimeZoneInfoEx.cs | 2 +- .../Commands/Base/DiscordCommandBase.cs | 8 +- .../Commands/Base/ExportCommandBase.cs | 197 +- .../TruthyBooleanBindingConverter.cs | 2 +- .../Commands/ExportAllCommand.cs | 52 +- .../Commands/ExportChannelsCommand.cs | 7 +- .../Commands/ExportDirectMessagesCommand.cs | 7 +- .../Commands/ExportGuildCommand.cs | 31 +- .../Commands/GetChannelsCommand.cs | 35 +- .../Commands/GetDirectChannelsCommand.cs | 6 +- .../Commands/GetGuildsCommand.cs | 6 +- .../Commands/GuideCommand.cs | 26 +- .../DiscordChatExporter.Cli.csproj | 1 + DiscordChatExporter.Cli/Program.cs | 5 +- .../Utils/Extensions/ConsoleExtensions.cs | 44 +- .../Discord/Data/Attachment.cs | 35 +- .../Discord/Data/Channel.cs | 76 +- .../Discord/Data/ChannelKind.cs | 10 +- .../Discord/Data/Common/FileSize.cs | 7 +- .../Discord/Data/Common/IHasId.cs | 2 +- .../Discord/Data/Common/ImageCdn.cs | 14 +- .../Discord/Data/Embeds/Embed.cs | 28 +- .../Discord/Data/Embeds/EmbedAuthor.cs | 8 +- .../Discord/Data/Embeds/EmbedField.cs | 7 +- .../Discord/Data/Embeds/EmbedFooter.cs | 7 +- .../Discord/Data/Embeds/EmbedImage.cs | 8 +- .../Discord/Data/Embeds/EmbedKind.cs | 2 +- .../Discord/Data/Embeds/EmbedVideo.cs | 8 +- .../Embeds/SpotifyTrackEmbedProjection.cs | 6 +- .../Embeds/YouTubeVideoEmbedProjection.cs | 2 +- .../Discord/Data/Emoji.cs | 23 +- .../Discord/Data/EmojiIndex.cs | 17710 ++++++++-------- .../Discord/Data/Guild.cs | 17 +- .../Discord/Data/Interaction.cs | 2 +- .../Discord/Data/Invite.cs | 7 +- .../Discord/Data/Member.cs | 31 +- .../Discord/Data/Message.cs | 68 +- .../Discord/Data/MessageFlags.cs | 2 +- .../Discord/Data/MessageKind.cs | 2 +- .../Discord/Data/MessageReference.cs | 23 +- .../Discord/Data/Reaction.cs | 2 +- DiscordChatExporter.Core/Discord/Data/Role.cs | 9 +- .../Discord/Data/Sticker.cs | 19 +- .../Discord/Data/StickerFormat.cs | 2 +- DiscordChatExporter.Core/Discord/Data/User.cs | 33 +- .../Discord/DiscordClient.cs | 238 +- DiscordChatExporter.Core/Discord/Snowflake.cs | 14 +- DiscordChatExporter.Core/Discord/TokenKind.cs | 2 +- .../DiscordChatExporter.Core.csproj | 1 + .../DiscordChatExporterException.cs | 2 +- .../Exporting/ChannelExporter.cs | 24 +- .../Exporting/CsvMessageWriter.cs | 29 +- .../Exporting/ExportAssetDownloader.cs | 51 +- .../Exporting/ExportContext.cs | 74 +- .../Exporting/ExportFormat.cs | 40 +- .../Exporting/ExportRequest.cs | 85 +- .../Filtering/BinaryExpressionKind.cs | 2 +- .../BinaryExpressionMessageFilter.cs | 21 +- .../Filtering/ContainsMessageFilter.cs | 28 +- .../Exporting/Filtering/FromMessageFilter.cs | 10 +- .../Exporting/Filtering/HasMessageFilter.cs | 29 +- .../Filtering/MentionsMessageFilter.cs | 16 +- .../Filtering/MessageContentMatchKind.cs | 2 +- .../Exporting/Filtering/MessageFilter.cs | 2 +- .../Filtering/NegatedMessageFilter.cs | 2 +- .../Exporting/Filtering/NullMessageFilter.cs | 2 +- .../Filtering/Parsing/FilterGrammar.cs | 160 +- .../Filtering/ReactionMessageFilter.cs | 14 +- .../Exporting/HtmlMarkdownVisitor.cs | 156 +- .../Exporting/HtmlMessageExtensions.cs | 7 +- .../Exporting/HtmlMessageWriter.cs | 23 +- .../Exporting/JsonMessageWriter.cs | 137 +- .../Exporting/MessageExporter.cs | 36 +- .../Exporting/MessageWriter.cs | 13 +- .../Partitioning/FileSizePartitionLimit.cs | 2 +- .../MessageCountPartitionLimit.cs | 2 +- .../Partitioning/NullPartitionLimit.cs | 2 +- .../Exporting/Partitioning/PartitionLimit.cs | 14 +- .../Exporting/PlainTextMarkdownVisitor.cs | 26 +- .../Exporting/PlainTextMessageExtensions.cs | 49 +- .../Exporting/PlainTextMessageWriter.cs | 40 +- .../Markdown/EmojiNode.cs | 13 +- .../Markdown/FormattingKind.cs | 2 +- .../Markdown/FormattingNode.cs | 7 +- .../Markdown/HeadingNode.cs | 7 +- .../Markdown/IContainerNode.cs | 2 +- .../Markdown/InlineCodeBlockNode.cs | 2 +- DiscordChatExporter.Core/Markdown/LinkNode.cs | 12 +- .../Markdown/ListItemNode.cs | 2 +- DiscordChatExporter.Core/Markdown/ListNode.cs | 2 +- .../Markdown/MarkdownNode.cs | 2 +- .../Markdown/MentionKind.cs | 2 +- .../Markdown/MentionNode.cs | 2 +- .../Markdown/MultiLineCodeBlockNode.cs | 2 +- .../Markdown/Parsing/AggregateMatcher.cs | 10 +- .../Markdown/Parsing/IMatcher.cs | 20 +- .../Markdown/Parsing/MarkdownParser.cs | 570 +- .../Markdown/Parsing/MarkdownVisitor.cs | 46 +- .../Markdown/Parsing/ParsedMatch.cs | 2 +- .../Markdown/Parsing/RegexMatcher.cs | 6 +- .../Markdown/Parsing/StringMatcher.cs | 23 +- .../Markdown/Parsing/StringSegment.cs | 9 +- DiscordChatExporter.Core/Markdown/TextNode.cs | 2 +- .../Markdown/TimestampNode.cs | 2 +- .../Extensions/AsyncCollectionExtensions.cs | 9 +- .../Utils/Extensions/BinaryExtensions.cs | 6 +- .../Utils/Extensions/CollectionExtensions.cs | 5 +- .../Utils/Extensions/ColorExtensions.cs | 2 +- .../Utils/Extensions/DateExtensions.cs | 2 +- .../Utils/Extensions/ExceptionExtensions.cs | 4 +- .../Utils/Extensions/GenericExtensions.cs | 15 +- .../Utils/Extensions/HttpExtensions.cs | 6 +- .../Utils/Extensions/StringExtensions.cs | 20 +- .../Utils/Extensions/SuperpowerExtensions.cs | 17 +- .../Utils/Extensions/TimeSpanExtensions.cs | 2 +- DiscordChatExporter.Core/Utils/Http.cs | 17 +- DiscordChatExporter.Core/Utils/PathEx.cs | 8 +- DiscordChatExporter.Core/Utils/UrlBuilder.cs | 9 +- DiscordChatExporter.Gui/App.xaml.cs | 26 +- .../ChannelMultiSelectionListBoxBehavior.cs | 4 +- .../MultiSelectionListBoxBehavior.cs | 32 +- DiscordChatExporter.Gui/Bootstrapper.cs | 2 +- .../DateTimeOffsetToDateTimeConverter.cs | 15 +- .../ExportFormatToStringConverter.cs | 16 +- .../Converters/InverseBoolConverter.cs | 10 +- .../SnowflakeToDateTimeOffsetConverter.cs | 14 +- .../Converters/TimeSpanToDateTimeConverter.cs | 18 +- .../DiscordChatExporter.Gui.csproj | 1 + .../Services/SettingsService.cs | 17 +- .../Services/UpdateService.cs | 2 +- .../Utils/Internationalization.cs | 6 +- DiscordChatExporter.Gui/Utils/MediaColor.cs | 4 +- DiscordChatExporter.Gui/Utils/ProcessEx.cs | 8 +- .../Components/DashboardViewModel.cs | 65 +- .../Dialogs/ExportSetupViewModel.cs | 33 +- .../ViewModels/Dialogs/MessageBoxViewModel.cs | 13 +- .../ViewModels/Dialogs/SettingsViewModel.cs | 5 +- .../ViewModels/Framework/DialogManager.cs | 7 +- .../ViewModels/Framework/DialogScreen.cs | 4 +- .../ViewModels/Framework/IViewModelFactory.cs | 4 +- .../Messages/NotificationMessage.cs | 2 +- .../ViewModels/RootViewModel.cs | 16 +- .../Views/Components/DashboardView.xaml.cs | 2 +- .../Controls/RevealablePasswordBox.xaml.cs | 7 +- .../Views/Dialogs/ExportSetupView.xaml.cs | 2 +- .../Views/Dialogs/MessageBoxView.xaml.cs | 2 +- .../Views/Dialogs/SettingsView.xaml.cs | 2 +- .../Views/RootView.xaml.cs | 2 +- 174 files changed, 11095 insertions(+), 10681 deletions(-) diff --git a/DiscordChatExporter.Cli.Tests/DiscordChatExporter.Cli.Tests.csproj b/DiscordChatExporter.Cli.Tests/DiscordChatExporter.Cli.Tests.csproj index a6cc12b..95e7366 100644 --- a/DiscordChatExporter.Cli.Tests/DiscordChatExporter.Cli.Tests.csproj +++ b/DiscordChatExporter.Cli.Tests/DiscordChatExporter.Cli.Tests.csproj @@ -8,11 +8,11 @@ - + diff --git a/DiscordChatExporter.Cli.Tests/Infra/ChannelIds.cs b/DiscordChatExporter.Cli.Tests/Infra/ChannelIds.cs index 56944fd..f48f9b0 100644 --- a/DiscordChatExporter.Cli.Tests/Infra/ChannelIds.cs +++ b/DiscordChatExporter.Cli.Tests/Infra/ChannelIds.cs @@ -23,4 +23,4 @@ public static class ChannelIds public static Snowflake SelfContainedTestCases { get; } = Snowflake.Parse("887441432678379560"); public static Snowflake StickerTestCases { get; } = Snowflake.Parse("939668868253769729"); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Infra/ExportWrapper.cs b/DiscordChatExporter.Cli.Tests/Infra/ExportWrapper.cs index 5433909..be4a622 100644 --- a/DiscordChatExporter.Cli.Tests/Infra/ExportWrapper.cs +++ b/DiscordChatExporter.Cli.Tests/Infra/ExportWrapper.cs @@ -19,14 +19,16 @@ namespace DiscordChatExporter.Cli.Tests.Infra; public static class ExportWrapper { - private static readonly AsyncKeyedLocker Locker = new(o => - { - o.PoolSize = 20; - o.PoolInitialFill = 1; - }); + private static readonly AsyncKeyedLocker Locker = + new(o => + { + o.PoolSize = 20; + o.PoolInitialFill = 1; + }); private static readonly string DirPath = Path.Combine( - Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? Directory.GetCurrentDirectory(), + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ?? Directory.GetCurrentDirectory(), "ExportCache" ); @@ -36,9 +38,7 @@ public static class ExportWrapper { Directory.Delete(DirPath, true); } - catch (DirectoryNotFoundException) - { - } + catch (DirectoryNotFoundException) { } Directory.CreateDirectory(DirPath); } @@ -66,13 +66,11 @@ public static class ExportWrapper return await File.ReadAllTextAsync(filePath); } - public static async ValueTask ExportAsHtmlAsync(Snowflake channelId) => Html.Parse( - await ExportAsync(channelId, ExportFormat.HtmlDark) - ); + public static async ValueTask ExportAsHtmlAsync(Snowflake channelId) => + Html.Parse(await ExportAsync(channelId, ExportFormat.HtmlDark)); - public static async ValueTask ExportAsJsonAsync(Snowflake channelId) => Json.Parse( - await ExportAsync(channelId, ExportFormat.Json) - ); + public static async ValueTask ExportAsJsonAsync(Snowflake channelId) => + Json.Parse(await ExportAsync(channelId, ExportFormat.Json)); public static async ValueTask ExportAsPlainTextAsync(Snowflake channelId) => await ExportAsync(channelId, ExportFormat.PlainText); @@ -80,25 +78,26 @@ public static class ExportWrapper public static async ValueTask ExportAsCsvAsync(Snowflake channelId) => await ExportAsync(channelId, ExportFormat.Csv); - public static async ValueTask> GetMessagesAsHtmlAsync(Snowflake channelId) => - (await ExportAsHtmlAsync(channelId)) - .QuerySelectorAll("[data-message-id]") - .ToArray(); + public static async ValueTask> GetMessagesAsHtmlAsync( + Snowflake channelId + ) => (await ExportAsHtmlAsync(channelId)).QuerySelectorAll("[data-message-id]").ToArray(); - public static async ValueTask> GetMessagesAsJsonAsync(Snowflake channelId) => - (await ExportAsJsonAsync(channelId)) - .GetProperty("messages") - .EnumerateArray() - .ToArray(); + public static async ValueTask> GetMessagesAsJsonAsync( + Snowflake channelId + ) => (await ExportAsJsonAsync(channelId)).GetProperty("messages").EnumerateArray().ToArray(); - public static async ValueTask GetMessageAsHtmlAsync(Snowflake channelId, Snowflake messageId) + public static async ValueTask GetMessageAsHtmlAsync( + Snowflake channelId, + Snowflake messageId + ) { - var message = (await GetMessagesAsHtmlAsync(channelId)).SingleOrDefault(e => - string.Equals( - e.GetAttribute("data-message-id"), - messageId.ToString(), - StringComparison.OrdinalIgnoreCase - ) + var message = (await GetMessagesAsHtmlAsync(channelId)).SingleOrDefault( + e => + string.Equals( + e.GetAttribute("data-message-id"), + messageId.ToString(), + StringComparison.OrdinalIgnoreCase + ) ); if (message is null) @@ -111,14 +110,18 @@ public static class ExportWrapper return message; } - public static async ValueTask GetMessageAsJsonAsync(Snowflake channelId, Snowflake messageId) + public static async ValueTask GetMessageAsJsonAsync( + Snowflake channelId, + Snowflake messageId + ) { - var message = (await GetMessagesAsJsonAsync(channelId)).SingleOrDefault(j => - string.Equals( - j.GetProperty("id").GetString(), - messageId.ToString(), - StringComparison.OrdinalIgnoreCase - ) + var message = (await GetMessagesAsJsonAsync(channelId)).SingleOrDefault( + j => + string.Equals( + j.GetProperty("id").GetString(), + messageId.ToString(), + StringComparison.OrdinalIgnoreCase + ) ); if (message.ValueKind == JsonValueKind.Undefined) @@ -130,4 +133,4 @@ public static class ExportWrapper return message; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Infra/Secrets.cs b/DiscordChatExporter.Cli.Tests/Infra/Secrets.cs index 935477f..6714157 100644 --- a/DiscordChatExporter.Cli.Tests/Infra/Secrets.cs +++ b/DiscordChatExporter.Cli.Tests/Infra/Secrets.cs @@ -12,6 +12,6 @@ internal static class Secrets .Build(); public static string DiscordToken => - Configuration["DISCORD_TOKEN"] ?? - throw new InvalidOperationException("Discord token not provided for tests."); -} \ No newline at end of file + Configuration["DISCORD_TOKEN"] + ?? throw new InvalidOperationException("Discord token not provided for tests."); +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/CsvContentSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/CsvContentSpecs.cs index 54c1ce6..a4630d8 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/CsvContentSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/CsvContentSpecs.cs @@ -14,16 +14,18 @@ public class CsvContentSpecs var document = await ExportWrapper.ExportAsCsvAsync(ChannelIds.DateRangeTestCases); // Assert - document.Should().ContainAll( - "tyrrrz", - "Hello world", - "Goodbye world", - "Foo bar", - "Hurdle Durdle", - "One", - "Two", - "Three", - "Yeet" - ); + document + .Should() + .ContainAll( + "tyrrrz", + "Hello world", + "Goodbye world", + "Foo bar", + "Hurdle Durdle", + "One", + "Two", + "Three", + "Yeet" + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/DateRangeSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/DateRangeSpecs.cs index 4ac92db..57bd73e 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/DateRangeSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/DateRangeSpecs.cs @@ -34,8 +34,7 @@ public class DateRangeSpecs }.ExecuteAsync(new FakeConsole()); // Assert - var timestamps = Json - .Parse(await File.ReadAllTextAsync(file.Path)) + var timestamps = Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("timestamp").GetDateTimeOffset()) @@ -43,21 +42,28 @@ public class DateRangeSpecs timestamps.All(t => t > after).Should().BeTrue(); - timestamps.Should().BeEquivalentTo(new[] - { - new DateTimeOffset(2021, 07, 24, 13, 49, 13, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 24, 14, 52, 38, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 24, 14, 52, 39, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 24, 14, 52, 40, TimeSpan.Zero), - new DateTimeOffset(2021, 09, 08, 14, 26, 35, TimeSpan.Zero) - }, o => - { - return o - .Using(ctx => - ctx.Subject.Should().BeCloseTo(ctx.Expectation, TimeSpan.FromSeconds(1)) - ) - .WhenTypeIs(); - }); + timestamps + .Should() + .BeEquivalentTo( + new[] + { + new DateTimeOffset(2021, 07, 24, 13, 49, 13, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 24, 14, 52, 38, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 24, 14, 52, 39, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 24, 14, 52, 40, TimeSpan.Zero), + new DateTimeOffset(2021, 09, 08, 14, 26, 35, TimeSpan.Zero) + }, + o => + { + return o.Using( + ctx => + ctx.Subject + .Should() + .BeCloseTo(ctx.Expectation, TimeSpan.FromSeconds(1)) + ) + .WhenTypeIs(); + } + ); } [Fact] @@ -78,8 +84,7 @@ public class DateRangeSpecs }.ExecuteAsync(new FakeConsole()); // Assert - var timestamps = Json - .Parse(await File.ReadAllTextAsync(file.Path)) + var timestamps = Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("timestamp").GetDateTimeOffset()) @@ -87,19 +92,26 @@ public class DateRangeSpecs timestamps.All(t => t < before).Should().BeTrue(); - timestamps.Should().BeEquivalentTo(new[] - { - new DateTimeOffset(2021, 07, 19, 13, 34, 18, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 19, 15, 58, 48, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 19, 17, 23, 58, TimeSpan.Zero) - }, o => - { - return o - .Using(ctx => - ctx.Subject.Should().BeCloseTo(ctx.Expectation, TimeSpan.FromSeconds(1)) - ) - .WhenTypeIs(); - }); + timestamps + .Should() + .BeEquivalentTo( + new[] + { + new DateTimeOffset(2021, 07, 19, 13, 34, 18, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 19, 15, 58, 48, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 19, 17, 23, 58, TimeSpan.Zero) + }, + o => + { + return o.Using( + ctx => + ctx.Subject + .Should() + .BeCloseTo(ctx.Expectation, TimeSpan.FromSeconds(1)) + ) + .WhenTypeIs(); + } + ); } [Fact] @@ -122,8 +134,7 @@ public class DateRangeSpecs }.ExecuteAsync(new FakeConsole()); // Assert - var timestamps = Json - .Parse(await File.ReadAllTextAsync(file.Path)) + var timestamps = Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("timestamp").GetDateTimeOffset()) @@ -131,19 +142,26 @@ public class DateRangeSpecs timestamps.All(t => t < before && t > after).Should().BeTrue(); - timestamps.Should().BeEquivalentTo(new[] - { - new DateTimeOffset(2021, 07, 24, 13, 49, 13, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 24, 14, 52, 38, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 24, 14, 52, 39, TimeSpan.Zero), - new DateTimeOffset(2021, 07, 24, 14, 52, 40, TimeSpan.Zero) - }, o => - { - return o - .Using(ctx => - ctx.Subject.Should().BeCloseTo(ctx.Expectation, TimeSpan.FromSeconds(1)) - ) - .WhenTypeIs(); - }); + timestamps + .Should() + .BeEquivalentTo( + new[] + { + new DateTimeOffset(2021, 07, 24, 13, 49, 13, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 24, 14, 52, 38, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 24, 14, 52, 39, TimeSpan.Zero), + new DateTimeOffset(2021, 07, 24, 14, 52, 40, TimeSpan.Zero) + }, + o => + { + return o.Using( + ctx => + ctx.Subject + .Should() + .BeCloseTo(ctx.Expectation, TimeSpan.FromSeconds(1)) + ) + .WhenTypeIs(); + } + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/FilterSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/FilterSpecs.cs index e562ac7..d22099e 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/FilterSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/FilterSpecs.cs @@ -32,8 +32,7 @@ public class FilterSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Json - .Parse(await File.ReadAllTextAsync(file.Path)) + Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("content").GetString()) @@ -58,8 +57,7 @@ public class FilterSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Json - .Parse(await File.ReadAllTextAsync(file.Path)) + Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("author").GetProperty("name").GetString()) @@ -84,8 +82,7 @@ public class FilterSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Json - .Parse(await File.ReadAllTextAsync(file.Path)) + Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("content").GetString()) @@ -110,8 +107,7 @@ public class FilterSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Json - .Parse(await File.ReadAllTextAsync(file.Path)) + Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("content").GetString()) @@ -136,12 +132,11 @@ public class FilterSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Json - .Parse(await File.ReadAllTextAsync(file.Path)) + Json.Parse(await File.ReadAllTextAsync(file.Path)) .GetProperty("messages") .EnumerateArray() .Select(j => j.GetProperty("content").GetString()) .Should() .ContainSingle("This has mention"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlAttachmentSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlAttachmentSpecs.cs index 0bae2cc..42f7acd 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlAttachmentSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlAttachmentSpecs.cs @@ -20,11 +20,7 @@ public class HtmlAttachmentSpecs ); // Assert - message.Text().Should().ContainAll( - "Generic file attachment", - "Test.txt", - "11 bytes" - ); + message.Text().Should().ContainAll("Generic file attachment", "Test.txt", "11 bytes"); message .QuerySelectorAll("a") @@ -71,9 +67,11 @@ public class HtmlAttachmentSpecs message.Text().Should().Contain("Video attachment"); var videoUrl = message.QuerySelector("video source")?.GetAttribute("src"); - videoUrl.Should().Be( - "https://cdn.discordapp.com/attachments/885587741654536192/885655761512968233/file_example_MP4_640_3MG.mp4" - ); + videoUrl + .Should() + .Be( + "https://cdn.discordapp.com/attachments/885587741654536192/885655761512968233/file_example_MP4_640_3MG.mp4" + ); } [Fact] @@ -91,8 +89,10 @@ public class HtmlAttachmentSpecs message.Text().Should().Contain("Audio attachment"); var audioUrl = message.QuerySelector("audio source")?.GetAttribute("src"); - audioUrl.Should().Be( - "https://cdn.discordapp.com/attachments/885587741654536192/885656175348187146/file_example_MP3_1MG.mp3" - ); + audioUrl + .Should() + .Be( + "https://cdn.discordapp.com/attachments/885587741654536192/885656175348187146/file_example_MP3_1MG.mp3" + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlContentSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlContentSpecs.cs index 3ce6c59..fcb1356 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlContentSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlContentSpecs.cs @@ -16,26 +16,32 @@ public class HtmlContentSpecs var messages = await ExportWrapper.GetMessagesAsHtmlAsync(ChannelIds.DateRangeTestCases); // Assert - messages.Select(e => e.GetAttribute("data-message-id")).Should().Equal( - "866674314627121232", - "866710679758045195", - "866732113319428096", - "868490009366396958", - "868505966528835604", - "868505969821364245", - "868505973294268457", - "885169254029213696" - ); + messages + .Select(e => e.GetAttribute("data-message-id")) + .Should() + .Equal( + "866674314627121232", + "866710679758045195", + "866732113319428096", + "868490009366396958", + "868505966528835604", + "868505969821364245", + "868505973294268457", + "885169254029213696" + ); - messages.SelectMany(e => e.Text()).Should().ContainInOrder( - "Hello world", - "Goodbye world", - "Foo bar", - "Hurdle Durdle", - "One", - "Two", - "Three", - "Yeet" - ); + messages + .SelectMany(e => e.Text()) + .Should() + .ContainInOrder( + "Hello world", + "Goodbye world", + "Foo bar", + "Hurdle Durdle", + "One", + "Two", + "Three", + "Yeet" + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs index 84070bd..4c155ff 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs @@ -21,15 +21,21 @@ public class HtmlEmbedSpecs ); // Assert - message.Text().Should().ContainAll( - "Embed author", - "Embed title", - "Embed description", - "Field 1", "Value 1", - "Field 2", "Value 2", - "Field 3", "Value 3", - "Embed footer" - ); + message + .Text() + .Should() + .ContainAll( + "Embed author", + "Embed title", + "Embed description", + "Field 1", + "Value 1", + "Field 2", + "Value 2", + "Field 3", + "Value 3", + "Embed footer" + ); } [Fact] @@ -83,7 +89,12 @@ public class HtmlEmbedSpecs .QuerySelectorAll("source") .Select(e => e.GetAttribute("src")) .WhereNotNull() - .Where(s => s.EndsWith("i_am_currently_feeling_slight_displeasure_of_what_you_have_just_sent_lqrem.mp4")) + .Where( + s => + s.EndsWith( + "i_am_currently_feeling_slight_displeasure_of_what_you_have_just_sent_lqrem.mp4" + ) + ) .Should() .ContainSingle(); } @@ -193,4 +204,4 @@ public class HtmlEmbedSpecs // Assert message.Text().Should().Contain("DiscordChatExporter TestServer"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlGroupingSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlGroupingSpecs.cs index 27d59a8..769ef91 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlGroupingSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlGroupingSpecs.cs @@ -32,8 +32,7 @@ public class HtmlGroupingSpecs }.ExecuteAsync(new FakeConsole()); // Assert - var messageGroups = Html - .Parse(await File.ReadAllTextAsync(file.Path)) + var messageGroups = Html.Parse(await File.ReadAllTextAsync(file.Path)) .QuerySelectorAll(".chatlog__message-group"); messageGroups.Should().HaveCount(2); @@ -59,12 +58,6 @@ public class HtmlGroupingSpecs .QuerySelectorAll(".chatlog__content") .Select(e => e.Text()) .Should() - .ContainInOrder( - "Eleventh", - "Twelveth", - "Thirteenth", - "Fourteenth", - "Fifteenth" - ); + .ContainInOrder("Eleventh", "Twelveth", "Thirteenth", "Fourteenth", "Fifteenth"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlMarkdownSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlMarkdownSpecs.cs index fe6d168..99f917e 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlMarkdownSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlMarkdownSpecs.cs @@ -170,7 +170,10 @@ public class HtmlMarkdownSpecs ); // Assert - message.Text().Should().Contain("Full long timestamp: Sunday, February 12, 2023 3:36 PM"); + message + .Text() + .Should() + .Contain("Full long timestamp: Sunday, February 12, 2023 3:36 PM"); message.InnerHtml.Should().Contain("Sunday, February 12, 2023 3:36 PM"); } finally @@ -225,4 +228,4 @@ public class HtmlMarkdownSpecs TimeZoneInfo.ClearCachedData(); } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlMentionSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlMentionSpecs.cs index 3b827b3..afb21b8 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlMentionSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlMentionSpecs.cs @@ -61,4 +61,4 @@ public class HtmlMentionSpecs // Assert message.Text().Should().Contain("Role mention: @Role 1"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlReplySpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlReplySpecs.cs index 5747b10..01c6b68 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlReplySpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlReplySpecs.cs @@ -36,9 +36,11 @@ public class HtmlReplySpecs // Assert message.Text().Should().Contain("reply to deleted"); - message.QuerySelector(".chatlog__reply-link")?.Text().Should().Contain( - "Original message was deleted or could not be loaded." - ); + message + .QuerySelector(".chatlog__reply-link") + ?.Text() + .Should() + .Contain("Original message was deleted or could not be loaded."); } [Fact] @@ -54,7 +56,11 @@ public class HtmlReplySpecs // Assert message.Text().Should().Contain("reply to attachment"); - message.QuerySelector(".chatlog__reply-link")?.Text().Should().Contain("Click to see attachment"); + message + .QuerySelector(".chatlog__reply-link") + ?.Text() + .Should() + .Contain("Click to see attachment"); } [Fact] @@ -84,8 +90,11 @@ public class HtmlReplySpecs ); // Assert - message.Text().Should().Contain("This is a test message from an announcement channel on another server"); + message + .Text() + .Should() + .Contain("This is a test message from an announcement channel on another server"); message.Text().Should().Contain("SERVER"); message.QuerySelector(".chatlog__reply-link").Should().BeNull(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlStickerSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlStickerSpecs.cs index 7d826dd..23b5b63 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlStickerSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlStickerSpecs.cs @@ -32,7 +32,9 @@ public class HtmlStickerSpecs ); // Assert - var stickerUrl = message.QuerySelector("[title='Yikes'] [data-source]")?.GetAttribute("data-source"); + var stickerUrl = message + .QuerySelector("[title='Yikes'] [data-source]") + ?.GetAttribute("data-source"); stickerUrl.Should().Be("https://cdn.discordapp.com/stickers/816087132447178774.json"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/JsonAttachmentSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/JsonAttachmentSpecs.cs index 95122ab..26bc78d 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/JsonAttachmentSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/JsonAttachmentSpecs.cs @@ -24,9 +24,13 @@ public class JsonAttachmentSpecs var attachments = message.GetProperty("attachments").EnumerateArray().ToArray(); attachments.Should().HaveCount(1); - attachments[0].GetProperty("url").GetString().Should().Be( - "https://cdn.discordapp.com/attachments/885587741654536192/885587844964417596/Test.txt" - ); + attachments[0] + .GetProperty("url") + .GetString() + .Should() + .Be( + "https://cdn.discordapp.com/attachments/885587741654536192/885587844964417596/Test.txt" + ); attachments[0].GetProperty("fileName").GetString().Should().Be("Test.txt"); attachments[0].GetProperty("fileSizeBytes").GetInt64().Should().Be(11); } @@ -46,9 +50,13 @@ public class JsonAttachmentSpecs var attachments = message.GetProperty("attachments").EnumerateArray().ToArray(); attachments.Should().HaveCount(1); - attachments[0].GetProperty("url").GetString().Should().Be( - "https://cdn.discordapp.com/attachments/885587741654536192/885654862430359613/bird-thumbnail.png" - ); + attachments[0] + .GetProperty("url") + .GetString() + .Should() + .Be( + "https://cdn.discordapp.com/attachments/885587741654536192/885654862430359613/bird-thumbnail.png" + ); attachments[0].GetProperty("fileName").GetString().Should().Be("bird-thumbnail.png"); attachments[0].GetProperty("fileSizeBytes").GetInt64().Should().Be(466335); } @@ -68,10 +76,18 @@ public class JsonAttachmentSpecs var attachments = message.GetProperty("attachments").EnumerateArray().ToArray(); attachments.Should().HaveCount(1); - attachments[0].GetProperty("url").GetString().Should().Be( - "https://cdn.discordapp.com/attachments/885587741654536192/885655761512968233/file_example_MP4_640_3MG.mp4" - ); - attachments[0].GetProperty("fileName").GetString().Should().Be("file_example_MP4_640_3MG.mp4"); + attachments[0] + .GetProperty("url") + .GetString() + .Should() + .Be( + "https://cdn.discordapp.com/attachments/885587741654536192/885655761512968233/file_example_MP4_640_3MG.mp4" + ); + attachments[0] + .GetProperty("fileName") + .GetString() + .Should() + .Be("file_example_MP4_640_3MG.mp4"); attachments[0].GetProperty("fileSizeBytes").GetInt64().Should().Be(3114374); } @@ -90,10 +106,14 @@ public class JsonAttachmentSpecs var attachments = message.GetProperty("attachments").EnumerateArray().ToArray(); attachments.Should().HaveCount(1); - attachments[0].GetProperty("url").GetString().Should().Be( - "https://cdn.discordapp.com/attachments/885587741654536192/885656175348187146/file_example_MP3_1MG.mp3" - ); + attachments[0] + .GetProperty("url") + .GetString() + .Should() + .Be( + "https://cdn.discordapp.com/attachments/885587741654536192/885656175348187146/file_example_MP3_1MG.mp3" + ); attachments[0].GetProperty("fileName").GetString().Should().Be("file_example_MP3_1MG.mp3"); attachments[0].GetProperty("fileSizeBytes").GetInt64().Should().Be(1087849); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/JsonContentSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/JsonContentSpecs.cs index 9540982..0acc5f6 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/JsonContentSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/JsonContentSpecs.cs @@ -15,26 +15,32 @@ public class JsonContentSpecs var messages = await ExportWrapper.GetMessagesAsJsonAsync(ChannelIds.DateRangeTestCases); // Assert - messages.Select(j => j.GetProperty("id").GetString()).Should().Equal( - "866674314627121232", - "866710679758045195", - "866732113319428096", - "868490009366396958", - "868505966528835604", - "868505969821364245", - "868505973294268457", - "885169254029213696" - ); + messages + .Select(j => j.GetProperty("id").GetString()) + .Should() + .Equal( + "866674314627121232", + "866710679758045195", + "866732113319428096", + "868490009366396958", + "868505966528835604", + "868505969821364245", + "868505973294268457", + "885169254029213696" + ); - messages.Select(j => j.GetProperty("content").GetString()).Should().Equal( - "Hello world", - "Goodbye world", - "Foo bar", - "Hurdle Durdle", - "One", - "Two", - "Three", - "Yeet" - ); + messages + .Select(j => j.GetProperty("content").GetString()) + .Should() + .Equal( + "Hello world", + "Goodbye world", + "Foo bar", + "Hurdle Durdle", + "One", + "Two", + "Three", + "Yeet" + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/JsonEmbedSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/JsonEmbedSpecs.cs index 8c6350a..ad614b0 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/JsonEmbedSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/JsonEmbedSpecs.cs @@ -52,4 +52,4 @@ public class JsonEmbedSpecs embedFields[2].GetProperty("value").GetString().Should().Be("Value 3"); embedFields[2].GetProperty("isInline").GetBoolean().Should().BeTrue(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/JsonMentionSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/JsonMentionSpecs.cs index 48953b6..171dbea 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/JsonMentionSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/JsonMentionSpecs.cs @@ -39,7 +39,11 @@ public class JsonMentionSpecs ); // Assert - message.GetProperty("content").GetString().Should().Be("Text channel mention: #mention-tests"); + message + .GetProperty("content") + .GetString() + .Should() + .Be("Text channel mention: #mention-tests"); } [Fact] @@ -52,7 +56,11 @@ public class JsonMentionSpecs ); // Assert - message.GetProperty("content").GetString().Should().Be("Voice channel mention: #general [voice]"); + message + .GetProperty("content") + .GetString() + .Should() + .Be("Voice channel mention: #general [voice]"); } [Fact] @@ -67,4 +75,4 @@ public class JsonMentionSpecs // Assert message.GetProperty("content").GetString().Should().Be("Role mention: @Role 1"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/JsonStickerSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/JsonStickerSpecs.cs index c825801..f46cf84 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/JsonStickerSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/JsonStickerSpecs.cs @@ -19,15 +19,16 @@ public class JsonStickerSpecs ); // Assert - var sticker = message - .GetProperty("stickers") - .EnumerateArray() - .Single(); + var sticker = message.GetProperty("stickers").EnumerateArray().Single(); sticker.GetProperty("id").GetString().Should().Be("904215665597120572"); sticker.GetProperty("name").GetString().Should().Be("rock"); sticker.GetProperty("format").GetString().Should().Be("Apng"); - sticker.GetProperty("sourceUrl").GetString().Should().Be("https://cdn.discordapp.com/stickers/904215665597120572.png"); + sticker + .GetProperty("sourceUrl") + .GetString() + .Should() + .Be("https://cdn.discordapp.com/stickers/904215665597120572.png"); } [Fact] @@ -40,14 +41,15 @@ public class JsonStickerSpecs ); // Assert - var sticker = message - .GetProperty("stickers") - .EnumerateArray() - .Single(); + var sticker = message.GetProperty("stickers").EnumerateArray().Single(); sticker.GetProperty("id").GetString().Should().Be("816087132447178774"); sticker.GetProperty("name").GetString().Should().Be("Yikes"); sticker.GetProperty("format").GetString().Should().Be("Lottie"); - sticker.GetProperty("sourceUrl").GetString().Should().Be("https://cdn.discordapp.com/stickers/816087132447178774.json"); + sticker + .GetProperty("sourceUrl") + .GetString() + .Should() + .Be("https://cdn.discordapp.com/stickers/816087132447178774.json"); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/PartitioningSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/PartitioningSpecs.cs index 0d730d5..e9f02fe 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/PartitioningSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/PartitioningSpecs.cs @@ -31,9 +31,7 @@ public class PartitioningSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Directory.EnumerateFiles(dir.Path, "output*") - .Should() - .HaveCount(3); + Directory.EnumerateFiles(dir.Path, "output*").Should().HaveCount(3); } [Fact] @@ -54,8 +52,6 @@ public class PartitioningSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Directory.EnumerateFiles(dir.Path, "output*") - .Should() - .HaveCount(8); + Directory.EnumerateFiles(dir.Path, "output*").Should().HaveCount(8); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/PlainTextContentSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/PlainTextContentSpecs.cs index 728ea23..a65cae8 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/PlainTextContentSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/PlainTextContentSpecs.cs @@ -14,16 +14,18 @@ public class PlainTextContentSpecs var document = await ExportWrapper.ExportAsPlainTextAsync(ChannelIds.DateRangeTestCases); // Assert - document.Should().ContainAll( - "tyrrrz", - "Hello world", - "Goodbye world", - "Foo bar", - "Hurdle Durdle", - "One", - "Two", - "Three", - "Yeet" - ); + document + .Should() + .ContainAll( + "tyrrrz", + "Hello world", + "Goodbye world", + "Foo bar", + "Hurdle Durdle", + "One", + "Two", + "Three", + "Yeet" + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Specs/SelfContainedSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/SelfContainedSpecs.cs index 5e5411f..94c0e1b 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/SelfContainedSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/SelfContainedSpecs.cs @@ -31,8 +31,7 @@ public class SelfContainedSpecs }.ExecuteAsync(new FakeConsole()); // Assert - Html - .Parse(await File.ReadAllTextAsync(filePath)) + Html.Parse(await File.ReadAllTextAsync(filePath)) .QuerySelectorAll("body [src]") .Select(e => e.GetAttribute("src")!) .Select(f => Path.GetFullPath(f, dir.Path)) @@ -40,4 +39,4 @@ public class SelfContainedSpecs .Should() .BeTrue(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Utils/Html.cs b/DiscordChatExporter.Cli.Tests/Utils/Html.cs index 1d620f4..482e7d3 100644 --- a/DiscordChatExporter.Cli.Tests/Utils/Html.cs +++ b/DiscordChatExporter.Cli.Tests/Utils/Html.cs @@ -8,4 +8,4 @@ internal static class Html private static readonly IHtmlParser Parser = new HtmlParser(); public static IHtmlDocument Parse(string source) => Parser.ParseDocument(source); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs b/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs index 3a00069..28d6f58 100644 --- a/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs +++ b/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs @@ -9,8 +9,7 @@ internal partial class TempDir : IDisposable { public string Path { get; } - public TempDir(string path) => - Path = path; + public TempDir(string path) => Path = path; public void Dispose() { @@ -18,9 +17,7 @@ internal partial class TempDir : IDisposable { Directory.Delete(Path, true); } - catch (DirectoryNotFoundException) - { - } + catch (DirectoryNotFoundException) { } } } @@ -29,7 +26,8 @@ internal partial class TempDir public static TempDir Create() { var dirPath = PathEx.Combine( - PathEx.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? Directory.GetCurrentDirectory(), + PathEx.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ?? Directory.GetCurrentDirectory(), "Temp", Guid.NewGuid().ToString() ); @@ -38,4 +36,4 @@ internal partial class TempDir return new TempDir(dirPath); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs b/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs index cdf4af9..ca66739 100644 --- a/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs +++ b/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs @@ -9,8 +9,7 @@ internal partial class TempFile : IDisposable { public string Path { get; } - public TempFile(string path) => - Path = path; + public TempFile(string path) => Path = path; public void Dispose() { @@ -18,9 +17,7 @@ internal partial class TempFile : IDisposable { File.Delete(Path); } - catch (FileNotFoundException) - { - } + catch (FileNotFoundException) { } } } @@ -29,17 +26,15 @@ internal partial class TempFile public static TempFile Create() { var dirPath = PathEx.Combine( - PathEx.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? Directory.GetCurrentDirectory(), + PathEx.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ?? Directory.GetCurrentDirectory(), "Temp" ); Directory.CreateDirectory(dirPath); - var filePath = PathEx.Combine( - dirPath, - Guid.NewGuid() + ".tmp" - ); + var filePath = PathEx.Combine(dirPath, Guid.NewGuid() + ".tmp"); return new TempFile(filePath); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli.Tests/Utils/TimeZoneInfoEx.cs b/DiscordChatExporter.Cli.Tests/Utils/TimeZoneInfoEx.cs index 87c28c2..b93f8ec 100644 --- a/DiscordChatExporter.Cli.Tests/Utils/TimeZoneInfoEx.cs +++ b/DiscordChatExporter.Cli.Tests/Utils/TimeZoneInfoEx.cs @@ -11,4 +11,4 @@ internal static class TimeZoneInfoEx public static void SetLocal(TimeSpan offset) => SetLocal(TimeZoneInfo.CreateCustomTimeZone("test-tz", offset, "test-tz", "test-tz")); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs b/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs index fb18f0f..610f1dc 100644 --- a/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs +++ b/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs @@ -38,9 +38,9 @@ public abstract class DiscordCommandBase : ICommand using (console.WithForegroundColor(ConsoleColor.DarkYellow)) { console.Error.WriteLine( - "Warning: Option --bot is deprecated and should not be used. " + - "The type of the provided token is now inferred automatically. " + - "Please update your workflows as this option may be completely removed in a future version." + "Warning: Option --bot is deprecated and should not be used. " + + "The type of the provided token is now inferred automatically. " + + "Please update your workflows as this option may be completely removed in a future version." ); } } @@ -48,4 +48,4 @@ public abstract class DiscordCommandBase : ICommand return default; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs b/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs index 41fcb47..1019f86 100644 --- a/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs +++ b/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs @@ -28,11 +28,10 @@ public abstract class ExportCommandBase : DiscordCommandBase [CommandOption( "output", 'o', - Description = - "Output file or directory path. " + - "Directory path must end with a slash to avoid ambiguity. " + - "If a directory is specified, file names will be generated automatically. " + - "Supports template tokens, see the documentation for more info." + Description = "Output file or directory path. " + + "Directory path must end with a slash to avoid ambiguity. " + + "If a directory is specified, file names will be generated automatically. " + + "Supports template tokens, see the documentation for more info." )] public string OutputPath { @@ -42,11 +41,7 @@ public abstract class ExportCommandBase : DiscordCommandBase init => _outputPath = Path.GetFullPath(value); } - [CommandOption( - "format", - 'f', - Description = "Export format." - )] + [CommandOption("format", 'f', Description = "Export format.")] public ExportFormat ExportFormat { get; init; } = ExportFormat.HtmlDark; [CommandOption( @@ -64,17 +59,15 @@ public abstract class ExportCommandBase : DiscordCommandBase [CommandOption( "partition", 'p', - Description = - "Split the output into partitions, each limited to the specified " + - "number of messages (e.g. '100') or file size (e.g. '10mb')." + Description = "Split the output into partitions, each limited to the specified " + + "number of messages (e.g. '100') or file size (e.g. '10mb')." )] public PartitionLimit PartitionLimit { get; init; } = PartitionLimit.Null; [CommandOption( "filter", - Description = - "Only include messages that satisfy this filter. " + - "See the documentation for more info." + Description = "Only include messages that satisfy this filter. " + + "See the documentation for more info." )] public MessageFilter MessageFilter { get; init; } = MessageFilter.Null; @@ -106,9 +99,8 @@ public abstract class ExportCommandBase : DiscordCommandBase [CommandOption( "media-dir", - Description = - "Download assets to this directory. " + - "If not specified, the asset directory path will be derived from the output path." + Description = "Download assets to this directory. " + + "If not specified, the asset directory path will be derived from the output path." )] public string? AssetsDirPath { @@ -118,10 +110,7 @@ public abstract class ExportCommandBase : DiscordCommandBase init => _assetsDirPath = value is not null ? Path.GetFullPath(value) : null; } - [CommandOption( - "dateformat", - Description = "Format used when writing dates." - )] + [CommandOption("dateformat", Description = "Format used when writing dates.")] public string DateFormat { get; init; } = "MM/dd/yyyy h:mm tt"; [CommandOption( @@ -142,17 +131,13 @@ public abstract class ExportCommandBase : DiscordCommandBase // https://github.com/Tyrrrz/DiscordChatExporter/issues/425 if (ShouldReuseAssets && !ShouldDownloadAssets) { - throw new CommandException( - "Option --reuse-media cannot be used without --media." - ); + throw new CommandException("Option --reuse-media cannot be used without --media."); } // Assets directory can only be specified if the download assets option is set if (!string.IsNullOrWhiteSpace(AssetsDirPath) && !ShouldDownloadAssets) { - throw new CommandException( - "Option --media-dir cannot be used without --media." - ); + throw new CommandException("Option --media-dir cannot be used without --media."); } // Make sure the user does not try to export multiple channels into one file. @@ -161,17 +146,20 @@ public abstract class ExportCommandBase : DiscordCommandBase // https://github.com/Tyrrrz/DiscordChatExporter/issues/917 var isValidOutputPath = // Anything is valid when exporting a single channel - channels.Count <= 1 || + channels.Count <= 1 + || // When using template tokens, assume the user knows what they're doing - OutputPath.Contains('%') || + OutputPath.Contains('%') + || // Otherwise, require an existing directory or an unambiguous directory path - Directory.Exists(OutputPath) || PathEx.IsDirectoryPath(OutputPath); + Directory.Exists(OutputPath) + || PathEx.IsDirectoryPath(OutputPath); if (!isValidOutputPath) { throw new CommandException( - "Attempted to export multiple channels, but the output path is neither a directory nor a template. " + - "If the provided output path is meant to be treated as a directory, make sure it ends with a slash." + "Attempted to export multiple channels, but the output path is neither a directory nor a template. " + + "If the provided output path is meant to be treated as a directory, make sure it ends with a slash." ); } @@ -180,56 +168,61 @@ public abstract class ExportCommandBase : DiscordCommandBase var errorsByChannel = new ConcurrentDictionary(); await console.Output.WriteLineAsync($"Exporting {channels.Count} channel(s)..."); - await console.CreateProgressTicker().StartAsync(async progressContext => - { - await Parallel.ForEachAsync( - channels, - new ParallelOptions - { - MaxDegreeOfParallelism = Math.Max(1, ParallelLimit), - CancellationToken = cancellationToken - }, - async (channel, innerCancellationToken) => - { - try + await console + .CreateProgressTicker() + .StartAsync(async progressContext => + { + await Parallel.ForEachAsync( + channels, + new ParallelOptions { - await progressContext.StartTaskAsync( - $"{channel.Category} / {channel.Name}", - async progress => - { - var guild = await Discord.GetGuildAsync(channel.GuildId, innerCancellationToken); - - var request = new ExportRequest( - guild, - channel, - OutputPath, - AssetsDirPath, - ExportFormat, - After, - Before, - PartitionLimit, - MessageFilter, - ShouldFormatMarkdown, - ShouldDownloadAssets, - ShouldReuseAssets, - DateFormat - ); - - await Exporter.ExportChannelAsync( - request, - progress.ToPercentageBased(), - innerCancellationToken - ); - } - ); - } - catch (DiscordChatExporterException ex) when (!ex.IsFatal) + MaxDegreeOfParallelism = Math.Max(1, ParallelLimit), + CancellationToken = cancellationToken + }, + async (channel, innerCancellationToken) => { - errorsByChannel[channel] = ex.Message; + try + { + await progressContext.StartTaskAsync( + $"{channel.Category} / {channel.Name}", + async progress => + { + var guild = await Discord.GetGuildAsync( + channel.GuildId, + innerCancellationToken + ); + + var request = new ExportRequest( + guild, + channel, + OutputPath, + AssetsDirPath, + ExportFormat, + After, + Before, + PartitionLimit, + MessageFilter, + ShouldFormatMarkdown, + ShouldDownloadAssets, + ShouldReuseAssets, + DateFormat + ); + + await Exporter.ExportChannelAsync( + request, + progress.ToPercentageBased(), + innerCancellationToken + ); + } + ); + } + catch (DiscordChatExporterException ex) when (!ex.IsFatal) + { + errorsByChannel[channel] = ex.Message; + } } - } - ); - }); + ); + }); // Print the result using (console.WithForegroundColor(ConsoleColor.White)) @@ -285,8 +278,8 @@ public abstract class ExportCommandBase : DiscordCommandBase if (channel.Kind == ChannelKind.GuildCategory) { var guildChannels = - channelsByGuild.GetValueOrDefault(channel.GuildId) ?? - await Discord.GetGuildChannelsAsync(channel.GuildId, cancellationToken); + channelsByGuild.GetValueOrDefault(channel.GuildId) + ?? await Discord.GetGuildChannelsAsync(channel.GuildId, cancellationToken); foreach (var guildChannel in guildChannels) { @@ -311,18 +304,36 @@ public abstract class ExportCommandBase : DiscordCommandBase // Support Ukraine callout if (!IsUkraineSupportMessageDisabled) { - console.Output.WriteLine("┌────────────────────────────────────────────────────────────────────┐"); - console.Output.WriteLine("│ Thank you for supporting Ukraine <3 │"); - console.Output.WriteLine("│ │"); - console.Output.WriteLine("│ As Russia wages a genocidal war against my country, │"); - console.Output.WriteLine("│ I'm grateful to everyone who continues to │"); - console.Output.WriteLine("│ stand with Ukraine in our fight for freedom. │"); - console.Output.WriteLine("│ │"); - console.Output.WriteLine("│ Learn more: https://tyrrrz.me/ukraine │"); - console.Output.WriteLine("└────────────────────────────────────────────────────────────────────┘"); + console.Output.WriteLine( + "┌────────────────────────────────────────────────────────────────────┐" + ); + console.Output.WriteLine( + "│ Thank you for supporting Ukraine <3 │" + ); + console.Output.WriteLine( + "│ │" + ); + console.Output.WriteLine( + "│ As Russia wages a genocidal war against my country, │" + ); + console.Output.WriteLine( + "│ I'm grateful to everyone who continues to │" + ); + console.Output.WriteLine( + "│ stand with Ukraine in our fight for freedom. │" + ); + console.Output.WriteLine( + "│ │" + ); + console.Output.WriteLine( + "│ Learn more: https://tyrrrz.me/ukraine │" + ); + console.Output.WriteLine( + "└────────────────────────────────────────────────────────────────────┘" + ); console.Output.WriteLine(""); } await base.ExecuteAsync(console); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/Converters/TruthyBooleanBindingConverter.cs b/DiscordChatExporter.Cli/Commands/Converters/TruthyBooleanBindingConverter.cs index e5bd3bd..48bc125 100644 --- a/DiscordChatExporter.Cli/Commands/Converters/TruthyBooleanBindingConverter.cs +++ b/DiscordChatExporter.Cli/Commands/Converters/TruthyBooleanBindingConverter.cs @@ -22,4 +22,4 @@ internal class TruthyBooleanBindingConverter : BindingConverter return true; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/ExportAllCommand.cs b/DiscordChatExporter.Cli/Commands/ExportAllCommand.cs index 18191c5..349b971 100644 --- a/DiscordChatExporter.Cli/Commands/ExportAllCommand.cs +++ b/DiscordChatExporter.Cli/Commands/ExportAllCommand.cs @@ -16,41 +16,25 @@ namespace DiscordChatExporter.Cli.Commands; [Command("exportall", Description = "Exports all accessible channels.")] public class ExportAllCommand : ExportCommandBase { - [CommandOption( - "include-dm", - Description = "Include direct message channels." - )] + [CommandOption("include-dm", Description = "Include direct message channels.")] public bool IncludeDirectChannels { get; init; } = true; - [CommandOption( - "include-guilds", - Description = "Include guild channels." - )] + [CommandOption("include-guilds", Description = "Include guild channels.")] public bool IncludeGuildChannels { get; init; } = true; - [CommandOption( - "include-vc", - Description = "Include voice channels." - )] + [CommandOption("include-vc", Description = "Include voice channels.")] public bool IncludeVoiceChannels { get; init; } = true; - [CommandOption( - "include-threads", - Description = "Include threads." - )] + [CommandOption("include-threads", Description = "Include threads.")] public bool IncludeThreads { get; init; } = false; - [CommandOption( - "include-archived-threads", - Description = "Include archived threads." - )] + [CommandOption("include-archived-threads", Description = "Include archived threads.")] public bool IncludeArchivedThreads { get; init; } = false; [CommandOption( "data-package", - Description = - "Path to the personal data package (ZIP file) requested from Discord. " + - "If provided, only channels referenced in the dump will be exported." + Description = "Path to the personal data package (ZIP file) requested from Discord. " + + "If provided, only channels referenced in the dump will be exported." )] public string? DataPackageFilePath { get; init; } @@ -77,7 +61,9 @@ public class ExportAllCommand : ExportCommandBase await foreach (var guild in Discord.GetUserGuildsAsync(cancellationToken)) { // Regular channels - await foreach (var channel in Discord.GetGuildChannelsAsync(guild.Id, cancellationToken)) + await foreach ( + var channel in Discord.GetGuildChannelsAsync(guild.Id, cancellationToken) + ) { if (channel.Kind == ChannelKind.GuildCategory) continue; @@ -91,7 +77,13 @@ public class ExportAllCommand : ExportCommandBase // Threads if (IncludeThreads) { - await foreach (var thread in Discord.GetGuildThreadsAsync(guild.Id, IncludeArchivedThreads, cancellationToken)) + await foreach ( + var thread in Discord.GetGuildThreadsAsync( + guild.Id, + IncludeArchivedThreads, + cancellationToken + ) + ) { channels.Add(thread); } @@ -120,7 +112,9 @@ public class ExportAllCommand : ExportCommandBase if (channelName is null) continue; - await console.Output.WriteLineAsync($"Fetching channel '{channelName}' ({channelId})..."); + await console.Output.WriteLineAsync( + $"Fetching channel '{channelName}' ({channelId})..." + ); try { @@ -129,7 +123,9 @@ public class ExportAllCommand : ExportCommandBase } catch (DiscordChatExporterException) { - await console.Error.WriteLineAsync($"Channel '{channelName}' ({channelId}) is inaccessible."); + await console.Error.WriteLineAsync( + $"Channel '{channelName}' ({channelId}) is inaccessible." + ); } } } @@ -148,4 +144,4 @@ public class ExportAllCommand : ExportCommandBase await ExportAsync(console, channels); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/ExportChannelsCommand.cs b/DiscordChatExporter.Cli/Commands/ExportChannelsCommand.cs index 0fc648f..79566c0 100644 --- a/DiscordChatExporter.Cli/Commands/ExportChannelsCommand.cs +++ b/DiscordChatExporter.Cli/Commands/ExportChannelsCommand.cs @@ -14,9 +14,8 @@ public class ExportChannelsCommand : ExportCommandBase [CommandOption( "channel", 'c', - Description = - "Channel ID(s). " + - "If provided with category ID(s), all channels inside those categories will be exported." + Description = "Channel ID(s). " + + "If provided with category ID(s), all channels inside those categories will be exported." )] public required IReadOnlyList ChannelIds { get; init; } @@ -25,4 +24,4 @@ public class ExportChannelsCommand : ExportCommandBase await base.ExecuteAsync(console); await ExportAsync(console, ChannelIds); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/ExportDirectMessagesCommand.cs b/DiscordChatExporter.Cli/Commands/ExportDirectMessagesCommand.cs index fbbe4c9..69c80f7 100644 --- a/DiscordChatExporter.Cli/Commands/ExportDirectMessagesCommand.cs +++ b/DiscordChatExporter.Cli/Commands/ExportDirectMessagesCommand.cs @@ -17,8 +17,11 @@ public class ExportDirectMessagesCommand : ExportCommandBase var cancellationToken = console.RegisterCancellationHandler(); await console.Output.WriteLineAsync("Fetching channels..."); - var channels = await Discord.GetGuildChannelsAsync(Guild.DirectMessages.Id, cancellationToken); + var channels = await Discord.GetGuildChannelsAsync( + Guild.DirectMessages.Id, + cancellationToken + ); await ExportAsync(console, channels); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/ExportGuildCommand.cs b/DiscordChatExporter.Cli/Commands/ExportGuildCommand.cs index 7279dac..6e86a74 100644 --- a/DiscordChatExporter.Cli/Commands/ExportGuildCommand.cs +++ b/DiscordChatExporter.Cli/Commands/ExportGuildCommand.cs @@ -12,29 +12,16 @@ namespace DiscordChatExporter.Cli.Commands; [Command("exportguild", Description = "Exports all channels within the specified guild.")] public class ExportGuildCommand : ExportCommandBase { - [CommandOption( - "guild", - 'g', - Description = "Guild ID." - )] + [CommandOption("guild", 'g', Description = "Guild ID.")] public required Snowflake GuildId { get; init; } - [CommandOption( - "include-vc", - Description = "Include voice channels." - )] + [CommandOption("include-vc", Description = "Include voice channels.")] public bool IncludeVoiceChannels { get; init; } = true; - [CommandOption( - "include-threads", - Description = "Include threads." - )] + [CommandOption("include-threads", Description = "Include threads.")] public bool IncludeThreads { get; init; } = false; - [CommandOption( - "include-archived-threads", - Description = "Include archived threads." - )] + [CommandOption("include-archived-threads", Description = "Include archived threads.")] public bool IncludeArchivedThreads { get; init; } = false; public override async ValueTask ExecuteAsync(IConsole console) @@ -69,7 +56,13 @@ public class ExportGuildCommand : ExportCommandBase // Threads if (IncludeThreads) { - await foreach (var thread in Discord.GetGuildThreadsAsync(GuildId, IncludeArchivedThreads, cancellationToken)) + await foreach ( + var thread in Discord.GetGuildThreadsAsync( + GuildId, + IncludeArchivedThreads, + cancellationToken + ) + ) { channels.Add(thread); } @@ -77,4 +70,4 @@ public class ExportGuildCommand : ExportCommandBase await ExportAsync(console, channels); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/GetChannelsCommand.cs b/DiscordChatExporter.Cli/Commands/GetChannelsCommand.cs index 6b2ef0f..8fa47f3 100644 --- a/DiscordChatExporter.Cli/Commands/GetChannelsCommand.cs +++ b/DiscordChatExporter.Cli/Commands/GetChannelsCommand.cs @@ -14,29 +14,16 @@ namespace DiscordChatExporter.Cli.Commands; [Command("channels", Description = "Get the list of channels in a guild.")] public class GetChannelsCommand : DiscordCommandBase { - [CommandOption( - "guild", - 'g', - Description = "Guild ID." - )] + [CommandOption("guild", 'g', Description = "Guild ID.")] public required Snowflake GuildId { get; init; } - [CommandOption( - "include-vc", - Description = "Include voice channels." - )] + [CommandOption("include-vc", Description = "Include voice channels.")] public bool IncludeVoiceChannels { get; init; } = true; - [CommandOption( - "include-threads", - Description = "Include threads." - )] + [CommandOption("include-threads", Description = "Include threads.")] public bool IncludeThreads { get; init; } = false; - [CommandOption( - "include-archived-threads", - Description = "Include archived threads." - )] + [CommandOption("include-archived-threads", Description = "Include archived threads.")] public bool IncludeArchivedThreads { get; init; } = false; public override async ValueTask ExecuteAsync(IConsole console) @@ -66,7 +53,13 @@ public class GetChannelsCommand : DiscordCommandBase .FirstOrDefault(); var threads = IncludeThreads - ? (await Discord.GetGuildThreadsAsync(GuildId, IncludeArchivedThreads, cancellationToken)) + ? ( + await Discord.GetGuildThreadsAsync( + GuildId, + IncludeArchivedThreads, + cancellationToken + ) + ) .OrderBy(c => c.Name) .ToArray() : Array.Empty(); @@ -116,8 +109,10 @@ public class GetChannelsCommand : DiscordCommandBase // Thread status using (console.WithForegroundColor(ConsoleColor.White)) - await console.Output.WriteLineAsync(channelThread.IsArchived ? "Archived" : "Active"); + await console.Output.WriteLineAsync( + channelThread.IsArchived ? "Archived" : "Active" + ); } } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/GetDirectChannelsCommand.cs b/DiscordChatExporter.Cli/Commands/GetDirectChannelsCommand.cs index 6ae5e33..74123de 100644 --- a/DiscordChatExporter.Cli/Commands/GetDirectChannelsCommand.cs +++ b/DiscordChatExporter.Cli/Commands/GetDirectChannelsCommand.cs @@ -18,7 +18,9 @@ public class GetDirectChannelsCommand : DiscordCommandBase var cancellationToken = console.RegisterCancellationHandler(); - var channels = (await Discord.GetGuildChannelsAsync(Guild.DirectMessages.Id, cancellationToken)) + var channels = ( + await Discord.GetGuildChannelsAsync(Guild.DirectMessages.Id, cancellationToken) + ) .Where(c => c.Kind != ChannelKind.GuildCategory) .OrderByDescending(c => c.LastMessageId) .ThenBy(c => c.Name) @@ -45,4 +47,4 @@ public class GetDirectChannelsCommand : DiscordCommandBase await console.Output.WriteLineAsync($"{channel.Category} / {channel.Name}"); } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/GetGuildsCommand.cs b/DiscordChatExporter.Cli/Commands/GetGuildsCommand.cs index 0cb5c7e..d8f2876 100644 --- a/DiscordChatExporter.Cli/Commands/GetGuildsCommand.cs +++ b/DiscordChatExporter.Cli/Commands/GetGuildsCommand.cs @@ -32,9 +32,7 @@ public class GetGuildsCommand : DiscordCommandBase foreach (var guild in guilds) { // Guild ID - await console.Output.WriteAsync( - guild.Id.ToString().PadRight(guildIdMaxLength, ' ') - ); + await console.Output.WriteAsync(guild.Id.ToString().PadRight(guildIdMaxLength, ' ')); // Separator using (console.WithForegroundColor(ConsoleColor.DarkGray)) @@ -45,4 +43,4 @@ public class GetGuildsCommand : DiscordCommandBase await console.Output.WriteLineAsync(guild.Name); } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/Commands/GuideCommand.cs b/DiscordChatExporter.Cli/Commands/GuideCommand.cs index ff01d8f..837e7ba 100644 --- a/DiscordChatExporter.Cli/Commands/GuideCommand.cs +++ b/DiscordChatExporter.Cli/Commands/GuideCommand.cs @@ -15,14 +15,18 @@ public class GuideCommand : ICommand using (console.WithForegroundColor(ConsoleColor.White)) console.Output.WriteLine("To get user token:"); - console.Output.WriteLine(" * Automating user accounts is technically against TOS — USE AT YOUR OWN RISK!"); + console.Output.WriteLine( + " * Automating user accounts is technically against TOS — USE AT YOUR OWN RISK!" + ); console.Output.WriteLine(" 1. Open Discord in your web browser and login"); console.Output.WriteLine(" 2. Open any server or direct message channel"); console.Output.WriteLine(" 3. Press Ctrl+Shift+I to show developer tools"); console.Output.WriteLine(" 4. Navigate to the Network tab"); console.Output.WriteLine(" 5. Press Ctrl+R to reload"); console.Output.WriteLine(" 6. Switch between random channels to trigger network requests"); - console.Output.WriteLine(" 7. Search for a request containing \"messages?limit=50\" or similar"); + console.Output.WriteLine( + " 7. Search for a request containing \"messages?limit=50\" or similar" + ); console.Output.WriteLine(" 8. Select the Headers tab on the right"); console.Output.WriteLine(" 9. Scroll down to the Request Headers section"); console.Output.WriteLine(" 10. Copy the value of the \"authorization\" header"); @@ -36,7 +40,9 @@ public class GuideCommand : ICommand console.Output.WriteLine(" 2. Open your application's settings"); console.Output.WriteLine(" 3. Navigate to the Bot section on the left"); console.Output.WriteLine(" 4. Under Token click Copy"); - console.Output.WriteLine(" * Your bot needs to have Message Content Intent enabled to read messages"); + console.Output.WriteLine( + " * Your bot needs to have Message Content Intent enabled to read messages" + ); console.Output.WriteLine(); // Guild or channel ID @@ -47,15 +53,21 @@ public class GuideCommand : ICommand console.Output.WriteLine(" 2. Open Settings"); console.Output.WriteLine(" 3. Go to Advanced section"); console.Output.WriteLine(" 4. Enable Developer Mode"); - console.Output.WriteLine(" 5. Right-click on the desired guild or channel and click Copy Server ID or Copy Channel ID"); + console.Output.WriteLine( + " 5. Right-click on the desired guild or channel and click Copy Server ID or Copy Channel ID" + ); console.Output.WriteLine(); // Docs link using (console.WithForegroundColor(ConsoleColor.White)) - console.Output.WriteLine("If you have questions or issues, please refer to the documentation:"); + console.Output.WriteLine( + "If you have questions or issues, please refer to the documentation:" + ); using (console.WithForegroundColor(ConsoleColor.DarkCyan)) - console.Output.WriteLine("https://github.com/Tyrrrz/DiscordChatExporter/blob/master/.docs"); + console.Output.WriteLine( + "https://github.com/Tyrrrz/DiscordChatExporter/blob/master/.docs" + ); return default; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj b/DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj index 1130b43..06daef9 100644 --- a/DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj +++ b/DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj @@ -7,6 +7,7 @@ + diff --git a/DiscordChatExporter.Cli/Program.cs b/DiscordChatExporter.Cli/Program.cs index b26d622..d0d8ba9 100644 --- a/DiscordChatExporter.Cli/Program.cs +++ b/DiscordChatExporter.Cli/Program.cs @@ -1,6 +1,3 @@ using CliFx; -return await new CliApplicationBuilder() - .AddCommandsFromThisAssembly() - .Build() - .RunAsync(args); \ No newline at end of file +return await new CliApplicationBuilder().AddCommandsFromThisAssembly().Build().RunAsync(args); diff --git a/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs b/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs index f185bc4..792d71e 100644 --- a/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs +++ b/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs @@ -8,34 +8,38 @@ namespace DiscordChatExporter.Cli.Utils.Extensions; internal static class ConsoleExtensions { public static IAnsiConsole CreateAnsiConsole(this IConsole console) => - AnsiConsole.Create(new AnsiConsoleSettings - { - Ansi = AnsiSupport.Detect, - ColorSystem = ColorSystemSupport.Detect, - Out = new AnsiConsoleOutput(console.Output) - }); - - public static Progress CreateProgressTicker(this IConsole console) => console - .CreateAnsiConsole() - .Progress() - .AutoClear(false) - .AutoRefresh(true) - .HideCompleted(false) - .Columns( - new TaskDescriptionColumn {Alignment = Justify.Left}, - new ProgressBarColumn(), - new PercentageColumn() + AnsiConsole.Create( + new AnsiConsoleSettings + { + Ansi = AnsiSupport.Detect, + ColorSystem = ColorSystemSupport.Detect, + Out = new AnsiConsoleOutput(console.Output) + } ); + public static Progress CreateProgressTicker(this IConsole console) => + console + .CreateAnsiConsole() + .Progress() + .AutoClear(false) + .AutoRefresh(true) + .HideCompleted(false) + .Columns( + new TaskDescriptionColumn { Alignment = Justify.Left }, + new ProgressBarColumn(), + new PercentageColumn() + ); + public static async ValueTask StartTaskAsync( this ProgressContext progressContext, string description, - Func performOperationAsync) + Func performOperationAsync + ) { var progressTask = progressContext.AddTask( // Don't recognize random square brackets as style tags Markup.Escape(description), - new ProgressTaskSettings {MaxValue = 1} + new ProgressTaskSettings { MaxValue = 1 } ); try @@ -48,4 +52,4 @@ internal static class ConsoleExtensions progressTask.StopTask(); } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Attachment.cs b/DiscordChatExporter.Core/Discord/Data/Attachment.cs index 2bd0c4f..79d03cf 100644 --- a/DiscordChatExporter.Core/Discord/Data/Attachment.cs +++ b/DiscordChatExporter.Core/Discord/Data/Attachment.cs @@ -15,30 +15,31 @@ public partial record Attachment( string? Description, int? Width, int? Height, - FileSize FileSize) : IHasId + FileSize FileSize +) : IHasId { public string FileExtension => Path.GetExtension(FileName); public bool IsImage => - string.Equals(FileExtension, ".jpg", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".jpeg", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".png", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".gif", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".bmp", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".webp", StringComparison.OrdinalIgnoreCase); + string.Equals(FileExtension, ".jpg", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".jpeg", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".png", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".gif", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".bmp", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".webp", StringComparison.OrdinalIgnoreCase); public bool IsVideo => - string.Equals(FileExtension, ".gifv", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".mp4", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".webm", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".mov", StringComparison.OrdinalIgnoreCase); + string.Equals(FileExtension, ".gifv", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".mp4", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".webm", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".mov", StringComparison.OrdinalIgnoreCase); public bool IsAudio => - string.Equals(FileExtension, ".mp3", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".wav", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".ogg", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".flac", StringComparison.OrdinalIgnoreCase) || - string.Equals(FileExtension, ".m4a", StringComparison.OrdinalIgnoreCase); + string.Equals(FileExtension, ".mp3", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".wav", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".ogg", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".flac", StringComparison.OrdinalIgnoreCase) + || string.Equals(FileExtension, ".m4a", StringComparison.OrdinalIgnoreCase); public bool IsSpoiler => FileName.StartsWith("SPOILER_", StringComparison.Ordinal); } @@ -57,4 +58,4 @@ public partial record Attachment return new Attachment(id, url, fileName, description, width, height, fileSize); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Channel.cs b/DiscordChatExporter.Core/Discord/Data/Channel.cs index ea55a7e..981841d 100644 --- a/DiscordChatExporter.Core/Discord/Data/Channel.cs +++ b/DiscordChatExporter.Core/Discord/Data/Channel.cs @@ -17,24 +17,27 @@ public partial record Channel( string? IconUrl, string? Topic, bool IsArchived, - Snowflake? LastMessageId) : IHasId + Snowflake? LastMessageId +) : IHasId { // Used for visual backwards-compatibility with old exports, where // channels without a parent (i.e. mostly DM channels) or channels // with an inaccessible parent (i.e. inside private categories) had // a fallback category created for them. - public string Category => Parent?.Name ?? Kind switch - { - ChannelKind.GuildCategory => "Category", - ChannelKind.GuildTextChat => "Text", - ChannelKind.DirectTextChat => "Private", - ChannelKind.DirectGroupTextChat => "Group", - ChannelKind.GuildPrivateThread => "Private Thread", - ChannelKind.GuildPublicThread => "Public Thread", - ChannelKind.GuildNews => "News", - ChannelKind.GuildNewsThread => "News Thread", - _ => "Default" - }; + public string Category => + Parent?.Name + ?? Kind switch + { + ChannelKind.GuildCategory => "Category", + ChannelKind.GuildTextChat => "Text", + ChannelKind.DirectTextChat => "Private", + ChannelKind.DirectGroupTextChat => "Group", + ChannelKind.GuildPrivateThread => "Private Thread", + ChannelKind.GuildPublicThread => "Public Thread", + ChannelKind.GuildNews => "News", + ChannelKind.GuildNewsThread => "News Thread", + _ => "Default" + }; // Only needed for WPF data binding. Don't use anywhere else. public bool IsVoice => Kind.IsVoice(); @@ -48,44 +51,41 @@ public partial record Channel var kind = (ChannelKind)json.GetProperty("type").GetInt32(); var guildId = - json.GetPropertyOrNull("guild_id")?.GetNonWhiteSpaceStringOrNull()?.Pipe(Snowflake.Parse) ?? - Guild.DirectMessages.Id; + json.GetPropertyOrNull("guild_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse) ?? Guild.DirectMessages.Id; var name = // Guild channel - json.GetPropertyOrNull("name")?.GetNonWhiteSpaceStringOrNull() ?? - + json.GetPropertyOrNull("name")?.GetNonWhiteSpaceStringOrNull() + ?? // DM channel - json.GetPropertyOrNull("recipients")? - .EnumerateArrayOrNull()? - .Select(User.Parse) + json.GetPropertyOrNull("recipients") + ?.EnumerateArrayOrNull() + ?.Select(User.Parse) .Select(u => u.DisplayName) - .Pipe(s => string.Join(", ", s)) ?? - + .Pipe(s => string.Join(", ", s)) + ?? // Fallback id.ToString(); - var position = - positionHint ?? - json.GetPropertyOrNull("position")?.GetInt32OrNull(); + var position = positionHint ?? json.GetPropertyOrNull("position")?.GetInt32OrNull(); // Icons can only be set for group DM channels - var iconUrl = json - .GetPropertyOrNull("icon")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(h => ImageCdn.GetChannelIconUrl(id, h)); + var iconUrl = json.GetPropertyOrNull("icon") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(h => ImageCdn.GetChannelIconUrl(id, h)); var topic = json.GetPropertyOrNull("topic")?.GetStringOrNull(); - var isArchived = json - .GetPropertyOrNull("thread_metadata")? - .GetPropertyOrNull("archived")? - .GetBooleanOrNull() ?? false; + var isArchived = + json.GetPropertyOrNull("thread_metadata") + ?.GetPropertyOrNull("archived") + ?.GetBooleanOrNull() ?? false; - var lastMessageId = json - .GetPropertyOrNull("last_message_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse); + var lastMessageId = json.GetPropertyOrNull("last_message_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse); return new Channel( id, @@ -100,4 +100,4 @@ public partial record Channel lastMessageId ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/ChannelKind.cs b/DiscordChatExporter.Core/Discord/Data/ChannelKind.cs index 6794695..9da0c45 100644 --- a/DiscordChatExporter.Core/Discord/Data/ChannelKind.cs +++ b/DiscordChatExporter.Core/Discord/Data/ChannelKind.cs @@ -22,12 +22,14 @@ public static class ChannelKindExtensions public static bool IsDirect(this ChannelKind kind) => kind is ChannelKind.DirectTextChat or ChannelKind.DirectGroupTextChat; - public static bool IsGuild(this ChannelKind kind) => - !kind.IsDirect(); + public static bool IsGuild(this ChannelKind kind) => !kind.IsDirect(); public static bool IsVoice(this ChannelKind kind) => kind is ChannelKind.GuildVoiceChat or ChannelKind.GuildStageVoice; public static bool IsThread(this ChannelKind kind) => - kind is ChannelKind.GuildNewsThread or ChannelKind.GuildPublicThread or ChannelKind.GuildPrivateThread; -} \ No newline at end of file + kind + is ChannelKind.GuildNewsThread + or ChannelKind.GuildPublicThread + or ChannelKind.GuildPrivateThread; +} diff --git a/DiscordChatExporter.Core/Discord/Data/Common/FileSize.cs b/DiscordChatExporter.Core/Discord/Data/Common/FileSize.cs index 0038023..300557a 100644 --- a/DiscordChatExporter.Core/Discord/Data/Common/FileSize.cs +++ b/DiscordChatExporter.Core/Discord/Data/Common/FileSize.cs @@ -41,10 +41,13 @@ public readonly partial record struct FileSize(long TotalBytes) [ExcludeFromCodeCoverage] public override string ToString() => - string.Create(CultureInfo.InvariantCulture, $"{GetLargestWholeNumberValue():0.##} {GetLargestWholeNumberSymbol()}"); + string.Create( + CultureInfo.InvariantCulture, + $"{GetLargestWholeNumberValue():0.##} {GetLargestWholeNumberSymbol()}" + ); } public partial record struct FileSize { public static FileSize FromBytes(long bytes) => new(bytes); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Common/IHasId.cs b/DiscordChatExporter.Core/Discord/Data/Common/IHasId.cs index 3354e80..f501217 100644 --- a/DiscordChatExporter.Core/Discord/Data/Common/IHasId.cs +++ b/DiscordChatExporter.Core/Discord/Data/Common/IHasId.cs @@ -3,4 +3,4 @@ public interface IHasId { Snowflake Id { get; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Common/ImageCdn.cs b/DiscordChatExporter.Core/Discord/Data/Common/ImageCdn.cs index 5aa7338..eb7ff11 100644 --- a/DiscordChatExporter.Core/Discord/Data/Common/ImageCdn.cs +++ b/DiscordChatExporter.Core/Discord/Data/Common/ImageCdn.cs @@ -19,10 +19,7 @@ public static class ImageCdn ? runes : runes.Where(r => r.Value != 0xfe0f); - var twemojiId = string.Join( - "-", - filteredRunes.Select(r => r.Value.ToString("x")) - ); + var twemojiId = string.Join("-", filteredRunes.Select(r => r.Value.ToString("x"))); return $"https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/{twemojiId}.svg"; } @@ -50,11 +47,16 @@ public static class ImageCdn public static string GetFallbackUserAvatarUrl(int index = 0) => $"https://cdn.discordapp.com/embed/avatars/{index}.png"; - public static string GetMemberAvatarUrl(Snowflake guildId, Snowflake userId, string avatarHash, int size = 512) => + public static string GetMemberAvatarUrl( + Snowflake guildId, + Snowflake userId, + string avatarHash, + int size = 512 + ) => avatarHash.StartsWith("a_", StringComparison.Ordinal) ? $"https://cdn.discordapp.com/guilds/{guildId}/users/{userId}/avatars/{avatarHash}.gif?size={size}" : $"https://cdn.discordapp.com/guilds/{guildId}/users/{userId}/avatars/{avatarHash}.png?size={size}"; public static string GetStickerUrl(Snowflake stickerId, string format = "png") => $"https://cdn.discordapp.com/stickers/{stickerId}.{format}"; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs index 104632f..1d2d0b3 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs @@ -21,7 +21,8 @@ public partial record Embed( EmbedImage? Thumbnail, IReadOnlyList Images, EmbedVideo? Video, - EmbedFooter? Footer) + EmbedFooter? Footer +) { // Embeds can only have one image according to the API model, // but the client can render multiple images in some cases. @@ -41,24 +42,25 @@ public partial record Embed var title = json.GetPropertyOrNull("title")?.GetStringOrNull(); var kind = - json.GetPropertyOrNull("type")?.GetStringOrNull()?.ParseEnumOrNull() ?? - EmbedKind.Rich; + json.GetPropertyOrNull("type")?.GetStringOrNull()?.ParseEnumOrNull() + ?? EmbedKind.Rich; var url = json.GetPropertyOrNull("url")?.GetNonWhiteSpaceStringOrNull(); var timestamp = json.GetPropertyOrNull("timestamp")?.GetDateTimeOffsetOrNull(); - var color = json - .GetPropertyOrNull("color")? - .GetInt32OrNull()? - .Pipe(System.Drawing.Color.FromArgb) + var color = json.GetPropertyOrNull("color") + ?.GetInt32OrNull() + ?.Pipe(System.Drawing.Color.FromArgb) .ResetAlpha(); var author = json.GetPropertyOrNull("author")?.Pipe(EmbedAuthor.Parse); var description = json.GetPropertyOrNull("description")?.GetStringOrNull(); var fields = - json.GetPropertyOrNull("fields")?.EnumerateArrayOrNull()?.Select(EmbedField.Parse).ToArray() ?? - Array.Empty(); + json.GetPropertyOrNull("fields") + ?.EnumerateArrayOrNull() + ?.Select(EmbedField.Parse) + .ToArray() ?? Array.Empty(); var thumbnail = json.GetPropertyOrNull("thumbnail")?.Pipe(EmbedImage.Parse); @@ -70,8 +72,10 @@ public partial record Embed // with this by merging related embeds at the end of the message parsing process. // https://github.com/Tyrrrz/DiscordChatExporter/issues/695 var images = - json.GetPropertyOrNull("image")?.Pipe(EmbedImage.Parse).ToSingletonEnumerable().ToArray() ?? - Array.Empty(); + json.GetPropertyOrNull("image") + ?.Pipe(EmbedImage.Parse) + .ToSingletonEnumerable() + .ToArray() ?? Array.Empty(); var video = json.GetPropertyOrNull("video")?.Pipe(EmbedVideo.Parse); @@ -92,4 +96,4 @@ public partial record Embed footer ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedAuthor.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedAuthor.cs index 7bdba77..91793cc 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedAuthor.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedAuthor.cs @@ -4,11 +4,7 @@ using JsonExtensions.Reading; namespace DiscordChatExporter.Core.Discord.Data.Embeds; // https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure -public record EmbedAuthor( - string? Name, - string? Url, - string? IconUrl, - string? IconProxyUrl) +public record EmbedAuthor(string? Name, string? Url, string? IconUrl, string? IconProxyUrl) { public static EmbedAuthor Parse(JsonElement json) { @@ -19,4 +15,4 @@ public record EmbedAuthor( return new EmbedAuthor(name, url, iconUrl, iconProxyUrl); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedField.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedField.cs index 3ea43fa..b80ac2a 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedField.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedField.cs @@ -4,10 +4,7 @@ using JsonExtensions.Reading; namespace DiscordChatExporter.Core.Discord.Data.Embeds; // https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure -public record EmbedField( - string Name, - string Value, - bool IsInline) +public record EmbedField(string Name, string Value, bool IsInline) { public static EmbedField Parse(JsonElement json) { @@ -17,4 +14,4 @@ public record EmbedField( return new EmbedField(name, value, isInline); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedFooter.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedFooter.cs index df3549c..bac72da 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedFooter.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedFooter.cs @@ -4,10 +4,7 @@ using JsonExtensions.Reading; namespace DiscordChatExporter.Core.Discord.Data.Embeds; // https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure -public record EmbedFooter( - string Text, - string? IconUrl, - string? IconProxyUrl) +public record EmbedFooter(string Text, string? IconUrl, string? IconProxyUrl) { public static EmbedFooter Parse(JsonElement json) { @@ -17,4 +14,4 @@ public record EmbedFooter( return new EmbedFooter(text, iconUrl, iconProxyUrl); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedImage.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedImage.cs index 5d24ce3..6c8571c 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedImage.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedImage.cs @@ -4,11 +4,7 @@ using JsonExtensions.Reading; namespace DiscordChatExporter.Core.Discord.Data.Embeds; // https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure -public record EmbedImage( - string? Url, - string? ProxyUrl, - int? Width, - int? Height) +public record EmbedImage(string? Url, string? ProxyUrl, int? Width, int? Height) { public static EmbedImage Parse(JsonElement json) { @@ -19,4 +15,4 @@ public record EmbedImage( return new EmbedImage(url, proxyUrl, width, height); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedKind.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedKind.cs index 54ed848..539f862 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedKind.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedKind.cs @@ -8,4 +8,4 @@ public enum EmbedKind Video, Gifv, Link -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedVideo.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedVideo.cs index 6a48e81..1cf2cd2 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedVideo.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/EmbedVideo.cs @@ -4,11 +4,7 @@ using System.Text.Json; namespace DiscordChatExporter.Core.Discord.Data.Embeds; // https://discord.com/developers/docs/resources/channel#embed-object-embed-video-structure -public record EmbedVideo( - string? Url, - string? ProxyUrl, - int? Width, - int? Height) +public record EmbedVideo(string? Url, string? ProxyUrl, int? Width, int? Height) { public static EmbedVideo Parse(JsonElement json) { @@ -19,4 +15,4 @@ public record EmbedVideo( return new EmbedVideo(url, proxyUrl, width, height); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/SpotifyTrackEmbedProjection.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/SpotifyTrackEmbedProjection.cs index ff48f6e..05c5f67 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/SpotifyTrackEmbedProjection.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/SpotifyTrackEmbedProjection.cs @@ -12,7 +12,9 @@ public partial record SpotifyTrackEmbedProjection private static string? TryParseTrackId(string embedUrl) { // https://open.spotify.com/track/1LHZMWefF9502NPfArRfvP?si=3efac6ce9be04f0a - var trackId = Regex.Match(embedUrl, @"spotify\.com/track/(.*?)(?:\?|&|/|$)").Groups[1].Value; + var trackId = Regex.Match(embedUrl, @"spotify\.com/track/(.*?)(?:\?|&|/|$)").Groups[ + 1 + ].Value; if (!string.IsNullOrWhiteSpace(trackId)) return trackId; @@ -33,4 +35,4 @@ public partial record SpotifyTrackEmbedProjection return new SpotifyTrackEmbedProjection(trackId); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/YouTubeVideoEmbedProjection.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/YouTubeVideoEmbedProjection.cs index f8a2e1b..df02bf6 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/YouTubeVideoEmbedProjection.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/YouTubeVideoEmbedProjection.cs @@ -21,4 +21,4 @@ public partial record YouTubeVideoEmbedProjection return new YouTubeVideoEmbedProjection(videoId); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Emoji.cs b/DiscordChatExporter.Core/Discord/Data/Emoji.cs index 408b130..838a371 100644 --- a/DiscordChatExporter.Core/Discord/Data/Emoji.cs +++ b/DiscordChatExporter.Core/Discord/Data/Emoji.cs @@ -14,12 +14,11 @@ public partial record Emoji( // Name of a custom emoji (e.g. LUL) or actual representation of a standard emoji (e.g. 🙂) string Name, bool IsAnimated, - string ImageUrl) + string ImageUrl +) { // Name of a custom emoji (e.g. LUL) or name of a standard emoji (e.g. slight_smile) - public string Code => Id is not null - ? Name - : EmojiIndex.TryGetCode(Name) ?? Name; + public string Code => Id is not null ? Name : EmojiIndex.TryGetCode(Name) ?? Name; } public partial record Emoji @@ -39,19 +38,17 @@ public partial record Emoji public static Emoji Parse(JsonElement json) { - var id = json.GetPropertyOrNull("id")?.GetNonWhiteSpaceStringOrNull()?.Pipe(Snowflake.Parse); + var id = json.GetPropertyOrNull("id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse); // Names may be missing on custom emoji within reactions - var name = json.GetPropertyOrNull("name")?.GetNonWhiteSpaceStringOrNull() ?? "Unknown Emoji"; + var name = + json.GetPropertyOrNull("name")?.GetNonWhiteSpaceStringOrNull() ?? "Unknown Emoji"; var isAnimated = json.GetPropertyOrNull("animated")?.GetBooleanOrNull() ?? false; var imageUrl = GetImageUrl(id, name, isAnimated); - return new Emoji( - id, - name, - isAnimated, - imageUrl - ); + return new Emoji(id, name, isAnimated, imageUrl); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/EmojiIndex.cs b/DiscordChatExporter.Core/Discord/Data/EmojiIndex.cs index 1a44458..80d157c 100644 --- a/DiscordChatExporter.Core/Discord/Data/EmojiIndex.cs +++ b/DiscordChatExporter.Core/Discord/Data/EmojiIndex.cs @@ -8,8844 +8,8882 @@ namespace DiscordChatExporter.Core.Utils; [ExcludeFromCodeCoverage] internal static class EmojiIndex { - private static Dictionary _toCodes = new(5000, StringComparer.Ordinal) - { - ["😀"] = "grinning", - ["😃"] = "smiley", - ["😄"] = "smile", - ["😁"] = "grin", - ["😆"] = "laughing", - ["😅"] = "sweat_smile", - ["😂"] = "joy", - ["🤣"] = "rofl", - ["☺️"] = "relaxed", - ["😊"] = "blush", - ["😇"] = "innocent", - ["🙂"] = "slight_smile", - ["🙃"] = "upside_down", - ["😉"] = "wink", - ["😌"] = "relieved", - ["🥲"] = "smiling_face_with_tear", - ["😍"] = "heart_eyes", - ["🥰"] = "smiling_face_with_3_hearts", - ["😘"] = "kissing_heart", - ["😗"] = "kissing", - ["😙"] = "kissing_smiling_eyes", - ["😚"] = "kissing_closed_eyes", - ["😋"] = "yum", - ["😛"] = "stuck_out_tongue", - ["😝"] = "stuck_out_tongue_closed_eyes", - ["😜"] = "stuck_out_tongue_winking_eye", - ["🤪"] = "zany_face", - ["🤨"] = "face_with_raised_eyebrow", - ["🧐"] = "face_with_monocle", - ["🤓"] = "nerd", - ["😎"] = "sunglasses", - ["🤩"] = "star_struck", - ["🥳"] = "partying_face", - ["😏"] = "smirk", - ["😒"] = "unamused", - ["😞"] = "disappointed", - ["😔"] = "pensive", - ["😟"] = "worried", - ["😕"] = "confused", - ["🙁"] = "slight_frown", - ["☹️"] = "frowning2", - ["😣"] = "persevere", - ["😖"] = "confounded", - ["😫"] = "tired_face", - ["😩"] = "weary", - ["🥺"] = "pleading_face", - ["😢"] = "cry", - ["😭"] = "sob", - ["😤"] = "triumph", - ["😮‍💨"] = "face_exhaling", - ["😠"] = "angry", - ["😡"] = "rage", - ["🤬"] = "face_with_symbols_over_mouth", - ["🤯"] = "exploding_head", - ["😳"] = "flushed", - ["😶‍🌫️"] = "face_in_clouds", - ["🥵"] = "hot_face", - ["🥶"] = "cold_face", - ["😱"] = "scream", - ["😨"] = "fearful", - ["😰"] = "cold_sweat", - ["😥"] = "disappointed_relieved", - ["😓"] = "sweat", - ["🤗"] = "hugging", - ["🤔"] = "thinking", - ["🤭"] = "face_with_hand_over_mouth", - ["🥱"] = "yawning_face", - ["🤫"] = "shushing_face", - ["🤥"] = "lying_face", - ["😶"] = "no_mouth", - ["😐"] = "neutral_face", - ["😑"] = "expressionless", - ["😬"] = "grimacing", - ["🙄"] = "rolling_eyes", - ["😯"] = "hushed", - ["😦"] = "frowning", - ["😧"] = "anguished", - ["😮"] = "open_mouth", - ["😲"] = "astonished", - ["😴"] = "sleeping", - ["🤤"] = "drooling_face", - ["😪"] = "sleepy", - ["😵"] = "dizzy_face", - ["😵‍💫"] = "face_with_spiral_eyes", - ["🤐"] = "zipper_mouth", - ["🥴"] = "woozy_face", - ["🤢"] = "nauseated_face", - ["🤮"] = "face_vomiting", - ["🤧"] = "sneezing_face", - ["😷"] = "mask", - ["🤒"] = "thermometer_face", - ["🤕"] = "head_bandage", - ["🤑"] = "money_mouth", - ["🤠"] = "cowboy", - ["🥸"] = "disguised_face", - ["😈"] = "smiling_imp", - ["👿"] = "imp", - ["👹"] = "japanese_ogre", - ["👺"] = "japanese_goblin", - ["🤡"] = "clown", - ["💩"] = "poop", - ["👻"] = "ghost", - ["💀"] = "skull", - ["☠️"] = "skull_crossbones", - ["👽"] = "alien", - ["👾"] = "space_invader", - ["🤖"] = "robot", - ["🎃"] = "jack_o_lantern", - ["😺"] = "smiley_cat", - ["😸"] = "smile_cat", - ["😹"] = "joy_cat", - ["😻"] = "heart_eyes_cat", - ["😼"] = "smirk_cat", - ["😽"] = "kissing_cat", - ["🙀"] = "scream_cat", - ["😿"] = "crying_cat_face", - ["😾"] = "pouting_cat", - ["🤲"] = "palms_up_together", - ["🤲🏻"] = "palms_up_together_tone1", - ["🤲🏼"] = "palms_up_together_tone2", - ["🤲🏽"] = "palms_up_together_tone3", - ["🤲🏾"] = "palms_up_together_tone4", - ["🤲🏿"] = "palms_up_together_tone5", - ["👐"] = "open_hands", - ["👐🏻"] = "open_hands_tone1", - ["👐🏼"] = "open_hands_tone2", - ["👐🏽"] = "open_hands_tone3", - ["👐🏾"] = "open_hands_tone4", - ["👐🏿"] = "open_hands_tone5", - ["🙌"] = "raised_hands", - ["🙌🏻"] = "raised_hands_tone1", - ["🙌🏼"] = "raised_hands_tone2", - ["🙌🏽"] = "raised_hands_tone3", - ["🙌🏾"] = "raised_hands_tone4", - ["🙌🏿"] = "raised_hands_tone5", - ["👏"] = "clap", - ["👏🏻"] = "clap_tone1", - ["👏🏼"] = "clap_tone2", - ["👏🏽"] = "clap_tone3", - ["👏🏾"] = "clap_tone4", - ["👏🏿"] = "clap_tone5", - ["🤝"] = "handshake", - ["👍"] = "thumbsup", - ["👍🏻"] = "thumbsup_tone1", - ["👍🏼"] = "thumbsup_tone2", - ["👍🏽"] = "thumbsup_tone3", - ["👍🏾"] = "thumbsup_tone4", - ["👍🏿"] = "thumbsup_tone5", - ["👎"] = "thumbsdown", - ["👎🏻"] = "thumbsdown_tone1", - ["👎🏼"] = "thumbsdown_tone2", - ["👎🏽"] = "thumbsdown_tone3", - ["👎🏾"] = "thumbsdown_tone4", - ["👎🏿"] = "thumbsdown_tone5", - ["👊"] = "punch", - ["👊🏻"] = "punch_tone1", - ["👊🏼"] = "punch_tone2", - ["👊🏽"] = "punch_tone3", - ["👊🏾"] = "punch_tone4", - ["👊🏿"] = "punch_tone5", - ["✊"] = "fist", - ["✊🏻"] = "fist_tone1", - ["✊🏼"] = "fist_tone2", - ["✊🏽"] = "fist_tone3", - ["✊🏾"] = "fist_tone4", - ["✊🏿"] = "fist_tone5", - ["🤛"] = "left_facing_fist", - ["🤛🏻"] = "left_facing_fist_tone1", - ["🤛🏼"] = "left_facing_fist_tone2", - ["🤛🏽"] = "left_facing_fist_tone3", - ["🤛🏾"] = "left_facing_fist_tone4", - ["🤛🏿"] = "left_facing_fist_tone5", - ["🤜"] = "right_facing_fist", - ["🤜🏻"] = "right_facing_fist_tone1", - ["🤜🏼"] = "right_facing_fist_tone2", - ["🤜🏽"] = "right_facing_fist_tone3", - ["🤜🏾"] = "right_facing_fist_tone4", - ["🤜🏿"] = "right_facing_fist_tone5", - ["🤞"] = "fingers_crossed", - ["🤞🏻"] = "fingers_crossed_tone1", - ["🤞🏼"] = "fingers_crossed_tone2", - ["🤞🏽"] = "fingers_crossed_tone3", - ["🤞🏾"] = "fingers_crossed_tone4", - ["🤞🏿"] = "fingers_crossed_tone5", - ["✌️"] = "v", - ["✌🏻"] = "v_tone1", - ["✌🏼"] = "v_tone2", - ["✌🏽"] = "v_tone3", - ["✌🏾"] = "v_tone4", - ["✌🏿"] = "v_tone5", - ["🤟"] = "love_you_gesture", - ["🤟🏻"] = "love_you_gesture_tone1", - ["🤟🏼"] = "love_you_gesture_tone2", - ["🤟🏽"] = "love_you_gesture_tone3", - ["🤟🏾"] = "love_you_gesture_tone4", - ["🤟🏿"] = "love_you_gesture_tone5", - ["🤘"] = "metal", - ["🤘🏻"] = "metal_tone1", - ["🤘🏼"] = "metal_tone2", - ["🤘🏽"] = "metal_tone3", - ["🤘🏾"] = "metal_tone4", - ["🤘🏿"] = "metal_tone5", - ["👌"] = "ok_hand", - ["👌🏻"] = "ok_hand_tone1", - ["👌🏼"] = "ok_hand_tone2", - ["👌🏽"] = "ok_hand_tone3", - ["👌🏾"] = "ok_hand_tone4", - ["👌🏿"] = "ok_hand_tone5", - ["🤏"] = "pinching_hand", - ["🤏🏻"] = "pinching_hand_tone1", - ["🤏🏼"] = "pinching_hand_tone2", - ["🤏🏽"] = "pinching_hand_tone3", - ["🤏🏾"] = "pinching_hand_tone4", - ["🤏🏿"] = "pinching_hand_tone5", - ["🤌"] = "pinched_fingers", - ["🤌🏼"] = "pinched_fingers_tone2", - ["🤌🏻"] = "pinched_fingers_tone1", - ["🤌🏽"] = "pinched_fingers_tone3", - ["🤌🏾"] = "pinched_fingers_tone4", - ["🤌🏿"] = "pinched_fingers_tone5", - ["👈"] = "point_left", - ["👈🏻"] = "point_left_tone1", - ["👈🏼"] = "point_left_tone2", - ["👈🏽"] = "point_left_tone3", - ["👈🏾"] = "point_left_tone4", - ["👈🏿"] = "point_left_tone5", - ["👉"] = "point_right", - ["👉🏻"] = "point_right_tone1", - ["👉🏼"] = "point_right_tone2", - ["👉🏽"] = "point_right_tone3", - ["👉🏾"] = "point_right_tone4", - ["👉🏿"] = "point_right_tone5", - ["👆"] = "point_up_2", - ["👆🏻"] = "point_up_2_tone1", - ["👆🏼"] = "point_up_2_tone2", - ["👆🏽"] = "point_up_2_tone3", - ["👆🏾"] = "point_up_2_tone4", - ["👆🏿"] = "point_up_2_tone5", - ["👇"] = "point_down", - ["👇🏻"] = "point_down_tone1", - ["👇🏼"] = "point_down_tone2", - ["👇🏽"] = "point_down_tone3", - ["👇🏾"] = "point_down_tone4", - ["👇🏿"] = "point_down_tone5", - ["☝️"] = "point_up", - ["☝🏻"] = "point_up_tone1", - ["☝🏼"] = "point_up_tone2", - ["☝🏽"] = "point_up_tone3", - ["☝🏾"] = "point_up_tone4", - ["☝🏿"] = "point_up_tone5", - ["✋"] = "raised_hand", - ["✋🏻"] = "raised_hand_tone1", - ["✋🏼"] = "raised_hand_tone2", - ["✋🏽"] = "raised_hand_tone3", - ["✋🏾"] = "raised_hand_tone4", - ["✋🏿"] = "raised_hand_tone5", - ["🤚"] = "raised_back_of_hand", - ["🤚🏻"] = "raised_back_of_hand_tone1", - ["🤚🏼"] = "raised_back_of_hand_tone2", - ["🤚🏽"] = "raised_back_of_hand_tone3", - ["🤚🏾"] = "raised_back_of_hand_tone4", - ["🤚🏿"] = "raised_back_of_hand_tone5", - ["🖐️"] = "hand_splayed", - ["🖐🏻"] = "hand_splayed_tone1", - ["🖐🏼"] = "hand_splayed_tone2", - ["🖐🏽"] = "hand_splayed_tone3", - ["🖐🏾"] = "hand_splayed_tone4", - ["🖐🏿"] = "hand_splayed_tone5", - ["🖖"] = "vulcan", - ["🖖🏻"] = "vulcan_tone1", - ["🖖🏼"] = "vulcan_tone2", - ["🖖🏽"] = "vulcan_tone3", - ["🖖🏾"] = "vulcan_tone4", - ["🖖🏿"] = "vulcan_tone5", - ["👋"] = "wave", - ["👋🏻"] = "wave_tone1", - ["👋🏼"] = "wave_tone2", - ["👋🏽"] = "wave_tone3", - ["👋🏾"] = "wave_tone4", - ["👋🏿"] = "wave_tone5", - ["🤙"] = "call_me", - ["🤙🏻"] = "call_me_tone1", - ["🤙🏼"] = "call_me_tone2", - ["🤙🏽"] = "call_me_tone3", - ["🤙🏾"] = "call_me_tone4", - ["🤙🏿"] = "call_me_tone5", - ["💪"] = "muscle", - ["💪🏻"] = "muscle_tone1", - ["💪🏼"] = "muscle_tone2", - ["💪🏽"] = "muscle_tone3", - ["💪🏾"] = "muscle_tone4", - ["💪🏿"] = "muscle_tone5", - ["🦾"] = "mechanical_arm", - ["🖕"] = "middle_finger", - ["🖕🏻"] = "middle_finger_tone1", - ["🖕🏼"] = "middle_finger_tone2", - ["🖕🏽"] = "middle_finger_tone3", - ["🖕🏾"] = "middle_finger_tone4", - ["🖕🏿"] = "middle_finger_tone5", - ["✍️"] = "writing_hand", - ["✍🏻"] = "writing_hand_tone1", - ["✍🏼"] = "writing_hand_tone2", - ["✍🏽"] = "writing_hand_tone3", - ["✍🏾"] = "writing_hand_tone4", - ["✍🏿"] = "writing_hand_tone5", - ["🙏"] = "pray", - ["🙏🏻"] = "pray_tone1", - ["🙏🏼"] = "pray_tone2", - ["🙏🏽"] = "pray_tone3", - ["🙏🏾"] = "pray_tone4", - ["🙏🏿"] = "pray_tone5", - ["🦶"] = "foot", - ["🦶🏻"] = "foot_tone1", - ["🦶🏼"] = "foot_tone2", - ["🦶🏽"] = "foot_tone3", - ["🦶🏾"] = "foot_tone4", - ["🦶🏿"] = "foot_tone5", - ["🦵"] = "leg", - ["🦵🏻"] = "leg_tone1", - ["🦵🏼"] = "leg_tone2", - ["🦵🏽"] = "leg_tone3", - ["🦵🏾"] = "leg_tone4", - ["🦵🏿"] = "leg_tone5", - ["🦿"] = "mechanical_leg", - ["💄"] = "lipstick", - ["💋"] = "kiss", - ["👄"] = "lips", - ["🦷"] = "tooth", - ["👅"] = "tongue", - ["👂"] = "ear", - ["👂🏻"] = "ear_tone1", - ["👂🏼"] = "ear_tone2", - ["👂🏽"] = "ear_tone3", - ["👂🏾"] = "ear_tone4", - ["👂🏿"] = "ear_tone5", - ["🦻"] = "ear_with_hearing_aid", - ["🦻🏻"] = "ear_with_hearing_aid_tone1", - ["🦻🏼"] = "ear_with_hearing_aid_tone2", - ["🦻🏽"] = "ear_with_hearing_aid_tone3", - ["🦻🏾"] = "ear_with_hearing_aid_tone4", - ["🦻🏿"] = "ear_with_hearing_aid_tone5", - ["👃"] = "nose", - ["👃🏻"] = "nose_tone1", - ["👃🏼"] = "nose_tone2", - ["👃🏽"] = "nose_tone3", - ["👃🏾"] = "nose_tone4", - ["👃🏿"] = "nose_tone5", - ["👣"] = "footprints", - ["👁️"] = "eye", - ["👀"] = "eyes", - ["🧠"] = "brain", - ["🫀"] = "anatomical_heart", - ["🫁"] = "lungs", - ["🦴"] = "bone", - ["🗣️"] = "speaking_head", - ["👤"] = "bust_in_silhouette", - ["👥"] = "busts_in_silhouette", - ["🫂"] = "people_hugging", - ["👶"] = "baby", - ["👶🏻"] = "baby_tone1", - ["👶🏼"] = "baby_tone2", - ["👶🏽"] = "baby_tone3", - ["👶🏾"] = "baby_tone4", - ["👶🏿"] = "baby_tone5", - ["👧"] = "girl", - ["👧🏻"] = "girl_tone1", - ["👧🏼"] = "girl_tone2", - ["👧🏽"] = "girl_tone3", - ["👧🏾"] = "girl_tone4", - ["👧🏿"] = "girl_tone5", - ["🧒"] = "child", - ["🧒🏻"] = "child_tone1", - ["🧒🏼"] = "child_tone2", - ["🧒🏽"] = "child_tone3", - ["🧒🏾"] = "child_tone4", - ["🧒🏿"] = "child_tone5", - ["👦"] = "boy", - ["👦🏻"] = "boy_tone1", - ["👦🏼"] = "boy_tone2", - ["👦🏽"] = "boy_tone3", - ["👦🏾"] = "boy_tone4", - ["👦🏿"] = "boy_tone5", - ["👩"] = "woman", - ["👩🏻"] = "woman_tone1", - ["👩🏼"] = "woman_tone2", - ["👩🏽"] = "woman_tone3", - ["👩🏾"] = "woman_tone4", - ["👩🏿"] = "woman_tone5", - ["🧑"] = "adult", - ["🧑🏻"] = "adult_tone1", - ["🧑🏼"] = "adult_tone2", - ["🧑🏽"] = "adult_tone3", - ["🧑🏾"] = "adult_tone4", - ["🧑🏿"] = "adult_tone5", - ["👨"] = "man", - ["👨🏻"] = "man_tone1", - ["👨🏼"] = "man_tone2", - ["👨🏽"] = "man_tone3", - ["👨🏾"] = "man_tone4", - ["👨🏿"] = "man_tone5", - ["🧑‍🦱"] = "person_curly_hair", - ["🧑🏻‍🦱"] = "person_tone1_curly_hair", - ["🧑🏼‍🦱"] = "person_tone2_curly_hair", - ["🧑🏽‍🦱"] = "person_tone3_curly_hair", - ["🧑🏾‍🦱"] = "person_tone4_curly_hair", - ["🧑🏿‍🦱"] = "person_tone5_curly_hair", - ["👩‍🦱"] = "woman_curly_haired", - ["👩🏻‍🦱"] = "woman_curly_haired_tone1", - ["👩🏼‍🦱"] = "woman_curly_haired_tone2", - ["👩🏽‍🦱"] = "woman_curly_haired_tone3", - ["👩🏾‍🦱"] = "woman_curly_haired_tone4", - ["👩🏿‍🦱"] = "woman_curly_haired_tone5", - ["👨‍🦱"] = "man_curly_haired", - ["👨🏻‍🦱"] = "man_curly_haired_tone1", - ["👨🏼‍🦱"] = "man_curly_haired_tone2", - ["👨🏽‍🦱"] = "man_curly_haired_tone3", - ["👨🏾‍🦱"] = "man_curly_haired_tone4", - ["👨🏿‍🦱"] = "man_curly_haired_tone5", - ["🧑‍🦰"] = "person_red_hair", - ["🧑🏻‍🦰"] = "person_tone1_red_hair", - ["🧑🏼‍🦰"] = "person_tone2_red_hair", - ["🧑🏽‍🦰"] = "person_tone3_red_hair", - ["🧑🏾‍🦰"] = "person_tone4_red_hair", - ["🧑🏿‍🦰"] = "person_tone5_red_hair", - ["👩‍🦰"] = "woman_red_haired", - ["👩🏻‍🦰"] = "woman_red_haired_tone1", - ["👩🏼‍🦰"] = "woman_red_haired_tone2", - ["👩🏽‍🦰"] = "woman_red_haired_tone3", - ["👩🏾‍🦰"] = "woman_red_haired_tone4", - ["👩🏿‍🦰"] = "woman_red_haired_tone5", - ["👨‍🦰"] = "man_red_haired", - ["👨🏻‍🦰"] = "man_red_haired_tone1", - ["👨🏼‍🦰"] = "man_red_haired_tone2", - ["👨🏽‍🦰"] = "man_red_haired_tone3", - ["👨🏾‍🦰"] = "man_red_haired_tone4", - ["👨🏿‍🦰"] = "man_red_haired_tone5", - ["👱‍♀️"] = "blond_haired_woman", - ["👱🏻‍♀️"] = "blond_haired_woman_tone1", - ["👱🏼‍♀️"] = "blond_haired_woman_tone2", - ["👱🏽‍♀️"] = "blond_haired_woman_tone3", - ["👱🏾‍♀️"] = "blond_haired_woman_tone4", - ["👱🏿‍♀️"] = "blond_haired_woman_tone5", - ["👱"] = "blond_haired_person", - ["👱🏻"] = "blond_haired_person_tone1", - ["👱🏼"] = "blond_haired_person_tone2", - ["👱🏽"] = "blond_haired_person_tone3", - ["👱🏾"] = "blond_haired_person_tone4", - ["👱🏿"] = "blond_haired_person_tone5", - ["👱‍♂️"] = "blond_haired_man", - ["👱🏻‍♂️"] = "blond_haired_man_tone1", - ["👱🏼‍♂️"] = "blond_haired_man_tone2", - ["👱🏽‍♂️"] = "blond_haired_man_tone3", - ["👱🏾‍♂️"] = "blond_haired_man_tone4", - ["👱🏿‍♂️"] = "blond_haired_man_tone5", - ["🧑‍🦳"] = "person_white_hair", - ["🧑🏻‍🦳"] = "person_tone1_white_hair", - ["🧑🏼‍🦳"] = "person_tone2_white_hair", - ["🧑🏽‍🦳"] = "person_tone3_white_hair", - ["🧑🏾‍🦳"] = "person_tone4_white_hair", - ["🧑🏿‍🦳"] = "person_tone5_white_hair", - ["👩‍🦳"] = "woman_white_haired", - ["👩🏻‍🦳"] = "woman_white_haired_tone1", - ["👩🏼‍🦳"] = "woman_white_haired_tone2", - ["👩🏽‍🦳"] = "woman_white_haired_tone3", - ["👩🏾‍🦳"] = "woman_white_haired_tone4", - ["👩🏿‍🦳"] = "woman_white_haired_tone5", - ["👨‍🦳"] = "man_white_haired", - ["👨🏻‍🦳"] = "man_white_haired_tone1", - ["👨🏼‍🦳"] = "man_white_haired_tone2", - ["👨🏽‍🦳"] = "man_white_haired_tone3", - ["👨🏾‍🦳"] = "man_white_haired_tone4", - ["👨🏿‍🦳"] = "man_white_haired_tone5", - ["🧑‍🦲"] = "person_bald", - ["🧑🏻‍🦲"] = "person_tone1_bald", - ["🧑🏼‍🦲"] = "person_tone2_bald", - ["🧑🏽‍🦲"] = "person_tone3_bald", - ["🧑🏾‍🦲"] = "person_tone4_bald", - ["🧑🏿‍🦲"] = "person_tone5_bald", - ["👩‍🦲"] = "woman_bald", - ["👩🏻‍🦲"] = "woman_bald_tone1", - ["👩🏼‍🦲"] = "woman_bald_tone2", - ["👩🏽‍🦲"] = "woman_bald_tone3", - ["👩🏾‍🦲"] = "woman_bald_tone4", - ["👩🏿‍🦲"] = "woman_bald_tone5", - ["👨‍🦲"] = "man_bald", - ["👨🏻‍🦲"] = "man_bald_tone1", - ["👨🏼‍🦲"] = "man_bald_tone2", - ["👨🏽‍🦲"] = "man_bald_tone3", - ["👨🏾‍🦲"] = "man_bald_tone4", - ["👨🏿‍🦲"] = "man_bald_tone5", - ["🧔"] = "bearded_person", - ["🧔🏻"] = "bearded_person_tone1", - ["🧔🏼"] = "bearded_person_tone2", - ["🧔🏽"] = "bearded_person_tone3", - ["🧔🏾"] = "bearded_person_tone4", - ["🧔🏿"] = "bearded_person_tone5", - ["🧔‍♂️"] = "man_beard", - ["🧔🏻‍♂️"] = "man_tone1_beard", - ["🧔🏼‍♂️"] = "man_tone2_beard", - ["🧔🏽‍♂️"] = "man_tone3_beard", - ["🧔🏾‍♂️"] = "man_tone4_beard", - ["🧔🏿‍♂️"] = "man_tone5_beard", - ["🧔‍♀️"] = "woman_beard", - ["🧔🏻‍♀️"] = "woman_tone1_beard", - ["🧔🏼‍♀️"] = "woman_tone2_beard", - ["🧔🏽‍♀️"] = "woman_tone3_beard", - ["🧔🏾‍♀️"] = "woman_tone4_beard", - ["🧔🏿‍♀️"] = "woman_tone5_beard", - ["👵"] = "older_woman", - ["👵🏻"] = "older_woman_tone1", - ["👵🏼"] = "older_woman_tone2", - ["👵🏽"] = "older_woman_tone3", - ["👵🏾"] = "older_woman_tone4", - ["👵🏿"] = "older_woman_tone5", - ["🧓"] = "older_adult", - ["🧓🏻"] = "older_adult_tone1", - ["🧓🏼"] = "older_adult_tone2", - ["🧓🏽"] = "older_adult_tone3", - ["🧓🏾"] = "older_adult_tone4", - ["🧓🏿"] = "older_adult_tone5", - ["👴"] = "older_man", - ["👴🏻"] = "older_man_tone1", - ["👴🏼"] = "older_man_tone2", - ["👴🏽"] = "older_man_tone3", - ["👴🏾"] = "older_man_tone4", - ["👴🏿"] = "older_man_tone5", - ["👲"] = "man_with_chinese_cap", - ["👲🏻"] = "man_with_chinese_cap_tone1", - ["👲🏼"] = "man_with_chinese_cap_tone2", - ["👲🏽"] = "man_with_chinese_cap_tone3", - ["👲🏾"] = "man_with_chinese_cap_tone4", - ["👲🏿"] = "man_with_chinese_cap_tone5", - ["👳"] = "person_wearing_turban", - ["👳🏻"] = "person_wearing_turban_tone1", - ["👳🏼"] = "person_wearing_turban_tone2", - ["👳🏽"] = "person_wearing_turban_tone3", - ["👳🏾"] = "person_wearing_turban_tone4", - ["👳🏿"] = "person_wearing_turban_tone5", - ["👳‍♀️"] = "woman_wearing_turban", - ["👳🏻‍♀️"] = "woman_wearing_turban_tone1", - ["👳🏼‍♀️"] = "woman_wearing_turban_tone2", - ["👳🏽‍♀️"] = "woman_wearing_turban_tone3", - ["👳🏾‍♀️"] = "woman_wearing_turban_tone4", - ["👳🏿‍♀️"] = "woman_wearing_turban_tone5", - ["👳‍♂️"] = "man_wearing_turban", - ["👳🏻‍♂️"] = "man_wearing_turban_tone1", - ["👳🏼‍♂️"] = "man_wearing_turban_tone2", - ["👳🏽‍♂️"] = "man_wearing_turban_tone3", - ["👳🏾‍♂️"] = "man_wearing_turban_tone4", - ["👳🏿‍♂️"] = "man_wearing_turban_tone5", - ["🧕"] = "woman_with_headscarf", - ["🧕🏻"] = "woman_with_headscarf_tone1", - ["🧕🏼"] = "woman_with_headscarf_tone2", - ["🧕🏽"] = "woman_with_headscarf_tone3", - ["🧕🏾"] = "woman_with_headscarf_tone4", - ["🧕🏿"] = "woman_with_headscarf_tone5", - ["👮"] = "police_officer", - ["👮🏻"] = "police_officer_tone1", - ["👮🏼"] = "police_officer_tone2", - ["👮🏽"] = "police_officer_tone3", - ["👮🏾"] = "police_officer_tone4", - ["👮🏿"] = "police_officer_tone5", - ["👮‍♀️"] = "woman_police_officer", - ["👮🏻‍♀️"] = "woman_police_officer_tone1", - ["👮🏼‍♀️"] = "woman_police_officer_tone2", - ["👮🏽‍♀️"] = "woman_police_officer_tone3", - ["👮🏾‍♀️"] = "woman_police_officer_tone4", - ["👮🏿‍♀️"] = "woman_police_officer_tone5", - ["👮‍♂️"] = "man_police_officer", - ["👮🏻‍♂️"] = "man_police_officer_tone1", - ["👮🏼‍♂️"] = "man_police_officer_tone2", - ["👮🏽‍♂️"] = "man_police_officer_tone3", - ["👮🏾‍♂️"] = "man_police_officer_tone4", - ["👮🏿‍♂️"] = "man_police_officer_tone5", - ["👷"] = "construction_worker", - ["👷🏻"] = "construction_worker_tone1", - ["👷🏼"] = "construction_worker_tone2", - ["👷🏽"] = "construction_worker_tone3", - ["👷🏾"] = "construction_worker_tone4", - ["👷🏿"] = "construction_worker_tone5", - ["👷‍♀️"] = "woman_construction_worker", - ["👷🏻‍♀️"] = "woman_construction_worker_tone1", - ["👷🏼‍♀️"] = "woman_construction_worker_tone2", - ["👷🏽‍♀️"] = "woman_construction_worker_tone3", - ["👷🏾‍♀️"] = "woman_construction_worker_tone4", - ["👷🏿‍♀️"] = "woman_construction_worker_tone5", - ["👷‍♂️"] = "man_construction_worker", - ["👷🏻‍♂️"] = "man_construction_worker_tone1", - ["👷🏼‍♂️"] = "man_construction_worker_tone2", - ["👷🏽‍♂️"] = "man_construction_worker_tone3", - ["👷🏾‍♂️"] = "man_construction_worker_tone4", - ["👷🏿‍♂️"] = "man_construction_worker_tone5", - ["💂"] = "guard", - ["💂🏻"] = "guard_tone1", - ["💂🏼"] = "guard_tone2", - ["💂🏽"] = "guard_tone3", - ["💂🏾"] = "guard_tone4", - ["💂🏿"] = "guard_tone5", - ["💂‍♀️"] = "woman_guard", - ["💂🏻‍♀️"] = "woman_guard_tone1", - ["💂🏼‍♀️"] = "woman_guard_tone2", - ["💂🏽‍♀️"] = "woman_guard_tone3", - ["💂🏾‍♀️"] = "woman_guard_tone4", - ["💂🏿‍♀️"] = "woman_guard_tone5", - ["💂‍♂️"] = "man_guard", - ["💂🏻‍♂️"] = "man_guard_tone1", - ["💂🏼‍♂️"] = "man_guard_tone2", - ["💂🏽‍♂️"] = "man_guard_tone3", - ["💂🏾‍♂️"] = "man_guard_tone4", - ["💂🏿‍♂️"] = "man_guard_tone5", - ["🕵️"] = "detective", - ["🕵🏻"] = "detective_tone1", - ["🕵🏼"] = "detective_tone2", - ["🕵🏽"] = "detective_tone3", - ["🕵🏾"] = "detective_tone4", - ["🕵🏿"] = "detective_tone5", - ["🕵️‍♀️"] = "woman_detective", - ["🕵🏻‍♀️"] = "woman_detective_tone1", - ["🕵🏼‍♀️"] = "woman_detective_tone2", - ["🕵🏽‍♀️"] = "woman_detective_tone3", - ["🕵🏾‍♀️"] = "woman_detective_tone4", - ["🕵🏿‍♀️"] = "woman_detective_tone5", - ["🕵️‍♂️"] = "man_detective", - ["🕵🏻‍♂️"] = "man_detective_tone1", - ["🕵🏼‍♂️"] = "man_detective_tone2", - ["🕵🏽‍♂️"] = "man_detective_tone3", - ["🕵🏾‍♂️"] = "man_detective_tone4", - ["🕵🏿‍♂️"] = "man_detective_tone5", - ["🧑‍⚕️"] = "health_worker", - ["🧑🏻‍⚕️"] = "health_worker_tone1", - ["🧑🏼‍⚕️"] = "health_worker_tone2", - ["🧑🏽‍⚕️"] = "health_worker_tone3", - ["🧑🏾‍⚕️"] = "health_worker_tone4", - ["🧑🏿‍⚕️"] = "health_worker_tone5", - ["👩‍⚕️"] = "woman_health_worker", - ["👩🏻‍⚕️"] = "woman_health_worker_tone1", - ["👩🏼‍⚕️"] = "woman_health_worker_tone2", - ["👩🏽‍⚕️"] = "woman_health_worker_tone3", - ["👩🏾‍⚕️"] = "woman_health_worker_tone4", - ["👩🏿‍⚕️"] = "woman_health_worker_tone5", - ["👨‍⚕️"] = "man_health_worker", - ["👨🏻‍⚕️"] = "man_health_worker_tone1", - ["👨🏼‍⚕️"] = "man_health_worker_tone2", - ["👨🏽‍⚕️"] = "man_health_worker_tone3", - ["👨🏾‍⚕️"] = "man_health_worker_tone4", - ["👨🏿‍⚕️"] = "man_health_worker_tone5", - ["🧑‍🌾"] = "farmer", - ["🧑🏻‍🌾"] = "farmer_tone1", - ["🧑🏼‍🌾"] = "farmer_tone2", - ["🧑🏽‍🌾"] = "farmer_tone3", - ["🧑🏾‍🌾"] = "farmer_tone4", - ["🧑🏿‍🌾"] = "farmer_tone5", - ["👩‍🌾"] = "woman_farmer", - ["👩🏻‍🌾"] = "woman_farmer_tone1", - ["👩🏼‍🌾"] = "woman_farmer_tone2", - ["👩🏽‍🌾"] = "woman_farmer_tone3", - ["👩🏾‍🌾"] = "woman_farmer_tone4", - ["👩🏿‍🌾"] = "woman_farmer_tone5", - ["👨‍🌾"] = "man_farmer", - ["👨🏻‍🌾"] = "man_farmer_tone1", - ["👨🏼‍🌾"] = "man_farmer_tone2", - ["👨🏽‍🌾"] = "man_farmer_tone3", - ["👨🏾‍🌾"] = "man_farmer_tone4", - ["👨🏿‍🌾"] = "man_farmer_tone5", - ["🧑‍🍳"] = "cook", - ["🧑🏻‍🍳"] = "cook_tone1", - ["🧑🏼‍🍳"] = "cook_tone2", - ["🧑🏽‍🍳"] = "cook_tone3", - ["🧑🏾‍🍳"] = "cook_tone4", - ["🧑🏿‍🍳"] = "cook_tone5", - ["👩‍🍳"] = "woman_cook", - ["👩🏻‍🍳"] = "woman_cook_tone1", - ["👩🏼‍🍳"] = "woman_cook_tone2", - ["👩🏽‍🍳"] = "woman_cook_tone3", - ["👩🏾‍🍳"] = "woman_cook_tone4", - ["👩🏿‍🍳"] = "woman_cook_tone5", - ["👨‍🍳"] = "man_cook", - ["👨🏻‍🍳"] = "man_cook_tone1", - ["👨🏼‍🍳"] = "man_cook_tone2", - ["👨🏽‍🍳"] = "man_cook_tone3", - ["👨🏾‍🍳"] = "man_cook_tone4", - ["👨🏿‍🍳"] = "man_cook_tone5", - ["🧑‍🎓"] = "student", - ["🧑🏻‍🎓"] = "student_tone1", - ["🧑🏼‍🎓"] = "student_tone2", - ["🧑🏽‍🎓"] = "student_tone3", - ["🧑🏾‍🎓"] = "student_tone4", - ["🧑🏿‍🎓"] = "student_tone5", - ["👩‍🎓"] = "woman_student", - ["👩🏻‍🎓"] = "woman_student_tone1", - ["👩🏼‍🎓"] = "woman_student_tone2", - ["👩🏽‍🎓"] = "woman_student_tone3", - ["👩🏾‍🎓"] = "woman_student_tone4", - ["👩🏿‍🎓"] = "woman_student_tone5", - ["👨‍🎓"] = "man_student", - ["👨🏻‍🎓"] = "man_student_tone1", - ["👨🏼‍🎓"] = "man_student_tone2", - ["👨🏽‍🎓"] = "man_student_tone3", - ["👨🏾‍🎓"] = "man_student_tone4", - ["👨🏿‍🎓"] = "man_student_tone5", - ["🧑‍🎤"] = "singer", - ["🧑🏻‍🎤"] = "singer_tone1", - ["🧑🏼‍🎤"] = "singer_tone2", - ["🧑🏽‍🎤"] = "singer_tone3", - ["🧑🏾‍🎤"] = "singer_tone4", - ["🧑🏿‍🎤"] = "singer_tone5", - ["👩‍🎤"] = "woman_singer", - ["👩🏻‍🎤"] = "woman_singer_tone1", - ["👩🏼‍🎤"] = "woman_singer_tone2", - ["👩🏽‍🎤"] = "woman_singer_tone3", - ["👩🏾‍🎤"] = "woman_singer_tone4", - ["👩🏿‍🎤"] = "woman_singer_tone5", - ["👨‍🎤"] = "man_singer", - ["👨🏻‍🎤"] = "man_singer_tone1", - ["👨🏼‍🎤"] = "man_singer_tone2", - ["👨🏽‍🎤"] = "man_singer_tone3", - ["👨🏾‍🎤"] = "man_singer_tone4", - ["👨🏿‍🎤"] = "man_singer_tone5", - ["🧑‍🏫"] = "teacher", - ["🧑🏻‍🏫"] = "teacher_tone1", - ["🧑🏼‍🏫"] = "teacher_tone2", - ["🧑🏽‍🏫"] = "teacher_tone3", - ["🧑🏾‍🏫"] = "teacher_tone4", - ["🧑🏿‍🏫"] = "teacher_tone5", - ["👩‍🏫"] = "woman_teacher", - ["👩🏻‍🏫"] = "woman_teacher_tone1", - ["👩🏼‍🏫"] = "woman_teacher_tone2", - ["👩🏽‍🏫"] = "woman_teacher_tone3", - ["👩🏾‍🏫"] = "woman_teacher_tone4", - ["👩🏿‍🏫"] = "woman_teacher_tone5", - ["👨‍🏫"] = "man_teacher", - ["👨🏻‍🏫"] = "man_teacher_tone1", - ["👨🏼‍🏫"] = "man_teacher_tone2", - ["👨🏽‍🏫"] = "man_teacher_tone3", - ["👨🏾‍🏫"] = "man_teacher_tone4", - ["👨🏿‍🏫"] = "man_teacher_tone5", - ["🧑‍🏭"] = "factory_worker", - ["🧑🏻‍🏭"] = "factory_worker_tone1", - ["🧑🏼‍🏭"] = "factory_worker_tone2", - ["🧑🏽‍🏭"] = "factory_worker_tone3", - ["🧑🏾‍🏭"] = "factory_worker_tone4", - ["🧑🏿‍🏭"] = "factory_worker_tone5", - ["👩‍🏭"] = "woman_factory_worker", - ["👩🏻‍🏭"] = "woman_factory_worker_tone1", - ["👩🏼‍🏭"] = "woman_factory_worker_tone2", - ["👩🏽‍🏭"] = "woman_factory_worker_tone3", - ["👩🏾‍🏭"] = "woman_factory_worker_tone4", - ["👩🏿‍🏭"] = "woman_factory_worker_tone5", - ["👨‍🏭"] = "man_factory_worker", - ["👨🏻‍🏭"] = "man_factory_worker_tone1", - ["👨🏼‍🏭"] = "man_factory_worker_tone2", - ["👨🏽‍🏭"] = "man_factory_worker_tone3", - ["👨🏾‍🏭"] = "man_factory_worker_tone4", - ["👨🏿‍🏭"] = "man_factory_worker_tone5", - ["🧑‍💻"] = "technologist", - ["🧑🏻‍💻"] = "technologist_tone1", - ["🧑🏼‍💻"] = "technologist_tone2", - ["🧑🏽‍💻"] = "technologist_tone3", - ["🧑🏾‍💻"] = "technologist_tone4", - ["🧑🏿‍💻"] = "technologist_tone5", - ["👩‍💻"] = "woman_technologist", - ["👩🏻‍💻"] = "woman_technologist_tone1", - ["👩🏼‍💻"] = "woman_technologist_tone2", - ["👩🏽‍💻"] = "woman_technologist_tone3", - ["👩🏾‍💻"] = "woman_technologist_tone4", - ["👩🏿‍💻"] = "woman_technologist_tone5", - ["👨‍💻"] = "man_technologist", - ["👨🏻‍💻"] = "man_technologist_tone1", - ["👨🏼‍💻"] = "man_technologist_tone2", - ["👨🏽‍💻"] = "man_technologist_tone3", - ["👨🏾‍💻"] = "man_technologist_tone4", - ["👨🏿‍💻"] = "man_technologist_tone5", - ["🧑‍💼"] = "office_worker", - ["🧑🏻‍💼"] = "office_worker_tone1", - ["🧑🏼‍💼"] = "office_worker_tone2", - ["🧑🏽‍💼"] = "office_worker_tone3", - ["🧑🏾‍💼"] = "office_worker_tone4", - ["🧑🏿‍💼"] = "office_worker_tone5", - ["👩‍💼"] = "woman_office_worker", - ["👩🏻‍💼"] = "woman_office_worker_tone1", - ["👩🏼‍💼"] = "woman_office_worker_tone2", - ["👩🏽‍💼"] = "woman_office_worker_tone3", - ["👩🏾‍💼"] = "woman_office_worker_tone4", - ["👩🏿‍💼"] = "woman_office_worker_tone5", - ["👨‍💼"] = "man_office_worker", - ["👨🏻‍💼"] = "man_office_worker_tone1", - ["👨🏼‍💼"] = "man_office_worker_tone2", - ["👨🏽‍💼"] = "man_office_worker_tone3", - ["👨🏾‍💼"] = "man_office_worker_tone4", - ["👨🏿‍💼"] = "man_office_worker_tone5", - ["🧑‍🔧"] = "mechanic", - ["🧑🏻‍🔧"] = "mechanic_tone1", - ["🧑🏼‍🔧"] = "mechanic_tone2", - ["🧑🏽‍🔧"] = "mechanic_tone3", - ["🧑🏾‍🔧"] = "mechanic_tone4", - ["🧑🏿‍🔧"] = "mechanic_tone5", - ["👩‍🔧"] = "woman_mechanic", - ["👩🏻‍🔧"] = "woman_mechanic_tone1", - ["👩🏼‍🔧"] = "woman_mechanic_tone2", - ["👩🏽‍🔧"] = "woman_mechanic_tone3", - ["👩🏾‍🔧"] = "woman_mechanic_tone4", - ["👩🏿‍🔧"] = "woman_mechanic_tone5", - ["👨‍🔧"] = "man_mechanic", - ["👨🏻‍🔧"] = "man_mechanic_tone1", - ["👨🏼‍🔧"] = "man_mechanic_tone2", - ["👨🏽‍🔧"] = "man_mechanic_tone3", - ["👨🏾‍🔧"] = "man_mechanic_tone4", - ["👨🏿‍🔧"] = "man_mechanic_tone5", - ["🧑‍🔬"] = "scientist", - ["🧑🏻‍🔬"] = "scientist_tone1", - ["🧑🏼‍🔬"] = "scientist_tone2", - ["🧑🏽‍🔬"] = "scientist_tone3", - ["🧑🏾‍🔬"] = "scientist_tone4", - ["🧑🏿‍🔬"] = "scientist_tone5", - ["👩‍🔬"] = "woman_scientist", - ["👩🏻‍🔬"] = "woman_scientist_tone1", - ["👩🏼‍🔬"] = "woman_scientist_tone2", - ["👩🏽‍🔬"] = "woman_scientist_tone3", - ["👩🏾‍🔬"] = "woman_scientist_tone4", - ["👩🏿‍🔬"] = "woman_scientist_tone5", - ["👨‍🔬"] = "man_scientist", - ["👨🏻‍🔬"] = "man_scientist_tone1", - ["👨🏼‍🔬"] = "man_scientist_tone2", - ["👨🏽‍🔬"] = "man_scientist_tone3", - ["👨🏾‍🔬"] = "man_scientist_tone4", - ["👨🏿‍🔬"] = "man_scientist_tone5", - ["🧑‍🎨"] = "artist", - ["🧑🏻‍🎨"] = "artist_tone1", - ["🧑🏼‍🎨"] = "artist_tone2", - ["🧑🏽‍🎨"] = "artist_tone3", - ["🧑🏾‍🎨"] = "artist_tone4", - ["🧑🏿‍🎨"] = "artist_tone5", - ["👩‍🎨"] = "woman_artist", - ["👩🏻‍🎨"] = "woman_artist_tone1", - ["👩🏼‍🎨"] = "woman_artist_tone2", - ["👩🏽‍🎨"] = "woman_artist_tone3", - ["👩🏾‍🎨"] = "woman_artist_tone4", - ["👩🏿‍🎨"] = "woman_artist_tone5", - ["👨‍🎨"] = "man_artist", - ["👨🏻‍🎨"] = "man_artist_tone1", - ["👨🏼‍🎨"] = "man_artist_tone2", - ["👨🏽‍🎨"] = "man_artist_tone3", - ["👨🏾‍🎨"] = "man_artist_tone4", - ["👨🏿‍🎨"] = "man_artist_tone5", - ["🧑‍🚒"] = "firefighter", - ["🧑🏻‍🚒"] = "firefighter_tone1", - ["🧑🏼‍🚒"] = "firefighter_tone2", - ["🧑🏽‍🚒"] = "firefighter_tone3", - ["🧑🏾‍🚒"] = "firefighter_tone4", - ["🧑🏿‍🚒"] = "firefighter_tone5", - ["👩‍🚒"] = "woman_firefighter", - ["👩🏻‍🚒"] = "woman_firefighter_tone1", - ["👩🏼‍🚒"] = "woman_firefighter_tone2", - ["👩🏽‍🚒"] = "woman_firefighter_tone3", - ["👩🏾‍🚒"] = "woman_firefighter_tone4", - ["👩🏿‍🚒"] = "woman_firefighter_tone5", - ["👨‍🚒"] = "man_firefighter", - ["👨🏻‍🚒"] = "man_firefighter_tone1", - ["👨🏼‍🚒"] = "man_firefighter_tone2", - ["👨🏽‍🚒"] = "man_firefighter_tone3", - ["👨🏾‍🚒"] = "man_firefighter_tone4", - ["👨🏿‍🚒"] = "man_firefighter_tone5", - ["🧑‍✈️"] = "pilot", - ["🧑🏻‍✈️"] = "pilot_tone1", - ["🧑🏼‍✈️"] = "pilot_tone2", - ["🧑🏽‍✈️"] = "pilot_tone3", - ["🧑🏾‍✈️"] = "pilot_tone4", - ["🧑🏿‍✈️"] = "pilot_tone5", - ["👩‍✈️"] = "woman_pilot", - ["👩🏻‍✈️"] = "woman_pilot_tone1", - ["👩🏼‍✈️"] = "woman_pilot_tone2", - ["👩🏽‍✈️"] = "woman_pilot_tone3", - ["👩🏾‍✈️"] = "woman_pilot_tone4", - ["👩🏿‍✈️"] = "woman_pilot_tone5", - ["👨‍✈️"] = "man_pilot", - ["👨🏻‍✈️"] = "man_pilot_tone1", - ["👨🏼‍✈️"] = "man_pilot_tone2", - ["👨🏽‍✈️"] = "man_pilot_tone3", - ["👨🏾‍✈️"] = "man_pilot_tone4", - ["👨🏿‍✈️"] = "man_pilot_tone5", - ["🧑‍🚀"] = "astronaut", - ["🧑🏻‍🚀"] = "astronaut_tone1", - ["🧑🏼‍🚀"] = "astronaut_tone2", - ["🧑🏽‍🚀"] = "astronaut_tone3", - ["🧑🏾‍🚀"] = "astronaut_tone4", - ["🧑🏿‍🚀"] = "astronaut_tone5", - ["👩‍🚀"] = "woman_astronaut", - ["👩🏻‍🚀"] = "woman_astronaut_tone1", - ["👩🏼‍🚀"] = "woman_astronaut_tone2", - ["👩🏽‍🚀"] = "woman_astronaut_tone3", - ["👩🏾‍🚀"] = "woman_astronaut_tone4", - ["👩🏿‍🚀"] = "woman_astronaut_tone5", - ["👨‍🚀"] = "man_astronaut", - ["👨🏻‍🚀"] = "man_astronaut_tone1", - ["👨🏼‍🚀"] = "man_astronaut_tone2", - ["👨🏽‍🚀"] = "man_astronaut_tone3", - ["👨🏾‍🚀"] = "man_astronaut_tone4", - ["👨🏿‍🚀"] = "man_astronaut_tone5", - ["🧑‍⚖️"] = "judge", - ["🧑🏻‍⚖️"] = "judge_tone1", - ["🧑🏼‍⚖️"] = "judge_tone2", - ["🧑🏽‍⚖️"] = "judge_tone3", - ["🧑🏾‍⚖️"] = "judge_tone4", - ["🧑🏿‍⚖️"] = "judge_tone5", - ["👩‍⚖️"] = "woman_judge", - ["👩🏻‍⚖️"] = "woman_judge_tone1", - ["👩🏼‍⚖️"] = "woman_judge_tone2", - ["👩🏽‍⚖️"] = "woman_judge_tone3", - ["👩🏾‍⚖️"] = "woman_judge_tone4", - ["👩🏿‍⚖️"] = "woman_judge_tone5", - ["👨‍⚖️"] = "man_judge", - ["👨🏻‍⚖️"] = "man_judge_tone1", - ["👨🏼‍⚖️"] = "man_judge_tone2", - ["👨🏽‍⚖️"] = "man_judge_tone3", - ["👨🏾‍⚖️"] = "man_judge_tone4", - ["👨🏿‍⚖️"] = "man_judge_tone5", - ["👰"] = "person_with_veil", - ["👰🏻"] = "person_with_veil_tone1", - ["👰🏼"] = "person_with_veil_tone2", - ["👰🏽"] = "person_with_veil_tone3", - ["👰🏾"] = "person_with_veil_tone4", - ["👰🏿"] = "person_with_veil_tone5", - ["👰‍♀️"] = "woman_with_veil", - ["👰🏻‍♀️"] = "woman_with_veil_tone1", - ["👰🏼‍♀️"] = "woman_with_veil_tone2", - ["👰🏽‍♀️"] = "woman_with_veil_tone3", - ["👰🏾‍♀️"] = "woman_with_veil_tone4", - ["👰🏿‍♀️"] = "woman_with_veil_tone5", - ["👰‍♂️"] = "man_with_veil", - ["👰🏻‍♂️"] = "man_with_veil_tone1", - ["👰🏼‍♂️"] = "man_with_veil_tone2", - ["👰🏽‍♂️"] = "man_with_veil_tone3", - ["👰🏾‍♂️"] = "man_with_veil_tone4", - ["👰🏿‍♂️"] = "man_with_veil_tone5", - ["🤵"] = "person_in_tuxedo", - ["🤵🏻"] = "person_in_tuxedo_tone1", - ["🤵🏼"] = "person_in_tuxedo_tone2", - ["🤵🏽"] = "person_in_tuxedo_tone3", - ["🤵🏾"] = "person_in_tuxedo_tone4", - ["🤵🏿"] = "person_in_tuxedo_tone5", - ["🤵‍♀️"] = "woman_in_tuxedo", - ["🤵🏻‍♀️"] = "woman_in_tuxedo_tone1", - ["🤵🏼‍♀️"] = "woman_in_tuxedo_tone2", - ["🤵🏽‍♀️"] = "woman_in_tuxedo_tone3", - ["🤵🏾‍♀️"] = "woman_in_tuxedo_tone4", - ["🤵🏿‍♀️"] = "woman_in_tuxedo_tone5", - ["🤵‍♂️"] = "man_in_tuxedo", - ["🤵🏻‍♂️"] = "man_in_tuxedo_tone1", - ["🤵🏼‍♂️"] = "man_in_tuxedo_tone2", - ["🤵🏽‍♂️"] = "man_in_tuxedo_tone3", - ["🤵🏾‍♂️"] = "man_in_tuxedo_tone4", - ["🤵🏿‍♂️"] = "man_in_tuxedo_tone5", - ["👸"] = "princess", - ["👸🏻"] = "princess_tone1", - ["👸🏼"] = "princess_tone2", - ["👸🏽"] = "princess_tone3", - ["👸🏾"] = "princess_tone4", - ["👸🏿"] = "princess_tone5", - ["🤴"] = "prince", - ["🤴🏻"] = "prince_tone1", - ["🤴🏼"] = "prince_tone2", - ["🤴🏽"] = "prince_tone3", - ["🤴🏾"] = "prince_tone4", - ["🤴🏿"] = "prince_tone5", - ["🦸"] = "superhero", - ["🦸🏻"] = "superhero_tone1", - ["🦸🏼"] = "superhero_tone2", - ["🦸🏽"] = "superhero_tone3", - ["🦸🏾"] = "superhero_tone4", - ["🦸🏿"] = "superhero_tone5", - ["🦸‍♀️"] = "woman_superhero", - ["🦸🏻‍♀️"] = "woman_superhero_tone1", - ["🦸🏼‍♀️"] = "woman_superhero_tone2", - ["🦸🏽‍♀️"] = "woman_superhero_tone3", - ["🦸🏾‍♀️"] = "woman_superhero_tone4", - ["🦸🏿‍♀️"] = "woman_superhero_tone5", - ["🦸‍♂️"] = "man_superhero", - ["🦸🏻‍♂️"] = "man_superhero_tone1", - ["🦸🏼‍♂️"] = "man_superhero_tone2", - ["🦸🏽‍♂️"] = "man_superhero_tone3", - ["🦸🏾‍♂️"] = "man_superhero_tone4", - ["🦸🏿‍♂️"] = "man_superhero_tone5", - ["🦹"] = "supervillain", - ["🦹🏻"] = "supervillain_tone1", - ["🦹🏼"] = "supervillain_tone2", - ["🦹🏽"] = "supervillain_tone3", - ["🦹🏾"] = "supervillain_tone4", - ["🦹🏿"] = "supervillain_tone5", - ["🦹‍♀️"] = "woman_supervillain", - ["🦹🏻‍♀️"] = "woman_supervillain_tone1", - ["🦹🏼‍♀️"] = "woman_supervillain_tone2", - ["🦹🏽‍♀️"] = "woman_supervillain_tone3", - ["🦹🏾‍♀️"] = "woman_supervillain_tone4", - ["🦹🏿‍♀️"] = "woman_supervillain_tone5", - ["🦹‍♂️"] = "man_supervillain", - ["🦹🏻‍♂️"] = "man_supervillain_tone1", - ["🦹🏼‍♂️"] = "man_supervillain_tone2", - ["🦹🏽‍♂️"] = "man_supervillain_tone3", - ["🦹🏾‍♂️"] = "man_supervillain_tone4", - ["🦹🏿‍♂️"] = "man_supervillain_tone5", - ["🥷"] = "ninja", - ["🥷🏻"] = "ninja_tone1", - ["🥷🏼"] = "ninja_tone2", - ["🥷🏽"] = "ninja_tone3", - ["🥷🏾"] = "ninja_tone4", - ["🥷🏿"] = "ninja_tone5", - ["🧑‍🎄"] = "mx_claus", - ["🧑🏻‍🎄"] = "mx_claus_tone1", - ["🧑🏼‍🎄"] = "mx_claus_tone2", - ["🧑🏽‍🎄"] = "mx_claus_tone3", - ["🧑🏾‍🎄"] = "mx_claus_tone4", - ["🧑🏿‍🎄"] = "mx_claus_tone5", - ["🤶"] = "mrs_claus", - ["🤶🏻"] = "mrs_claus_tone1", - ["🤶🏼"] = "mrs_claus_tone2", - ["🤶🏽"] = "mrs_claus_tone3", - ["🤶🏾"] = "mrs_claus_tone4", - ["🤶🏿"] = "mrs_claus_tone5", - ["🎅"] = "santa", - ["🎅🏻"] = "santa_tone1", - ["🎅🏼"] = "santa_tone2", - ["🎅🏽"] = "santa_tone3", - ["🎅🏾"] = "santa_tone4", - ["🎅🏿"] = "santa_tone5", - ["🧙"] = "mage", - ["🧙🏻"] = "mage_tone1", - ["🧙🏼"] = "mage_tone2", - ["🧙🏽"] = "mage_tone3", - ["🧙🏾"] = "mage_tone4", - ["🧙🏿"] = "mage_tone5", - ["🧙‍♀️"] = "woman_mage", - ["🧙🏻‍♀️"] = "woman_mage_tone1", - ["🧙🏼‍♀️"] = "woman_mage_tone2", - ["🧙🏽‍♀️"] = "woman_mage_tone3", - ["🧙🏾‍♀️"] = "woman_mage_tone4", - ["🧙🏿‍♀️"] = "woman_mage_tone5", - ["🧙‍♂️"] = "man_mage", - ["🧙🏻‍♂️"] = "man_mage_tone1", - ["🧙🏼‍♂️"] = "man_mage_tone2", - ["🧙🏽‍♂️"] = "man_mage_tone3", - ["🧙🏾‍♂️"] = "man_mage_tone4", - ["🧙🏿‍♂️"] = "man_mage_tone5", - ["🧝"] = "elf", - ["🧝🏻"] = "elf_tone1", - ["🧝🏼"] = "elf_tone2", - ["🧝🏽"] = "elf_tone3", - ["🧝🏾"] = "elf_tone4", - ["🧝🏿"] = "elf_tone5", - ["🧝‍♀️"] = "woman_elf", - ["🧝🏻‍♀️"] = "woman_elf_tone1", - ["🧝🏼‍♀️"] = "woman_elf_tone2", - ["🧝🏽‍♀️"] = "woman_elf_tone3", - ["🧝🏾‍♀️"] = "woman_elf_tone4", - ["🧝🏿‍♀️"] = "woman_elf_tone5", - ["🧝‍♂️"] = "man_elf", - ["🧝🏻‍♂️"] = "man_elf_tone1", - ["🧝🏼‍♂️"] = "man_elf_tone2", - ["🧝🏽‍♂️"] = "man_elf_tone3", - ["🧝🏾‍♂️"] = "man_elf_tone4", - ["🧝🏿‍♂️"] = "man_elf_tone5", - ["🧛"] = "vampire", - ["🧛🏻"] = "vampire_tone1", - ["🧛🏼"] = "vampire_tone2", - ["🧛🏽"] = "vampire_tone3", - ["🧛🏾"] = "vampire_tone4", - ["🧛🏿"] = "vampire_tone5", - ["🧛‍♀️"] = "woman_vampire", - ["🧛🏻‍♀️"] = "woman_vampire_tone1", - ["🧛🏼‍♀️"] = "woman_vampire_tone2", - ["🧛🏽‍♀️"] = "woman_vampire_tone3", - ["🧛🏾‍♀️"] = "woman_vampire_tone4", - ["🧛🏿‍♀️"] = "woman_vampire_tone5", - ["🧛‍♂️"] = "man_vampire", - ["🧛🏻‍♂️"] = "man_vampire_tone1", - ["🧛🏼‍♂️"] = "man_vampire_tone2", - ["🧛🏽‍♂️"] = "man_vampire_tone3", - ["🧛🏾‍♂️"] = "man_vampire_tone4", - ["🧛🏿‍♂️"] = "man_vampire_tone5", - ["🧟"] = "zombie", - ["🧟‍♀️"] = "woman_zombie", - ["🧟‍♂️"] = "man_zombie", - ["🧞"] = "genie", - ["🧞‍♀️"] = "woman_genie", - ["🧞‍♂️"] = "man_genie", - ["🧜"] = "merperson", - ["🧜🏻"] = "merperson_tone1", - ["🧜🏼"] = "merperson_tone2", - ["🧜🏽"] = "merperson_tone3", - ["🧜🏾"] = "merperson_tone4", - ["🧜🏿"] = "merperson_tone5", - ["🧜‍♀️"] = "mermaid", - ["🧜🏻‍♀️"] = "mermaid_tone1", - ["🧜🏼‍♀️"] = "mermaid_tone2", - ["🧜🏽‍♀️"] = "mermaid_tone3", - ["🧜🏾‍♀️"] = "mermaid_tone4", - ["🧜🏿‍♀️"] = "mermaid_tone5", - ["🧜‍♂️"] = "merman", - ["🧜🏻‍♂️"] = "merman_tone1", - ["🧜🏼‍♂️"] = "merman_tone2", - ["🧜🏽‍♂️"] = "merman_tone3", - ["🧜🏾‍♂️"] = "merman_tone4", - ["🧜🏿‍♂️"] = "merman_tone5", - ["🧚"] = "fairy", - ["🧚🏻"] = "fairy_tone1", - ["🧚🏼"] = "fairy_tone2", - ["🧚🏽"] = "fairy_tone3", - ["🧚🏾"] = "fairy_tone4", - ["🧚🏿"] = "fairy_tone5", - ["🧚‍♀️"] = "woman_fairy", - ["🧚🏻‍♀️"] = "woman_fairy_tone1", - ["🧚🏼‍♀️"] = "woman_fairy_tone2", - ["🧚🏽‍♀️"] = "woman_fairy_tone3", - ["🧚🏾‍♀️"] = "woman_fairy_tone4", - ["🧚🏿‍♀️"] = "woman_fairy_tone5", - ["🧚‍♂️"] = "man_fairy", - ["🧚🏻‍♂️"] = "man_fairy_tone1", - ["🧚🏼‍♂️"] = "man_fairy_tone2", - ["🧚🏽‍♂️"] = "man_fairy_tone3", - ["🧚🏾‍♂️"] = "man_fairy_tone4", - ["🧚🏿‍♂️"] = "man_fairy_tone5", - ["👼"] = "angel", - ["👼🏻"] = "angel_tone1", - ["👼🏼"] = "angel_tone2", - ["👼🏽"] = "angel_tone3", - ["👼🏾"] = "angel_tone4", - ["👼🏿"] = "angel_tone5", - ["🤰"] = "pregnant_woman", - ["🤰🏻"] = "pregnant_woman_tone1", - ["🤰🏼"] = "pregnant_woman_tone2", - ["🤰🏽"] = "pregnant_woman_tone3", - ["🤰🏾"] = "pregnant_woman_tone4", - ["🤰🏿"] = "pregnant_woman_tone5", - ["🤱"] = "breast_feeding", - ["🤱🏻"] = "breast_feeding_tone1", - ["🤱🏼"] = "breast_feeding_tone2", - ["🤱🏽"] = "breast_feeding_tone3", - ["🤱🏾"] = "breast_feeding_tone4", - ["🤱🏿"] = "breast_feeding_tone5", - ["🧑‍🍼"] = "person_feeding_baby", - ["🧑🏻‍🍼"] = "person_feeding_baby_tone1", - ["🧑🏼‍🍼"] = "person_feeding_baby_tone2", - ["🧑🏽‍🍼"] = "person_feeding_baby_tone3", - ["🧑🏾‍🍼"] = "person_feeding_baby_tone4", - ["🧑🏿‍🍼"] = "person_feeding_baby_tone5", - ["👩‍🍼"] = "woman_feeding_baby", - ["👩🏻‍🍼"] = "woman_feeding_baby_tone1", - ["👩🏼‍🍼"] = "woman_feeding_baby_tone2", - ["👩🏽‍🍼"] = "woman_feeding_baby_tone3", - ["👩🏾‍🍼"] = "woman_feeding_baby_tone4", - ["👩🏿‍🍼"] = "woman_feeding_baby_tone5", - ["👨‍🍼"] = "man_feeding_baby", - ["👨🏻‍🍼"] = "man_feeding_baby_tone1", - ["👨🏼‍🍼"] = "man_feeding_baby_tone2", - ["👨🏽‍🍼"] = "man_feeding_baby_tone3", - ["👨🏾‍🍼"] = "man_feeding_baby_tone4", - ["👨🏿‍🍼"] = "man_feeding_baby_tone5", - ["🙇"] = "person_bowing", - ["🙇🏻"] = "person_bowing_tone1", - ["🙇🏼"] = "person_bowing_tone2", - ["🙇🏽"] = "person_bowing_tone3", - ["🙇🏾"] = "person_bowing_tone4", - ["🙇🏿"] = "person_bowing_tone5", - ["🙇‍♀️"] = "woman_bowing", - ["🙇🏻‍♀️"] = "woman_bowing_tone1", - ["🙇🏼‍♀️"] = "woman_bowing_tone2", - ["🙇🏽‍♀️"] = "woman_bowing_tone3", - ["🙇🏾‍♀️"] = "woman_bowing_tone4", - ["🙇🏿‍♀️"] = "woman_bowing_tone5", - ["🙇‍♂️"] = "man_bowing", - ["🙇🏻‍♂️"] = "man_bowing_tone1", - ["🙇🏼‍♂️"] = "man_bowing_tone2", - ["🙇🏽‍♂️"] = "man_bowing_tone3", - ["🙇🏾‍♂️"] = "man_bowing_tone4", - ["🙇🏿‍♂️"] = "man_bowing_tone5", - ["💁"] = "person_tipping_hand", - ["💁🏻"] = "person_tipping_hand_tone1", - ["💁🏼"] = "person_tipping_hand_tone2", - ["💁🏽"] = "person_tipping_hand_tone3", - ["💁🏾"] = "person_tipping_hand_tone4", - ["💁🏿"] = "person_tipping_hand_tone5", - ["💁‍♀️"] = "woman_tipping_hand", - ["💁🏻‍♀️"] = "woman_tipping_hand_tone1", - ["💁🏼‍♀️"] = "woman_tipping_hand_tone2", - ["💁🏽‍♀️"] = "woman_tipping_hand_tone3", - ["💁🏾‍♀️"] = "woman_tipping_hand_tone4", - ["💁🏿‍♀️"] = "woman_tipping_hand_tone5", - ["💁‍♂️"] = "man_tipping_hand", - ["💁🏻‍♂️"] = "man_tipping_hand_tone1", - ["💁🏼‍♂️"] = "man_tipping_hand_tone2", - ["💁🏽‍♂️"] = "man_tipping_hand_tone3", - ["💁🏾‍♂️"] = "man_tipping_hand_tone4", - ["💁🏿‍♂️"] = "man_tipping_hand_tone5", - ["🙅"] = "person_gesturing_no", - ["🙅🏻"] = "person_gesturing_no_tone1", - ["🙅🏼"] = "person_gesturing_no_tone2", - ["🙅🏽"] = "person_gesturing_no_tone3", - ["🙅🏾"] = "person_gesturing_no_tone4", - ["🙅🏿"] = "person_gesturing_no_tone5", - ["🙅‍♀️"] = "woman_gesturing_no", - ["🙅🏻‍♀️"] = "woman_gesturing_no_tone1", - ["🙅🏼‍♀️"] = "woman_gesturing_no_tone2", - ["🙅🏽‍♀️"] = "woman_gesturing_no_tone3", - ["🙅🏾‍♀️"] = "woman_gesturing_no_tone4", - ["🙅🏿‍♀️"] = "woman_gesturing_no_tone5", - ["🙅‍♂️"] = "man_gesturing_no", - ["🙅🏻‍♂️"] = "man_gesturing_no_tone1", - ["🙅🏼‍♂️"] = "man_gesturing_no_tone2", - ["🙅🏽‍♂️"] = "man_gesturing_no_tone3", - ["🙅🏾‍♂️"] = "man_gesturing_no_tone4", - ["🙅🏿‍♂️"] = "man_gesturing_no_tone5", - ["🙆"] = "person_gesturing_ok", - ["🙆🏻"] = "person_gesturing_ok_tone1", - ["🙆🏼"] = "person_gesturing_ok_tone2", - ["🙆🏽"] = "person_gesturing_ok_tone3", - ["🙆🏾"] = "person_gesturing_ok_tone4", - ["🙆🏿"] = "person_gesturing_ok_tone5", - ["🙆‍♀️"] = "woman_gesturing_ok", - ["🙆🏻‍♀️"] = "woman_gesturing_ok_tone1", - ["🙆🏼‍♀️"] = "woman_gesturing_ok_tone2", - ["🙆🏽‍♀️"] = "woman_gesturing_ok_tone3", - ["🙆🏾‍♀️"] = "woman_gesturing_ok_tone4", - ["🙆🏿‍♀️"] = "woman_gesturing_ok_tone5", - ["🙆‍♂️"] = "man_gesturing_ok", - ["🙆🏻‍♂️"] = "man_gesturing_ok_tone1", - ["🙆🏼‍♂️"] = "man_gesturing_ok_tone2", - ["🙆🏽‍♂️"] = "man_gesturing_ok_tone3", - ["🙆🏾‍♂️"] = "man_gesturing_ok_tone4", - ["🙆🏿‍♂️"] = "man_gesturing_ok_tone5", - ["🙋"] = "person_raising_hand", - ["🙋🏻"] = "person_raising_hand_tone1", - ["🙋🏼"] = "person_raising_hand_tone2", - ["🙋🏽"] = "person_raising_hand_tone3", - ["🙋🏾"] = "person_raising_hand_tone4", - ["🙋🏿"] = "person_raising_hand_tone5", - ["🙋‍♀️"] = "woman_raising_hand", - ["🙋🏻‍♀️"] = "woman_raising_hand_tone1", - ["🙋🏼‍♀️"] = "woman_raising_hand_tone2", - ["🙋🏽‍♀️"] = "woman_raising_hand_tone3", - ["🙋🏾‍♀️"] = "woman_raising_hand_tone4", - ["🙋🏿‍♀️"] = "woman_raising_hand_tone5", - ["🙋‍♂️"] = "man_raising_hand", - ["🙋🏻‍♂️"] = "man_raising_hand_tone1", - ["🙋🏼‍♂️"] = "man_raising_hand_tone2", - ["🙋🏽‍♂️"] = "man_raising_hand_tone3", - ["🙋🏾‍♂️"] = "man_raising_hand_tone4", - ["🙋🏿‍♂️"] = "man_raising_hand_tone5", - ["🧏"] = "deaf_person", - ["🧏🏻"] = "deaf_person_tone1", - ["🧏🏼"] = "deaf_person_tone2", - ["🧏🏽"] = "deaf_person_tone3", - ["🧏🏾"] = "deaf_person_tone4", - ["🧏🏿"] = "deaf_person_tone5", - ["🧏‍♀️"] = "deaf_woman", - ["🧏🏻‍♀️"] = "deaf_woman_tone1", - ["🧏🏼‍♀️"] = "deaf_woman_tone2", - ["🧏🏽‍♀️"] = "deaf_woman_tone3", - ["🧏🏾‍♀️"] = "deaf_woman_tone4", - ["🧏🏿‍♀️"] = "deaf_woman_tone5", - ["🧏‍♂️"] = "deaf_man", - ["🧏🏻‍♂️"] = "deaf_man_tone1", - ["🧏🏼‍♂️"] = "deaf_man_tone2", - ["🧏🏽‍♂️"] = "deaf_man_tone3", - ["🧏🏾‍♂️"] = "deaf_man_tone4", - ["🧏🏿‍♂️"] = "deaf_man_tone5", - ["🤦"] = "person_facepalming", - ["🤦🏻"] = "person_facepalming_tone1", - ["🤦🏼"] = "person_facepalming_tone2", - ["🤦🏽"] = "person_facepalming_tone3", - ["🤦🏾"] = "person_facepalming_tone4", - ["🤦🏿"] = "person_facepalming_tone5", - ["🤦‍♀️"] = "woman_facepalming", - ["🤦🏻‍♀️"] = "woman_facepalming_tone1", - ["🤦🏼‍♀️"] = "woman_facepalming_tone2", - ["🤦🏽‍♀️"] = "woman_facepalming_tone3", - ["🤦🏾‍♀️"] = "woman_facepalming_tone4", - ["🤦🏿‍♀️"] = "woman_facepalming_tone5", - ["🤦‍♂️"] = "man_facepalming", - ["🤦🏻‍♂️"] = "man_facepalming_tone1", - ["🤦🏼‍♂️"] = "man_facepalming_tone2", - ["🤦🏽‍♂️"] = "man_facepalming_tone3", - ["🤦🏾‍♂️"] = "man_facepalming_tone4", - ["🤦🏿‍♂️"] = "man_facepalming_tone5", - ["🤷"] = "person_shrugging", - ["🤷🏻"] = "person_shrugging_tone1", - ["🤷🏼"] = "person_shrugging_tone2", - ["🤷🏽"] = "person_shrugging_tone3", - ["🤷🏾"] = "person_shrugging_tone4", - ["🤷🏿"] = "person_shrugging_tone5", - ["🤷‍♀️"] = "woman_shrugging", - ["🤷🏻‍♀️"] = "woman_shrugging_tone1", - ["🤷🏼‍♀️"] = "woman_shrugging_tone2", - ["🤷🏽‍♀️"] = "woman_shrugging_tone3", - ["🤷🏾‍♀️"] = "woman_shrugging_tone4", - ["🤷🏿‍♀️"] = "woman_shrugging_tone5", - ["🤷‍♂️"] = "man_shrugging", - ["🤷🏻‍♂️"] = "man_shrugging_tone1", - ["🤷🏼‍♂️"] = "man_shrugging_tone2", - ["🤷🏽‍♂️"] = "man_shrugging_tone3", - ["🤷🏾‍♂️"] = "man_shrugging_tone4", - ["🤷🏿‍♂️"] = "man_shrugging_tone5", - ["🙎"] = "person_pouting", - ["🙎🏻"] = "person_pouting_tone1", - ["🙎🏼"] = "person_pouting_tone2", - ["🙎🏽"] = "person_pouting_tone3", - ["🙎🏾"] = "person_pouting_tone4", - ["🙎🏿"] = "person_pouting_tone5", - ["🙎‍♀️"] = "woman_pouting", - ["🙎🏻‍♀️"] = "woman_pouting_tone1", - ["🙎🏼‍♀️"] = "woman_pouting_tone2", - ["🙎🏽‍♀️"] = "woman_pouting_tone3", - ["🙎🏾‍♀️"] = "woman_pouting_tone4", - ["🙎🏿‍♀️"] = "woman_pouting_tone5", - ["🙎‍♂️"] = "man_pouting", - ["🙎🏻‍♂️"] = "man_pouting_tone1", - ["🙎🏼‍♂️"] = "man_pouting_tone2", - ["🙎🏽‍♂️"] = "man_pouting_tone3", - ["🙎🏾‍♂️"] = "man_pouting_tone4", - ["🙎🏿‍♂️"] = "man_pouting_tone5", - ["🙍"] = "person_frowning", - ["🙍🏻"] = "person_frowning_tone1", - ["🙍🏼"] = "person_frowning_tone2", - ["🙍🏽"] = "person_frowning_tone3", - ["🙍🏾"] = "person_frowning_tone4", - ["🙍🏿"] = "person_frowning_tone5", - ["🙍‍♀️"] = "woman_frowning", - ["🙍🏻‍♀️"] = "woman_frowning_tone1", - ["🙍🏼‍♀️"] = "woman_frowning_tone2", - ["🙍🏽‍♀️"] = "woman_frowning_tone3", - ["🙍🏾‍♀️"] = "woman_frowning_tone4", - ["🙍🏿‍♀️"] = "woman_frowning_tone5", - ["🙍‍♂️"] = "man_frowning", - ["🙍🏻‍♂️"] = "man_frowning_tone1", - ["🙍🏼‍♂️"] = "man_frowning_tone2", - ["🙍🏽‍♂️"] = "man_frowning_tone3", - ["🙍🏾‍♂️"] = "man_frowning_tone4", - ["🙍🏿‍♂️"] = "man_frowning_tone5", - ["💇"] = "person_getting_haircut", - ["💇🏻"] = "person_getting_haircut_tone1", - ["💇🏼"] = "person_getting_haircut_tone2", - ["💇🏽"] = "person_getting_haircut_tone3", - ["💇🏾"] = "person_getting_haircut_tone4", - ["💇🏿"] = "person_getting_haircut_tone5", - ["💇‍♀️"] = "woman_getting_haircut", - ["💇🏻‍♀️"] = "woman_getting_haircut_tone1", - ["💇🏼‍♀️"] = "woman_getting_haircut_tone2", - ["💇🏽‍♀️"] = "woman_getting_haircut_tone3", - ["💇🏾‍♀️"] = "woman_getting_haircut_tone4", - ["💇🏿‍♀️"] = "woman_getting_haircut_tone5", - ["💇‍♂️"] = "man_getting_haircut", - ["💇🏻‍♂️"] = "man_getting_haircut_tone1", - ["💇🏼‍♂️"] = "man_getting_haircut_tone2", - ["💇🏽‍♂️"] = "man_getting_haircut_tone3", - ["💇🏾‍♂️"] = "man_getting_haircut_tone4", - ["💇🏿‍♂️"] = "man_getting_haircut_tone5", - ["💆"] = "person_getting_massage", - ["💆🏻"] = "person_getting_massage_tone1", - ["💆🏼"] = "person_getting_massage_tone2", - ["💆🏽"] = "person_getting_massage_tone3", - ["💆🏾"] = "person_getting_massage_tone4", - ["💆🏿"] = "person_getting_massage_tone5", - ["💆‍♀️"] = "woman_getting_face_massage", - ["💆🏻‍♀️"] = "woman_getting_face_massage_tone1", - ["💆🏼‍♀️"] = "woman_getting_face_massage_tone2", - ["💆🏽‍♀️"] = "woman_getting_face_massage_tone3", - ["💆🏾‍♀️"] = "woman_getting_face_massage_tone4", - ["💆🏿‍♀️"] = "woman_getting_face_massage_tone5", - ["💆‍♂️"] = "man_getting_face_massage", - ["💆🏻‍♂️"] = "man_getting_face_massage_tone1", - ["💆🏼‍♂️"] = "man_getting_face_massage_tone2", - ["💆🏽‍♂️"] = "man_getting_face_massage_tone3", - ["💆🏾‍♂️"] = "man_getting_face_massage_tone4", - ["💆🏿‍♂️"] = "man_getting_face_massage_tone5", - ["🧖"] = "person_in_steamy_room", - ["🧖🏻"] = "person_in_steamy_room_tone1", - ["🧖🏼"] = "person_in_steamy_room_tone2", - ["🧖🏽"] = "person_in_steamy_room_tone3", - ["🧖🏾"] = "person_in_steamy_room_tone4", - ["🧖🏿"] = "person_in_steamy_room_tone5", - ["🧖‍♀️"] = "woman_in_steamy_room", - ["🧖🏻‍♀️"] = "woman_in_steamy_room_tone1", - ["🧖🏼‍♀️"] = "woman_in_steamy_room_tone2", - ["🧖🏽‍♀️"] = "woman_in_steamy_room_tone3", - ["🧖🏾‍♀️"] = "woman_in_steamy_room_tone4", - ["🧖🏿‍♀️"] = "woman_in_steamy_room_tone5", - ["🧖‍♂️"] = "man_in_steamy_room", - ["🧖🏻‍♂️"] = "man_in_steamy_room_tone1", - ["🧖🏼‍♂️"] = "man_in_steamy_room_tone2", - ["🧖🏽‍♂️"] = "man_in_steamy_room_tone3", - ["🧖🏾‍♂️"] = "man_in_steamy_room_tone4", - ["🧖🏿‍♂️"] = "man_in_steamy_room_tone5", - ["💅"] = "nail_care", - ["💅🏻"] = "nail_care_tone1", - ["💅🏼"] = "nail_care_tone2", - ["💅🏽"] = "nail_care_tone3", - ["💅🏾"] = "nail_care_tone4", - ["💅🏿"] = "nail_care_tone5", - ["🤳"] = "selfie", - ["🤳🏻"] = "selfie_tone1", - ["🤳🏼"] = "selfie_tone2", - ["🤳🏽"] = "selfie_tone3", - ["🤳🏾"] = "selfie_tone4", - ["🤳🏿"] = "selfie_tone5", - ["💃"] = "dancer", - ["💃🏻"] = "dancer_tone1", - ["💃🏼"] = "dancer_tone2", - ["💃🏽"] = "dancer_tone3", - ["💃🏾"] = "dancer_tone4", - ["💃🏿"] = "dancer_tone5", - ["🕺"] = "man_dancing", - ["🕺🏻"] = "man_dancing_tone1", - ["🕺🏼"] = "man_dancing_tone2", - ["🕺🏽"] = "man_dancing_tone3", - ["🕺🏿"] = "man_dancing_tone5", - ["🕺🏾"] = "man_dancing_tone4", - ["👯"] = "people_with_bunny_ears_partying", - ["👯‍♀️"] = "women_with_bunny_ears_partying", - ["👯‍♂️"] = "men_with_bunny_ears_partying", - ["🕴️"] = "levitate", - ["🕴🏻"] = "levitate_tone1", - ["🕴🏼"] = "levitate_tone2", - ["🕴🏽"] = "levitate_tone3", - ["🕴🏾"] = "levitate_tone4", - ["🕴🏿"] = "levitate_tone5", - ["🧑‍🦽"] = "person_in_manual_wheelchair", - ["🧑🏻‍🦽"] = "person_in_manual_wheelchair_tone1", - ["🧑🏼‍🦽"] = "person_in_manual_wheelchair_tone2", - ["🧑🏽‍🦽"] = "person_in_manual_wheelchair_tone3", - ["🧑🏾‍🦽"] = "person_in_manual_wheelchair_tone4", - ["🧑🏿‍🦽"] = "person_in_manual_wheelchair_tone5", - ["👩‍🦽"] = "woman_in_manual_wheelchair", - ["👩🏻‍🦽"] = "woman_in_manual_wheelchair_tone1", - ["👩🏼‍🦽"] = "woman_in_manual_wheelchair_tone2", - ["👩🏽‍🦽"] = "woman_in_manual_wheelchair_tone3", - ["👩🏾‍🦽"] = "woman_in_manual_wheelchair_tone4", - ["👩🏿‍🦽"] = "woman_in_manual_wheelchair_tone5", - ["👨‍🦽"] = "man_in_manual_wheelchair", - ["👨🏻‍🦽"] = "man_in_manual_wheelchair_tone1", - ["👨🏼‍🦽"] = "man_in_manual_wheelchair_tone2", - ["👨🏽‍🦽"] = "man_in_manual_wheelchair_tone3", - ["👨🏾‍🦽"] = "man_in_manual_wheelchair_tone4", - ["👨🏿‍🦽"] = "man_in_manual_wheelchair_tone5", - ["🧑‍🦼"] = "person_in_motorized_wheelchair", - ["🧑🏻‍🦼"] = "person_in_motorized_wheelchair_tone1", - ["🧑🏼‍🦼"] = "person_in_motorized_wheelchair_tone2", - ["🧑🏽‍🦼"] = "person_in_motorized_wheelchair_tone3", - ["🧑🏾‍🦼"] = "person_in_motorized_wheelchair_tone4", - ["🧑🏿‍🦼"] = "person_in_motorized_wheelchair_tone5", - ["👩‍🦼"] = "woman_in_motorized_wheelchair", - ["👩🏻‍🦼"] = "woman_in_motorized_wheelchair_tone1", - ["👩🏼‍🦼"] = "woman_in_motorized_wheelchair_tone2", - ["👩🏽‍🦼"] = "woman_in_motorized_wheelchair_tone3", - ["👩🏾‍🦼"] = "woman_in_motorized_wheelchair_tone4", - ["👩🏿‍🦼"] = "woman_in_motorized_wheelchair_tone5", - ["👨‍🦼"] = "man_in_motorized_wheelchair", - ["👨🏻‍🦼"] = "man_in_motorized_wheelchair_tone1", - ["👨🏼‍🦼"] = "man_in_motorized_wheelchair_tone2", - ["👨🏽‍🦼"] = "man_in_motorized_wheelchair_tone3", - ["👨🏾‍🦼"] = "man_in_motorized_wheelchair_tone4", - ["👨🏿‍🦼"] = "man_in_motorized_wheelchair_tone5", - ["🚶"] = "person_walking", - ["🚶🏻"] = "person_walking_tone1", - ["🚶🏼"] = "person_walking_tone2", - ["🚶🏽"] = "person_walking_tone3", - ["🚶🏾"] = "person_walking_tone4", - ["🚶🏿"] = "person_walking_tone5", - ["🚶‍♀️"] = "woman_walking", - ["🚶🏻‍♀️"] = "woman_walking_tone1", - ["🚶🏼‍♀️"] = "woman_walking_tone2", - ["🚶🏽‍♀️"] = "woman_walking_tone3", - ["🚶🏾‍♀️"] = "woman_walking_tone4", - ["🚶🏿‍♀️"] = "woman_walking_tone5", - ["🚶‍♂️"] = "man_walking", - ["🚶🏻‍♂️"] = "man_walking_tone1", - ["🚶🏼‍♂️"] = "man_walking_tone2", - ["🚶🏽‍♂️"] = "man_walking_tone3", - ["🚶🏾‍♂️"] = "man_walking_tone4", - ["🚶🏿‍♂️"] = "man_walking_tone5", - ["🧑‍🦯"] = "person_with_probing_cane", - ["🧑🏻‍🦯"] = "person_with_probing_cane_tone1", - ["🧑🏼‍🦯"] = "person_with_probing_cane_tone2", - ["🧑🏽‍🦯"] = "person_with_probing_cane_tone3", - ["🧑🏾‍🦯"] = "person_with_probing_cane_tone4", - ["🧑🏿‍🦯"] = "person_with_probing_cane_tone5", - ["👩‍🦯"] = "woman_with_probing_cane", - ["👩🏻‍🦯"] = "woman_with_probing_cane_tone1", - ["👩🏼‍🦯"] = "woman_with_probing_cane_tone2", - ["👩🏽‍🦯"] = "woman_with_probing_cane_tone3", - ["👩🏾‍🦯"] = "woman_with_probing_cane_tone4", - ["👩🏿‍🦯"] = "woman_with_probing_cane_tone5", - ["👨‍🦯"] = "man_with_probing_cane", - ["👨🏻‍🦯"] = "man_with_probing_cane_tone1", - ["👨🏽‍🦯"] = "man_with_probing_cane_tone3", - ["👨🏼‍🦯"] = "man_with_probing_cane_tone2", - ["👨🏾‍🦯"] = "man_with_probing_cane_tone4", - ["👨🏿‍🦯"] = "man_with_probing_cane_tone5", - ["🧎"] = "person_kneeling", - ["🧎🏻"] = "person_kneeling_tone1", - ["🧎🏼"] = "person_kneeling_tone2", - ["🧎🏽"] = "person_kneeling_tone3", - ["🧎🏾"] = "person_kneeling_tone4", - ["🧎🏿"] = "person_kneeling_tone5", - ["🧎‍♀️"] = "woman_kneeling", - ["🧎🏻‍♀️"] = "woman_kneeling_tone1", - ["🧎🏼‍♀️"] = "woman_kneeling_tone2", - ["🧎🏽‍♀️"] = "woman_kneeling_tone3", - ["🧎🏾‍♀️"] = "woman_kneeling_tone4", - ["🧎🏿‍♀️"] = "woman_kneeling_tone5", - ["🧎‍♂️"] = "man_kneeling", - ["🧎🏻‍♂️"] = "man_kneeling_tone1", - ["🧎🏼‍♂️"] = "man_kneeling_tone2", - ["🧎🏽‍♂️"] = "man_kneeling_tone3", - ["🧎🏾‍♂️"] = "man_kneeling_tone4", - ["🧎🏿‍♂️"] = "man_kneeling_tone5", - ["🏃"] = "person_running", - ["🏃🏻"] = "person_running_tone1", - ["🏃🏼"] = "person_running_tone2", - ["🏃🏽"] = "person_running_tone3", - ["🏃🏾"] = "person_running_tone4", - ["🏃🏿"] = "person_running_tone5", - ["🏃‍♀️"] = "woman_running", - ["🏃🏻‍♀️"] = "woman_running_tone1", - ["🏃🏼‍♀️"] = "woman_running_tone2", - ["🏃🏽‍♀️"] = "woman_running_tone3", - ["🏃🏾‍♀️"] = "woman_running_tone4", - ["🏃🏿‍♀️"] = "woman_running_tone5", - ["🏃‍♂️"] = "man_running", - ["🏃🏻‍♂️"] = "man_running_tone1", - ["🏃🏼‍♂️"] = "man_running_tone2", - ["🏃🏽‍♂️"] = "man_running_tone3", - ["🏃🏾‍♂️"] = "man_running_tone4", - ["🏃🏿‍♂️"] = "man_running_tone5", - ["🧍"] = "person_standing", - ["🧍🏻"] = "person_standing_tone1", - ["🧍🏼"] = "person_standing_tone2", - ["🧍🏽"] = "person_standing_tone3", - ["🧍🏾"] = "person_standing_tone4", - ["🧍🏿"] = "person_standing_tone5", - ["🧍‍♀️"] = "woman_standing", - ["🧍🏻‍♀️"] = "woman_standing_tone1", - ["🧍🏼‍♀️"] = "woman_standing_tone2", - ["🧍🏽‍♀️"] = "woman_standing_tone3", - ["🧍🏾‍♀️"] = "woman_standing_tone4", - ["🧍🏿‍♀️"] = "woman_standing_tone5", - ["🧍‍♂️"] = "man_standing", - ["🧍🏻‍♂️"] = "man_standing_tone1", - ["🧍🏼‍♂️"] = "man_standing_tone2", - ["🧍🏽‍♂️"] = "man_standing_tone3", - ["🧍🏾‍♂️"] = "man_standing_tone4", - ["🧍🏿‍♂️"] = "man_standing_tone5", - ["🧑‍🤝‍🧑"] = "people_holding_hands", - ["🧑🏻‍🤝‍🧑🏻"] = "people_holding_hands_tone1", - ["🧑🏻‍🤝‍🧑🏼"] = "people_holding_hands_tone1_tone2", - ["🧑🏻‍🤝‍🧑🏽"] = "people_holding_hands_tone1_tone3", - ["🧑🏻‍🤝‍🧑🏾"] = "people_holding_hands_tone1_tone4", - ["🧑🏻‍🤝‍🧑🏿"] = "people_holding_hands_tone1_tone5", - ["🧑🏼‍🤝‍🧑🏻"] = "people_holding_hands_tone2_tone1", - ["🧑🏼‍🤝‍🧑🏼"] = "people_holding_hands_tone2", - ["🧑🏼‍🤝‍🧑🏽"] = "people_holding_hands_tone2_tone3", - ["🧑🏼‍🤝‍🧑🏾"] = "people_holding_hands_tone2_tone4", - ["🧑🏼‍🤝‍🧑🏿"] = "people_holding_hands_tone2_tone5", - ["🧑🏽‍🤝‍🧑🏻"] = "people_holding_hands_tone3_tone1", - ["🧑🏽‍🤝‍🧑🏼"] = "people_holding_hands_tone3_tone2", - ["🧑🏽‍🤝‍🧑🏽"] = "people_holding_hands_tone3", - ["🧑🏽‍🤝‍🧑🏾"] = "people_holding_hands_tone3_tone4", - ["🧑🏽‍🤝‍🧑🏿"] = "people_holding_hands_tone3_tone5", - ["🧑🏾‍🤝‍🧑🏻"] = "people_holding_hands_tone4_tone1", - ["🧑🏾‍🤝‍🧑🏼"] = "people_holding_hands_tone4_tone2", - ["🧑🏾‍🤝‍🧑🏽"] = "people_holding_hands_tone4_tone3", - ["🧑🏾‍🤝‍🧑🏾"] = "people_holding_hands_tone4", - ["🧑🏾‍🤝‍🧑🏿"] = "people_holding_hands_tone4_tone5", - ["🧑🏿‍🤝‍🧑🏻"] = "people_holding_hands_tone5_tone1", - ["🧑🏿‍🤝‍🧑🏼"] = "people_holding_hands_tone5_tone2", - ["🧑🏿‍🤝‍🧑🏽"] = "people_holding_hands_tone5_tone3", - ["🧑🏿‍🤝‍🧑🏾"] = "people_holding_hands_tone5_tone4", - ["🧑🏿‍🤝‍🧑🏿"] = "people_holding_hands_tone5", - ["👫"] = "couple", - ["👫🏻"] = "woman_and_man_holding_hands_tone1", - ["👩🏻‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone1_tone2", - ["👩🏻‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone1_tone3", - ["👩🏻‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone1_tone4", - ["👩🏻‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone1_tone5", - ["👩🏼‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone2_tone1", - ["👫🏼"] = "woman_and_man_holding_hands_tone2", - ["👩🏼‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone2_tone3", - ["👩🏼‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone2_tone4", - ["👩🏼‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone2_tone5", - ["👩🏽‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone3_tone1", - ["👩🏽‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone3_tone2", - ["👫🏽"] = "woman_and_man_holding_hands_tone3", - ["👩🏽‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone3_tone4", - ["👩🏽‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone3_tone5", - ["👩🏾‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone4_tone1", - ["👩🏾‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone4_tone2", - ["👩🏾‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone4_tone3", - ["👫🏾"] = "woman_and_man_holding_hands_tone4", - ["👩🏾‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone4_tone5", - ["👩🏿‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone5_tone1", - ["👩🏿‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone5_tone2", - ["👩🏿‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone5_tone3", - ["👩🏿‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone5_tone4", - ["👫🏿"] = "woman_and_man_holding_hands_tone5", - ["👭"] = "two_women_holding_hands", - ["👭🏻"] = "women_holding_hands_tone1", - ["👩🏻‍🤝‍👩🏼"] = "women_holding_hands_tone1_tone2", - ["👩🏻‍🤝‍👩🏽"] = "women_holding_hands_tone1_tone3", - ["👩🏻‍🤝‍👩🏾"] = "women_holding_hands_tone1_tone4", - ["👩🏻‍🤝‍👩🏿"] = "women_holding_hands_tone1_tone5", - ["👩🏼‍🤝‍👩🏻"] = "women_holding_hands_tone2_tone1", - ["👭🏼"] = "women_holding_hands_tone2", - ["👩🏼‍🤝‍👩🏽"] = "women_holding_hands_tone2_tone3", - ["👩🏼‍🤝‍👩🏾"] = "women_holding_hands_tone2_tone4", - ["👩🏼‍🤝‍👩🏿"] = "women_holding_hands_tone2_tone5", - ["👩🏽‍🤝‍👩🏻"] = "women_holding_hands_tone3_tone1", - ["👩🏽‍🤝‍👩🏼"] = "women_holding_hands_tone3_tone2", - ["👭🏽"] = "women_holding_hands_tone3", - ["👩🏽‍🤝‍👩🏾"] = "women_holding_hands_tone3_tone4", - ["👩🏽‍🤝‍👩🏿"] = "women_holding_hands_tone3_tone5", - ["👩🏾‍🤝‍👩🏻"] = "women_holding_hands_tone4_tone1", - ["👩🏾‍🤝‍👩🏼"] = "women_holding_hands_tone4_tone2", - ["👩🏾‍🤝‍👩🏽"] = "women_holding_hands_tone4_tone3", - ["👭🏾"] = "women_holding_hands_tone4", - ["👩🏾‍🤝‍👩🏿"] = "women_holding_hands_tone4_tone5", - ["👩🏿‍🤝‍👩🏻"] = "women_holding_hands_tone5_tone1", - ["👩🏿‍🤝‍👩🏼"] = "women_holding_hands_tone5_tone2", - ["👩🏿‍🤝‍👩🏽"] = "women_holding_hands_tone5_tone3", - ["👩🏿‍🤝‍👩🏾"] = "women_holding_hands_tone5_tone4", - ["👭🏿"] = "women_holding_hands_tone5", - ["👬"] = "two_men_holding_hands", - ["👬🏻"] = "men_holding_hands_tone1", - ["👨🏻‍🤝‍👨🏼"] = "men_holding_hands_tone1_tone2", - ["👨🏻‍🤝‍👨🏽"] = "men_holding_hands_tone1_tone3", - ["👨🏻‍🤝‍👨🏾"] = "men_holding_hands_tone1_tone4", - ["👨🏻‍🤝‍👨🏿"] = "men_holding_hands_tone1_tone5", - ["👨🏼‍🤝‍👨🏻"] = "men_holding_hands_tone2_tone1", - ["👬🏼"] = "men_holding_hands_tone2", - ["👨🏼‍🤝‍👨🏽"] = "men_holding_hands_tone2_tone3", - ["👨🏼‍🤝‍👨🏾"] = "men_holding_hands_tone2_tone4", - ["👨🏼‍🤝‍👨🏿"] = "men_holding_hands_tone2_tone5", - ["👨🏽‍🤝‍👨🏻"] = "men_holding_hands_tone3_tone1", - ["👨🏽‍🤝‍👨🏼"] = "men_holding_hands_tone3_tone2", - ["👬🏽"] = "men_holding_hands_tone3", - ["👨🏽‍🤝‍👨🏾"] = "men_holding_hands_tone3_tone4", - ["👨🏽‍🤝‍👨🏿"] = "men_holding_hands_tone3_tone5", - ["👨🏾‍🤝‍👨🏻"] = "men_holding_hands_tone4_tone1", - ["👨🏾‍🤝‍👨🏼"] = "men_holding_hands_tone4_tone2", - ["👨🏾‍🤝‍👨🏽"] = "men_holding_hands_tone4_tone3", - ["👬🏾"] = "men_holding_hands_tone4", - ["👨🏾‍🤝‍👨🏿"] = "men_holding_hands_tone4_tone5", - ["👨🏿‍🤝‍👨🏻"] = "men_holding_hands_tone5_tone1", - ["👨🏿‍🤝‍👨🏼"] = "men_holding_hands_tone5_tone2", - ["👨🏿‍🤝‍👨🏽"] = "men_holding_hands_tone5_tone3", - ["👨🏿‍🤝‍👨🏾"] = "men_holding_hands_tone5_tone4", - ["👬🏿"] = "men_holding_hands_tone5", - ["💑"] = "couple_with_heart", - ["💑🏻"] = "couple_with_heart_tone1", - ["🧑🏻‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone1_tone2", - ["🧑🏻‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone1_tone3", - ["🧑🏻‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone1_tone4", - ["🧑🏻‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone1_tone5", - ["🧑🏼‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone2_tone1", - ["💑🏼"] = "couple_with_heart_tone2", - ["🧑🏼‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone2_tone3", - ["🧑🏼‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone2_tone4", - ["🧑🏼‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone2_tone5", - ["🧑🏽‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone3_tone1", - ["🧑🏽‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone3_tone2", - ["💑🏽"] = "couple_with_heart_tone3", - ["🧑🏽‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone3_tone4", - ["🧑🏽‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone3_tone5", - ["🧑🏾‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone4_tone1", - ["🧑🏾‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone4_tone2", - ["🧑🏾‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone4_tone3", - ["💑🏾"] = "couple_with_heart_tone4", - ["🧑🏾‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone4_tone5", - ["🧑🏿‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone5_tone1", - ["🧑🏿‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone5_tone2", - ["🧑🏿‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone5_tone3", - ["🧑🏿‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone5_tone4", - ["💑🏿"] = "couple_with_heart_tone5", - ["👩‍❤️‍👨"] = "couple_with_heart_woman_man", - ["👩🏻‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone1", - ["👩🏻‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone1_tone2", - ["👩🏻‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone1_tone3", - ["👩🏻‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone1_tone4", - ["👩🏻‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone1_tone5", - ["👩🏼‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone2_tone1", - ["👩🏼‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone2", - ["👩🏼‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone2_tone3", - ["👩🏼‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone2_tone4", - ["👩🏼‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone2_tone5", - ["👩🏽‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone3_tone1", - ["👩🏽‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone3_tone2", - ["👩🏽‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone3", - ["👩🏽‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone3_tone4", - ["👩🏽‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone3_tone5", - ["👩🏾‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone4_tone1", - ["👩🏾‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone4_tone2", - ["👩🏾‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone4_tone3", - ["👩🏾‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone4", - ["👩🏾‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone4_tone5", - ["👩🏿‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone5_tone1", - ["👩🏿‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone5_tone2", - ["👩🏿‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone5_tone3", - ["👩🏿‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone5_tone4", - ["👩🏿‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone5", - ["👩‍❤️‍👩"] = "couple_ww", - ["👩🏻‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone1", - ["👩🏻‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone1_tone2", - ["👩🏻‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone1_tone3", - ["👩🏻‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone1_tone4", - ["👩🏻‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone1_tone5", - ["👩🏼‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone2_tone1", - ["👩🏼‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone2", - ["👩🏼‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone2_tone3", - ["👩🏼‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone2_tone4", - ["👩🏼‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone2_tone5", - ["👩🏽‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone3_tone1", - ["👩🏽‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone3_tone2", - ["👩🏽‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone3", - ["👩🏽‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone3_tone4", - ["👩🏽‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone3_tone5", - ["👩🏾‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone4_tone1", - ["👩🏾‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone4_tone2", - ["👩🏾‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone4_tone3", - ["👩🏾‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone4", - ["👩🏾‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone4_tone5", - ["👩🏿‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone5_tone1", - ["👩🏿‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone5_tone2", - ["👩🏿‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone5_tone3", - ["👩🏿‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone5_tone4", - ["👩🏿‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone5", - ["👨‍❤️‍👨"] = "couple_mm", - ["👨🏻‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone1", - ["👨🏻‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone1_tone2", - ["👨🏻‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone1_tone3", - ["👨🏻‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone1_tone4", - ["👨🏻‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone1_tone5", - ["👨🏼‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone2_tone1", - ["👨🏼‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone2", - ["👨🏼‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone2_tone3", - ["👨🏼‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone2_tone4", - ["👨🏼‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone2_tone5", - ["👨🏽‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone3_tone1", - ["👨🏽‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone3_tone2", - ["👨🏽‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone3", - ["👨🏽‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone3_tone4", - ["👨🏽‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone3_tone5", - ["👨🏾‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone4_tone1", - ["👨🏾‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone4_tone2", - ["👨🏾‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone4_tone3", - ["👨🏾‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone4", - ["👨🏾‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone4_tone5", - ["👨🏿‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone5_tone1", - ["👨🏿‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone5_tone2", - ["👨🏿‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone5_tone3", - ["👨🏿‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone5_tone4", - ["👨🏿‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone5", - ["💏"] = "couplekiss", - ["🧑🏿‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone5_tone4", - ["💏🏻"] = "kiss_tone1", - ["🧑🏻‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone1_tone2", - ["🧑🏻‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone1_tone3", - ["🧑🏻‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone1_tone4", - ["🧑🏻‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone1_tone5", - ["🧑🏼‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone2_tone1", - ["💏🏼"] = "kiss_tone2", - ["🧑🏼‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone2_tone3", - ["🧑🏼‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone2_tone4", - ["🧑🏼‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone2_tone5", - ["🧑🏽‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone3_tone1", - ["🧑🏽‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone3_tone2", - ["💏🏽"] = "kiss_tone3", - ["🧑🏽‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone3_tone4", - ["🧑🏽‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone3_tone5", - ["🧑🏾‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone4_tone1", - ["🧑🏾‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone4_tone2", - ["🧑🏾‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone4_tone3", - ["💏🏾"] = "kiss_tone4", - ["🧑🏾‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone4_tone5", - ["🧑🏿‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone5_tone1", - ["🧑🏿‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone5_tone2", - ["🧑🏿‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone5_tone3", - ["💏🏿"] = "kiss_tone5", - ["👩‍❤️‍💋‍👨"] = "kiss_woman_man", - ["👩🏻‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone1", - ["👩🏻‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone1_tone2", - ["👩🏻‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone1_tone3", - ["👩🏻‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone1_tone4", - ["👩🏻‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone1_tone5", - ["👩🏼‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone2_tone1", - ["👩🏼‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone2", - ["👩🏼‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone2_tone3", - ["👩🏼‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone2_tone4", - ["👩🏼‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone2_tone5", - ["👩🏽‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone3_tone1", - ["👩🏽‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone3_tone2", - ["👩🏽‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone3", - ["👩🏽‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone3_tone4", - ["👩🏽‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone3_tone5", - ["👩🏾‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone4_tone1", - ["👩🏾‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone4_tone2", - ["👩🏾‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone4_tone3", - ["👩🏾‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone4", - ["👩🏾‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone4_tone5", - ["👩🏿‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone5_tone1", - ["👩🏿‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone5_tone2", - ["👩🏿‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone5_tone3", - ["👩🏿‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone5_tone4", - ["👩🏿‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone5", - ["👩‍❤️‍💋‍👩"] = "kiss_ww", - ["👩🏻‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone1", - ["👩🏻‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone1_tone2", - ["👩🏻‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone1_tone3", - ["👩🏻‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone1_tone4", - ["👩🏻‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone1_tone5", - ["👩🏼‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone2_tone1", - ["👩🏼‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone2", - ["👩🏼‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone2_tone3", - ["👩🏼‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone2_tone4", - ["👩🏼‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone2_tone5", - ["👩🏽‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone3_tone1", - ["👩🏽‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone3_tone2", - ["👩🏽‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone3", - ["👩🏽‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone3_tone4", - ["👩🏽‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone3_tone5", - ["👩🏾‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone4_tone1", - ["👩🏾‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone4_tone2", - ["👩🏾‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone4_tone3", - ["👩🏾‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone4", - ["👩🏾‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone4_tone5", - ["👩🏿‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone5_tone1", - ["👩🏿‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone5_tone2", - ["👩🏿‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone5_tone3", - ["👩🏿‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone5_tone4", - ["👩🏿‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone5", - ["👨‍❤️‍💋‍👨"] = "kiss_mm", - ["👨🏻‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone1", - ["👨🏻‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone1_tone2", - ["👨🏻‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone1_tone3", - ["👨🏻‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone1_tone4", - ["👨🏻‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone1_tone5", - ["👨🏼‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone2_tone1", - ["👨🏼‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone2", - ["👨🏼‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone2_tone3", - ["👨🏼‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone2_tone4", - ["👨🏼‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone2_tone5", - ["👨🏽‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone3_tone1", - ["👨🏽‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone3_tone2", - ["👨🏽‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone3", - ["👨🏽‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone3_tone4", - ["👨🏽‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone3_tone5", - ["👨🏾‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone4_tone1", - ["👨🏾‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone4_tone2", - ["👨🏾‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone4_tone3", - ["👨🏾‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone4", - ["👨🏾‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone4_tone5", - ["👨🏿‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone5_tone1", - ["👨🏿‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone5_tone2", - ["👨🏿‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone5_tone3", - ["👨🏿‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone5_tone4", - ["👨🏿‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone5", - ["👪"] = "family", - ["👨‍👩‍👦"] = "family_man_woman_boy", - ["👨‍👩‍👧"] = "family_mwg", - ["👨‍👩‍👧‍👦"] = "family_mwgb", - ["👨‍👩‍👦‍👦"] = "family_mwbb", - ["👨‍👩‍👧‍👧"] = "family_mwgg", - ["👩‍👩‍👦"] = "family_wwb", - ["👩‍👩‍👧"] = "family_wwg", - ["👩‍👩‍👧‍👦"] = "family_wwgb", - ["👩‍👩‍👦‍👦"] = "family_wwbb", - ["👩‍👩‍👧‍👧"] = "family_wwgg", - ["👨‍👨‍👦"] = "family_mmb", - ["👨‍👨‍👧"] = "family_mmg", - ["👨‍👨‍👧‍👦"] = "family_mmgb", - ["👨‍👨‍👦‍👦"] = "family_mmbb", - ["👨‍👨‍👧‍👧"] = "family_mmgg", - ["👩‍👦"] = "family_woman_boy", - ["👩‍👧"] = "family_woman_girl", - ["👩‍👧‍👦"] = "family_woman_girl_boy", - ["👩‍👦‍👦"] = "family_woman_boy_boy", - ["👩‍👧‍👧"] = "family_woman_girl_girl", - ["👨‍👦"] = "family_man_boy", - ["👨‍👧"] = "family_man_girl", - ["👨‍👧‍👦"] = "family_man_girl_boy", - ["👨‍👦‍👦"] = "family_man_boy_boy", - ["👨‍👧‍👧"] = "family_man_girl_girl", - ["🧶"] = "yarn", - ["🧵"] = "thread", - ["🧥"] = "coat", - ["🥼"] = "lab_coat", - ["🦺"] = "safety_vest", - ["👚"] = "womans_clothes", - ["👕"] = "shirt", - ["👖"] = "jeans", - ["🩲"] = "briefs", - ["🩳"] = "shorts", - ["👔"] = "necktie", - ["👗"] = "dress", - ["👙"] = "bikini", - ["🩱"] = "one_piece_swimsuit", - ["👘"] = "kimono", - ["🥻"] = "sari", - ["🥿"] = "womans_flat_shoe", - ["👠"] = "high_heel", - ["👡"] = "sandal", - ["👢"] = "boot", - ["👞"] = "mans_shoe", - ["👟"] = "athletic_shoe", - ["🥾"] = "hiking_boot", - ["🩴"] = "thong_sandal", - ["🧦"] = "socks", - ["🧤"] = "gloves", - ["🧣"] = "scarf", - ["🎩"] = "tophat", - ["🧢"] = "billed_cap", - ["👒"] = "womans_hat", - ["🎓"] = "mortar_board", - ["⛑️"] = "helmet_with_cross", - ["🪖"] = "military_helmet", - ["👑"] = "crown", - ["💍"] = "ring", - ["👝"] = "pouch", - ["👛"] = "purse", - ["👜"] = "handbag", - ["💼"] = "briefcase", - ["🎒"] = "school_satchel", - ["🧳"] = "luggage", - ["👓"] = "eyeglasses", - ["🕶️"] = "dark_sunglasses", - ["🥽"] = "goggles", - ["🌂"] = "closed_umbrella", - ["🐶"] = "dog", - ["🐱"] = "cat", - ["🐭"] = "mouse", - ["🐹"] = "hamster", - ["🐰"] = "rabbit", - ["🦊"] = "fox", - ["🐻"] = "bear", - ["🐼"] = "panda_face", - ["🐻‍❄️"] = "polar_bear", - ["🐨"] = "koala", - ["🐯"] = "tiger", - ["🦁"] = "lion_face", - ["🐮"] = "cow", - ["🐷"] = "pig", - ["🐽"] = "pig_nose", - ["🐸"] = "frog", - ["🐵"] = "monkey_face", - ["🙈"] = "see_no_evil", - ["🙉"] = "hear_no_evil", - ["🙊"] = "speak_no_evil", - ["🐒"] = "monkey", - ["🐔"] = "chicken", - ["🐧"] = "penguin", - ["🐦"] = "bird", - ["🐤"] = "baby_chick", - ["🐣"] = "hatching_chick", - ["🐥"] = "hatched_chick", - ["🦆"] = "duck", - ["🦤"] = "dodo", - ["🦅"] = "eagle", - ["🦉"] = "owl", - ["🦇"] = "bat", - ["🐺"] = "wolf", - ["🐗"] = "boar", - ["🐴"] = "horse", - ["🦄"] = "unicorn", - ["🐝"] = "bee", - ["🐛"] = "bug", - ["🦋"] = "butterfly", - ["🐌"] = "snail", - ["🪱"] = "worm", - ["🐞"] = "lady_beetle", - ["🐜"] = "ant", - ["🪰"] = "fly", - ["🦟"] = "mosquito", - ["🪳"] = "cockroach", - ["🪲"] = "beetle", - ["🦗"] = "cricket", - ["🕷️"] = "spider", - ["🕸️"] = "spider_web", - ["🦂"] = "scorpion", - ["🐢"] = "turtle", - ["🐍"] = "snake", - ["🦎"] = "lizard", - ["🦖"] = "t_rex", - ["🦕"] = "sauropod", - ["🐙"] = "octopus", - ["🦑"] = "squid", - ["🦐"] = "shrimp", - ["🦞"] = "lobster", - ["🦀"] = "crab", - ["🐡"] = "blowfish", - ["🐠"] = "tropical_fish", - ["🐟"] = "fish", - ["🦭"] = "seal", - ["🐬"] = "dolphin", - ["🐳"] = "whale", - ["🐋"] = "whale2", - ["🦈"] = "shark", - ["🐊"] = "crocodile", - ["🐅"] = "tiger2", - ["🐆"] = "leopard", - ["🦓"] = "zebra", - ["🦍"] = "gorilla", - ["🦧"] = "orangutan", - ["🐘"] = "elephant", - ["🦣"] = "mammoth", - ["🦬"] = "bison", - ["🦛"] = "hippopotamus", - ["🦏"] = "rhino", - ["🐪"] = "dromedary_camel", - ["🐫"] = "camel", - ["🦒"] = "giraffe", - ["🦘"] = "kangaroo", - ["🐃"] = "water_buffalo", - ["🐂"] = "ox", - ["🐄"] = "cow2", - ["🐎"] = "racehorse", - ["🐖"] = "pig2", - ["🐏"] = "ram", - ["🐑"] = "sheep", - ["🦙"] = "llama", - ["🐐"] = "goat", - ["🦌"] = "deer", - ["🐕"] = "dog2", - ["🐩"] = "poodle", - ["🦮"] = "guide_dog", - ["🐕‍🦺"] = "service_dog", - ["🐈"] = "cat2", - ["🐈‍⬛"] = "black_cat", - ["🐓"] = "rooster", - ["🦃"] = "turkey", - ["🦚"] = "peacock", - ["🦜"] = "parrot", - ["🦢"] = "swan", - ["🦩"] = "flamingo", - ["🕊️"] = "dove", - ["🐇"] = "rabbit2", - ["🦝"] = "raccoon", - ["🦨"] = "skunk", - ["🦡"] = "badger", - ["🦫"] = "beaver", - ["🦦"] = "otter", - ["🦥"] = "sloth", - ["🐁"] = "mouse2", - ["🐀"] = "rat", - ["🐿️"] = "chipmunk", - ["🦔"] = "hedgehog", - ["🐾"] = "feet", - ["🐉"] = "dragon", - ["🐲"] = "dragon_face", - ["🌵"] = "cactus", - ["🎄"] = "christmas_tree", - ["🌲"] = "evergreen_tree", - ["🌳"] = "deciduous_tree", - ["🌴"] = "palm_tree", - ["🌱"] = "seedling", - ["🌿"] = "herb", - ["☘️"] = "shamrock", - ["🍀"] = "four_leaf_clover", - ["🎍"] = "bamboo", - ["🎋"] = "tanabata_tree", - ["🍃"] = "leaves", - ["🍂"] = "fallen_leaf", - ["🍁"] = "maple_leaf", - ["🪶"] = "feather", - ["🍄"] = "mushroom", - ["🐚"] = "shell", - ["🪨"] = "rock", - ["🪵"] = "wood", - ["🌾"] = "ear_of_rice", - ["🪴"] = "potted_plant", - ["💐"] = "bouquet", - ["🌷"] = "tulip", - ["🌹"] = "rose", - ["🥀"] = "wilted_rose", - ["🌺"] = "hibiscus", - ["🌸"] = "cherry_blossom", - ["🌼"] = "blossom", - ["🌻"] = "sunflower", - ["🌞"] = "sun_with_face", - ["🌝"] = "full_moon_with_face", - ["🌛"] = "first_quarter_moon_with_face", - ["🌜"] = "last_quarter_moon_with_face", - ["🌚"] = "new_moon_with_face", - ["🌕"] = "full_moon", - ["🌖"] = "waning_gibbous_moon", - ["🌗"] = "last_quarter_moon", - ["🌘"] = "waning_crescent_moon", - ["🌑"] = "new_moon", - ["🌒"] = "waxing_crescent_moon", - ["🌓"] = "first_quarter_moon", - ["🌔"] = "waxing_gibbous_moon", - ["🌙"] = "crescent_moon", - ["🌎"] = "earth_americas", - ["🌍"] = "earth_africa", - ["🌏"] = "earth_asia", - ["🪐"] = "ringed_planet", - ["💫"] = "dizzy", - ["⭐"] = "star", - ["🌟"] = "star2", - ["✨"] = "sparkles", - ["⚡"] = "zap", - ["☄️"] = "comet", - ["💥"] = "boom", - ["🔥"] = "fire", - ["🌪️"] = "cloud_tornado", - ["🌈"] = "rainbow", - ["☀️"] = "sunny", - ["🌤️"] = "white_sun_small_cloud", - ["⛅"] = "partly_sunny", - ["🌥️"] = "white_sun_cloud", - ["☁️"] = "cloud", - ["🌦️"] = "white_sun_rain_cloud", - ["🌧️"] = "cloud_rain", - ["⛈️"] = "thunder_cloud_rain", - ["🌩️"] = "cloud_lightning", - ["🌨️"] = "cloud_snow", - ["❄️"] = "snowflake", - ["☃️"] = "snowman2", - ["⛄"] = "snowman", - ["🌬️"] = "wind_blowing_face", - ["💨"] = "dash", - ["💧"] = "droplet", - ["💦"] = "sweat_drops", - ["☔"] = "umbrella", - ["☂️"] = "umbrella2", - ["🌊"] = "ocean", - ["🌫️"] = "fog", - ["🍏"] = "green_apple", - ["🍎"] = "apple", - ["🍐"] = "pear", - ["🍊"] = "tangerine", - ["🍋"] = "lemon", - ["🍌"] = "banana", - ["🍉"] = "watermelon", - ["🍇"] = "grapes", - ["🫐"] = "blueberries", - ["🍓"] = "strawberry", - ["🍈"] = "melon", - ["🍒"] = "cherries", - ["🍑"] = "peach", - ["🥭"] = "mango", - ["🍍"] = "pineapple", - ["🥥"] = "coconut", - ["🥝"] = "kiwi", - ["🍅"] = "tomato", - ["🍆"] = "eggplant", - ["🥑"] = "avocado", - ["🫒"] = "olive", - ["🥦"] = "broccoli", - ["🥬"] = "leafy_green", - ["🫑"] = "bell_pepper", - ["🥒"] = "cucumber", - ["🌶️"] = "hot_pepper", - ["🌽"] = "corn", - ["🥕"] = "carrot", - ["🧄"] = "garlic", - ["🧅"] = "onion", - ["🥔"] = "potato", - ["🍠"] = "sweet_potato", - ["🥐"] = "croissant", - ["🥯"] = "bagel", - ["🍞"] = "bread", - ["🥖"] = "french_bread", - ["🫓"] = "flatbread", - ["🥨"] = "pretzel", - ["🧀"] = "cheese", - ["🥚"] = "egg", - ["🍳"] = "cooking", - ["🧈"] = "butter", - ["🥞"] = "pancakes", - ["🧇"] = "waffle", - ["🥓"] = "bacon", - ["🥩"] = "cut_of_meat", - ["🍗"] = "poultry_leg", - ["🍖"] = "meat_on_bone", - ["🌭"] = "hotdog", - ["🍔"] = "hamburger", - ["🍟"] = "fries", - ["🍕"] = "pizza", - ["🥪"] = "sandwich", - ["🥙"] = "stuffed_flatbread", - ["🧆"] = "falafel", - ["🌮"] = "taco", - ["🌯"] = "burrito", - ["🫔"] = "tamale", - ["🥗"] = "salad", - ["🥘"] = "shallow_pan_of_food", - ["🫕"] = "fondue", - ["🥫"] = "canned_food", - ["🍝"] = "spaghetti", - ["🍜"] = "ramen", - ["🍲"] = "stew", - ["🍛"] = "curry", - ["🍣"] = "sushi", - ["🍱"] = "bento", - ["🥟"] = "dumpling", - ["🦪"] = "oyster", - ["🍤"] = "fried_shrimp", - ["🍙"] = "rice_ball", - ["🍚"] = "rice", - ["🍘"] = "rice_cracker", - ["🍥"] = "fish_cake", - ["🥠"] = "fortune_cookie", - ["🥮"] = "moon_cake", - ["🍢"] = "oden", - ["🍡"] = "dango", - ["🍧"] = "shaved_ice", - ["🍨"] = "ice_cream", - ["🍦"] = "icecream", - ["🥧"] = "pie", - ["🧁"] = "cupcake", - ["🍰"] = "cake", - ["🎂"] = "birthday", - ["🍮"] = "custard", - ["🍭"] = "lollipop", - ["🍬"] = "candy", - ["🍫"] = "chocolate_bar", - ["🍿"] = "popcorn", - ["🍩"] = "doughnut", - ["🍪"] = "cookie", - ["🌰"] = "chestnut", - ["🥜"] = "peanuts", - ["🍯"] = "honey_pot", - ["🥛"] = "milk", - ["🍼"] = "baby_bottle", - ["☕"] = "coffee", - ["🍵"] = "tea", - ["🫖"] = "teapot", - ["🧉"] = "mate", - ["🧋"] = "bubble_tea", - ["🧃"] = "beverage_box", - ["🥤"] = "cup_with_straw", - ["🍶"] = "sake", - ["🍺"] = "beer", - ["🍻"] = "beers", - ["🥂"] = "champagne_glass", - ["🍷"] = "wine_glass", - ["🥃"] = "tumbler_glass", - ["🍸"] = "cocktail", - ["🍹"] = "tropical_drink", - ["🍾"] = "champagne", - ["🧊"] = "ice_cube", - ["🥄"] = "spoon", - ["🍴"] = "fork_and_knife", - ["🍽️"] = "fork_knife_plate", - ["🥣"] = "bowl_with_spoon", - ["🥡"] = "takeout_box", - ["🥢"] = "chopsticks", - ["🧂"] = "salt", - ["⚽"] = "soccer", - ["🏀"] = "basketball", - ["🏈"] = "football", - ["⚾"] = "baseball", - ["🥎"] = "softball", - ["🎾"] = "tennis", - ["🏐"] = "volleyball", - ["🏉"] = "rugby_football", - ["🥏"] = "flying_disc", - ["🪃"] = "boomerang", - ["🎱"] = "8ball", - ["🪀"] = "yo_yo", - ["🏓"] = "ping_pong", - ["🏸"] = "badminton", - ["🏒"] = "hockey", - ["🏑"] = "field_hockey", - ["🥍"] = "lacrosse", - ["🏏"] = "cricket_game", - ["🥅"] = "goal", - ["⛳"] = "golf", - ["🪁"] = "kite", - ["🏹"] = "bow_and_arrow", - ["🎣"] = "fishing_pole_and_fish", - ["🤿"] = "diving_mask", - ["🥊"] = "boxing_glove", - ["🥋"] = "martial_arts_uniform", - ["🎽"] = "running_shirt_with_sash", - ["🛹"] = "skateboard", - ["🛼"] = "roller_skate", - ["🛷"] = "sled", - ["⛸️"] = "ice_skate", - ["🥌"] = "curling_stone", - ["🎿"] = "ski", - ["⛷️"] = "skier", - ["🏂"] = "snowboarder", - ["🏂🏻"] = "snowboarder_tone1", - ["🏂🏼"] = "snowboarder_tone2", - ["🏂🏽"] = "snowboarder_tone3", - ["🏂🏾"] = "snowboarder_tone4", - ["🏂🏿"] = "snowboarder_tone5", - ["🪂"] = "parachute", - ["🏋️"] = "person_lifting_weights", - ["🏋🏻"] = "person_lifting_weights_tone1", - ["🏋🏼"] = "person_lifting_weights_tone2", - ["🏋🏽"] = "person_lifting_weights_tone3", - ["🏋🏾"] = "person_lifting_weights_tone4", - ["🏋🏿"] = "person_lifting_weights_tone5", - ["🏋️‍♀️"] = "woman_lifting_weights", - ["🏋🏻‍♀️"] = "woman_lifting_weights_tone1", - ["🏋🏼‍♀️"] = "woman_lifting_weights_tone2", - ["🏋🏽‍♀️"] = "woman_lifting_weights_tone3", - ["🏋🏾‍♀️"] = "woman_lifting_weights_tone4", - ["🏋🏿‍♀️"] = "woman_lifting_weights_tone5", - ["🏋️‍♂️"] = "man_lifting_weights", - ["🏋🏻‍♂️"] = "man_lifting_weights_tone1", - ["🏋🏼‍♂️"] = "man_lifting_weights_tone2", - ["🏋🏽‍♂️"] = "man_lifting_weights_tone3", - ["🏋🏾‍♂️"] = "man_lifting_weights_tone4", - ["🏋🏿‍♂️"] = "man_lifting_weights_tone5", - ["🤼"] = "people_wrestling", - ["🤼‍♀️"] = "women_wrestling", - ["🤼‍♂️"] = "men_wrestling", - ["🤸"] = "person_doing_cartwheel", - ["🤸🏻"] = "person_doing_cartwheel_tone1", - ["🤸🏼"] = "person_doing_cartwheel_tone2", - ["🤸🏽"] = "person_doing_cartwheel_tone3", - ["🤸🏾"] = "person_doing_cartwheel_tone4", - ["🤸🏿"] = "person_doing_cartwheel_tone5", - ["🤸‍♀️"] = "woman_cartwheeling", - ["🤸🏻‍♀️"] = "woman_cartwheeling_tone1", - ["🤸🏼‍♀️"] = "woman_cartwheeling_tone2", - ["🤸🏽‍♀️"] = "woman_cartwheeling_tone3", - ["🤸🏾‍♀️"] = "woman_cartwheeling_tone4", - ["🤸🏿‍♀️"] = "woman_cartwheeling_tone5", - ["🤸‍♂️"] = "man_cartwheeling", - ["🤸🏻‍♂️"] = "man_cartwheeling_tone1", - ["🤸🏼‍♂️"] = "man_cartwheeling_tone2", - ["🤸🏽‍♂️"] = "man_cartwheeling_tone3", - ["🤸🏾‍♂️"] = "man_cartwheeling_tone4", - ["🤸🏿‍♂️"] = "man_cartwheeling_tone5", - ["⛹️"] = "person_bouncing_ball", - ["⛹🏻"] = "person_bouncing_ball_tone1", - ["⛹🏼"] = "person_bouncing_ball_tone2", - ["⛹🏽"] = "person_bouncing_ball_tone3", - ["⛹🏾"] = "person_bouncing_ball_tone4", - ["⛹🏿"] = "person_bouncing_ball_tone5", - ["⛹️‍♀️"] = "woman_bouncing_ball", - ["⛹🏻‍♀️"] = "woman_bouncing_ball_tone1", - ["⛹🏼‍♀️"] = "woman_bouncing_ball_tone2", - ["⛹🏽‍♀️"] = "woman_bouncing_ball_tone3", - ["⛹🏾‍♀️"] = "woman_bouncing_ball_tone4", - ["⛹🏿‍♀️"] = "woman_bouncing_ball_tone5", - ["⛹️‍♂️"] = "man_bouncing_ball", - ["⛹🏻‍♂️"] = "man_bouncing_ball_tone1", - ["⛹🏼‍♂️"] = "man_bouncing_ball_tone2", - ["⛹🏽‍♂️"] = "man_bouncing_ball_tone3", - ["⛹🏾‍♂️"] = "man_bouncing_ball_tone4", - ["⛹🏿‍♂️"] = "man_bouncing_ball_tone5", - ["🤺"] = "person_fencing", - ["🤾"] = "person_playing_handball", - ["🤾🏻"] = "person_playing_handball_tone1", - ["🤾🏼"] = "person_playing_handball_tone2", - ["🤾🏽"] = "person_playing_handball_tone3", - ["🤾🏾"] = "person_playing_handball_tone4", - ["🤾🏿"] = "person_playing_handball_tone5", - ["🤾‍♀️"] = "woman_playing_handball", - ["🤾🏻‍♀️"] = "woman_playing_handball_tone1", - ["🤾🏼‍♀️"] = "woman_playing_handball_tone2", - ["🤾🏽‍♀️"] = "woman_playing_handball_tone3", - ["🤾🏾‍♀️"] = "woman_playing_handball_tone4", - ["🤾🏿‍♀️"] = "woman_playing_handball_tone5", - ["🤾‍♂️"] = "man_playing_handball", - ["🤾🏻‍♂️"] = "man_playing_handball_tone1", - ["🤾🏼‍♂️"] = "man_playing_handball_tone2", - ["🤾🏽‍♂️"] = "man_playing_handball_tone3", - ["🤾🏾‍♂️"] = "man_playing_handball_tone4", - ["🤾🏿‍♂️"] = "man_playing_handball_tone5", - ["🏌️"] = "person_golfing", - ["🏌🏻"] = "person_golfing_tone1", - ["🏌🏼"] = "person_golfing_tone2", - ["🏌🏽"] = "person_golfing_tone3", - ["🏌🏾"] = "person_golfing_tone4", - ["🏌🏿"] = "person_golfing_tone5", - ["🏌️‍♀️"] = "woman_golfing", - ["🏌🏻‍♀️"] = "woman_golfing_tone1", - ["🏌🏼‍♀️"] = "woman_golfing_tone2", - ["🏌🏽‍♀️"] = "woman_golfing_tone3", - ["🏌🏾‍♀️"] = "woman_golfing_tone4", - ["🏌🏿‍♀️"] = "woman_golfing_tone5", - ["🏌️‍♂️"] = "man_golfing", - ["🏌🏻‍♂️"] = "man_golfing_tone1", - ["🏌🏼‍♂️"] = "man_golfing_tone2", - ["🏌🏽‍♂️"] = "man_golfing_tone3", - ["🏌🏾‍♂️"] = "man_golfing_tone4", - ["🏌🏿‍♂️"] = "man_golfing_tone5", - ["🏇"] = "horse_racing", - ["🏇🏻"] = "horse_racing_tone1", - ["🏇🏼"] = "horse_racing_tone2", - ["🏇🏽"] = "horse_racing_tone3", - ["🏇🏾"] = "horse_racing_tone4", - ["🏇🏿"] = "horse_racing_tone5", - ["🧘"] = "person_in_lotus_position", - ["🧘🏻"] = "person_in_lotus_position_tone1", - ["🧘🏼"] = "person_in_lotus_position_tone2", - ["🧘🏽"] = "person_in_lotus_position_tone3", - ["🧘🏾"] = "person_in_lotus_position_tone4", - ["🧘🏿"] = "person_in_lotus_position_tone5", - ["🧘‍♀️"] = "woman_in_lotus_position", - ["🧘🏻‍♀️"] = "woman_in_lotus_position_tone1", - ["🧘🏼‍♀️"] = "woman_in_lotus_position_tone2", - ["🧘🏽‍♀️"] = "woman_in_lotus_position_tone3", - ["🧘🏾‍♀️"] = "woman_in_lotus_position_tone4", - ["🧘🏿‍♀️"] = "woman_in_lotus_position_tone5", - ["🧘‍♂️"] = "man_in_lotus_position", - ["🧘🏻‍♂️"] = "man_in_lotus_position_tone1", - ["🧘🏼‍♂️"] = "man_in_lotus_position_tone2", - ["🧘🏽‍♂️"] = "man_in_lotus_position_tone3", - ["🧘🏾‍♂️"] = "man_in_lotus_position_tone4", - ["🧘🏿‍♂️"] = "man_in_lotus_position_tone5", - ["🏄"] = "person_surfing", - ["🏄🏻"] = "person_surfing_tone1", - ["🏄🏼"] = "person_surfing_tone2", - ["🏄🏽"] = "person_surfing_tone3", - ["🏄🏾"] = "person_surfing_tone4", - ["🏄🏿"] = "person_surfing_tone5", - ["🏄‍♀️"] = "woman_surfing", - ["🏄🏻‍♀️"] = "woman_surfing_tone1", - ["🏄🏼‍♀️"] = "woman_surfing_tone2", - ["🏄🏽‍♀️"] = "woman_surfing_tone3", - ["🏄🏾‍♀️"] = "woman_surfing_tone4", - ["🏄🏿‍♀️"] = "woman_surfing_tone5", - ["🏄‍♂️"] = "man_surfing", - ["🏄🏻‍♂️"] = "man_surfing_tone1", - ["🏄🏼‍♂️"] = "man_surfing_tone2", - ["🏄🏽‍♂️"] = "man_surfing_tone3", - ["🏄🏾‍♂️"] = "man_surfing_tone4", - ["🏄🏿‍♂️"] = "man_surfing_tone5", - ["🏊"] = "person_swimming", - ["🏊🏻"] = "person_swimming_tone1", - ["🏊🏼"] = "person_swimming_tone2", - ["🏊🏽"] = "person_swimming_tone3", - ["🏊🏾"] = "person_swimming_tone4", - ["🏊🏿"] = "person_swimming_tone5", - ["🏊‍♀️"] = "woman_swimming", - ["🏊🏻‍♀️"] = "woman_swimming_tone1", - ["🏊🏼‍♀️"] = "woman_swimming_tone2", - ["🏊🏽‍♀️"] = "woman_swimming_tone3", - ["🏊🏾‍♀️"] = "woman_swimming_tone4", - ["🏊🏿‍♀️"] = "woman_swimming_tone5", - ["🏊‍♂️"] = "man_swimming", - ["🏊🏻‍♂️"] = "man_swimming_tone1", - ["🏊🏼‍♂️"] = "man_swimming_tone2", - ["🏊🏽‍♂️"] = "man_swimming_tone3", - ["🏊🏾‍♂️"] = "man_swimming_tone4", - ["🏊🏿‍♂️"] = "man_swimming_tone5", - ["🤽"] = "person_playing_water_polo", - ["🤽🏻"] = "person_playing_water_polo_tone1", - ["🤽🏼"] = "person_playing_water_polo_tone2", - ["🤽🏽"] = "person_playing_water_polo_tone3", - ["🤽🏾"] = "person_playing_water_polo_tone4", - ["🤽🏿"] = "person_playing_water_polo_tone5", - ["🤽‍♀️"] = "woman_playing_water_polo", - ["🤽🏻‍♀️"] = "woman_playing_water_polo_tone1", - ["🤽🏼‍♀️"] = "woman_playing_water_polo_tone2", - ["🤽🏽‍♀️"] = "woman_playing_water_polo_tone3", - ["🤽🏾‍♀️"] = "woman_playing_water_polo_tone4", - ["🤽🏿‍♀️"] = "woman_playing_water_polo_tone5", - ["🤽‍♂️"] = "man_playing_water_polo", - ["🤽🏻‍♂️"] = "man_playing_water_polo_tone1", - ["🤽🏼‍♂️"] = "man_playing_water_polo_tone2", - ["🤽🏽‍♂️"] = "man_playing_water_polo_tone3", - ["🤽🏾‍♂️"] = "man_playing_water_polo_tone4", - ["🤽🏿‍♂️"] = "man_playing_water_polo_tone5", - ["🚣"] = "person_rowing_boat", - ["🚣🏻"] = "person_rowing_boat_tone1", - ["🚣🏼"] = "person_rowing_boat_tone2", - ["🚣🏽"] = "person_rowing_boat_tone3", - ["🚣🏾"] = "person_rowing_boat_tone4", - ["🚣🏿"] = "person_rowing_boat_tone5", - ["🚣‍♀️"] = "woman_rowing_boat", - ["🚣🏻‍♀️"] = "woman_rowing_boat_tone1", - ["🚣🏼‍♀️"] = "woman_rowing_boat_tone2", - ["🚣🏽‍♀️"] = "woman_rowing_boat_tone3", - ["🚣🏾‍♀️"] = "woman_rowing_boat_tone4", - ["🚣🏿‍♀️"] = "woman_rowing_boat_tone5", - ["🚣‍♂️"] = "man_rowing_boat", - ["🚣🏻‍♂️"] = "man_rowing_boat_tone1", - ["🚣🏼‍♂️"] = "man_rowing_boat_tone2", - ["🚣🏽‍♂️"] = "man_rowing_boat_tone3", - ["🚣🏾‍♂️"] = "man_rowing_boat_tone4", - ["🚣🏿‍♂️"] = "man_rowing_boat_tone5", - ["🧗"] = "person_climbing", - ["🧗🏻"] = "person_climbing_tone1", - ["🧗🏼"] = "person_climbing_tone2", - ["🧗🏽"] = "person_climbing_tone3", - ["🧗🏾"] = "person_climbing_tone4", - ["🧗🏿"] = "person_climbing_tone5", - ["🧗‍♀️"] = "woman_climbing", - ["🧗🏻‍♀️"] = "woman_climbing_tone1", - ["🧗🏼‍♀️"] = "woman_climbing_tone2", - ["🧗🏽‍♀️"] = "woman_climbing_tone3", - ["🧗🏾‍♀️"] = "woman_climbing_tone4", - ["🧗🏿‍♀️"] = "woman_climbing_tone5", - ["🧗‍♂️"] = "man_climbing", - ["🧗🏻‍♂️"] = "man_climbing_tone1", - ["🧗🏼‍♂️"] = "man_climbing_tone2", - ["🧗🏽‍♂️"] = "man_climbing_tone3", - ["🧗🏾‍♂️"] = "man_climbing_tone4", - ["🧗🏿‍♂️"] = "man_climbing_tone5", - ["🚵"] = "person_mountain_biking", - ["🚵🏻"] = "person_mountain_biking_tone1", - ["🚵🏼"] = "person_mountain_biking_tone2", - ["🚵🏽"] = "person_mountain_biking_tone3", - ["🚵🏾"] = "person_mountain_biking_tone4", - ["🚵🏿"] = "person_mountain_biking_tone5", - ["🚵‍♀️"] = "woman_mountain_biking", - ["🚵🏻‍♀️"] = "woman_mountain_biking_tone1", - ["🚵🏼‍♀️"] = "woman_mountain_biking_tone2", - ["🚵🏽‍♀️"] = "woman_mountain_biking_tone3", - ["🚵🏾‍♀️"] = "woman_mountain_biking_tone4", - ["🚵🏿‍♀️"] = "woman_mountain_biking_tone5", - ["🚵‍♂️"] = "man_mountain_biking", - ["🚵🏻‍♂️"] = "man_mountain_biking_tone1", - ["🚵🏼‍♂️"] = "man_mountain_biking_tone2", - ["🚵🏽‍♂️"] = "man_mountain_biking_tone3", - ["🚵🏾‍♂️"] = "man_mountain_biking_tone4", - ["🚵🏿‍♂️"] = "man_mountain_biking_tone5", - ["🚴"] = "person_biking", - ["🚴🏻"] = "person_biking_tone1", - ["🚴🏼"] = "person_biking_tone2", - ["🚴🏽"] = "person_biking_tone3", - ["🚴🏾"] = "person_biking_tone4", - ["🚴🏿"] = "person_biking_tone5", - ["🚴‍♀️"] = "woman_biking", - ["🚴🏻‍♀️"] = "woman_biking_tone1", - ["🚴🏼‍♀️"] = "woman_biking_tone2", - ["🚴🏽‍♀️"] = "woman_biking_tone3", - ["🚴🏾‍♀️"] = "woman_biking_tone4", - ["🚴🏿‍♀️"] = "woman_biking_tone5", - ["🚴‍♂️"] = "man_biking", - ["🚴🏻‍♂️"] = "man_biking_tone1", - ["🚴🏼‍♂️"] = "man_biking_tone2", - ["🚴🏽‍♂️"] = "man_biking_tone3", - ["🚴🏾‍♂️"] = "man_biking_tone4", - ["🚴🏿‍♂️"] = "man_biking_tone5", - ["🏆"] = "trophy", - ["🥇"] = "first_place", - ["🥈"] = "second_place", - ["🥉"] = "third_place", - ["🏅"] = "medal", - ["🎖️"] = "military_medal", - ["🏵️"] = "rosette", - ["🎗️"] = "reminder_ribbon", - ["🎫"] = "ticket", - ["🎟️"] = "tickets", - ["🎪"] = "circus_tent", - ["🤹"] = "person_juggling", - ["🤹🏻"] = "person_juggling_tone1", - ["🤹🏼"] = "person_juggling_tone2", - ["🤹🏽"] = "person_juggling_tone3", - ["🤹🏾"] = "person_juggling_tone4", - ["🤹🏿"] = "person_juggling_tone5", - ["🤹‍♀️"] = "woman_juggling", - ["🤹🏻‍♀️"] = "woman_juggling_tone1", - ["🤹🏼‍♀️"] = "woman_juggling_tone2", - ["🤹🏽‍♀️"] = "woman_juggling_tone3", - ["🤹🏾‍♀️"] = "woman_juggling_tone4", - ["🤹🏿‍♀️"] = "woman_juggling_tone5", - ["🤹‍♂️"] = "man_juggling", - ["🤹🏻‍♂️"] = "man_juggling_tone1", - ["🤹🏼‍♂️"] = "man_juggling_tone2", - ["🤹🏽‍♂️"] = "man_juggling_tone3", - ["🤹🏾‍♂️"] = "man_juggling_tone4", - ["🤹🏿‍♂️"] = "man_juggling_tone5", - ["🎭"] = "performing_arts", - ["🩰"] = "ballet_shoes", - ["🎨"] = "art", - ["🎬"] = "clapper", - ["🎤"] = "microphone", - ["🎧"] = "headphones", - ["🎼"] = "musical_score", - ["🎹"] = "musical_keyboard", - ["🥁"] = "drum", - ["🪘"] = "long_drum", - ["🎷"] = "saxophone", - ["🎺"] = "trumpet", - ["🎸"] = "guitar", - ["🪕"] = "banjo", - ["🎻"] = "violin", - ["🪗"] = "accordion", - ["🎲"] = "game_die", - ["♟️"] = "chess_pawn", - ["🎯"] = "dart", - ["🎳"] = "bowling", - ["🎮"] = "video_game", - ["🎰"] = "slot_machine", - ["🧩"] = "jigsaw", - ["🚗"] = "red_car", - ["🚕"] = "taxi", - ["🚙"] = "blue_car", - ["🛻"] = "pickup_truck", - ["🚌"] = "bus", - ["🚎"] = "trolleybus", - ["🏎️"] = "race_car", - ["🚓"] = "police_car", - ["🚑"] = "ambulance", - ["🚒"] = "fire_engine", - ["🚐"] = "minibus", - ["🚚"] = "truck", - ["🚛"] = "articulated_lorry", - ["🚜"] = "tractor", - ["🦯"] = "probing_cane", - ["🦽"] = "manual_wheelchair", - ["🦼"] = "motorized_wheelchair", - ["🛴"] = "scooter", - ["🚲"] = "bike", - ["🛵"] = "motor_scooter", - ["🏍️"] = "motorcycle", - ["🛺"] = "auto_rickshaw", - ["🚨"] = "rotating_light", - ["🚔"] = "oncoming_police_car", - ["🚍"] = "oncoming_bus", - ["🚘"] = "oncoming_automobile", - ["🚖"] = "oncoming_taxi", - ["🚡"] = "aerial_tramway", - ["🚠"] = "mountain_cableway", - ["🚟"] = "suspension_railway", - ["🚃"] = "railway_car", - ["🚋"] = "train", - ["🚞"] = "mountain_railway", - ["🚝"] = "monorail", - ["🚄"] = "bullettrain_side", - ["🚅"] = "bullettrain_front", - ["🚈"] = "light_rail", - ["🚂"] = "steam_locomotive", - ["🚆"] = "train2", - ["🚇"] = "metro", - ["🚊"] = "tram", - ["🚉"] = "station", - ["✈️"] = "airplane", - ["🛫"] = "airplane_departure", - ["🛬"] = "airplane_arriving", - ["🛩️"] = "airplane_small", - ["💺"] = "seat", - ["🛰️"] = "satellite_orbital", - ["🚀"] = "rocket", - ["🛸"] = "flying_saucer", - ["🚁"] = "helicopter", - ["🛶"] = "canoe", - ["⛵"] = "sailboat", - ["🚤"] = "speedboat", - ["🛥️"] = "motorboat", - ["🛳️"] = "cruise_ship", - ["⛴️"] = "ferry", - ["🚢"] = "ship", - ["⚓"] = "anchor", - ["⛽"] = "fuelpump", - ["🚧"] = "construction", - ["🚦"] = "vertical_traffic_light", - ["🚥"] = "traffic_light", - ["🚏"] = "busstop", - ["🗺️"] = "map", - ["🗿"] = "moyai", - ["🗽"] = "statue_of_liberty", - ["🗼"] = "tokyo_tower", - ["🏰"] = "european_castle", - ["🏯"] = "japanese_castle", - ["🏟️"] = "stadium", - ["🎡"] = "ferris_wheel", - ["🎢"] = "roller_coaster", - ["🎠"] = "carousel_horse", - ["⛲"] = "fountain", - ["⛱️"] = "beach_umbrella", - ["🏖️"] = "beach", - ["🏝️"] = "island", - ["🏜️"] = "desert", - ["🌋"] = "volcano", - ["⛰️"] = "mountain", - ["🏔️"] = "mountain_snow", - ["🗻"] = "mount_fuji", - ["🏕️"] = "camping", - ["⛺"] = "tent", - ["🏠"] = "house", - ["🏡"] = "house_with_garden", - ["🏘️"] = "homes", - ["🏚️"] = "house_abandoned", - ["🛖"] = "hut", - ["🏗️"] = "construction_site", - ["🏭"] = "factory", - ["🏢"] = "office", - ["🏬"] = "department_store", - ["🏣"] = "post_office", - ["🏤"] = "european_post_office", - ["🏥"] = "hospital", - ["🏦"] = "bank", - ["🏨"] = "hotel", - ["🏪"] = "convenience_store", - ["🏫"] = "school", - ["🏩"] = "love_hotel", - ["💒"] = "wedding", - ["🏛️"] = "classical_building", - ["⛪"] = "church", - ["🕌"] = "mosque", - ["🕍"] = "synagogue", - ["🛕"] = "hindu_temple", - ["🕋"] = "kaaba", - ["⛩️"] = "shinto_shrine", - ["🛤️"] = "railway_track", - ["🛣️"] = "motorway", - ["🗾"] = "japan", - ["🎑"] = "rice_scene", - ["🏞️"] = "park", - ["🌅"] = "sunrise", - ["🌄"] = "sunrise_over_mountains", - ["🌠"] = "stars", - ["🎇"] = "sparkler", - ["🎆"] = "fireworks", - ["🌇"] = "city_sunset", - ["🌆"] = "city_dusk", - ["🏙️"] = "cityscape", - ["🌃"] = "night_with_stars", - ["🌌"] = "milky_way", - ["🌉"] = "bridge_at_night", - ["🌁"] = "foggy", - ["⌚"] = "watch", - ["📱"] = "mobile_phone", - ["📲"] = "calling", - ["💻"] = "computer", - ["⌨️"] = "keyboard", - ["🖥️"] = "desktop", - ["🖨️"] = "printer", - ["🖱️"] = "mouse_three_button", - ["🖲️"] = "trackball", - ["🕹️"] = "joystick", - ["🗜️"] = "compression", - ["💽"] = "minidisc", - ["💾"] = "floppy_disk", - ["💿"] = "cd", - ["📀"] = "dvd", - ["📼"] = "vhs", - ["📷"] = "camera", - ["📸"] = "camera_with_flash", - ["📹"] = "video_camera", - ["🎥"] = "movie_camera", - ["📽️"] = "projector", - ["🎞️"] = "film_frames", - ["📞"] = "telephone_receiver", - ["☎️"] = "telephone", - ["📟"] = "pager", - ["📠"] = "fax", - ["📺"] = "tv", - ["📻"] = "radio", - ["🎙️"] = "microphone2", - ["🎚️"] = "level_slider", - ["🎛️"] = "control_knobs", - ["🧭"] = "compass", - ["⏱️"] = "stopwatch", - ["⏲️"] = "timer", - ["⏰"] = "alarm_clock", - ["🕰️"] = "clock", - ["⌛"] = "hourglass", - ["⏳"] = "hourglass_flowing_sand", - ["📡"] = "satellite", - ["🔋"] = "battery", - ["🔌"] = "electric_plug", - ["💡"] = "bulb", - ["🔦"] = "flashlight", - ["🕯️"] = "candle", - ["🪔"] = "diya_lamp", - ["🧯"] = "fire_extinguisher", - ["🛢️"] = "oil", - ["💸"] = "money_with_wings", - ["💵"] = "dollar", - ["💴"] = "yen", - ["💶"] = "euro", - ["💷"] = "pound", - ["🪙"] = "coin", - ["💰"] = "moneybag", - ["💳"] = "credit_card", - ["💎"] = "gem", - ["⚖️"] = "scales", - ["🪜"] = "ladder", - ["🧰"] = "toolbox", - ["🪛"] = "screwdriver", - ["🔧"] = "wrench", - ["🔨"] = "hammer", - ["⚒️"] = "hammer_pick", - ["🛠️"] = "tools", - ["⛏️"] = "pick", - ["🔩"] = "nut_and_bolt", - ["⚙️"] = "gear", - ["🧱"] = "bricks", - ["⛓️"] = "chains", - ["🪝"] = "hook", - ["🪢"] = "knot", - ["🧲"] = "magnet", - ["🔫"] = "gun", - ["💣"] = "bomb", - ["🧨"] = "firecracker", - ["🪓"] = "axe", - ["🪚"] = "carpentry_saw", - ["🔪"] = "knife", - ["🗡️"] = "dagger", - ["⚔️"] = "crossed_swords", - ["🛡️"] = "shield", - ["🚬"] = "smoking", - ["⚰️"] = "coffin", - ["🪦"] = "headstone", - ["⚱️"] = "urn", - ["🏺"] = "amphora", - ["🪄"] = "magic_wand", - ["🔮"] = "crystal_ball", - ["📿"] = "prayer_beads", - ["🧿"] = "nazar_amulet", - ["💈"] = "barber", - ["⚗️"] = "alembic", - ["🔭"] = "telescope", - ["🔬"] = "microscope", - ["🕳️"] = "hole", - ["🪟"] = "window", - ["🩹"] = "adhesive_bandage", - ["🩺"] = "stethoscope", - ["💊"] = "pill", - ["💉"] = "syringe", - ["🩸"] = "drop_of_blood", - ["🧬"] = "dna", - ["🦠"] = "microbe", - ["🧫"] = "petri_dish", - ["🧪"] = "test_tube", - ["🌡️"] = "thermometer", - ["🪤"] = "mouse_trap", - ["🧹"] = "broom", - ["🧺"] = "basket", - ["🪡"] = "sewing_needle", - ["🧻"] = "roll_of_paper", - ["🚽"] = "toilet", - ["🪠"] = "plunger", - ["🪣"] = "bucket", - ["🚰"] = "potable_water", - ["🚿"] = "shower", - ["🛁"] = "bathtub", - ["🛀"] = "bath", - ["🛀🏻"] = "bath_tone1", - ["🛀🏼"] = "bath_tone2", - ["🛀🏽"] = "bath_tone3", - ["🛀🏾"] = "bath_tone4", - ["🛀🏿"] = "bath_tone5", - ["🪥"] = "toothbrush", - ["🧼"] = "soap", - ["🪒"] = "razor", - ["🧽"] = "sponge", - ["🧴"] = "squeeze_bottle", - ["🛎️"] = "bellhop", - ["🔑"] = "key", - ["🗝️"] = "key2", - ["🚪"] = "door", - ["🪑"] = "chair", - ["🪞"] = "mirror", - ["🛋️"] = "couch", - ["🛏️"] = "bed", - ["🛌"] = "sleeping_accommodation", - ["🛌🏻"] = "person_in_bed_tone1", - ["🛌🏼"] = "person_in_bed_tone2", - ["🛌🏽"] = "person_in_bed_tone3", - ["🛌🏾"] = "person_in_bed_tone4", - ["🛌🏿"] = "person_in_bed_tone5", - ["🧸"] = "teddy_bear", - ["🖼️"] = "frame_photo", - ["🛍️"] = "shopping_bags", - ["🛒"] = "shopping_cart", - ["🎁"] = "gift", - ["🎈"] = "balloon", - ["🎏"] = "flags", - ["🎀"] = "ribbon", - ["🎊"] = "confetti_ball", - ["🎉"] = "tada", - ["🪅"] = "piñata", - ["🪆"] = "nesting_dolls", - ["🎎"] = "dolls", - ["🏮"] = "izakaya_lantern", - ["🎐"] = "wind_chime", - ["🧧"] = "red_envelope", - ["✉️"] = "envelope", - ["📩"] = "envelope_with_arrow", - ["📨"] = "incoming_envelope", - ["📧"] = "e_mail", - ["💌"] = "love_letter", - ["📥"] = "inbox_tray", - ["📤"] = "outbox_tray", - ["📦"] = "package", - ["🏷️"] = "label", - ["📪"] = "mailbox_closed", - ["📫"] = "mailbox", - ["📬"] = "mailbox_with_mail", - ["📭"] = "mailbox_with_no_mail", - ["📮"] = "postbox", - ["📯"] = "postal_horn", - ["🪧"] = "placard", - ["📜"] = "scroll", - ["📃"] = "page_with_curl", - ["📄"] = "page_facing_up", - ["📑"] = "bookmark_tabs", - ["🧾"] = "receipt", - ["📊"] = "bar_chart", - ["📈"] = "chart_with_upwards_trend", - ["📉"] = "chart_with_downwards_trend", - ["🗒️"] = "notepad_spiral", - ["🗓️"] = "calendar_spiral", - ["📆"] = "calendar", - ["📅"] = "date", - ["🗑️"] = "wastebasket", - ["📇"] = "card_index", - ["🗃️"] = "card_box", - ["🗳️"] = "ballot_box", - ["🗄️"] = "file_cabinet", - ["📋"] = "clipboard", - ["📁"] = "file_folder", - ["📂"] = "open_file_folder", - ["🗂️"] = "dividers", - ["🗞️"] = "newspaper2", - ["📰"] = "newspaper", - ["📓"] = "notebook", - ["📔"] = "notebook_with_decorative_cover", - ["📒"] = "ledger", - ["📕"] = "closed_book", - ["📗"] = "green_book", - ["📘"] = "blue_book", - ["📙"] = "orange_book", - ["📚"] = "books", - ["📖"] = "book", - ["🔖"] = "bookmark", - ["🧷"] = "safety_pin", - ["🔗"] = "link", - ["📎"] = "paperclip", - ["🖇️"] = "paperclips", - ["📐"] = "triangular_ruler", - ["📏"] = "straight_ruler", - ["🧮"] = "abacus", - ["📌"] = "pushpin", - ["📍"] = "round_pushpin", - ["✂️"] = "scissors", - ["🖊️"] = "pen_ballpoint", - ["🖋️"] = "pen_fountain", - ["✒️"] = "black_nib", - ["🖌️"] = "paintbrush", - ["🖍️"] = "crayon", - ["📝"] = "pencil", - ["✏️"] = "pencil2", - ["🔍"] = "mag", - ["🔎"] = "mag_right", - ["🔏"] = "lock_with_ink_pen", - ["🔐"] = "closed_lock_with_key", - ["🔒"] = "lock", - ["🔓"] = "unlock", - ["❤️"] = "heart", - ["🧡"] = "orange_heart", - ["💛"] = "yellow_heart", - ["💚"] = "green_heart", - ["💙"] = "blue_heart", - ["💜"] = "purple_heart", - ["🖤"] = "black_heart", - ["🤎"] = "brown_heart", - ["🤍"] = "white_heart", - ["💔"] = "broken_heart", - ["❣️"] = "heart_exclamation", - ["💕"] = "two_hearts", - ["💞"] = "revolving_hearts", - ["💓"] = "heartbeat", - ["💗"] = "heartpulse", - ["💖"] = "sparkling_heart", - ["💘"] = "cupid", - ["💝"] = "gift_heart", - ["❤️‍🩹"] = "mending_heart", - ["❤️‍🔥"] = "heart_on_fire", - ["💟"] = "heart_decoration", - ["☮️"] = "peace", - ["✝️"] = "cross", - ["☪️"] = "star_and_crescent", - ["🕉️"] = "om_symbol", - ["☸️"] = "wheel_of_dharma", - ["✡️"] = "star_of_david", - ["🔯"] = "six_pointed_star", - ["🕎"] = "menorah", - ["☯️"] = "yin_yang", - ["☦️"] = "orthodox_cross", - ["🛐"] = "place_of_worship", - ["⛎"] = "ophiuchus", - ["♈"] = "aries", - ["♉"] = "taurus", - ["♊"] = "gemini", - ["♋"] = "cancer", - ["♌"] = "leo", - ["♍"] = "virgo", - ["♎"] = "libra", - ["♏"] = "scorpius", - ["♐"] = "sagittarius", - ["♑"] = "capricorn", - ["♒"] = "aquarius", - ["♓"] = "pisces", - ["🆔"] = "id", - ["⚛️"] = "atom", - ["🉑"] = "accept", - ["☢️"] = "radioactive", - ["☣️"] = "biohazard", - ["📴"] = "mobile_phone_off", - ["📳"] = "vibration_mode", - ["🈶"] = "u6709", - ["🈚"] = "u7121", - ["🈸"] = "u7533", - ["🈺"] = "u55b6", - ["🈷️"] = "u6708", - ["✴️"] = "eight_pointed_black_star", - ["🆚"] = "vs", - ["💮"] = "white_flower", - ["🉐"] = "ideograph_advantage", - ["㊙️"] = "secret", - ["㊗️"] = "congratulations", - ["🈴"] = "u5408", - ["🈵"] = "u6e80", - ["🈹"] = "u5272", - ["🈲"] = "u7981", - ["🅰️"] = "a", - ["🅱️"] = "b", - ["🆎"] = "ab", - ["🆑"] = "cl", - ["🅾️"] = "o2", - ["🆘"] = "sos", - ["❌"] = "x", - ["⭕"] = "o", - ["🛑"] = "octagonal_sign", - ["⛔"] = "no_entry", - ["📛"] = "name_badge", - ["🚫"] = "no_entry_sign", - ["💯"] = "100", - ["💢"] = "anger", - ["♨️"] = "hotsprings", - ["🚷"] = "no_pedestrians", - ["🚯"] = "do_not_litter", - ["🚳"] = "no_bicycles", - ["🚱"] = "non_potable_water", - ["🔞"] = "underage", - ["📵"] = "no_mobile_phones", - ["🚭"] = "no_smoking", - ["❗"] = "exclamation", - ["❕"] = "grey_exclamation", - ["❓"] = "question", - ["❔"] = "grey_question", - ["‼️"] = "bangbang", - ["⁉️"] = "interrobang", - ["🔅"] = "low_brightness", - ["🔆"] = "high_brightness", - ["〽️"] = "part_alternation_mark", - ["⚠️"] = "warning", - ["🚸"] = "children_crossing", - ["🔱"] = "trident", - ["⚜️"] = "fleur_de_lis", - ["🔰"] = "beginner", - ["♻️"] = "recycle", - ["✅"] = "white_check_mark", - ["🈯"] = "u6307", - ["💹"] = "chart", - ["❇️"] = "sparkle", - ["✳️"] = "eight_spoked_asterisk", - ["❎"] = "negative_squared_cross_mark", - ["🌐"] = "globe_with_meridians", - ["💠"] = "diamond_shape_with_a_dot_inside", - ["Ⓜ️"] = "m", - ["🌀"] = "cyclone", - ["💤"] = "zzz", - ["🏧"] = "atm", - ["🚾"] = "wc", - ["♿"] = "wheelchair", - ["🅿️"] = "parking", - ["🈳"] = "u7a7a", - ["🈂️"] = "sa", - ["🛂"] = "passport_control", - ["🛃"] = "customs", - ["🛄"] = "baggage_claim", - ["🛅"] = "left_luggage", - ["🛗"] = "elevator", - ["🚹"] = "mens", - ["🚺"] = "womens", - ["🚼"] = "baby_symbol", - ["🚻"] = "restroom", - ["🚮"] = "put_litter_in_its_place", - ["🎦"] = "cinema", - ["📶"] = "signal_strength", - ["🈁"] = "koko", - ["🔣"] = "symbols", - ["ℹ️"] = "information_source", - ["🔤"] = "abc", - ["🔡"] = "abcd", - ["🔠"] = "capital_abcd", - ["🆖"] = "ng", - ["🆗"] = "ok", - ["🆙"] = "up", - ["🆒"] = "cool", - ["🆕"] = "new", - ["🆓"] = "free", - ["0️⃣"] = "zero", - ["1️⃣"] = "one", - ["2️⃣"] = "two", - ["3️⃣"] = "three", - ["4️⃣"] = "four", - ["5️⃣"] = "five", - ["6️⃣"] = "six", - ["7️⃣"] = "seven", - ["8️⃣"] = "eight", - ["9️⃣"] = "nine", - ["🔟"] = "keycap_ten", - ["🔢"] = "1234", - ["#️⃣"] = "hash", - ["*️⃣"] = "asterisk", - ["⏏️"] = "eject", - ["▶️"] = "arrow_forward", - ["⏸️"] = "pause_button", - ["⏯️"] = "play_pause", - ["⏹️"] = "stop_button", - ["⏺️"] = "record_button", - ["⏭️"] = "track_next", - ["⏮️"] = "track_previous", - ["⏩"] = "fast_forward", - ["⏪"] = "rewind", - ["⏫"] = "arrow_double_up", - ["⏬"] = "arrow_double_down", - ["◀️"] = "arrow_backward", - ["🔼"] = "arrow_up_small", - ["🔽"] = "arrow_down_small", - ["➡️"] = "arrow_right", - ["⬅️"] = "arrow_left", - ["⬆️"] = "arrow_up", - ["⬇️"] = "arrow_down", - ["↗️"] = "arrow_upper_right", - ["↘️"] = "arrow_lower_right", - ["↙️"] = "arrow_lower_left", - ["↖️"] = "arrow_upper_left", - ["↕️"] = "arrow_up_down", - ["↔️"] = "left_right_arrow", - ["↪️"] = "arrow_right_hook", - ["↩️"] = "leftwards_arrow_with_hook", - ["⤴️"] = "arrow_heading_up", - ["⤵️"] = "arrow_heading_down", - ["🔀"] = "twisted_rightwards_arrows", - ["🔁"] = "repeat", - ["🔂"] = "repeat_one", - ["🔄"] = "arrows_counterclockwise", - ["🔃"] = "arrows_clockwise", - ["🎵"] = "musical_note", - ["🎶"] = "notes", - ["➕"] = "heavy_plus_sign", - ["➖"] = "heavy_minus_sign", - ["➗"] = "heavy_division_sign", - ["✖️"] = "heavy_multiplication_x", - ["♾️"] = "infinity", - ["💲"] = "heavy_dollar_sign", - ["💱"] = "currency_exchange", - ["™️"] = "tm", - ["©️"] = "copyright", - ["®️"] = "registered", - ["〰️"] = "wavy_dash", - ["➰"] = "curly_loop", - ["➿"] = "loop", - ["🔚"] = "end", - ["🔙"] = "back", - ["🔛"] = "on", - ["🔝"] = "top", - ["🔜"] = "soon", - ["✔️"] = "heavy_check_mark", - ["☑️"] = "ballot_box_with_check", - ["🔘"] = "radio_button", - ["⚪"] = "white_circle", - ["⚫"] = "black_circle", - ["🔴"] = "red_circle", - ["🔵"] = "blue_circle", - ["🟤"] = "brown_circle", - ["🟣"] = "purple_circle", - ["🟢"] = "green_circle", - ["🟡"] = "yellow_circle", - ["🟠"] = "orange_circle", - ["🔺"] = "small_red_triangle", - ["🔻"] = "small_red_triangle_down", - ["🔸"] = "small_orange_diamond", - ["🔹"] = "small_blue_diamond", - ["🔶"] = "large_orange_diamond", - ["🔷"] = "large_blue_diamond", - ["🔳"] = "white_square_button", - ["🔲"] = "black_square_button", - ["▪️"] = "black_small_square", - ["▫️"] = "white_small_square", - ["◾"] = "black_medium_small_square", - ["◽"] = "white_medium_small_square", - ["◼️"] = "black_medium_square", - ["◻️"] = "white_medium_square", - ["⬛"] = "black_large_square", - ["⬜"] = "white_large_square", - ["🟧"] = "orange_square", - ["🟦"] = "blue_square", - ["🟥"] = "red_square", - ["🟫"] = "brown_square", - ["🟪"] = "purple_square", - ["🟩"] = "green_square", - ["🟨"] = "yellow_square", - ["🔈"] = "speaker", - ["🔇"] = "mute", - ["🔉"] = "sound", - ["🔊"] = "loud_sound", - ["🔔"] = "bell", - ["🔕"] = "no_bell", - ["📣"] = "mega", - ["📢"] = "loudspeaker", - ["🗨️"] = "speech_left", - ["👁‍🗨"] = "eye_in_speech_bubble", - ["💬"] = "speech_balloon", - ["💭"] = "thought_balloon", - ["🗯️"] = "anger_right", - ["♠️"] = "spades", - ["♣️"] = "clubs", - ["♥️"] = "hearts", - ["♦️"] = "diamonds", - ["🃏"] = "black_joker", - ["🎴"] = "flower_playing_cards", - ["🀄"] = "mahjong", - ["🕐"] = "clock1", - ["🕑"] = "clock2", - ["🕒"] = "clock3", - ["🕓"] = "clock4", - ["🕔"] = "clock5", - ["🕕"] = "clock6", - ["🕖"] = "clock7", - ["🕗"] = "clock8", - ["🕘"] = "clock9", - ["🕙"] = "clock10", - ["🕚"] = "clock11", - ["🕛"] = "clock12", - ["🕜"] = "clock130", - ["🕝"] = "clock230", - ["🕞"] = "clock330", - ["🕟"] = "clock430", - ["🕠"] = "clock530", - ["🕡"] = "clock630", - ["🕢"] = "clock730", - ["🕣"] = "clock830", - ["🕤"] = "clock930", - ["🕥"] = "clock1030", - ["🕦"] = "clock1130", - ["🕧"] = "clock1230", - ["♀️"] = "female_sign", - ["♂️"] = "male_sign", - ["⚧"] = "transgender_symbol", - ["⚕️"] = "medical_symbol", - ["🇿"] = "regional_indicator_z", - ["🇾"] = "regional_indicator_y", - ["🇽"] = "regional_indicator_x", - ["🇼"] = "regional_indicator_w", - ["🇻"] = "regional_indicator_v", - ["🇺"] = "regional_indicator_u", - ["🇹"] = "regional_indicator_t", - ["🇸"] = "regional_indicator_s", - ["🇷"] = "regional_indicator_r", - ["🇶"] = "regional_indicator_q", - ["🇵"] = "regional_indicator_p", - ["🇴"] = "regional_indicator_o", - ["🇳"] = "regional_indicator_n", - ["🇲"] = "regional_indicator_m", - ["🇱"] = "regional_indicator_l", - ["🇰"] = "regional_indicator_k", - ["🇯"] = "regional_indicator_j", - ["🇮"] = "regional_indicator_i", - ["🇭"] = "regional_indicator_h", - ["🇬"] = "regional_indicator_g", - ["🇫"] = "regional_indicator_f", - ["🇪"] = "regional_indicator_e", - ["🇩"] = "regional_indicator_d", - ["🇨"] = "regional_indicator_c", - ["🇧"] = "regional_indicator_b", - ["🇦"] = "regional_indicator_a", - ["🏳️"] = "flag_white", - ["🏴"] = "flag_black", - ["🏁"] = "checkered_flag", - ["🚩"] = "triangular_flag_on_post", - ["🏳️‍🌈"] = "rainbow_flag", - ["🏳️‍⚧️"] = "transgender_flag", - ["🏴‍☠️"] = "pirate_flag", - ["🇦🇫"] = "flag_af", - ["🇦🇽"] = "flag_ax", - ["🇦🇱"] = "flag_al", - ["🇩🇿"] = "flag_dz", - ["🇦🇸"] = "flag_as", - ["🇦🇩"] = "flag_ad", - ["🇦🇴"] = "flag_ao", - ["🇦🇮"] = "flag_ai", - ["🇦🇶"] = "flag_aq", - ["🇦🇬"] = "flag_ag", - ["🇦🇷"] = "flag_ar", - ["🇦🇲"] = "flag_am", - ["🇦🇼"] = "flag_aw", - ["🇦🇺"] = "flag_au", - ["🇦🇹"] = "flag_at", - ["🇦🇿"] = "flag_az", - ["🇧🇸"] = "flag_bs", - ["🇧🇭"] = "flag_bh", - ["🇧🇩"] = "flag_bd", - ["🇧🇧"] = "flag_bb", - ["🇧🇾"] = "flag_by", - ["🇧🇪"] = "flag_be", - ["🇧🇿"] = "flag_bz", - ["🇧🇯"] = "flag_bj", - ["🇧🇲"] = "flag_bm", - ["🇧🇹"] = "flag_bt", - ["🇧🇴"] = "flag_bo", - ["🇧🇦"] = "flag_ba", - ["🇧🇼"] = "flag_bw", - ["🇧🇷"] = "flag_br", - ["🇮🇴"] = "flag_io", - ["🇻🇬"] = "flag_vg", - ["🇧🇳"] = "flag_bn", - ["🇧🇬"] = "flag_bg", - ["🇧🇫"] = "flag_bf", - ["🇧🇮"] = "flag_bi", - ["🇰🇭"] = "flag_kh", - ["🇨🇲"] = "flag_cm", - ["🇨🇦"] = "flag_ca", - ["🇮🇨"] = "flag_ic", - ["🇨🇻"] = "flag_cv", - ["🇧🇶"] = "flag_bq", - ["🇰🇾"] = "flag_ky", - ["🇨🇫"] = "flag_cf", - ["🇹🇩"] = "flag_td", - ["🇨🇱"] = "flag_cl", - ["🇨🇳"] = "flag_cn", - ["🇨🇽"] = "flag_cx", - ["🇨🇨"] = "flag_cc", - ["🇨🇴"] = "flag_co", - ["🇰🇲"] = "flag_km", - ["🇨🇬"] = "flag_cg", - ["🇨🇩"] = "flag_cd", - ["🇨🇰"] = "flag_ck", - ["🇨🇷"] = "flag_cr", - ["🇨🇮"] = "flag_ci", - ["🇭🇷"] = "flag_hr", - ["🇨🇺"] = "flag_cu", - ["🇨🇼"] = "flag_cw", - ["🇨🇾"] = "flag_cy", - ["🇨🇿"] = "flag_cz", - ["🇩🇰"] = "flag_dk", - ["🇩🇯"] = "flag_dj", - ["🇩🇲"] = "flag_dm", - ["🇩🇴"] = "flag_do", - ["🇪🇨"] = "flag_ec", - ["🇪🇬"] = "flag_eg", - ["🇸🇻"] = "flag_sv", - ["🇬🇶"] = "flag_gq", - ["🇪🇷"] = "flag_er", - ["🇪🇪"] = "flag_ee", - ["🇪🇹"] = "flag_et", - ["🇪🇺"] = "flag_eu", - ["🇫🇰"] = "flag_fk", - ["🇫🇴"] = "flag_fo", - ["🇫🇯"] = "flag_fj", - ["🇫🇮"] = "flag_fi", - ["🇫🇷"] = "flag_fr", - ["🇬🇫"] = "flag_gf", - ["🇵🇫"] = "flag_pf", - ["🇹🇫"] = "flag_tf", - ["🇬🇦"] = "flag_ga", - ["🇬🇲"] = "flag_gm", - ["🇬🇪"] = "flag_ge", - ["🇩🇪"] = "flag_de", - ["🇬🇭"] = "flag_gh", - ["🇬🇮"] = "flag_gi", - ["🇬🇷"] = "flag_gr", - ["🇬🇱"] = "flag_gl", - ["🇬🇩"] = "flag_gd", - ["🇬🇵"] = "flag_gp", - ["🇬🇺"] = "flag_gu", - ["🇬🇹"] = "flag_gt", - ["🇬🇬"] = "flag_gg", - ["🇬🇳"] = "flag_gn", - ["🇬🇼"] = "flag_gw", - ["🇬🇾"] = "flag_gy", - ["🇭🇹"] = "flag_ht", - ["🇭🇳"] = "flag_hn", - ["🇭🇰"] = "flag_hk", - ["🇭🇺"] = "flag_hu", - ["🇮🇸"] = "flag_is", - ["🇮🇳"] = "flag_in", - ["🇮🇩"] = "flag_id", - ["🇮🇷"] = "flag_ir", - ["🇮🇶"] = "flag_iq", - ["🇮🇪"] = "flag_ie", - ["🇮🇲"] = "flag_im", - ["🇮🇱"] = "flag_il", - ["🇮🇹"] = "flag_it", - ["🇯🇲"] = "flag_jm", - ["🇯🇵"] = "flag_jp", - ["🎌"] = "crossed_flags", - ["🇯🇪"] = "flag_je", - ["🇯🇴"] = "flag_jo", - ["🇰🇿"] = "flag_kz", - ["🇰🇪"] = "flag_ke", - ["🇰🇮"] = "flag_ki", - ["🇽🇰"] = "flag_xk", - ["🇰🇼"] = "flag_kw", - ["🇰🇬"] = "flag_kg", - ["🇱🇦"] = "flag_la", - ["🇱🇻"] = "flag_lv", - ["🇱🇧"] = "flag_lb", - ["🇱🇸"] = "flag_ls", - ["🇱🇷"] = "flag_lr", - ["🇱🇾"] = "flag_ly", - ["🇱🇮"] = "flag_li", - ["🇱🇹"] = "flag_lt", - ["🇱🇺"] = "flag_lu", - ["🇲🇴"] = "flag_mo", - ["🇲🇰"] = "flag_mk", - ["🇲🇬"] = "flag_mg", - ["🇲🇼"] = "flag_mw", - ["🇲🇾"] = "flag_my", - ["🇲🇻"] = "flag_mv", - ["🇲🇱"] = "flag_ml", - ["🇲🇹"] = "flag_mt", - ["🇲🇭"] = "flag_mh", - ["🇲🇶"] = "flag_mq", - ["🇲🇷"] = "flag_mr", - ["🇲🇺"] = "flag_mu", - ["🇾🇹"] = "flag_yt", - ["🇲🇽"] = "flag_mx", - ["🇫🇲"] = "flag_fm", - ["🇲🇩"] = "flag_md", - ["🇲🇨"] = "flag_mc", - ["🇲🇳"] = "flag_mn", - ["🇲🇪"] = "flag_me", - ["🇲🇸"] = "flag_ms", - ["🇲🇦"] = "flag_ma", - ["🇲🇿"] = "flag_mz", - ["🇲🇲"] = "flag_mm", - ["🇳🇦"] = "flag_na", - ["🇳🇷"] = "flag_nr", - ["🇳🇵"] = "flag_np", - ["🇳🇱"] = "flag_nl", - ["🇳🇨"] = "flag_nc", - ["🇳🇿"] = "flag_nz", - ["🇳🇮"] = "flag_ni", - ["🇳🇪"] = "flag_ne", - ["🇳🇬"] = "flag_ng", - ["🇳🇺"] = "flag_nu", - ["🇳🇫"] = "flag_nf", - ["🇰🇵"] = "flag_kp", - ["🇲🇵"] = "flag_mp", - ["🇳🇴"] = "flag_no", - ["🇴🇲"] = "flag_om", - ["🇵🇰"] = "flag_pk", - ["🇵🇼"] = "flag_pw", - ["🇵🇸"] = "flag_ps", - ["🇵🇦"] = "flag_pa", - ["🇵🇬"] = "flag_pg", - ["🇵🇾"] = "flag_py", - ["🇵🇪"] = "flag_pe", - ["🇵🇭"] = "flag_ph", - ["🇵🇳"] = "flag_pn", - ["🇵🇱"] = "flag_pl", - ["🇵🇹"] = "flag_pt", - ["🇵🇷"] = "flag_pr", - ["🇶🇦"] = "flag_qa", - ["🇷🇪"] = "flag_re", - ["🇷🇴"] = "flag_ro", - ["🇷🇺"] = "flag_ru", - ["🇷🇼"] = "flag_rw", - ["🇼🇸"] = "flag_ws", - ["🇸🇲"] = "flag_sm", - ["🇸🇹"] = "flag_st", - ["🇸🇦"] = "flag_sa", - ["🇸🇳"] = "flag_sn", - ["🇷🇸"] = "flag_rs", - ["🇸🇨"] = "flag_sc", - ["🇸🇱"] = "flag_sl", - ["🇸🇬"] = "flag_sg", - ["🇸🇽"] = "flag_sx", - ["🇸🇰"] = "flag_sk", - ["🇸🇮"] = "flag_si", - ["🇬🇸"] = "flag_gs", - ["🇸🇧"] = "flag_sb", - ["🇸🇴"] = "flag_so", - ["🇿🇦"] = "flag_za", - ["🇰🇷"] = "flag_kr", - ["🇸🇸"] = "flag_ss", - ["🇪🇸"] = "flag_es", - ["🇱🇰"] = "flag_lk", - ["🇧🇱"] = "flag_bl", - ["🇸🇭"] = "flag_sh", - ["🇰🇳"] = "flag_kn", - ["🇱🇨"] = "flag_lc", - ["🇵🇲"] = "flag_pm", - ["🇻🇨"] = "flag_vc", - ["🇸🇩"] = "flag_sd", - ["🇸🇷"] = "flag_sr", - ["🇸🇿"] = "flag_sz", - ["🇸🇪"] = "flag_se", - ["🇨🇭"] = "flag_ch", - ["🇸🇾"] = "flag_sy", - ["🇹🇼"] = "flag_tw", - ["🇹🇯"] = "flag_tj", - ["🇹🇿"] = "flag_tz", - ["🇹🇭"] = "flag_th", - ["🇹🇱"] = "flag_tl", - ["🇹🇬"] = "flag_tg", - ["🇹🇰"] = "flag_tk", - ["🇹🇴"] = "flag_to", - ["🇹🇹"] = "flag_tt", - ["🇹🇳"] = "flag_tn", - ["🇹🇷"] = "flag_tr", - ["🇹🇲"] = "flag_tm", - ["🇹🇨"] = "flag_tc", - ["🇻🇮"] = "flag_vi", - ["🇹🇻"] = "flag_tv", - ["🇺🇬"] = "flag_ug", - ["🇺🇦"] = "flag_ua", - ["🇦🇪"] = "flag_ae", - ["🇬🇧"] = "flag_gb", - ["🏴󠁧󠁢󠁥󠁮󠁧󠁿"] = "england", - ["🏴󠁧󠁢󠁳󠁣󠁴󠁿"] = "scotland", - ["🏴󠁧󠁢󠁷󠁬󠁳󠁿"] = "wales", - ["🇺🇸"] = "flag_us", - ["🇺🇾"] = "flag_uy", - ["🇺🇿"] = "flag_uz", - ["🇻🇺"] = "flag_vu", - ["🇻🇦"] = "flag_va", - ["🇻🇪"] = "flag_ve", - ["🇻🇳"] = "flag_vn", - ["🇼🇫"] = "flag_wf", - ["🇪🇭"] = "flag_eh", - ["🇾🇪"] = "flag_ye", - ["🇿🇲"] = "flag_zm", - ["🇿🇼"] = "flag_zw", - ["🇦🇨"] = "flag_ac", - ["🇧🇻"] = "flag_bv", - ["🇨🇵"] = "flag_cp", - ["🇪🇦"] = "flag_ea", - ["🇩🇬"] = "flag_dg", - ["🇭🇲"] = "flag_hm", - ["🇲🇫"] = "flag_mf", - ["🇸🇯"] = "flag_sj", - ["🇹🇦"] = "flag_ta", - ["🇺🇲"] = "flag_um", - ["🇺🇳"] = "united_nations" - }; + private static Dictionary _toCodes = + new(5000, StringComparer.Ordinal) + { + ["😀"] = "grinning", + ["😃"] = "smiley", + ["😄"] = "smile", + ["😁"] = "grin", + ["😆"] = "laughing", + ["😅"] = "sweat_smile", + ["😂"] = "joy", + ["🤣"] = "rofl", + ["☺️"] = "relaxed", + ["😊"] = "blush", + ["😇"] = "innocent", + ["🙂"] = "slight_smile", + ["🙃"] = "upside_down", + ["😉"] = "wink", + ["😌"] = "relieved", + ["🥲"] = "smiling_face_with_tear", + ["😍"] = "heart_eyes", + ["🥰"] = "smiling_face_with_3_hearts", + ["😘"] = "kissing_heart", + ["😗"] = "kissing", + ["😙"] = "kissing_smiling_eyes", + ["😚"] = "kissing_closed_eyes", + ["😋"] = "yum", + ["😛"] = "stuck_out_tongue", + ["😝"] = "stuck_out_tongue_closed_eyes", + ["😜"] = "stuck_out_tongue_winking_eye", + ["🤪"] = "zany_face", + ["🤨"] = "face_with_raised_eyebrow", + ["🧐"] = "face_with_monocle", + ["🤓"] = "nerd", + ["😎"] = "sunglasses", + ["🤩"] = "star_struck", + ["🥳"] = "partying_face", + ["😏"] = "smirk", + ["😒"] = "unamused", + ["😞"] = "disappointed", + ["😔"] = "pensive", + ["😟"] = "worried", + ["😕"] = "confused", + ["🙁"] = "slight_frown", + ["☹️"] = "frowning2", + ["😣"] = "persevere", + ["😖"] = "confounded", + ["😫"] = "tired_face", + ["😩"] = "weary", + ["🥺"] = "pleading_face", + ["😢"] = "cry", + ["😭"] = "sob", + ["😤"] = "triumph", + ["😮‍💨"] = "face_exhaling", + ["😠"] = "angry", + ["😡"] = "rage", + ["🤬"] = "face_with_symbols_over_mouth", + ["🤯"] = "exploding_head", + ["😳"] = "flushed", + ["😶‍🌫️"] = "face_in_clouds", + ["🥵"] = "hot_face", + ["🥶"] = "cold_face", + ["😱"] = "scream", + ["😨"] = "fearful", + ["😰"] = "cold_sweat", + ["😥"] = "disappointed_relieved", + ["😓"] = "sweat", + ["🤗"] = "hugging", + ["🤔"] = "thinking", + ["🤭"] = "face_with_hand_over_mouth", + ["🥱"] = "yawning_face", + ["🤫"] = "shushing_face", + ["🤥"] = "lying_face", + ["😶"] = "no_mouth", + ["😐"] = "neutral_face", + ["😑"] = "expressionless", + ["😬"] = "grimacing", + ["🙄"] = "rolling_eyes", + ["😯"] = "hushed", + ["😦"] = "frowning", + ["😧"] = "anguished", + ["😮"] = "open_mouth", + ["😲"] = "astonished", + ["😴"] = "sleeping", + ["🤤"] = "drooling_face", + ["😪"] = "sleepy", + ["😵"] = "dizzy_face", + ["😵‍💫"] = "face_with_spiral_eyes", + ["🤐"] = "zipper_mouth", + ["🥴"] = "woozy_face", + ["🤢"] = "nauseated_face", + ["🤮"] = "face_vomiting", + ["🤧"] = "sneezing_face", + ["😷"] = "mask", + ["🤒"] = "thermometer_face", + ["🤕"] = "head_bandage", + ["🤑"] = "money_mouth", + ["🤠"] = "cowboy", + ["🥸"] = "disguised_face", + ["😈"] = "smiling_imp", + ["👿"] = "imp", + ["👹"] = "japanese_ogre", + ["👺"] = "japanese_goblin", + ["🤡"] = "clown", + ["💩"] = "poop", + ["👻"] = "ghost", + ["💀"] = "skull", + ["☠️"] = "skull_crossbones", + ["👽"] = "alien", + ["👾"] = "space_invader", + ["🤖"] = "robot", + ["🎃"] = "jack_o_lantern", + ["😺"] = "smiley_cat", + ["😸"] = "smile_cat", + ["😹"] = "joy_cat", + ["😻"] = "heart_eyes_cat", + ["😼"] = "smirk_cat", + ["😽"] = "kissing_cat", + ["🙀"] = "scream_cat", + ["😿"] = "crying_cat_face", + ["😾"] = "pouting_cat", + ["🤲"] = "palms_up_together", + ["🤲🏻"] = "palms_up_together_tone1", + ["🤲🏼"] = "palms_up_together_tone2", + ["🤲🏽"] = "palms_up_together_tone3", + ["🤲🏾"] = "palms_up_together_tone4", + ["🤲🏿"] = "palms_up_together_tone5", + ["👐"] = "open_hands", + ["👐🏻"] = "open_hands_tone1", + ["👐🏼"] = "open_hands_tone2", + ["👐🏽"] = "open_hands_tone3", + ["👐🏾"] = "open_hands_tone4", + ["👐🏿"] = "open_hands_tone5", + ["🙌"] = "raised_hands", + ["🙌🏻"] = "raised_hands_tone1", + ["🙌🏼"] = "raised_hands_tone2", + ["🙌🏽"] = "raised_hands_tone3", + ["🙌🏾"] = "raised_hands_tone4", + ["🙌🏿"] = "raised_hands_tone5", + ["👏"] = "clap", + ["👏🏻"] = "clap_tone1", + ["👏🏼"] = "clap_tone2", + ["👏🏽"] = "clap_tone3", + ["👏🏾"] = "clap_tone4", + ["👏🏿"] = "clap_tone5", + ["🤝"] = "handshake", + ["👍"] = "thumbsup", + ["👍🏻"] = "thumbsup_tone1", + ["👍🏼"] = "thumbsup_tone2", + ["👍🏽"] = "thumbsup_tone3", + ["👍🏾"] = "thumbsup_tone4", + ["👍🏿"] = "thumbsup_tone5", + ["👎"] = "thumbsdown", + ["👎🏻"] = "thumbsdown_tone1", + ["👎🏼"] = "thumbsdown_tone2", + ["👎🏽"] = "thumbsdown_tone3", + ["👎🏾"] = "thumbsdown_tone4", + ["👎🏿"] = "thumbsdown_tone5", + ["👊"] = "punch", + ["👊🏻"] = "punch_tone1", + ["👊🏼"] = "punch_tone2", + ["👊🏽"] = "punch_tone3", + ["👊🏾"] = "punch_tone4", + ["👊🏿"] = "punch_tone5", + ["✊"] = "fist", + ["✊🏻"] = "fist_tone1", + ["✊🏼"] = "fist_tone2", + ["✊🏽"] = "fist_tone3", + ["✊🏾"] = "fist_tone4", + ["✊🏿"] = "fist_tone5", + ["🤛"] = "left_facing_fist", + ["🤛🏻"] = "left_facing_fist_tone1", + ["🤛🏼"] = "left_facing_fist_tone2", + ["🤛🏽"] = "left_facing_fist_tone3", + ["🤛🏾"] = "left_facing_fist_tone4", + ["🤛🏿"] = "left_facing_fist_tone5", + ["🤜"] = "right_facing_fist", + ["🤜🏻"] = "right_facing_fist_tone1", + ["🤜🏼"] = "right_facing_fist_tone2", + ["🤜🏽"] = "right_facing_fist_tone3", + ["🤜🏾"] = "right_facing_fist_tone4", + ["🤜🏿"] = "right_facing_fist_tone5", + ["🤞"] = "fingers_crossed", + ["🤞🏻"] = "fingers_crossed_tone1", + ["🤞🏼"] = "fingers_crossed_tone2", + ["🤞🏽"] = "fingers_crossed_tone3", + ["🤞🏾"] = "fingers_crossed_tone4", + ["🤞🏿"] = "fingers_crossed_tone5", + ["✌️"] = "v", + ["✌🏻"] = "v_tone1", + ["✌🏼"] = "v_tone2", + ["✌🏽"] = "v_tone3", + ["✌🏾"] = "v_tone4", + ["✌🏿"] = "v_tone5", + ["🤟"] = "love_you_gesture", + ["🤟🏻"] = "love_you_gesture_tone1", + ["🤟🏼"] = "love_you_gesture_tone2", + ["🤟🏽"] = "love_you_gesture_tone3", + ["🤟🏾"] = "love_you_gesture_tone4", + ["🤟🏿"] = "love_you_gesture_tone5", + ["🤘"] = "metal", + ["🤘🏻"] = "metal_tone1", + ["🤘🏼"] = "metal_tone2", + ["🤘🏽"] = "metal_tone3", + ["🤘🏾"] = "metal_tone4", + ["🤘🏿"] = "metal_tone5", + ["👌"] = "ok_hand", + ["👌🏻"] = "ok_hand_tone1", + ["👌🏼"] = "ok_hand_tone2", + ["👌🏽"] = "ok_hand_tone3", + ["👌🏾"] = "ok_hand_tone4", + ["👌🏿"] = "ok_hand_tone5", + ["🤏"] = "pinching_hand", + ["🤏🏻"] = "pinching_hand_tone1", + ["🤏🏼"] = "pinching_hand_tone2", + ["🤏🏽"] = "pinching_hand_tone3", + ["🤏🏾"] = "pinching_hand_tone4", + ["🤏🏿"] = "pinching_hand_tone5", + ["🤌"] = "pinched_fingers", + ["🤌🏼"] = "pinched_fingers_tone2", + ["🤌🏻"] = "pinched_fingers_tone1", + ["🤌🏽"] = "pinched_fingers_tone3", + ["🤌🏾"] = "pinched_fingers_tone4", + ["🤌🏿"] = "pinched_fingers_tone5", + ["👈"] = "point_left", + ["👈🏻"] = "point_left_tone1", + ["👈🏼"] = "point_left_tone2", + ["👈🏽"] = "point_left_tone3", + ["👈🏾"] = "point_left_tone4", + ["👈🏿"] = "point_left_tone5", + ["👉"] = "point_right", + ["👉🏻"] = "point_right_tone1", + ["👉🏼"] = "point_right_tone2", + ["👉🏽"] = "point_right_tone3", + ["👉🏾"] = "point_right_tone4", + ["👉🏿"] = "point_right_tone5", + ["👆"] = "point_up_2", + ["👆🏻"] = "point_up_2_tone1", + ["👆🏼"] = "point_up_2_tone2", + ["👆🏽"] = "point_up_2_tone3", + ["👆🏾"] = "point_up_2_tone4", + ["👆🏿"] = "point_up_2_tone5", + ["👇"] = "point_down", + ["👇🏻"] = "point_down_tone1", + ["👇🏼"] = "point_down_tone2", + ["👇🏽"] = "point_down_tone3", + ["👇🏾"] = "point_down_tone4", + ["👇🏿"] = "point_down_tone5", + ["☝️"] = "point_up", + ["☝🏻"] = "point_up_tone1", + ["☝🏼"] = "point_up_tone2", + ["☝🏽"] = "point_up_tone3", + ["☝🏾"] = "point_up_tone4", + ["☝🏿"] = "point_up_tone5", + ["✋"] = "raised_hand", + ["✋🏻"] = "raised_hand_tone1", + ["✋🏼"] = "raised_hand_tone2", + ["✋🏽"] = "raised_hand_tone3", + ["✋🏾"] = "raised_hand_tone4", + ["✋🏿"] = "raised_hand_tone5", + ["🤚"] = "raised_back_of_hand", + ["🤚🏻"] = "raised_back_of_hand_tone1", + ["🤚🏼"] = "raised_back_of_hand_tone2", + ["🤚🏽"] = "raised_back_of_hand_tone3", + ["🤚🏾"] = "raised_back_of_hand_tone4", + ["🤚🏿"] = "raised_back_of_hand_tone5", + ["🖐️"] = "hand_splayed", + ["🖐🏻"] = "hand_splayed_tone1", + ["🖐🏼"] = "hand_splayed_tone2", + ["🖐🏽"] = "hand_splayed_tone3", + ["🖐🏾"] = "hand_splayed_tone4", + ["🖐🏿"] = "hand_splayed_tone5", + ["🖖"] = "vulcan", + ["🖖🏻"] = "vulcan_tone1", + ["🖖🏼"] = "vulcan_tone2", + ["🖖🏽"] = "vulcan_tone3", + ["🖖🏾"] = "vulcan_tone4", + ["🖖🏿"] = "vulcan_tone5", + ["👋"] = "wave", + ["👋🏻"] = "wave_tone1", + ["👋🏼"] = "wave_tone2", + ["👋🏽"] = "wave_tone3", + ["👋🏾"] = "wave_tone4", + ["👋🏿"] = "wave_tone5", + ["🤙"] = "call_me", + ["🤙🏻"] = "call_me_tone1", + ["🤙🏼"] = "call_me_tone2", + ["🤙🏽"] = "call_me_tone3", + ["🤙🏾"] = "call_me_tone4", + ["🤙🏿"] = "call_me_tone5", + ["💪"] = "muscle", + ["💪🏻"] = "muscle_tone1", + ["💪🏼"] = "muscle_tone2", + ["💪🏽"] = "muscle_tone3", + ["💪🏾"] = "muscle_tone4", + ["💪🏿"] = "muscle_tone5", + ["🦾"] = "mechanical_arm", + ["🖕"] = "middle_finger", + ["🖕🏻"] = "middle_finger_tone1", + ["🖕🏼"] = "middle_finger_tone2", + ["🖕🏽"] = "middle_finger_tone3", + ["🖕🏾"] = "middle_finger_tone4", + ["🖕🏿"] = "middle_finger_tone5", + ["✍️"] = "writing_hand", + ["✍🏻"] = "writing_hand_tone1", + ["✍🏼"] = "writing_hand_tone2", + ["✍🏽"] = "writing_hand_tone3", + ["✍🏾"] = "writing_hand_tone4", + ["✍🏿"] = "writing_hand_tone5", + ["🙏"] = "pray", + ["🙏🏻"] = "pray_tone1", + ["🙏🏼"] = "pray_tone2", + ["🙏🏽"] = "pray_tone3", + ["🙏🏾"] = "pray_tone4", + ["🙏🏿"] = "pray_tone5", + ["🦶"] = "foot", + ["🦶🏻"] = "foot_tone1", + ["🦶🏼"] = "foot_tone2", + ["🦶🏽"] = "foot_tone3", + ["🦶🏾"] = "foot_tone4", + ["🦶🏿"] = "foot_tone5", + ["🦵"] = "leg", + ["🦵🏻"] = "leg_tone1", + ["🦵🏼"] = "leg_tone2", + ["🦵🏽"] = "leg_tone3", + ["🦵🏾"] = "leg_tone4", + ["🦵🏿"] = "leg_tone5", + ["🦿"] = "mechanical_leg", + ["💄"] = "lipstick", + ["💋"] = "kiss", + ["👄"] = "lips", + ["🦷"] = "tooth", + ["👅"] = "tongue", + ["👂"] = "ear", + ["👂🏻"] = "ear_tone1", + ["👂🏼"] = "ear_tone2", + ["👂🏽"] = "ear_tone3", + ["👂🏾"] = "ear_tone4", + ["👂🏿"] = "ear_tone5", + ["🦻"] = "ear_with_hearing_aid", + ["🦻🏻"] = "ear_with_hearing_aid_tone1", + ["🦻🏼"] = "ear_with_hearing_aid_tone2", + ["🦻🏽"] = "ear_with_hearing_aid_tone3", + ["🦻🏾"] = "ear_with_hearing_aid_tone4", + ["🦻🏿"] = "ear_with_hearing_aid_tone5", + ["👃"] = "nose", + ["👃🏻"] = "nose_tone1", + ["👃🏼"] = "nose_tone2", + ["👃🏽"] = "nose_tone3", + ["👃🏾"] = "nose_tone4", + ["👃🏿"] = "nose_tone5", + ["👣"] = "footprints", + ["👁️"] = "eye", + ["👀"] = "eyes", + ["🧠"] = "brain", + ["🫀"] = "anatomical_heart", + ["🫁"] = "lungs", + ["🦴"] = "bone", + ["🗣️"] = "speaking_head", + ["👤"] = "bust_in_silhouette", + ["👥"] = "busts_in_silhouette", + ["🫂"] = "people_hugging", + ["👶"] = "baby", + ["👶🏻"] = "baby_tone1", + ["👶🏼"] = "baby_tone2", + ["👶🏽"] = "baby_tone3", + ["👶🏾"] = "baby_tone4", + ["👶🏿"] = "baby_tone5", + ["👧"] = "girl", + ["👧🏻"] = "girl_tone1", + ["👧🏼"] = "girl_tone2", + ["👧🏽"] = "girl_tone3", + ["👧🏾"] = "girl_tone4", + ["👧🏿"] = "girl_tone5", + ["🧒"] = "child", + ["🧒🏻"] = "child_tone1", + ["🧒🏼"] = "child_tone2", + ["🧒🏽"] = "child_tone3", + ["🧒🏾"] = "child_tone4", + ["🧒🏿"] = "child_tone5", + ["👦"] = "boy", + ["👦🏻"] = "boy_tone1", + ["👦🏼"] = "boy_tone2", + ["👦🏽"] = "boy_tone3", + ["👦🏾"] = "boy_tone4", + ["👦🏿"] = "boy_tone5", + ["👩"] = "woman", + ["👩🏻"] = "woman_tone1", + ["👩🏼"] = "woman_tone2", + ["👩🏽"] = "woman_tone3", + ["👩🏾"] = "woman_tone4", + ["👩🏿"] = "woman_tone5", + ["🧑"] = "adult", + ["🧑🏻"] = "adult_tone1", + ["🧑🏼"] = "adult_tone2", + ["🧑🏽"] = "adult_tone3", + ["🧑🏾"] = "adult_tone4", + ["🧑🏿"] = "adult_tone5", + ["👨"] = "man", + ["👨🏻"] = "man_tone1", + ["👨🏼"] = "man_tone2", + ["👨🏽"] = "man_tone3", + ["👨🏾"] = "man_tone4", + ["👨🏿"] = "man_tone5", + ["🧑‍🦱"] = "person_curly_hair", + ["🧑🏻‍🦱"] = "person_tone1_curly_hair", + ["🧑🏼‍🦱"] = "person_tone2_curly_hair", + ["🧑🏽‍🦱"] = "person_tone3_curly_hair", + ["🧑🏾‍🦱"] = "person_tone4_curly_hair", + ["🧑🏿‍🦱"] = "person_tone5_curly_hair", + ["👩‍🦱"] = "woman_curly_haired", + ["👩🏻‍🦱"] = "woman_curly_haired_tone1", + ["👩🏼‍🦱"] = "woman_curly_haired_tone2", + ["👩🏽‍🦱"] = "woman_curly_haired_tone3", + ["👩🏾‍🦱"] = "woman_curly_haired_tone4", + ["👩🏿‍🦱"] = "woman_curly_haired_tone5", + ["👨‍🦱"] = "man_curly_haired", + ["👨🏻‍🦱"] = "man_curly_haired_tone1", + ["👨🏼‍🦱"] = "man_curly_haired_tone2", + ["👨🏽‍🦱"] = "man_curly_haired_tone3", + ["👨🏾‍🦱"] = "man_curly_haired_tone4", + ["👨🏿‍🦱"] = "man_curly_haired_tone5", + ["🧑‍🦰"] = "person_red_hair", + ["🧑🏻‍🦰"] = "person_tone1_red_hair", + ["🧑🏼‍🦰"] = "person_tone2_red_hair", + ["🧑🏽‍🦰"] = "person_tone3_red_hair", + ["🧑🏾‍🦰"] = "person_tone4_red_hair", + ["🧑🏿‍🦰"] = "person_tone5_red_hair", + ["👩‍🦰"] = "woman_red_haired", + ["👩🏻‍🦰"] = "woman_red_haired_tone1", + ["👩🏼‍🦰"] = "woman_red_haired_tone2", + ["👩🏽‍🦰"] = "woman_red_haired_tone3", + ["👩🏾‍🦰"] = "woman_red_haired_tone4", + ["👩🏿‍🦰"] = "woman_red_haired_tone5", + ["👨‍🦰"] = "man_red_haired", + ["👨🏻‍🦰"] = "man_red_haired_tone1", + ["👨🏼‍🦰"] = "man_red_haired_tone2", + ["👨🏽‍🦰"] = "man_red_haired_tone3", + ["👨🏾‍🦰"] = "man_red_haired_tone4", + ["👨🏿‍🦰"] = "man_red_haired_tone5", + ["👱‍♀️"] = "blond_haired_woman", + ["👱🏻‍♀️"] = "blond_haired_woman_tone1", + ["👱🏼‍♀️"] = "blond_haired_woman_tone2", + ["👱🏽‍♀️"] = "blond_haired_woman_tone3", + ["👱🏾‍♀️"] = "blond_haired_woman_tone4", + ["👱🏿‍♀️"] = "blond_haired_woman_tone5", + ["👱"] = "blond_haired_person", + ["👱🏻"] = "blond_haired_person_tone1", + ["👱🏼"] = "blond_haired_person_tone2", + ["👱🏽"] = "blond_haired_person_tone3", + ["👱🏾"] = "blond_haired_person_tone4", + ["👱🏿"] = "blond_haired_person_tone5", + ["👱‍♂️"] = "blond_haired_man", + ["👱🏻‍♂️"] = "blond_haired_man_tone1", + ["👱🏼‍♂️"] = "blond_haired_man_tone2", + ["👱🏽‍♂️"] = "blond_haired_man_tone3", + ["👱🏾‍♂️"] = "blond_haired_man_tone4", + ["👱🏿‍♂️"] = "blond_haired_man_tone5", + ["🧑‍🦳"] = "person_white_hair", + ["🧑🏻‍🦳"] = "person_tone1_white_hair", + ["🧑🏼‍🦳"] = "person_tone2_white_hair", + ["🧑🏽‍🦳"] = "person_tone3_white_hair", + ["🧑🏾‍🦳"] = "person_tone4_white_hair", + ["🧑🏿‍🦳"] = "person_tone5_white_hair", + ["👩‍🦳"] = "woman_white_haired", + ["👩🏻‍🦳"] = "woman_white_haired_tone1", + ["👩🏼‍🦳"] = "woman_white_haired_tone2", + ["👩🏽‍🦳"] = "woman_white_haired_tone3", + ["👩🏾‍🦳"] = "woman_white_haired_tone4", + ["👩🏿‍🦳"] = "woman_white_haired_tone5", + ["👨‍🦳"] = "man_white_haired", + ["👨🏻‍🦳"] = "man_white_haired_tone1", + ["👨🏼‍🦳"] = "man_white_haired_tone2", + ["👨🏽‍🦳"] = "man_white_haired_tone3", + ["👨🏾‍🦳"] = "man_white_haired_tone4", + ["👨🏿‍🦳"] = "man_white_haired_tone5", + ["🧑‍🦲"] = "person_bald", + ["🧑🏻‍🦲"] = "person_tone1_bald", + ["🧑🏼‍🦲"] = "person_tone2_bald", + ["🧑🏽‍🦲"] = "person_tone3_bald", + ["🧑🏾‍🦲"] = "person_tone4_bald", + ["🧑🏿‍🦲"] = "person_tone5_bald", + ["👩‍🦲"] = "woman_bald", + ["👩🏻‍🦲"] = "woman_bald_tone1", + ["👩🏼‍🦲"] = "woman_bald_tone2", + ["👩🏽‍🦲"] = "woman_bald_tone3", + ["👩🏾‍🦲"] = "woman_bald_tone4", + ["👩🏿‍🦲"] = "woman_bald_tone5", + ["👨‍🦲"] = "man_bald", + ["👨🏻‍🦲"] = "man_bald_tone1", + ["👨🏼‍🦲"] = "man_bald_tone2", + ["👨🏽‍🦲"] = "man_bald_tone3", + ["👨🏾‍🦲"] = "man_bald_tone4", + ["👨🏿‍🦲"] = "man_bald_tone5", + ["🧔"] = "bearded_person", + ["🧔🏻"] = "bearded_person_tone1", + ["🧔🏼"] = "bearded_person_tone2", + ["🧔🏽"] = "bearded_person_tone3", + ["🧔🏾"] = "bearded_person_tone4", + ["🧔🏿"] = "bearded_person_tone5", + ["🧔‍♂️"] = "man_beard", + ["🧔🏻‍♂️"] = "man_tone1_beard", + ["🧔🏼‍♂️"] = "man_tone2_beard", + ["🧔🏽‍♂️"] = "man_tone3_beard", + ["🧔🏾‍♂️"] = "man_tone4_beard", + ["🧔🏿‍♂️"] = "man_tone5_beard", + ["🧔‍♀️"] = "woman_beard", + ["🧔🏻‍♀️"] = "woman_tone1_beard", + ["🧔🏼‍♀️"] = "woman_tone2_beard", + ["🧔🏽‍♀️"] = "woman_tone3_beard", + ["🧔🏾‍♀️"] = "woman_tone4_beard", + ["🧔🏿‍♀️"] = "woman_tone5_beard", + ["👵"] = "older_woman", + ["👵🏻"] = "older_woman_tone1", + ["👵🏼"] = "older_woman_tone2", + ["👵🏽"] = "older_woman_tone3", + ["👵🏾"] = "older_woman_tone4", + ["👵🏿"] = "older_woman_tone5", + ["🧓"] = "older_adult", + ["🧓🏻"] = "older_adult_tone1", + ["🧓🏼"] = "older_adult_tone2", + ["🧓🏽"] = "older_adult_tone3", + ["🧓🏾"] = "older_adult_tone4", + ["🧓🏿"] = "older_adult_tone5", + ["👴"] = "older_man", + ["👴🏻"] = "older_man_tone1", + ["👴🏼"] = "older_man_tone2", + ["👴🏽"] = "older_man_tone3", + ["👴🏾"] = "older_man_tone4", + ["👴🏿"] = "older_man_tone5", + ["👲"] = "man_with_chinese_cap", + ["👲🏻"] = "man_with_chinese_cap_tone1", + ["👲🏼"] = "man_with_chinese_cap_tone2", + ["👲🏽"] = "man_with_chinese_cap_tone3", + ["👲🏾"] = "man_with_chinese_cap_tone4", + ["👲🏿"] = "man_with_chinese_cap_tone5", + ["👳"] = "person_wearing_turban", + ["👳🏻"] = "person_wearing_turban_tone1", + ["👳🏼"] = "person_wearing_turban_tone2", + ["👳🏽"] = "person_wearing_turban_tone3", + ["👳🏾"] = "person_wearing_turban_tone4", + ["👳🏿"] = "person_wearing_turban_tone5", + ["👳‍♀️"] = "woman_wearing_turban", + ["👳🏻‍♀️"] = "woman_wearing_turban_tone1", + ["👳🏼‍♀️"] = "woman_wearing_turban_tone2", + ["👳🏽‍♀️"] = "woman_wearing_turban_tone3", + ["👳🏾‍♀️"] = "woman_wearing_turban_tone4", + ["👳🏿‍♀️"] = "woman_wearing_turban_tone5", + ["👳‍♂️"] = "man_wearing_turban", + ["👳🏻‍♂️"] = "man_wearing_turban_tone1", + ["👳🏼‍♂️"] = "man_wearing_turban_tone2", + ["👳🏽‍♂️"] = "man_wearing_turban_tone3", + ["👳🏾‍♂️"] = "man_wearing_turban_tone4", + ["👳🏿‍♂️"] = "man_wearing_turban_tone5", + ["🧕"] = "woman_with_headscarf", + ["🧕🏻"] = "woman_with_headscarf_tone1", + ["🧕🏼"] = "woman_with_headscarf_tone2", + ["🧕🏽"] = "woman_with_headscarf_tone3", + ["🧕🏾"] = "woman_with_headscarf_tone4", + ["🧕🏿"] = "woman_with_headscarf_tone5", + ["👮"] = "police_officer", + ["👮🏻"] = "police_officer_tone1", + ["👮🏼"] = "police_officer_tone2", + ["👮🏽"] = "police_officer_tone3", + ["👮🏾"] = "police_officer_tone4", + ["👮🏿"] = "police_officer_tone5", + ["👮‍♀️"] = "woman_police_officer", + ["👮🏻‍♀️"] = "woman_police_officer_tone1", + ["👮🏼‍♀️"] = "woman_police_officer_tone2", + ["👮🏽‍♀️"] = "woman_police_officer_tone3", + ["👮🏾‍♀️"] = "woman_police_officer_tone4", + ["👮🏿‍♀️"] = "woman_police_officer_tone5", + ["👮‍♂️"] = "man_police_officer", + ["👮🏻‍♂️"] = "man_police_officer_tone1", + ["👮🏼‍♂️"] = "man_police_officer_tone2", + ["👮🏽‍♂️"] = "man_police_officer_tone3", + ["👮🏾‍♂️"] = "man_police_officer_tone4", + ["👮🏿‍♂️"] = "man_police_officer_tone5", + ["👷"] = "construction_worker", + ["👷🏻"] = "construction_worker_tone1", + ["👷🏼"] = "construction_worker_tone2", + ["👷🏽"] = "construction_worker_tone3", + ["👷🏾"] = "construction_worker_tone4", + ["👷🏿"] = "construction_worker_tone5", + ["👷‍♀️"] = "woman_construction_worker", + ["👷🏻‍♀️"] = "woman_construction_worker_tone1", + ["👷🏼‍♀️"] = "woman_construction_worker_tone2", + ["👷🏽‍♀️"] = "woman_construction_worker_tone3", + ["👷🏾‍♀️"] = "woman_construction_worker_tone4", + ["👷🏿‍♀️"] = "woman_construction_worker_tone5", + ["👷‍♂️"] = "man_construction_worker", + ["👷🏻‍♂️"] = "man_construction_worker_tone1", + ["👷🏼‍♂️"] = "man_construction_worker_tone2", + ["👷🏽‍♂️"] = "man_construction_worker_tone3", + ["👷🏾‍♂️"] = "man_construction_worker_tone4", + ["👷🏿‍♂️"] = "man_construction_worker_tone5", + ["💂"] = "guard", + ["💂🏻"] = "guard_tone1", + ["💂🏼"] = "guard_tone2", + ["💂🏽"] = "guard_tone3", + ["💂🏾"] = "guard_tone4", + ["💂🏿"] = "guard_tone5", + ["💂‍♀️"] = "woman_guard", + ["💂🏻‍♀️"] = "woman_guard_tone1", + ["💂🏼‍♀️"] = "woman_guard_tone2", + ["💂🏽‍♀️"] = "woman_guard_tone3", + ["💂🏾‍♀️"] = "woman_guard_tone4", + ["💂🏿‍♀️"] = "woman_guard_tone5", + ["💂‍♂️"] = "man_guard", + ["💂🏻‍♂️"] = "man_guard_tone1", + ["💂🏼‍♂️"] = "man_guard_tone2", + ["💂🏽‍♂️"] = "man_guard_tone3", + ["💂🏾‍♂️"] = "man_guard_tone4", + ["💂🏿‍♂️"] = "man_guard_tone5", + ["🕵️"] = "detective", + ["🕵🏻"] = "detective_tone1", + ["🕵🏼"] = "detective_tone2", + ["🕵🏽"] = "detective_tone3", + ["🕵🏾"] = "detective_tone4", + ["🕵🏿"] = "detective_tone5", + ["🕵️‍♀️"] = "woman_detective", + ["🕵🏻‍♀️"] = "woman_detective_tone1", + ["🕵🏼‍♀️"] = "woman_detective_tone2", + ["🕵🏽‍♀️"] = "woman_detective_tone3", + ["🕵🏾‍♀️"] = "woman_detective_tone4", + ["🕵🏿‍♀️"] = "woman_detective_tone5", + ["🕵️‍♂️"] = "man_detective", + ["🕵🏻‍♂️"] = "man_detective_tone1", + ["🕵🏼‍♂️"] = "man_detective_tone2", + ["🕵🏽‍♂️"] = "man_detective_tone3", + ["🕵🏾‍♂️"] = "man_detective_tone4", + ["🕵🏿‍♂️"] = "man_detective_tone5", + ["🧑‍⚕️"] = "health_worker", + ["🧑🏻‍⚕️"] = "health_worker_tone1", + ["🧑🏼‍⚕️"] = "health_worker_tone2", + ["🧑🏽‍⚕️"] = "health_worker_tone3", + ["🧑🏾‍⚕️"] = "health_worker_tone4", + ["🧑🏿‍⚕️"] = "health_worker_tone5", + ["👩‍⚕️"] = "woman_health_worker", + ["👩🏻‍⚕️"] = "woman_health_worker_tone1", + ["👩🏼‍⚕️"] = "woman_health_worker_tone2", + ["👩🏽‍⚕️"] = "woman_health_worker_tone3", + ["👩🏾‍⚕️"] = "woman_health_worker_tone4", + ["👩🏿‍⚕️"] = "woman_health_worker_tone5", + ["👨‍⚕️"] = "man_health_worker", + ["👨🏻‍⚕️"] = "man_health_worker_tone1", + ["👨🏼‍⚕️"] = "man_health_worker_tone2", + ["👨🏽‍⚕️"] = "man_health_worker_tone3", + ["👨🏾‍⚕️"] = "man_health_worker_tone4", + ["👨🏿‍⚕️"] = "man_health_worker_tone5", + ["🧑‍🌾"] = "farmer", + ["🧑🏻‍🌾"] = "farmer_tone1", + ["🧑🏼‍🌾"] = "farmer_tone2", + ["🧑🏽‍🌾"] = "farmer_tone3", + ["🧑🏾‍🌾"] = "farmer_tone4", + ["🧑🏿‍🌾"] = "farmer_tone5", + ["👩‍🌾"] = "woman_farmer", + ["👩🏻‍🌾"] = "woman_farmer_tone1", + ["👩🏼‍🌾"] = "woman_farmer_tone2", + ["👩🏽‍🌾"] = "woman_farmer_tone3", + ["👩🏾‍🌾"] = "woman_farmer_tone4", + ["👩🏿‍🌾"] = "woman_farmer_tone5", + ["👨‍🌾"] = "man_farmer", + ["👨🏻‍🌾"] = "man_farmer_tone1", + ["👨🏼‍🌾"] = "man_farmer_tone2", + ["👨🏽‍🌾"] = "man_farmer_tone3", + ["👨🏾‍🌾"] = "man_farmer_tone4", + ["👨🏿‍🌾"] = "man_farmer_tone5", + ["🧑‍🍳"] = "cook", + ["🧑🏻‍🍳"] = "cook_tone1", + ["🧑🏼‍🍳"] = "cook_tone2", + ["🧑🏽‍🍳"] = "cook_tone3", + ["🧑🏾‍🍳"] = "cook_tone4", + ["🧑🏿‍🍳"] = "cook_tone5", + ["👩‍🍳"] = "woman_cook", + ["👩🏻‍🍳"] = "woman_cook_tone1", + ["👩🏼‍🍳"] = "woman_cook_tone2", + ["👩🏽‍🍳"] = "woman_cook_tone3", + ["👩🏾‍🍳"] = "woman_cook_tone4", + ["👩🏿‍🍳"] = "woman_cook_tone5", + ["👨‍🍳"] = "man_cook", + ["👨🏻‍🍳"] = "man_cook_tone1", + ["👨🏼‍🍳"] = "man_cook_tone2", + ["👨🏽‍🍳"] = "man_cook_tone3", + ["👨🏾‍🍳"] = "man_cook_tone4", + ["👨🏿‍🍳"] = "man_cook_tone5", + ["🧑‍🎓"] = "student", + ["🧑🏻‍🎓"] = "student_tone1", + ["🧑🏼‍🎓"] = "student_tone2", + ["🧑🏽‍🎓"] = "student_tone3", + ["🧑🏾‍🎓"] = "student_tone4", + ["🧑🏿‍🎓"] = "student_tone5", + ["👩‍🎓"] = "woman_student", + ["👩🏻‍🎓"] = "woman_student_tone1", + ["👩🏼‍🎓"] = "woman_student_tone2", + ["👩🏽‍🎓"] = "woman_student_tone3", + ["👩🏾‍🎓"] = "woman_student_tone4", + ["👩🏿‍🎓"] = "woman_student_tone5", + ["👨‍🎓"] = "man_student", + ["👨🏻‍🎓"] = "man_student_tone1", + ["👨🏼‍🎓"] = "man_student_tone2", + ["👨🏽‍🎓"] = "man_student_tone3", + ["👨🏾‍🎓"] = "man_student_tone4", + ["👨🏿‍🎓"] = "man_student_tone5", + ["🧑‍🎤"] = "singer", + ["🧑🏻‍🎤"] = "singer_tone1", + ["🧑🏼‍🎤"] = "singer_tone2", + ["🧑🏽‍🎤"] = "singer_tone3", + ["🧑🏾‍🎤"] = "singer_tone4", + ["🧑🏿‍🎤"] = "singer_tone5", + ["👩‍🎤"] = "woman_singer", + ["👩🏻‍🎤"] = "woman_singer_tone1", + ["👩🏼‍🎤"] = "woman_singer_tone2", + ["👩🏽‍🎤"] = "woman_singer_tone3", + ["👩🏾‍🎤"] = "woman_singer_tone4", + ["👩🏿‍🎤"] = "woman_singer_tone5", + ["👨‍🎤"] = "man_singer", + ["👨🏻‍🎤"] = "man_singer_tone1", + ["👨🏼‍🎤"] = "man_singer_tone2", + ["👨🏽‍🎤"] = "man_singer_tone3", + ["👨🏾‍🎤"] = "man_singer_tone4", + ["👨🏿‍🎤"] = "man_singer_tone5", + ["🧑‍🏫"] = "teacher", + ["🧑🏻‍🏫"] = "teacher_tone1", + ["🧑🏼‍🏫"] = "teacher_tone2", + ["🧑🏽‍🏫"] = "teacher_tone3", + ["🧑🏾‍🏫"] = "teacher_tone4", + ["🧑🏿‍🏫"] = "teacher_tone5", + ["👩‍🏫"] = "woman_teacher", + ["👩🏻‍🏫"] = "woman_teacher_tone1", + ["👩🏼‍🏫"] = "woman_teacher_tone2", + ["👩🏽‍🏫"] = "woman_teacher_tone3", + ["👩🏾‍🏫"] = "woman_teacher_tone4", + ["👩🏿‍🏫"] = "woman_teacher_tone5", + ["👨‍🏫"] = "man_teacher", + ["👨🏻‍🏫"] = "man_teacher_tone1", + ["👨🏼‍🏫"] = "man_teacher_tone2", + ["👨🏽‍🏫"] = "man_teacher_tone3", + ["👨🏾‍🏫"] = "man_teacher_tone4", + ["👨🏿‍🏫"] = "man_teacher_tone5", + ["🧑‍🏭"] = "factory_worker", + ["🧑🏻‍🏭"] = "factory_worker_tone1", + ["🧑🏼‍🏭"] = "factory_worker_tone2", + ["🧑🏽‍🏭"] = "factory_worker_tone3", + ["🧑🏾‍🏭"] = "factory_worker_tone4", + ["🧑🏿‍🏭"] = "factory_worker_tone5", + ["👩‍🏭"] = "woman_factory_worker", + ["👩🏻‍🏭"] = "woman_factory_worker_tone1", + ["👩🏼‍🏭"] = "woman_factory_worker_tone2", + ["👩🏽‍🏭"] = "woman_factory_worker_tone3", + ["👩🏾‍🏭"] = "woman_factory_worker_tone4", + ["👩🏿‍🏭"] = "woman_factory_worker_tone5", + ["👨‍🏭"] = "man_factory_worker", + ["👨🏻‍🏭"] = "man_factory_worker_tone1", + ["👨🏼‍🏭"] = "man_factory_worker_tone2", + ["👨🏽‍🏭"] = "man_factory_worker_tone3", + ["👨🏾‍🏭"] = "man_factory_worker_tone4", + ["👨🏿‍🏭"] = "man_factory_worker_tone5", + ["🧑‍💻"] = "technologist", + ["🧑🏻‍💻"] = "technologist_tone1", + ["🧑🏼‍💻"] = "technologist_tone2", + ["🧑🏽‍💻"] = "technologist_tone3", + ["🧑🏾‍💻"] = "technologist_tone4", + ["🧑🏿‍💻"] = "technologist_tone5", + ["👩‍💻"] = "woman_technologist", + ["👩🏻‍💻"] = "woman_technologist_tone1", + ["👩🏼‍💻"] = "woman_technologist_tone2", + ["👩🏽‍💻"] = "woman_technologist_tone3", + ["👩🏾‍💻"] = "woman_technologist_tone4", + ["👩🏿‍💻"] = "woman_technologist_tone5", + ["👨‍💻"] = "man_technologist", + ["👨🏻‍💻"] = "man_technologist_tone1", + ["👨🏼‍💻"] = "man_technologist_tone2", + ["👨🏽‍💻"] = "man_technologist_tone3", + ["👨🏾‍💻"] = "man_technologist_tone4", + ["👨🏿‍💻"] = "man_technologist_tone5", + ["🧑‍💼"] = "office_worker", + ["🧑🏻‍💼"] = "office_worker_tone1", + ["🧑🏼‍💼"] = "office_worker_tone2", + ["🧑🏽‍💼"] = "office_worker_tone3", + ["🧑🏾‍💼"] = "office_worker_tone4", + ["🧑🏿‍💼"] = "office_worker_tone5", + ["👩‍💼"] = "woman_office_worker", + ["👩🏻‍💼"] = "woman_office_worker_tone1", + ["👩🏼‍💼"] = "woman_office_worker_tone2", + ["👩🏽‍💼"] = "woman_office_worker_tone3", + ["👩🏾‍💼"] = "woman_office_worker_tone4", + ["👩🏿‍💼"] = "woman_office_worker_tone5", + ["👨‍💼"] = "man_office_worker", + ["👨🏻‍💼"] = "man_office_worker_tone1", + ["👨🏼‍💼"] = "man_office_worker_tone2", + ["👨🏽‍💼"] = "man_office_worker_tone3", + ["👨🏾‍💼"] = "man_office_worker_tone4", + ["👨🏿‍💼"] = "man_office_worker_tone5", + ["🧑‍🔧"] = "mechanic", + ["🧑🏻‍🔧"] = "mechanic_tone1", + ["🧑🏼‍🔧"] = "mechanic_tone2", + ["🧑🏽‍🔧"] = "mechanic_tone3", + ["🧑🏾‍🔧"] = "mechanic_tone4", + ["🧑🏿‍🔧"] = "mechanic_tone5", + ["👩‍🔧"] = "woman_mechanic", + ["👩🏻‍🔧"] = "woman_mechanic_tone1", + ["👩🏼‍🔧"] = "woman_mechanic_tone2", + ["👩🏽‍🔧"] = "woman_mechanic_tone3", + ["👩🏾‍🔧"] = "woman_mechanic_tone4", + ["👩🏿‍🔧"] = "woman_mechanic_tone5", + ["👨‍🔧"] = "man_mechanic", + ["👨🏻‍🔧"] = "man_mechanic_tone1", + ["👨🏼‍🔧"] = "man_mechanic_tone2", + ["👨🏽‍🔧"] = "man_mechanic_tone3", + ["👨🏾‍🔧"] = "man_mechanic_tone4", + ["👨🏿‍🔧"] = "man_mechanic_tone5", + ["🧑‍🔬"] = "scientist", + ["🧑🏻‍🔬"] = "scientist_tone1", + ["🧑🏼‍🔬"] = "scientist_tone2", + ["🧑🏽‍🔬"] = "scientist_tone3", + ["🧑🏾‍🔬"] = "scientist_tone4", + ["🧑🏿‍🔬"] = "scientist_tone5", + ["👩‍🔬"] = "woman_scientist", + ["👩🏻‍🔬"] = "woman_scientist_tone1", + ["👩🏼‍🔬"] = "woman_scientist_tone2", + ["👩🏽‍🔬"] = "woman_scientist_tone3", + ["👩🏾‍🔬"] = "woman_scientist_tone4", + ["👩🏿‍🔬"] = "woman_scientist_tone5", + ["👨‍🔬"] = "man_scientist", + ["👨🏻‍🔬"] = "man_scientist_tone1", + ["👨🏼‍🔬"] = "man_scientist_tone2", + ["👨🏽‍🔬"] = "man_scientist_tone3", + ["👨🏾‍🔬"] = "man_scientist_tone4", + ["👨🏿‍🔬"] = "man_scientist_tone5", + ["🧑‍🎨"] = "artist", + ["🧑🏻‍🎨"] = "artist_tone1", + ["🧑🏼‍🎨"] = "artist_tone2", + ["🧑🏽‍🎨"] = "artist_tone3", + ["🧑🏾‍🎨"] = "artist_tone4", + ["🧑🏿‍🎨"] = "artist_tone5", + ["👩‍🎨"] = "woman_artist", + ["👩🏻‍🎨"] = "woman_artist_tone1", + ["👩🏼‍🎨"] = "woman_artist_tone2", + ["👩🏽‍🎨"] = "woman_artist_tone3", + ["👩🏾‍🎨"] = "woman_artist_tone4", + ["👩🏿‍🎨"] = "woman_artist_tone5", + ["👨‍🎨"] = "man_artist", + ["👨🏻‍🎨"] = "man_artist_tone1", + ["👨🏼‍🎨"] = "man_artist_tone2", + ["👨🏽‍🎨"] = "man_artist_tone3", + ["👨🏾‍🎨"] = "man_artist_tone4", + ["👨🏿‍🎨"] = "man_artist_tone5", + ["🧑‍🚒"] = "firefighter", + ["🧑🏻‍🚒"] = "firefighter_tone1", + ["🧑🏼‍🚒"] = "firefighter_tone2", + ["🧑🏽‍🚒"] = "firefighter_tone3", + ["🧑🏾‍🚒"] = "firefighter_tone4", + ["🧑🏿‍🚒"] = "firefighter_tone5", + ["👩‍🚒"] = "woman_firefighter", + ["👩🏻‍🚒"] = "woman_firefighter_tone1", + ["👩🏼‍🚒"] = "woman_firefighter_tone2", + ["👩🏽‍🚒"] = "woman_firefighter_tone3", + ["👩🏾‍🚒"] = "woman_firefighter_tone4", + ["👩🏿‍🚒"] = "woman_firefighter_tone5", + ["👨‍🚒"] = "man_firefighter", + ["👨🏻‍🚒"] = "man_firefighter_tone1", + ["👨🏼‍🚒"] = "man_firefighter_tone2", + ["👨🏽‍🚒"] = "man_firefighter_tone3", + ["👨🏾‍🚒"] = "man_firefighter_tone4", + ["👨🏿‍🚒"] = "man_firefighter_tone5", + ["🧑‍✈️"] = "pilot", + ["🧑🏻‍✈️"] = "pilot_tone1", + ["🧑🏼‍✈️"] = "pilot_tone2", + ["🧑🏽‍✈️"] = "pilot_tone3", + ["🧑🏾‍✈️"] = "pilot_tone4", + ["🧑🏿‍✈️"] = "pilot_tone5", + ["👩‍✈️"] = "woman_pilot", + ["👩🏻‍✈️"] = "woman_pilot_tone1", + ["👩🏼‍✈️"] = "woman_pilot_tone2", + ["👩🏽‍✈️"] = "woman_pilot_tone3", + ["👩🏾‍✈️"] = "woman_pilot_tone4", + ["👩🏿‍✈️"] = "woman_pilot_tone5", + ["👨‍✈️"] = "man_pilot", + ["👨🏻‍✈️"] = "man_pilot_tone1", + ["👨🏼‍✈️"] = "man_pilot_tone2", + ["👨🏽‍✈️"] = "man_pilot_tone3", + ["👨🏾‍✈️"] = "man_pilot_tone4", + ["👨🏿‍✈️"] = "man_pilot_tone5", + ["🧑‍🚀"] = "astronaut", + ["🧑🏻‍🚀"] = "astronaut_tone1", + ["🧑🏼‍🚀"] = "astronaut_tone2", + ["🧑🏽‍🚀"] = "astronaut_tone3", + ["🧑🏾‍🚀"] = "astronaut_tone4", + ["🧑🏿‍🚀"] = "astronaut_tone5", + ["👩‍🚀"] = "woman_astronaut", + ["👩🏻‍🚀"] = "woman_astronaut_tone1", + ["👩🏼‍🚀"] = "woman_astronaut_tone2", + ["👩🏽‍🚀"] = "woman_astronaut_tone3", + ["👩🏾‍🚀"] = "woman_astronaut_tone4", + ["👩🏿‍🚀"] = "woman_astronaut_tone5", + ["👨‍🚀"] = "man_astronaut", + ["👨🏻‍🚀"] = "man_astronaut_tone1", + ["👨🏼‍🚀"] = "man_astronaut_tone2", + ["👨🏽‍🚀"] = "man_astronaut_tone3", + ["👨🏾‍🚀"] = "man_astronaut_tone4", + ["👨🏿‍🚀"] = "man_astronaut_tone5", + ["🧑‍⚖️"] = "judge", + ["🧑🏻‍⚖️"] = "judge_tone1", + ["🧑🏼‍⚖️"] = "judge_tone2", + ["🧑🏽‍⚖️"] = "judge_tone3", + ["🧑🏾‍⚖️"] = "judge_tone4", + ["🧑🏿‍⚖️"] = "judge_tone5", + ["👩‍⚖️"] = "woman_judge", + ["👩🏻‍⚖️"] = "woman_judge_tone1", + ["👩🏼‍⚖️"] = "woman_judge_tone2", + ["👩🏽‍⚖️"] = "woman_judge_tone3", + ["👩🏾‍⚖️"] = "woman_judge_tone4", + ["👩🏿‍⚖️"] = "woman_judge_tone5", + ["👨‍⚖️"] = "man_judge", + ["👨🏻‍⚖️"] = "man_judge_tone1", + ["👨🏼‍⚖️"] = "man_judge_tone2", + ["👨🏽‍⚖️"] = "man_judge_tone3", + ["👨🏾‍⚖️"] = "man_judge_tone4", + ["👨🏿‍⚖️"] = "man_judge_tone5", + ["👰"] = "person_with_veil", + ["👰🏻"] = "person_with_veil_tone1", + ["👰🏼"] = "person_with_veil_tone2", + ["👰🏽"] = "person_with_veil_tone3", + ["👰🏾"] = "person_with_veil_tone4", + ["👰🏿"] = "person_with_veil_tone5", + ["👰‍♀️"] = "woman_with_veil", + ["👰🏻‍♀️"] = "woman_with_veil_tone1", + ["👰🏼‍♀️"] = "woman_with_veil_tone2", + ["👰🏽‍♀️"] = "woman_with_veil_tone3", + ["👰🏾‍♀️"] = "woman_with_veil_tone4", + ["👰🏿‍♀️"] = "woman_with_veil_tone5", + ["👰‍♂️"] = "man_with_veil", + ["👰🏻‍♂️"] = "man_with_veil_tone1", + ["👰🏼‍♂️"] = "man_with_veil_tone2", + ["👰🏽‍♂️"] = "man_with_veil_tone3", + ["👰🏾‍♂️"] = "man_with_veil_tone4", + ["👰🏿‍♂️"] = "man_with_veil_tone5", + ["🤵"] = "person_in_tuxedo", + ["🤵🏻"] = "person_in_tuxedo_tone1", + ["🤵🏼"] = "person_in_tuxedo_tone2", + ["🤵🏽"] = "person_in_tuxedo_tone3", + ["🤵🏾"] = "person_in_tuxedo_tone4", + ["🤵🏿"] = "person_in_tuxedo_tone5", + ["🤵‍♀️"] = "woman_in_tuxedo", + ["🤵🏻‍♀️"] = "woman_in_tuxedo_tone1", + ["🤵🏼‍♀️"] = "woman_in_tuxedo_tone2", + ["🤵🏽‍♀️"] = "woman_in_tuxedo_tone3", + ["🤵🏾‍♀️"] = "woman_in_tuxedo_tone4", + ["🤵🏿‍♀️"] = "woman_in_tuxedo_tone5", + ["🤵‍♂️"] = "man_in_tuxedo", + ["🤵🏻‍♂️"] = "man_in_tuxedo_tone1", + ["🤵🏼‍♂️"] = "man_in_tuxedo_tone2", + ["🤵🏽‍♂️"] = "man_in_tuxedo_tone3", + ["🤵🏾‍♂️"] = "man_in_tuxedo_tone4", + ["🤵🏿‍♂️"] = "man_in_tuxedo_tone5", + ["👸"] = "princess", + ["👸🏻"] = "princess_tone1", + ["👸🏼"] = "princess_tone2", + ["👸🏽"] = "princess_tone3", + ["👸🏾"] = "princess_tone4", + ["👸🏿"] = "princess_tone5", + ["🤴"] = "prince", + ["🤴🏻"] = "prince_tone1", + ["🤴🏼"] = "prince_tone2", + ["🤴🏽"] = "prince_tone3", + ["🤴🏾"] = "prince_tone4", + ["🤴🏿"] = "prince_tone5", + ["🦸"] = "superhero", + ["🦸🏻"] = "superhero_tone1", + ["🦸🏼"] = "superhero_tone2", + ["🦸🏽"] = "superhero_tone3", + ["🦸🏾"] = "superhero_tone4", + ["🦸🏿"] = "superhero_tone5", + ["🦸‍♀️"] = "woman_superhero", + ["🦸🏻‍♀️"] = "woman_superhero_tone1", + ["🦸🏼‍♀️"] = "woman_superhero_tone2", + ["🦸🏽‍♀️"] = "woman_superhero_tone3", + ["🦸🏾‍♀️"] = "woman_superhero_tone4", + ["🦸🏿‍♀️"] = "woman_superhero_tone5", + ["🦸‍♂️"] = "man_superhero", + ["🦸🏻‍♂️"] = "man_superhero_tone1", + ["🦸🏼‍♂️"] = "man_superhero_tone2", + ["🦸🏽‍♂️"] = "man_superhero_tone3", + ["🦸🏾‍♂️"] = "man_superhero_tone4", + ["🦸🏿‍♂️"] = "man_superhero_tone5", + ["🦹"] = "supervillain", + ["🦹🏻"] = "supervillain_tone1", + ["🦹🏼"] = "supervillain_tone2", + ["🦹🏽"] = "supervillain_tone3", + ["🦹🏾"] = "supervillain_tone4", + ["🦹🏿"] = "supervillain_tone5", + ["🦹‍♀️"] = "woman_supervillain", + ["🦹🏻‍♀️"] = "woman_supervillain_tone1", + ["🦹🏼‍♀️"] = "woman_supervillain_tone2", + ["🦹🏽‍♀️"] = "woman_supervillain_tone3", + ["🦹🏾‍♀️"] = "woman_supervillain_tone4", + ["🦹🏿‍♀️"] = "woman_supervillain_tone5", + ["🦹‍♂️"] = "man_supervillain", + ["🦹🏻‍♂️"] = "man_supervillain_tone1", + ["🦹🏼‍♂️"] = "man_supervillain_tone2", + ["🦹🏽‍♂️"] = "man_supervillain_tone3", + ["🦹🏾‍♂️"] = "man_supervillain_tone4", + ["🦹🏿‍♂️"] = "man_supervillain_tone5", + ["🥷"] = "ninja", + ["🥷🏻"] = "ninja_tone1", + ["🥷🏼"] = "ninja_tone2", + ["🥷🏽"] = "ninja_tone3", + ["🥷🏾"] = "ninja_tone4", + ["🥷🏿"] = "ninja_tone5", + ["🧑‍🎄"] = "mx_claus", + ["🧑🏻‍🎄"] = "mx_claus_tone1", + ["🧑🏼‍🎄"] = "mx_claus_tone2", + ["🧑🏽‍🎄"] = "mx_claus_tone3", + ["🧑🏾‍🎄"] = "mx_claus_tone4", + ["🧑🏿‍🎄"] = "mx_claus_tone5", + ["🤶"] = "mrs_claus", + ["🤶🏻"] = "mrs_claus_tone1", + ["🤶🏼"] = "mrs_claus_tone2", + ["🤶🏽"] = "mrs_claus_tone3", + ["🤶🏾"] = "mrs_claus_tone4", + ["🤶🏿"] = "mrs_claus_tone5", + ["🎅"] = "santa", + ["🎅🏻"] = "santa_tone1", + ["🎅🏼"] = "santa_tone2", + ["🎅🏽"] = "santa_tone3", + ["🎅🏾"] = "santa_tone4", + ["🎅🏿"] = "santa_tone5", + ["🧙"] = "mage", + ["🧙🏻"] = "mage_tone1", + ["🧙🏼"] = "mage_tone2", + ["🧙🏽"] = "mage_tone3", + ["🧙🏾"] = "mage_tone4", + ["🧙🏿"] = "mage_tone5", + ["🧙‍♀️"] = "woman_mage", + ["🧙🏻‍♀️"] = "woman_mage_tone1", + ["🧙🏼‍♀️"] = "woman_mage_tone2", + ["🧙🏽‍♀️"] = "woman_mage_tone3", + ["🧙🏾‍♀️"] = "woman_mage_tone4", + ["🧙🏿‍♀️"] = "woman_mage_tone5", + ["🧙‍♂️"] = "man_mage", + ["🧙🏻‍♂️"] = "man_mage_tone1", + ["🧙🏼‍♂️"] = "man_mage_tone2", + ["🧙🏽‍♂️"] = "man_mage_tone3", + ["🧙🏾‍♂️"] = "man_mage_tone4", + ["🧙🏿‍♂️"] = "man_mage_tone5", + ["🧝"] = "elf", + ["🧝🏻"] = "elf_tone1", + ["🧝🏼"] = "elf_tone2", + ["🧝🏽"] = "elf_tone3", + ["🧝🏾"] = "elf_tone4", + ["🧝🏿"] = "elf_tone5", + ["🧝‍♀️"] = "woman_elf", + ["🧝🏻‍♀️"] = "woman_elf_tone1", + ["🧝🏼‍♀️"] = "woman_elf_tone2", + ["🧝🏽‍♀️"] = "woman_elf_tone3", + ["🧝🏾‍♀️"] = "woman_elf_tone4", + ["🧝🏿‍♀️"] = "woman_elf_tone5", + ["🧝‍♂️"] = "man_elf", + ["🧝🏻‍♂️"] = "man_elf_tone1", + ["🧝🏼‍♂️"] = "man_elf_tone2", + ["🧝🏽‍♂️"] = "man_elf_tone3", + ["🧝🏾‍♂️"] = "man_elf_tone4", + ["🧝🏿‍♂️"] = "man_elf_tone5", + ["🧛"] = "vampire", + ["🧛🏻"] = "vampire_tone1", + ["🧛🏼"] = "vampire_tone2", + ["🧛🏽"] = "vampire_tone3", + ["🧛🏾"] = "vampire_tone4", + ["🧛🏿"] = "vampire_tone5", + ["🧛‍♀️"] = "woman_vampire", + ["🧛🏻‍♀️"] = "woman_vampire_tone1", + ["🧛🏼‍♀️"] = "woman_vampire_tone2", + ["🧛🏽‍♀️"] = "woman_vampire_tone3", + ["🧛🏾‍♀️"] = "woman_vampire_tone4", + ["🧛🏿‍♀️"] = "woman_vampire_tone5", + ["🧛‍♂️"] = "man_vampire", + ["🧛🏻‍♂️"] = "man_vampire_tone1", + ["🧛🏼‍♂️"] = "man_vampire_tone2", + ["🧛🏽‍♂️"] = "man_vampire_tone3", + ["🧛🏾‍♂️"] = "man_vampire_tone4", + ["🧛🏿‍♂️"] = "man_vampire_tone5", + ["🧟"] = "zombie", + ["🧟‍♀️"] = "woman_zombie", + ["🧟‍♂️"] = "man_zombie", + ["🧞"] = "genie", + ["🧞‍♀️"] = "woman_genie", + ["🧞‍♂️"] = "man_genie", + ["🧜"] = "merperson", + ["🧜🏻"] = "merperson_tone1", + ["🧜🏼"] = "merperson_tone2", + ["🧜🏽"] = "merperson_tone3", + ["🧜🏾"] = "merperson_tone4", + ["🧜🏿"] = "merperson_tone5", + ["🧜‍♀️"] = "mermaid", + ["🧜🏻‍♀️"] = "mermaid_tone1", + ["🧜🏼‍♀️"] = "mermaid_tone2", + ["🧜🏽‍♀️"] = "mermaid_tone3", + ["🧜🏾‍♀️"] = "mermaid_tone4", + ["🧜🏿‍♀️"] = "mermaid_tone5", + ["🧜‍♂️"] = "merman", + ["🧜🏻‍♂️"] = "merman_tone1", + ["🧜🏼‍♂️"] = "merman_tone2", + ["🧜🏽‍♂️"] = "merman_tone3", + ["🧜🏾‍♂️"] = "merman_tone4", + ["🧜🏿‍♂️"] = "merman_tone5", + ["🧚"] = "fairy", + ["🧚🏻"] = "fairy_tone1", + ["🧚🏼"] = "fairy_tone2", + ["🧚🏽"] = "fairy_tone3", + ["🧚🏾"] = "fairy_tone4", + ["🧚🏿"] = "fairy_tone5", + ["🧚‍♀️"] = "woman_fairy", + ["🧚🏻‍♀️"] = "woman_fairy_tone1", + ["🧚🏼‍♀️"] = "woman_fairy_tone2", + ["🧚🏽‍♀️"] = "woman_fairy_tone3", + ["🧚🏾‍♀️"] = "woman_fairy_tone4", + ["🧚🏿‍♀️"] = "woman_fairy_tone5", + ["🧚‍♂️"] = "man_fairy", + ["🧚🏻‍♂️"] = "man_fairy_tone1", + ["🧚🏼‍♂️"] = "man_fairy_tone2", + ["🧚🏽‍♂️"] = "man_fairy_tone3", + ["🧚🏾‍♂️"] = "man_fairy_tone4", + ["🧚🏿‍♂️"] = "man_fairy_tone5", + ["👼"] = "angel", + ["👼🏻"] = "angel_tone1", + ["👼🏼"] = "angel_tone2", + ["👼🏽"] = "angel_tone3", + ["👼🏾"] = "angel_tone4", + ["👼🏿"] = "angel_tone5", + ["🤰"] = "pregnant_woman", + ["🤰🏻"] = "pregnant_woman_tone1", + ["🤰🏼"] = "pregnant_woman_tone2", + ["🤰🏽"] = "pregnant_woman_tone3", + ["🤰🏾"] = "pregnant_woman_tone4", + ["🤰🏿"] = "pregnant_woman_tone5", + ["🤱"] = "breast_feeding", + ["🤱🏻"] = "breast_feeding_tone1", + ["🤱🏼"] = "breast_feeding_tone2", + ["🤱🏽"] = "breast_feeding_tone3", + ["🤱🏾"] = "breast_feeding_tone4", + ["🤱🏿"] = "breast_feeding_tone5", + ["🧑‍🍼"] = "person_feeding_baby", + ["🧑🏻‍🍼"] = "person_feeding_baby_tone1", + ["🧑🏼‍🍼"] = "person_feeding_baby_tone2", + ["🧑🏽‍🍼"] = "person_feeding_baby_tone3", + ["🧑🏾‍🍼"] = "person_feeding_baby_tone4", + ["🧑🏿‍🍼"] = "person_feeding_baby_tone5", + ["👩‍🍼"] = "woman_feeding_baby", + ["👩🏻‍🍼"] = "woman_feeding_baby_tone1", + ["👩🏼‍🍼"] = "woman_feeding_baby_tone2", + ["👩🏽‍🍼"] = "woman_feeding_baby_tone3", + ["👩🏾‍🍼"] = "woman_feeding_baby_tone4", + ["👩🏿‍🍼"] = "woman_feeding_baby_tone5", + ["👨‍🍼"] = "man_feeding_baby", + ["👨🏻‍🍼"] = "man_feeding_baby_tone1", + ["👨🏼‍🍼"] = "man_feeding_baby_tone2", + ["👨🏽‍🍼"] = "man_feeding_baby_tone3", + ["👨🏾‍🍼"] = "man_feeding_baby_tone4", + ["👨🏿‍🍼"] = "man_feeding_baby_tone5", + ["🙇"] = "person_bowing", + ["🙇🏻"] = "person_bowing_tone1", + ["🙇🏼"] = "person_bowing_tone2", + ["🙇🏽"] = "person_bowing_tone3", + ["🙇🏾"] = "person_bowing_tone4", + ["🙇🏿"] = "person_bowing_tone5", + ["🙇‍♀️"] = "woman_bowing", + ["🙇🏻‍♀️"] = "woman_bowing_tone1", + ["🙇🏼‍♀️"] = "woman_bowing_tone2", + ["🙇🏽‍♀️"] = "woman_bowing_tone3", + ["🙇🏾‍♀️"] = "woman_bowing_tone4", + ["🙇🏿‍♀️"] = "woman_bowing_tone5", + ["🙇‍♂️"] = "man_bowing", + ["🙇🏻‍♂️"] = "man_bowing_tone1", + ["🙇🏼‍♂️"] = "man_bowing_tone2", + ["🙇🏽‍♂️"] = "man_bowing_tone3", + ["🙇🏾‍♂️"] = "man_bowing_tone4", + ["🙇🏿‍♂️"] = "man_bowing_tone5", + ["💁"] = "person_tipping_hand", + ["💁🏻"] = "person_tipping_hand_tone1", + ["💁🏼"] = "person_tipping_hand_tone2", + ["💁🏽"] = "person_tipping_hand_tone3", + ["💁🏾"] = "person_tipping_hand_tone4", + ["💁🏿"] = "person_tipping_hand_tone5", + ["💁‍♀️"] = "woman_tipping_hand", + ["💁🏻‍♀️"] = "woman_tipping_hand_tone1", + ["💁🏼‍♀️"] = "woman_tipping_hand_tone2", + ["💁🏽‍♀️"] = "woman_tipping_hand_tone3", + ["💁🏾‍♀️"] = "woman_tipping_hand_tone4", + ["💁🏿‍♀️"] = "woman_tipping_hand_tone5", + ["💁‍♂️"] = "man_tipping_hand", + ["💁🏻‍♂️"] = "man_tipping_hand_tone1", + ["💁🏼‍♂️"] = "man_tipping_hand_tone2", + ["💁🏽‍♂️"] = "man_tipping_hand_tone3", + ["💁🏾‍♂️"] = "man_tipping_hand_tone4", + ["💁🏿‍♂️"] = "man_tipping_hand_tone5", + ["🙅"] = "person_gesturing_no", + ["🙅🏻"] = "person_gesturing_no_tone1", + ["🙅🏼"] = "person_gesturing_no_tone2", + ["🙅🏽"] = "person_gesturing_no_tone3", + ["🙅🏾"] = "person_gesturing_no_tone4", + ["🙅🏿"] = "person_gesturing_no_tone5", + ["🙅‍♀️"] = "woman_gesturing_no", + ["🙅🏻‍♀️"] = "woman_gesturing_no_tone1", + ["🙅🏼‍♀️"] = "woman_gesturing_no_tone2", + ["🙅🏽‍♀️"] = "woman_gesturing_no_tone3", + ["🙅🏾‍♀️"] = "woman_gesturing_no_tone4", + ["🙅🏿‍♀️"] = "woman_gesturing_no_tone5", + ["🙅‍♂️"] = "man_gesturing_no", + ["🙅🏻‍♂️"] = "man_gesturing_no_tone1", + ["🙅🏼‍♂️"] = "man_gesturing_no_tone2", + ["🙅🏽‍♂️"] = "man_gesturing_no_tone3", + ["🙅🏾‍♂️"] = "man_gesturing_no_tone4", + ["🙅🏿‍♂️"] = "man_gesturing_no_tone5", + ["🙆"] = "person_gesturing_ok", + ["🙆🏻"] = "person_gesturing_ok_tone1", + ["🙆🏼"] = "person_gesturing_ok_tone2", + ["🙆🏽"] = "person_gesturing_ok_tone3", + ["🙆🏾"] = "person_gesturing_ok_tone4", + ["🙆🏿"] = "person_gesturing_ok_tone5", + ["🙆‍♀️"] = "woman_gesturing_ok", + ["🙆🏻‍♀️"] = "woman_gesturing_ok_tone1", + ["🙆🏼‍♀️"] = "woman_gesturing_ok_tone2", + ["🙆🏽‍♀️"] = "woman_gesturing_ok_tone3", + ["🙆🏾‍♀️"] = "woman_gesturing_ok_tone4", + ["🙆🏿‍♀️"] = "woman_gesturing_ok_tone5", + ["🙆‍♂️"] = "man_gesturing_ok", + ["🙆🏻‍♂️"] = "man_gesturing_ok_tone1", + ["🙆🏼‍♂️"] = "man_gesturing_ok_tone2", + ["🙆🏽‍♂️"] = "man_gesturing_ok_tone3", + ["🙆🏾‍♂️"] = "man_gesturing_ok_tone4", + ["🙆🏿‍♂️"] = "man_gesturing_ok_tone5", + ["🙋"] = "person_raising_hand", + ["🙋🏻"] = "person_raising_hand_tone1", + ["🙋🏼"] = "person_raising_hand_tone2", + ["🙋🏽"] = "person_raising_hand_tone3", + ["🙋🏾"] = "person_raising_hand_tone4", + ["🙋🏿"] = "person_raising_hand_tone5", + ["🙋‍♀️"] = "woman_raising_hand", + ["🙋🏻‍♀️"] = "woman_raising_hand_tone1", + ["🙋🏼‍♀️"] = "woman_raising_hand_tone2", + ["🙋🏽‍♀️"] = "woman_raising_hand_tone3", + ["🙋🏾‍♀️"] = "woman_raising_hand_tone4", + ["🙋🏿‍♀️"] = "woman_raising_hand_tone5", + ["🙋‍♂️"] = "man_raising_hand", + ["🙋🏻‍♂️"] = "man_raising_hand_tone1", + ["🙋🏼‍♂️"] = "man_raising_hand_tone2", + ["🙋🏽‍♂️"] = "man_raising_hand_tone3", + ["🙋🏾‍♂️"] = "man_raising_hand_tone4", + ["🙋🏿‍♂️"] = "man_raising_hand_tone5", + ["🧏"] = "deaf_person", + ["🧏🏻"] = "deaf_person_tone1", + ["🧏🏼"] = "deaf_person_tone2", + ["🧏🏽"] = "deaf_person_tone3", + ["🧏🏾"] = "deaf_person_tone4", + ["🧏🏿"] = "deaf_person_tone5", + ["🧏‍♀️"] = "deaf_woman", + ["🧏🏻‍♀️"] = "deaf_woman_tone1", + ["🧏🏼‍♀️"] = "deaf_woman_tone2", + ["🧏🏽‍♀️"] = "deaf_woman_tone3", + ["🧏🏾‍♀️"] = "deaf_woman_tone4", + ["🧏🏿‍♀️"] = "deaf_woman_tone5", + ["🧏‍♂️"] = "deaf_man", + ["🧏🏻‍♂️"] = "deaf_man_tone1", + ["🧏🏼‍♂️"] = "deaf_man_tone2", + ["🧏🏽‍♂️"] = "deaf_man_tone3", + ["🧏🏾‍♂️"] = "deaf_man_tone4", + ["🧏🏿‍♂️"] = "deaf_man_tone5", + ["🤦"] = "person_facepalming", + ["🤦🏻"] = "person_facepalming_tone1", + ["🤦🏼"] = "person_facepalming_tone2", + ["🤦🏽"] = "person_facepalming_tone3", + ["🤦🏾"] = "person_facepalming_tone4", + ["🤦🏿"] = "person_facepalming_tone5", + ["🤦‍♀️"] = "woman_facepalming", + ["🤦🏻‍♀️"] = "woman_facepalming_tone1", + ["🤦🏼‍♀️"] = "woman_facepalming_tone2", + ["🤦🏽‍♀️"] = "woman_facepalming_tone3", + ["🤦🏾‍♀️"] = "woman_facepalming_tone4", + ["🤦🏿‍♀️"] = "woman_facepalming_tone5", + ["🤦‍♂️"] = "man_facepalming", + ["🤦🏻‍♂️"] = "man_facepalming_tone1", + ["🤦🏼‍♂️"] = "man_facepalming_tone2", + ["🤦🏽‍♂️"] = "man_facepalming_tone3", + ["🤦🏾‍♂️"] = "man_facepalming_tone4", + ["🤦🏿‍♂️"] = "man_facepalming_tone5", + ["🤷"] = "person_shrugging", + ["🤷🏻"] = "person_shrugging_tone1", + ["🤷🏼"] = "person_shrugging_tone2", + ["🤷🏽"] = "person_shrugging_tone3", + ["🤷🏾"] = "person_shrugging_tone4", + ["🤷🏿"] = "person_shrugging_tone5", + ["🤷‍♀️"] = "woman_shrugging", + ["🤷🏻‍♀️"] = "woman_shrugging_tone1", + ["🤷🏼‍♀️"] = "woman_shrugging_tone2", + ["🤷🏽‍♀️"] = "woman_shrugging_tone3", + ["🤷🏾‍♀️"] = "woman_shrugging_tone4", + ["🤷🏿‍♀️"] = "woman_shrugging_tone5", + ["🤷‍♂️"] = "man_shrugging", + ["🤷🏻‍♂️"] = "man_shrugging_tone1", + ["🤷🏼‍♂️"] = "man_shrugging_tone2", + ["🤷🏽‍♂️"] = "man_shrugging_tone3", + ["🤷🏾‍♂️"] = "man_shrugging_tone4", + ["🤷🏿‍♂️"] = "man_shrugging_tone5", + ["🙎"] = "person_pouting", + ["🙎🏻"] = "person_pouting_tone1", + ["🙎🏼"] = "person_pouting_tone2", + ["🙎🏽"] = "person_pouting_tone3", + ["🙎🏾"] = "person_pouting_tone4", + ["🙎🏿"] = "person_pouting_tone5", + ["🙎‍♀️"] = "woman_pouting", + ["🙎🏻‍♀️"] = "woman_pouting_tone1", + ["🙎🏼‍♀️"] = "woman_pouting_tone2", + ["🙎🏽‍♀️"] = "woman_pouting_tone3", + ["🙎🏾‍♀️"] = "woman_pouting_tone4", + ["🙎🏿‍♀️"] = "woman_pouting_tone5", + ["🙎‍♂️"] = "man_pouting", + ["🙎🏻‍♂️"] = "man_pouting_tone1", + ["🙎🏼‍♂️"] = "man_pouting_tone2", + ["🙎🏽‍♂️"] = "man_pouting_tone3", + ["🙎🏾‍♂️"] = "man_pouting_tone4", + ["🙎🏿‍♂️"] = "man_pouting_tone5", + ["🙍"] = "person_frowning", + ["🙍🏻"] = "person_frowning_tone1", + ["🙍🏼"] = "person_frowning_tone2", + ["🙍🏽"] = "person_frowning_tone3", + ["🙍🏾"] = "person_frowning_tone4", + ["🙍🏿"] = "person_frowning_tone5", + ["🙍‍♀️"] = "woman_frowning", + ["🙍🏻‍♀️"] = "woman_frowning_tone1", + ["🙍🏼‍♀️"] = "woman_frowning_tone2", + ["🙍🏽‍♀️"] = "woman_frowning_tone3", + ["🙍🏾‍♀️"] = "woman_frowning_tone4", + ["🙍🏿‍♀️"] = "woman_frowning_tone5", + ["🙍‍♂️"] = "man_frowning", + ["🙍🏻‍♂️"] = "man_frowning_tone1", + ["🙍🏼‍♂️"] = "man_frowning_tone2", + ["🙍🏽‍♂️"] = "man_frowning_tone3", + ["🙍🏾‍♂️"] = "man_frowning_tone4", + ["🙍🏿‍♂️"] = "man_frowning_tone5", + ["💇"] = "person_getting_haircut", + ["💇🏻"] = "person_getting_haircut_tone1", + ["💇🏼"] = "person_getting_haircut_tone2", + ["💇🏽"] = "person_getting_haircut_tone3", + ["💇🏾"] = "person_getting_haircut_tone4", + ["💇🏿"] = "person_getting_haircut_tone5", + ["💇‍♀️"] = "woman_getting_haircut", + ["💇🏻‍♀️"] = "woman_getting_haircut_tone1", + ["💇🏼‍♀️"] = "woman_getting_haircut_tone2", + ["💇🏽‍♀️"] = "woman_getting_haircut_tone3", + ["💇🏾‍♀️"] = "woman_getting_haircut_tone4", + ["💇🏿‍♀️"] = "woman_getting_haircut_tone5", + ["💇‍♂️"] = "man_getting_haircut", + ["💇🏻‍♂️"] = "man_getting_haircut_tone1", + ["💇🏼‍♂️"] = "man_getting_haircut_tone2", + ["💇🏽‍♂️"] = "man_getting_haircut_tone3", + ["💇🏾‍♂️"] = "man_getting_haircut_tone4", + ["💇🏿‍♂️"] = "man_getting_haircut_tone5", + ["💆"] = "person_getting_massage", + ["💆🏻"] = "person_getting_massage_tone1", + ["💆🏼"] = "person_getting_massage_tone2", + ["💆🏽"] = "person_getting_massage_tone3", + ["💆🏾"] = "person_getting_massage_tone4", + ["💆🏿"] = "person_getting_massage_tone5", + ["💆‍♀️"] = "woman_getting_face_massage", + ["💆🏻‍♀️"] = "woman_getting_face_massage_tone1", + ["💆🏼‍♀️"] = "woman_getting_face_massage_tone2", + ["💆🏽‍♀️"] = "woman_getting_face_massage_tone3", + ["💆🏾‍♀️"] = "woman_getting_face_massage_tone4", + ["💆🏿‍♀️"] = "woman_getting_face_massage_tone5", + ["💆‍♂️"] = "man_getting_face_massage", + ["💆🏻‍♂️"] = "man_getting_face_massage_tone1", + ["💆🏼‍♂️"] = "man_getting_face_massage_tone2", + ["💆🏽‍♂️"] = "man_getting_face_massage_tone3", + ["💆🏾‍♂️"] = "man_getting_face_massage_tone4", + ["💆🏿‍♂️"] = "man_getting_face_massage_tone5", + ["🧖"] = "person_in_steamy_room", + ["🧖🏻"] = "person_in_steamy_room_tone1", + ["🧖🏼"] = "person_in_steamy_room_tone2", + ["🧖🏽"] = "person_in_steamy_room_tone3", + ["🧖🏾"] = "person_in_steamy_room_tone4", + ["🧖🏿"] = "person_in_steamy_room_tone5", + ["🧖‍♀️"] = "woman_in_steamy_room", + ["🧖🏻‍♀️"] = "woman_in_steamy_room_tone1", + ["🧖🏼‍♀️"] = "woman_in_steamy_room_tone2", + ["🧖🏽‍♀️"] = "woman_in_steamy_room_tone3", + ["🧖🏾‍♀️"] = "woman_in_steamy_room_tone4", + ["🧖🏿‍♀️"] = "woman_in_steamy_room_tone5", + ["🧖‍♂️"] = "man_in_steamy_room", + ["🧖🏻‍♂️"] = "man_in_steamy_room_tone1", + ["🧖🏼‍♂️"] = "man_in_steamy_room_tone2", + ["🧖🏽‍♂️"] = "man_in_steamy_room_tone3", + ["🧖🏾‍♂️"] = "man_in_steamy_room_tone4", + ["🧖🏿‍♂️"] = "man_in_steamy_room_tone5", + ["💅"] = "nail_care", + ["💅🏻"] = "nail_care_tone1", + ["💅🏼"] = "nail_care_tone2", + ["💅🏽"] = "nail_care_tone3", + ["💅🏾"] = "nail_care_tone4", + ["💅🏿"] = "nail_care_tone5", + ["🤳"] = "selfie", + ["🤳🏻"] = "selfie_tone1", + ["🤳🏼"] = "selfie_tone2", + ["🤳🏽"] = "selfie_tone3", + ["🤳🏾"] = "selfie_tone4", + ["🤳🏿"] = "selfie_tone5", + ["💃"] = "dancer", + ["💃🏻"] = "dancer_tone1", + ["💃🏼"] = "dancer_tone2", + ["💃🏽"] = "dancer_tone3", + ["💃🏾"] = "dancer_tone4", + ["💃🏿"] = "dancer_tone5", + ["🕺"] = "man_dancing", + ["🕺🏻"] = "man_dancing_tone1", + ["🕺🏼"] = "man_dancing_tone2", + ["🕺🏽"] = "man_dancing_tone3", + ["🕺🏿"] = "man_dancing_tone5", + ["🕺🏾"] = "man_dancing_tone4", + ["👯"] = "people_with_bunny_ears_partying", + ["👯‍♀️"] = "women_with_bunny_ears_partying", + ["👯‍♂️"] = "men_with_bunny_ears_partying", + ["🕴️"] = "levitate", + ["🕴🏻"] = "levitate_tone1", + ["🕴🏼"] = "levitate_tone2", + ["🕴🏽"] = "levitate_tone3", + ["🕴🏾"] = "levitate_tone4", + ["🕴🏿"] = "levitate_tone5", + ["🧑‍🦽"] = "person_in_manual_wheelchair", + ["🧑🏻‍🦽"] = "person_in_manual_wheelchair_tone1", + ["🧑🏼‍🦽"] = "person_in_manual_wheelchair_tone2", + ["🧑🏽‍🦽"] = "person_in_manual_wheelchair_tone3", + ["🧑🏾‍🦽"] = "person_in_manual_wheelchair_tone4", + ["🧑🏿‍🦽"] = "person_in_manual_wheelchair_tone5", + ["👩‍🦽"] = "woman_in_manual_wheelchair", + ["👩🏻‍🦽"] = "woman_in_manual_wheelchair_tone1", + ["👩🏼‍🦽"] = "woman_in_manual_wheelchair_tone2", + ["👩🏽‍🦽"] = "woman_in_manual_wheelchair_tone3", + ["👩🏾‍🦽"] = "woman_in_manual_wheelchair_tone4", + ["👩🏿‍🦽"] = "woman_in_manual_wheelchair_tone5", + ["👨‍🦽"] = "man_in_manual_wheelchair", + ["👨🏻‍🦽"] = "man_in_manual_wheelchair_tone1", + ["👨🏼‍🦽"] = "man_in_manual_wheelchair_tone2", + ["👨🏽‍🦽"] = "man_in_manual_wheelchair_tone3", + ["👨🏾‍🦽"] = "man_in_manual_wheelchair_tone4", + ["👨🏿‍🦽"] = "man_in_manual_wheelchair_tone5", + ["🧑‍🦼"] = "person_in_motorized_wheelchair", + ["🧑🏻‍🦼"] = "person_in_motorized_wheelchair_tone1", + ["🧑🏼‍🦼"] = "person_in_motorized_wheelchair_tone2", + ["🧑🏽‍🦼"] = "person_in_motorized_wheelchair_tone3", + ["🧑🏾‍🦼"] = "person_in_motorized_wheelchair_tone4", + ["🧑🏿‍🦼"] = "person_in_motorized_wheelchair_tone5", + ["👩‍🦼"] = "woman_in_motorized_wheelchair", + ["👩🏻‍🦼"] = "woman_in_motorized_wheelchair_tone1", + ["👩🏼‍🦼"] = "woman_in_motorized_wheelchair_tone2", + ["👩🏽‍🦼"] = "woman_in_motorized_wheelchair_tone3", + ["👩🏾‍🦼"] = "woman_in_motorized_wheelchair_tone4", + ["👩🏿‍🦼"] = "woman_in_motorized_wheelchair_tone5", + ["👨‍🦼"] = "man_in_motorized_wheelchair", + ["👨🏻‍🦼"] = "man_in_motorized_wheelchair_tone1", + ["👨🏼‍🦼"] = "man_in_motorized_wheelchair_tone2", + ["👨🏽‍🦼"] = "man_in_motorized_wheelchair_tone3", + ["👨🏾‍🦼"] = "man_in_motorized_wheelchair_tone4", + ["👨🏿‍🦼"] = "man_in_motorized_wheelchair_tone5", + ["🚶"] = "person_walking", + ["🚶🏻"] = "person_walking_tone1", + ["🚶🏼"] = "person_walking_tone2", + ["🚶🏽"] = "person_walking_tone3", + ["🚶🏾"] = "person_walking_tone4", + ["🚶🏿"] = "person_walking_tone5", + ["🚶‍♀️"] = "woman_walking", + ["🚶🏻‍♀️"] = "woman_walking_tone1", + ["🚶🏼‍♀️"] = "woman_walking_tone2", + ["🚶🏽‍♀️"] = "woman_walking_tone3", + ["🚶🏾‍♀️"] = "woman_walking_tone4", + ["🚶🏿‍♀️"] = "woman_walking_tone5", + ["🚶‍♂️"] = "man_walking", + ["🚶🏻‍♂️"] = "man_walking_tone1", + ["🚶🏼‍♂️"] = "man_walking_tone2", + ["🚶🏽‍♂️"] = "man_walking_tone3", + ["🚶🏾‍♂️"] = "man_walking_tone4", + ["🚶🏿‍♂️"] = "man_walking_tone5", + ["🧑‍🦯"] = "person_with_probing_cane", + ["🧑🏻‍🦯"] = "person_with_probing_cane_tone1", + ["🧑🏼‍🦯"] = "person_with_probing_cane_tone2", + ["🧑🏽‍🦯"] = "person_with_probing_cane_tone3", + ["🧑🏾‍🦯"] = "person_with_probing_cane_tone4", + ["🧑🏿‍🦯"] = "person_with_probing_cane_tone5", + ["👩‍🦯"] = "woman_with_probing_cane", + ["👩🏻‍🦯"] = "woman_with_probing_cane_tone1", + ["👩🏼‍🦯"] = "woman_with_probing_cane_tone2", + ["👩🏽‍🦯"] = "woman_with_probing_cane_tone3", + ["👩🏾‍🦯"] = "woman_with_probing_cane_tone4", + ["👩🏿‍🦯"] = "woman_with_probing_cane_tone5", + ["👨‍🦯"] = "man_with_probing_cane", + ["👨🏻‍🦯"] = "man_with_probing_cane_tone1", + ["👨🏽‍🦯"] = "man_with_probing_cane_tone3", + ["👨🏼‍🦯"] = "man_with_probing_cane_tone2", + ["👨🏾‍🦯"] = "man_with_probing_cane_tone4", + ["👨🏿‍🦯"] = "man_with_probing_cane_tone5", + ["🧎"] = "person_kneeling", + ["🧎🏻"] = "person_kneeling_tone1", + ["🧎🏼"] = "person_kneeling_tone2", + ["🧎🏽"] = "person_kneeling_tone3", + ["🧎🏾"] = "person_kneeling_tone4", + ["🧎🏿"] = "person_kneeling_tone5", + ["🧎‍♀️"] = "woman_kneeling", + ["🧎🏻‍♀️"] = "woman_kneeling_tone1", + ["🧎🏼‍♀️"] = "woman_kneeling_tone2", + ["🧎🏽‍♀️"] = "woman_kneeling_tone3", + ["🧎🏾‍♀️"] = "woman_kneeling_tone4", + ["🧎🏿‍♀️"] = "woman_kneeling_tone5", + ["🧎‍♂️"] = "man_kneeling", + ["🧎🏻‍♂️"] = "man_kneeling_tone1", + ["🧎🏼‍♂️"] = "man_kneeling_tone2", + ["🧎🏽‍♂️"] = "man_kneeling_tone3", + ["🧎🏾‍♂️"] = "man_kneeling_tone4", + ["🧎🏿‍♂️"] = "man_kneeling_tone5", + ["🏃"] = "person_running", + ["🏃🏻"] = "person_running_tone1", + ["🏃🏼"] = "person_running_tone2", + ["🏃🏽"] = "person_running_tone3", + ["🏃🏾"] = "person_running_tone4", + ["🏃🏿"] = "person_running_tone5", + ["🏃‍♀️"] = "woman_running", + ["🏃🏻‍♀️"] = "woman_running_tone1", + ["🏃🏼‍♀️"] = "woman_running_tone2", + ["🏃🏽‍♀️"] = "woman_running_tone3", + ["🏃🏾‍♀️"] = "woman_running_tone4", + ["🏃🏿‍♀️"] = "woman_running_tone5", + ["🏃‍♂️"] = "man_running", + ["🏃🏻‍♂️"] = "man_running_tone1", + ["🏃🏼‍♂️"] = "man_running_tone2", + ["🏃🏽‍♂️"] = "man_running_tone3", + ["🏃🏾‍♂️"] = "man_running_tone4", + ["🏃🏿‍♂️"] = "man_running_tone5", + ["🧍"] = "person_standing", + ["🧍🏻"] = "person_standing_tone1", + ["🧍🏼"] = "person_standing_tone2", + ["🧍🏽"] = "person_standing_tone3", + ["🧍🏾"] = "person_standing_tone4", + ["🧍🏿"] = "person_standing_tone5", + ["🧍‍♀️"] = "woman_standing", + ["🧍🏻‍♀️"] = "woman_standing_tone1", + ["🧍🏼‍♀️"] = "woman_standing_tone2", + ["🧍🏽‍♀️"] = "woman_standing_tone3", + ["🧍🏾‍♀️"] = "woman_standing_tone4", + ["🧍🏿‍♀️"] = "woman_standing_tone5", + ["🧍‍♂️"] = "man_standing", + ["🧍🏻‍♂️"] = "man_standing_tone1", + ["🧍🏼‍♂️"] = "man_standing_tone2", + ["🧍🏽‍♂️"] = "man_standing_tone3", + ["🧍🏾‍♂️"] = "man_standing_tone4", + ["🧍🏿‍♂️"] = "man_standing_tone5", + ["🧑‍🤝‍🧑"] = "people_holding_hands", + ["🧑🏻‍🤝‍🧑🏻"] = "people_holding_hands_tone1", + ["🧑🏻‍🤝‍🧑🏼"] = "people_holding_hands_tone1_tone2", + ["🧑🏻‍🤝‍🧑🏽"] = "people_holding_hands_tone1_tone3", + ["🧑🏻‍🤝‍🧑🏾"] = "people_holding_hands_tone1_tone4", + ["🧑🏻‍🤝‍🧑🏿"] = "people_holding_hands_tone1_tone5", + ["🧑🏼‍🤝‍🧑🏻"] = "people_holding_hands_tone2_tone1", + ["🧑🏼‍🤝‍🧑🏼"] = "people_holding_hands_tone2", + ["🧑🏼‍🤝‍🧑🏽"] = "people_holding_hands_tone2_tone3", + ["🧑🏼‍🤝‍🧑🏾"] = "people_holding_hands_tone2_tone4", + ["🧑🏼‍🤝‍🧑🏿"] = "people_holding_hands_tone2_tone5", + ["🧑🏽‍🤝‍🧑🏻"] = "people_holding_hands_tone3_tone1", + ["🧑🏽‍🤝‍🧑🏼"] = "people_holding_hands_tone3_tone2", + ["🧑🏽‍🤝‍🧑🏽"] = "people_holding_hands_tone3", + ["🧑🏽‍🤝‍🧑🏾"] = "people_holding_hands_tone3_tone4", + ["🧑🏽‍🤝‍🧑🏿"] = "people_holding_hands_tone3_tone5", + ["🧑🏾‍🤝‍🧑🏻"] = "people_holding_hands_tone4_tone1", + ["🧑🏾‍🤝‍🧑🏼"] = "people_holding_hands_tone4_tone2", + ["🧑🏾‍🤝‍🧑🏽"] = "people_holding_hands_tone4_tone3", + ["🧑🏾‍🤝‍🧑🏾"] = "people_holding_hands_tone4", + ["🧑🏾‍🤝‍🧑🏿"] = "people_holding_hands_tone4_tone5", + ["🧑🏿‍🤝‍🧑🏻"] = "people_holding_hands_tone5_tone1", + ["🧑🏿‍🤝‍🧑🏼"] = "people_holding_hands_tone5_tone2", + ["🧑🏿‍🤝‍🧑🏽"] = "people_holding_hands_tone5_tone3", + ["🧑🏿‍🤝‍🧑🏾"] = "people_holding_hands_tone5_tone4", + ["🧑🏿‍🤝‍🧑🏿"] = "people_holding_hands_tone5", + ["👫"] = "couple", + ["👫🏻"] = "woman_and_man_holding_hands_tone1", + ["👩🏻‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone1_tone2", + ["👩🏻‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone1_tone3", + ["👩🏻‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone1_tone4", + ["👩🏻‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone1_tone5", + ["👩🏼‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone2_tone1", + ["👫🏼"] = "woman_and_man_holding_hands_tone2", + ["👩🏼‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone2_tone3", + ["👩🏼‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone2_tone4", + ["👩🏼‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone2_tone5", + ["👩🏽‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone3_tone1", + ["👩🏽‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone3_tone2", + ["👫🏽"] = "woman_and_man_holding_hands_tone3", + ["👩🏽‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone3_tone4", + ["👩🏽‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone3_tone5", + ["👩🏾‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone4_tone1", + ["👩🏾‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone4_tone2", + ["👩🏾‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone4_tone3", + ["👫🏾"] = "woman_and_man_holding_hands_tone4", + ["👩🏾‍🤝‍👨🏿"] = "woman_and_man_holding_hands_tone4_tone5", + ["👩🏿‍🤝‍👨🏻"] = "woman_and_man_holding_hands_tone5_tone1", + ["👩🏿‍🤝‍👨🏼"] = "woman_and_man_holding_hands_tone5_tone2", + ["👩🏿‍🤝‍👨🏽"] = "woman_and_man_holding_hands_tone5_tone3", + ["👩🏿‍🤝‍👨🏾"] = "woman_and_man_holding_hands_tone5_tone4", + ["👫🏿"] = "woman_and_man_holding_hands_tone5", + ["👭"] = "two_women_holding_hands", + ["👭🏻"] = "women_holding_hands_tone1", + ["👩🏻‍🤝‍👩🏼"] = "women_holding_hands_tone1_tone2", + ["👩🏻‍🤝‍👩🏽"] = "women_holding_hands_tone1_tone3", + ["👩🏻‍🤝‍👩🏾"] = "women_holding_hands_tone1_tone4", + ["👩🏻‍🤝‍👩🏿"] = "women_holding_hands_tone1_tone5", + ["👩🏼‍🤝‍👩🏻"] = "women_holding_hands_tone2_tone1", + ["👭🏼"] = "women_holding_hands_tone2", + ["👩🏼‍🤝‍👩🏽"] = "women_holding_hands_tone2_tone3", + ["👩🏼‍🤝‍👩🏾"] = "women_holding_hands_tone2_tone4", + ["👩🏼‍🤝‍👩🏿"] = "women_holding_hands_tone2_tone5", + ["👩🏽‍🤝‍👩🏻"] = "women_holding_hands_tone3_tone1", + ["👩🏽‍🤝‍👩🏼"] = "women_holding_hands_tone3_tone2", + ["👭🏽"] = "women_holding_hands_tone3", + ["👩🏽‍🤝‍👩🏾"] = "women_holding_hands_tone3_tone4", + ["👩🏽‍🤝‍👩🏿"] = "women_holding_hands_tone3_tone5", + ["👩🏾‍🤝‍👩🏻"] = "women_holding_hands_tone4_tone1", + ["👩🏾‍🤝‍👩🏼"] = "women_holding_hands_tone4_tone2", + ["👩🏾‍🤝‍👩🏽"] = "women_holding_hands_tone4_tone3", + ["👭🏾"] = "women_holding_hands_tone4", + ["👩🏾‍🤝‍👩🏿"] = "women_holding_hands_tone4_tone5", + ["👩🏿‍🤝‍👩🏻"] = "women_holding_hands_tone5_tone1", + ["👩🏿‍🤝‍👩🏼"] = "women_holding_hands_tone5_tone2", + ["👩🏿‍🤝‍👩🏽"] = "women_holding_hands_tone5_tone3", + ["👩🏿‍🤝‍👩🏾"] = "women_holding_hands_tone5_tone4", + ["👭🏿"] = "women_holding_hands_tone5", + ["👬"] = "two_men_holding_hands", + ["👬🏻"] = "men_holding_hands_tone1", + ["👨🏻‍🤝‍👨🏼"] = "men_holding_hands_tone1_tone2", + ["👨🏻‍🤝‍👨🏽"] = "men_holding_hands_tone1_tone3", + ["👨🏻‍🤝‍👨🏾"] = "men_holding_hands_tone1_tone4", + ["👨🏻‍🤝‍👨🏿"] = "men_holding_hands_tone1_tone5", + ["👨🏼‍🤝‍👨🏻"] = "men_holding_hands_tone2_tone1", + ["👬🏼"] = "men_holding_hands_tone2", + ["👨🏼‍🤝‍👨🏽"] = "men_holding_hands_tone2_tone3", + ["👨🏼‍🤝‍👨🏾"] = "men_holding_hands_tone2_tone4", + ["👨🏼‍🤝‍👨🏿"] = "men_holding_hands_tone2_tone5", + ["👨🏽‍🤝‍👨🏻"] = "men_holding_hands_tone3_tone1", + ["👨🏽‍🤝‍👨🏼"] = "men_holding_hands_tone3_tone2", + ["👬🏽"] = "men_holding_hands_tone3", + ["👨🏽‍🤝‍👨🏾"] = "men_holding_hands_tone3_tone4", + ["👨🏽‍🤝‍👨🏿"] = "men_holding_hands_tone3_tone5", + ["👨🏾‍🤝‍👨🏻"] = "men_holding_hands_tone4_tone1", + ["👨🏾‍🤝‍👨🏼"] = "men_holding_hands_tone4_tone2", + ["👨🏾‍🤝‍👨🏽"] = "men_holding_hands_tone4_tone3", + ["👬🏾"] = "men_holding_hands_tone4", + ["👨🏾‍🤝‍👨🏿"] = "men_holding_hands_tone4_tone5", + ["👨🏿‍🤝‍👨🏻"] = "men_holding_hands_tone5_tone1", + ["👨🏿‍🤝‍👨🏼"] = "men_holding_hands_tone5_tone2", + ["👨🏿‍🤝‍👨🏽"] = "men_holding_hands_tone5_tone3", + ["👨🏿‍🤝‍👨🏾"] = "men_holding_hands_tone5_tone4", + ["👬🏿"] = "men_holding_hands_tone5", + ["💑"] = "couple_with_heart", + ["💑🏻"] = "couple_with_heart_tone1", + ["🧑🏻‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone1_tone2", + ["🧑🏻‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone1_tone3", + ["🧑🏻‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone1_tone4", + ["🧑🏻‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone1_tone5", + ["🧑🏼‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone2_tone1", + ["💑🏼"] = "couple_with_heart_tone2", + ["🧑🏼‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone2_tone3", + ["🧑🏼‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone2_tone4", + ["🧑🏼‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone2_tone5", + ["🧑🏽‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone3_tone1", + ["🧑🏽‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone3_tone2", + ["💑🏽"] = "couple_with_heart_tone3", + ["🧑🏽‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone3_tone4", + ["🧑🏽‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone3_tone5", + ["🧑🏾‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone4_tone1", + ["🧑🏾‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone4_tone2", + ["🧑🏾‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone4_tone3", + ["💑🏾"] = "couple_with_heart_tone4", + ["🧑🏾‍❤️‍🧑🏿"] = "couple_with_heart_person_person_tone4_tone5", + ["🧑🏿‍❤️‍🧑🏻"] = "couple_with_heart_person_person_tone5_tone1", + ["🧑🏿‍❤️‍🧑🏼"] = "couple_with_heart_person_person_tone5_tone2", + ["🧑🏿‍❤️‍🧑🏽"] = "couple_with_heart_person_person_tone5_tone3", + ["🧑🏿‍❤️‍🧑🏾"] = "couple_with_heart_person_person_tone5_tone4", + ["💑🏿"] = "couple_with_heart_tone5", + ["👩‍❤️‍👨"] = "couple_with_heart_woman_man", + ["👩🏻‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone1", + ["👩🏻‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone1_tone2", + ["👩🏻‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone1_tone3", + ["👩🏻‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone1_tone4", + ["👩🏻‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone1_tone5", + ["👩🏼‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone2_tone1", + ["👩🏼‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone2", + ["👩🏼‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone2_tone3", + ["👩🏼‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone2_tone4", + ["👩🏼‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone2_tone5", + ["👩🏽‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone3_tone1", + ["👩🏽‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone3_tone2", + ["👩🏽‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone3", + ["👩🏽‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone3_tone4", + ["👩🏽‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone3_tone5", + ["👩🏾‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone4_tone1", + ["👩🏾‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone4_tone2", + ["👩🏾‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone4_tone3", + ["👩🏾‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone4", + ["👩🏾‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone4_tone5", + ["👩🏿‍❤️‍👨🏻"] = "couple_with_heart_woman_man_tone5_tone1", + ["👩🏿‍❤️‍👨🏼"] = "couple_with_heart_woman_man_tone5_tone2", + ["👩🏿‍❤️‍👨🏽"] = "couple_with_heart_woman_man_tone5_tone3", + ["👩🏿‍❤️‍👨🏾"] = "couple_with_heart_woman_man_tone5_tone4", + ["👩🏿‍❤️‍👨🏿"] = "couple_with_heart_woman_man_tone5", + ["👩‍❤️‍👩"] = "couple_ww", + ["👩🏻‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone1", + ["👩🏻‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone1_tone2", + ["👩🏻‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone1_tone3", + ["👩🏻‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone1_tone4", + ["👩🏻‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone1_tone5", + ["👩🏼‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone2_tone1", + ["👩🏼‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone2", + ["👩🏼‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone2_tone3", + ["👩🏼‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone2_tone4", + ["👩🏼‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone2_tone5", + ["👩🏽‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone3_tone1", + ["👩🏽‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone3_tone2", + ["👩🏽‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone3", + ["👩🏽‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone3_tone4", + ["👩🏽‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone3_tone5", + ["👩🏾‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone4_tone1", + ["👩🏾‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone4_tone2", + ["👩🏾‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone4_tone3", + ["👩🏾‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone4", + ["👩🏾‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone4_tone5", + ["👩🏿‍❤️‍👩🏻"] = "couple_with_heart_woman_woman_tone5_tone1", + ["👩🏿‍❤️‍👩🏼"] = "couple_with_heart_woman_woman_tone5_tone2", + ["👩🏿‍❤️‍👩🏽"] = "couple_with_heart_woman_woman_tone5_tone3", + ["👩🏿‍❤️‍👩🏾"] = "couple_with_heart_woman_woman_tone5_tone4", + ["👩🏿‍❤️‍👩🏿"] = "couple_with_heart_woman_woman_tone5", + ["👨‍❤️‍👨"] = "couple_mm", + ["👨🏻‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone1", + ["👨🏻‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone1_tone2", + ["👨🏻‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone1_tone3", + ["👨🏻‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone1_tone4", + ["👨🏻‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone1_tone5", + ["👨🏼‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone2_tone1", + ["👨🏼‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone2", + ["👨🏼‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone2_tone3", + ["👨🏼‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone2_tone4", + ["👨🏼‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone2_tone5", + ["👨🏽‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone3_tone1", + ["👨🏽‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone3_tone2", + ["👨🏽‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone3", + ["👨🏽‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone3_tone4", + ["👨🏽‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone3_tone5", + ["👨🏾‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone4_tone1", + ["👨🏾‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone4_tone2", + ["👨🏾‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone4_tone3", + ["👨🏾‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone4", + ["👨🏾‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone4_tone5", + ["👨🏿‍❤️‍👨🏻"] = "couple_with_heart_man_man_tone5_tone1", + ["👨🏿‍❤️‍👨🏼"] = "couple_with_heart_man_man_tone5_tone2", + ["👨🏿‍❤️‍👨🏽"] = "couple_with_heart_man_man_tone5_tone3", + ["👨🏿‍❤️‍👨🏾"] = "couple_with_heart_man_man_tone5_tone4", + ["👨🏿‍❤️‍👨🏿"] = "couple_with_heart_man_man_tone5", + ["💏"] = "couplekiss", + ["🧑🏿‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone5_tone4", + ["💏🏻"] = "kiss_tone1", + ["🧑🏻‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone1_tone2", + ["🧑🏻‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone1_tone3", + ["🧑🏻‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone1_tone4", + ["🧑🏻‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone1_tone5", + ["🧑🏼‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone2_tone1", + ["💏🏼"] = "kiss_tone2", + ["🧑🏼‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone2_tone3", + ["🧑🏼‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone2_tone4", + ["🧑🏼‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone2_tone5", + ["🧑🏽‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone3_tone1", + ["🧑🏽‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone3_tone2", + ["💏🏽"] = "kiss_tone3", + ["🧑🏽‍❤️‍💋‍🧑🏾"] = "kiss_person_person_tone3_tone4", + ["🧑🏽‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone3_tone5", + ["🧑🏾‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone4_tone1", + ["🧑🏾‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone4_tone2", + ["🧑🏾‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone4_tone3", + ["💏🏾"] = "kiss_tone4", + ["🧑🏾‍❤️‍💋‍🧑🏿"] = "kiss_person_person_tone4_tone5", + ["🧑🏿‍❤️‍💋‍🧑🏻"] = "kiss_person_person_tone5_tone1", + ["🧑🏿‍❤️‍💋‍🧑🏼"] = "kiss_person_person_tone5_tone2", + ["🧑🏿‍❤️‍💋‍🧑🏽"] = "kiss_person_person_tone5_tone3", + ["💏🏿"] = "kiss_tone5", + ["👩‍❤️‍💋‍👨"] = "kiss_woman_man", + ["👩🏻‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone1", + ["👩🏻‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone1_tone2", + ["👩🏻‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone1_tone3", + ["👩🏻‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone1_tone4", + ["👩🏻‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone1_tone5", + ["👩🏼‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone2_tone1", + ["👩🏼‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone2", + ["👩🏼‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone2_tone3", + ["👩🏼‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone2_tone4", + ["👩🏼‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone2_tone5", + ["👩🏽‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone3_tone1", + ["👩🏽‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone3_tone2", + ["👩🏽‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone3", + ["👩🏽‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone3_tone4", + ["👩🏽‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone3_tone5", + ["👩🏾‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone4_tone1", + ["👩🏾‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone4_tone2", + ["👩🏾‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone4_tone3", + ["👩🏾‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone4", + ["👩🏾‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone4_tone5", + ["👩🏿‍❤️‍💋‍👨🏻"] = "kiss_woman_man_tone5_tone1", + ["👩🏿‍❤️‍💋‍👨🏼"] = "kiss_woman_man_tone5_tone2", + ["👩🏿‍❤️‍💋‍👨🏽"] = "kiss_woman_man_tone5_tone3", + ["👩🏿‍❤️‍💋‍👨🏾"] = "kiss_woman_man_tone5_tone4", + ["👩🏿‍❤️‍💋‍👨🏿"] = "kiss_woman_man_tone5", + ["👩‍❤️‍💋‍👩"] = "kiss_ww", + ["👩🏻‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone1", + ["👩🏻‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone1_tone2", + ["👩🏻‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone1_tone3", + ["👩🏻‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone1_tone4", + ["👩🏻‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone1_tone5", + ["👩🏼‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone2_tone1", + ["👩🏼‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone2", + ["👩🏼‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone2_tone3", + ["👩🏼‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone2_tone4", + ["👩🏼‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone2_tone5", + ["👩🏽‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone3_tone1", + ["👩🏽‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone3_tone2", + ["👩🏽‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone3", + ["👩🏽‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone3_tone4", + ["👩🏽‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone3_tone5", + ["👩🏾‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone4_tone1", + ["👩🏾‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone4_tone2", + ["👩🏾‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone4_tone3", + ["👩🏾‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone4", + ["👩🏾‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone4_tone5", + ["👩🏿‍❤️‍💋‍👩🏻"] = "kiss_woman_woman_tone5_tone1", + ["👩🏿‍❤️‍💋‍👩🏼"] = "kiss_woman_woman_tone5_tone2", + ["👩🏿‍❤️‍💋‍👩🏽"] = "kiss_woman_woman_tone5_tone3", + ["👩🏿‍❤️‍💋‍👩🏾"] = "kiss_woman_woman_tone5_tone4", + ["👩🏿‍❤️‍💋‍👩🏿"] = "kiss_woman_woman_tone5", + ["👨‍❤️‍💋‍👨"] = "kiss_mm", + ["👨🏻‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone1", + ["👨🏻‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone1_tone2", + ["👨🏻‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone1_tone3", + ["👨🏻‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone1_tone4", + ["👨🏻‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone1_tone5", + ["👨🏼‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone2_tone1", + ["👨🏼‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone2", + ["👨🏼‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone2_tone3", + ["👨🏼‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone2_tone4", + ["👨🏼‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone2_tone5", + ["👨🏽‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone3_tone1", + ["👨🏽‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone3_tone2", + ["👨🏽‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone3", + ["👨🏽‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone3_tone4", + ["👨🏽‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone3_tone5", + ["👨🏾‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone4_tone1", + ["👨🏾‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone4_tone2", + ["👨🏾‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone4_tone3", + ["👨🏾‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone4", + ["👨🏾‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone4_tone5", + ["👨🏿‍❤️‍💋‍👨🏻"] = "kiss_man_man_tone5_tone1", + ["👨🏿‍❤️‍💋‍👨🏼"] = "kiss_man_man_tone5_tone2", + ["👨🏿‍❤️‍💋‍👨🏽"] = "kiss_man_man_tone5_tone3", + ["👨🏿‍❤️‍💋‍👨🏾"] = "kiss_man_man_tone5_tone4", + ["👨🏿‍❤️‍💋‍👨🏿"] = "kiss_man_man_tone5", + ["👪"] = "family", + ["👨‍👩‍👦"] = "family_man_woman_boy", + ["👨‍👩‍👧"] = "family_mwg", + ["👨‍👩‍👧‍👦"] = "family_mwgb", + ["👨‍👩‍👦‍👦"] = "family_mwbb", + ["👨‍👩‍👧‍👧"] = "family_mwgg", + ["👩‍👩‍👦"] = "family_wwb", + ["👩‍👩‍👧"] = "family_wwg", + ["👩‍👩‍👧‍👦"] = "family_wwgb", + ["👩‍👩‍👦‍👦"] = "family_wwbb", + ["👩‍👩‍👧‍👧"] = "family_wwgg", + ["👨‍👨‍👦"] = "family_mmb", + ["👨‍👨‍👧"] = "family_mmg", + ["👨‍👨‍👧‍👦"] = "family_mmgb", + ["👨‍👨‍👦‍👦"] = "family_mmbb", + ["👨‍👨‍👧‍👧"] = "family_mmgg", + ["👩‍👦"] = "family_woman_boy", + ["👩‍👧"] = "family_woman_girl", + ["👩‍👧‍👦"] = "family_woman_girl_boy", + ["👩‍👦‍👦"] = "family_woman_boy_boy", + ["👩‍👧‍👧"] = "family_woman_girl_girl", + ["👨‍👦"] = "family_man_boy", + ["👨‍👧"] = "family_man_girl", + ["👨‍👧‍👦"] = "family_man_girl_boy", + ["👨‍👦‍👦"] = "family_man_boy_boy", + ["👨‍👧‍👧"] = "family_man_girl_girl", + ["🧶"] = "yarn", + ["🧵"] = "thread", + ["🧥"] = "coat", + ["🥼"] = "lab_coat", + ["🦺"] = "safety_vest", + ["👚"] = "womans_clothes", + ["👕"] = "shirt", + ["👖"] = "jeans", + ["🩲"] = "briefs", + ["🩳"] = "shorts", + ["👔"] = "necktie", + ["👗"] = "dress", + ["👙"] = "bikini", + ["🩱"] = "one_piece_swimsuit", + ["👘"] = "kimono", + ["🥻"] = "sari", + ["🥿"] = "womans_flat_shoe", + ["👠"] = "high_heel", + ["👡"] = "sandal", + ["👢"] = "boot", + ["👞"] = "mans_shoe", + ["👟"] = "athletic_shoe", + ["🥾"] = "hiking_boot", + ["🩴"] = "thong_sandal", + ["🧦"] = "socks", + ["🧤"] = "gloves", + ["🧣"] = "scarf", + ["🎩"] = "tophat", + ["🧢"] = "billed_cap", + ["👒"] = "womans_hat", + ["🎓"] = "mortar_board", + ["⛑️"] = "helmet_with_cross", + ["🪖"] = "military_helmet", + ["👑"] = "crown", + ["💍"] = "ring", + ["👝"] = "pouch", + ["👛"] = "purse", + ["👜"] = "handbag", + ["💼"] = "briefcase", + ["🎒"] = "school_satchel", + ["🧳"] = "luggage", + ["👓"] = "eyeglasses", + ["🕶️"] = "dark_sunglasses", + ["🥽"] = "goggles", + ["🌂"] = "closed_umbrella", + ["🐶"] = "dog", + ["🐱"] = "cat", + ["🐭"] = "mouse", + ["🐹"] = "hamster", + ["🐰"] = "rabbit", + ["🦊"] = "fox", + ["🐻"] = "bear", + ["🐼"] = "panda_face", + ["🐻‍❄️"] = "polar_bear", + ["🐨"] = "koala", + ["🐯"] = "tiger", + ["🦁"] = "lion_face", + ["🐮"] = "cow", + ["🐷"] = "pig", + ["🐽"] = "pig_nose", + ["🐸"] = "frog", + ["🐵"] = "monkey_face", + ["🙈"] = "see_no_evil", + ["🙉"] = "hear_no_evil", + ["🙊"] = "speak_no_evil", + ["🐒"] = "monkey", + ["🐔"] = "chicken", + ["🐧"] = "penguin", + ["🐦"] = "bird", + ["🐤"] = "baby_chick", + ["🐣"] = "hatching_chick", + ["🐥"] = "hatched_chick", + ["🦆"] = "duck", + ["🦤"] = "dodo", + ["🦅"] = "eagle", + ["🦉"] = "owl", + ["🦇"] = "bat", + ["🐺"] = "wolf", + ["🐗"] = "boar", + ["🐴"] = "horse", + ["🦄"] = "unicorn", + ["🐝"] = "bee", + ["🐛"] = "bug", + ["🦋"] = "butterfly", + ["🐌"] = "snail", + ["🪱"] = "worm", + ["🐞"] = "lady_beetle", + ["🐜"] = "ant", + ["🪰"] = "fly", + ["🦟"] = "mosquito", + ["🪳"] = "cockroach", + ["🪲"] = "beetle", + ["🦗"] = "cricket", + ["🕷️"] = "spider", + ["🕸️"] = "spider_web", + ["🦂"] = "scorpion", + ["🐢"] = "turtle", + ["🐍"] = "snake", + ["🦎"] = "lizard", + ["🦖"] = "t_rex", + ["🦕"] = "sauropod", + ["🐙"] = "octopus", + ["🦑"] = "squid", + ["🦐"] = "shrimp", + ["🦞"] = "lobster", + ["🦀"] = "crab", + ["🐡"] = "blowfish", + ["🐠"] = "tropical_fish", + ["🐟"] = "fish", + ["🦭"] = "seal", + ["🐬"] = "dolphin", + ["🐳"] = "whale", + ["🐋"] = "whale2", + ["🦈"] = "shark", + ["🐊"] = "crocodile", + ["🐅"] = "tiger2", + ["🐆"] = "leopard", + ["🦓"] = "zebra", + ["🦍"] = "gorilla", + ["🦧"] = "orangutan", + ["🐘"] = "elephant", + ["🦣"] = "mammoth", + ["🦬"] = "bison", + ["🦛"] = "hippopotamus", + ["🦏"] = "rhino", + ["🐪"] = "dromedary_camel", + ["🐫"] = "camel", + ["🦒"] = "giraffe", + ["🦘"] = "kangaroo", + ["🐃"] = "water_buffalo", + ["🐂"] = "ox", + ["🐄"] = "cow2", + ["🐎"] = "racehorse", + ["🐖"] = "pig2", + ["🐏"] = "ram", + ["🐑"] = "sheep", + ["🦙"] = "llama", + ["🐐"] = "goat", + ["🦌"] = "deer", + ["🐕"] = "dog2", + ["🐩"] = "poodle", + ["🦮"] = "guide_dog", + ["🐕‍🦺"] = "service_dog", + ["🐈"] = "cat2", + ["🐈‍⬛"] = "black_cat", + ["🐓"] = "rooster", + ["🦃"] = "turkey", + ["🦚"] = "peacock", + ["🦜"] = "parrot", + ["🦢"] = "swan", + ["🦩"] = "flamingo", + ["🕊️"] = "dove", + ["🐇"] = "rabbit2", + ["🦝"] = "raccoon", + ["🦨"] = "skunk", + ["🦡"] = "badger", + ["🦫"] = "beaver", + ["🦦"] = "otter", + ["🦥"] = "sloth", + ["🐁"] = "mouse2", + ["🐀"] = "rat", + ["🐿️"] = "chipmunk", + ["🦔"] = "hedgehog", + ["🐾"] = "feet", + ["🐉"] = "dragon", + ["🐲"] = "dragon_face", + ["🌵"] = "cactus", + ["🎄"] = "christmas_tree", + ["🌲"] = "evergreen_tree", + ["🌳"] = "deciduous_tree", + ["🌴"] = "palm_tree", + ["🌱"] = "seedling", + ["🌿"] = "herb", + ["☘️"] = "shamrock", + ["🍀"] = "four_leaf_clover", + ["🎍"] = "bamboo", + ["🎋"] = "tanabata_tree", + ["🍃"] = "leaves", + ["🍂"] = "fallen_leaf", + ["🍁"] = "maple_leaf", + ["🪶"] = "feather", + ["🍄"] = "mushroom", + ["🐚"] = "shell", + ["🪨"] = "rock", + ["🪵"] = "wood", + ["🌾"] = "ear_of_rice", + ["🪴"] = "potted_plant", + ["💐"] = "bouquet", + ["🌷"] = "tulip", + ["🌹"] = "rose", + ["🥀"] = "wilted_rose", + ["🌺"] = "hibiscus", + ["🌸"] = "cherry_blossom", + ["🌼"] = "blossom", + ["🌻"] = "sunflower", + ["🌞"] = "sun_with_face", + ["🌝"] = "full_moon_with_face", + ["🌛"] = "first_quarter_moon_with_face", + ["🌜"] = "last_quarter_moon_with_face", + ["🌚"] = "new_moon_with_face", + ["🌕"] = "full_moon", + ["🌖"] = "waning_gibbous_moon", + ["🌗"] = "last_quarter_moon", + ["🌘"] = "waning_crescent_moon", + ["🌑"] = "new_moon", + ["🌒"] = "waxing_crescent_moon", + ["🌓"] = "first_quarter_moon", + ["🌔"] = "waxing_gibbous_moon", + ["🌙"] = "crescent_moon", + ["🌎"] = "earth_americas", + ["🌍"] = "earth_africa", + ["🌏"] = "earth_asia", + ["🪐"] = "ringed_planet", + ["💫"] = "dizzy", + ["⭐"] = "star", + ["🌟"] = "star2", + ["✨"] = "sparkles", + ["⚡"] = "zap", + ["☄️"] = "comet", + ["💥"] = "boom", + ["🔥"] = "fire", + ["🌪️"] = "cloud_tornado", + ["🌈"] = "rainbow", + ["☀️"] = "sunny", + ["🌤️"] = "white_sun_small_cloud", + ["⛅"] = "partly_sunny", + ["🌥️"] = "white_sun_cloud", + ["☁️"] = "cloud", + ["🌦️"] = "white_sun_rain_cloud", + ["🌧️"] = "cloud_rain", + ["⛈️"] = "thunder_cloud_rain", + ["🌩️"] = "cloud_lightning", + ["🌨️"] = "cloud_snow", + ["❄️"] = "snowflake", + ["☃️"] = "snowman2", + ["⛄"] = "snowman", + ["🌬️"] = "wind_blowing_face", + ["💨"] = "dash", + ["💧"] = "droplet", + ["💦"] = "sweat_drops", + ["☔"] = "umbrella", + ["☂️"] = "umbrella2", + ["🌊"] = "ocean", + ["🌫️"] = "fog", + ["🍏"] = "green_apple", + ["🍎"] = "apple", + ["🍐"] = "pear", + ["🍊"] = "tangerine", + ["🍋"] = "lemon", + ["🍌"] = "banana", + ["🍉"] = "watermelon", + ["🍇"] = "grapes", + ["🫐"] = "blueberries", + ["🍓"] = "strawberry", + ["🍈"] = "melon", + ["🍒"] = "cherries", + ["🍑"] = "peach", + ["🥭"] = "mango", + ["🍍"] = "pineapple", + ["🥥"] = "coconut", + ["🥝"] = "kiwi", + ["🍅"] = "tomato", + ["🍆"] = "eggplant", + ["🥑"] = "avocado", + ["🫒"] = "olive", + ["🥦"] = "broccoli", + ["🥬"] = "leafy_green", + ["🫑"] = "bell_pepper", + ["🥒"] = "cucumber", + ["🌶️"] = "hot_pepper", + ["🌽"] = "corn", + ["🥕"] = "carrot", + ["🧄"] = "garlic", + ["🧅"] = "onion", + ["🥔"] = "potato", + ["🍠"] = "sweet_potato", + ["🥐"] = "croissant", + ["🥯"] = "bagel", + ["🍞"] = "bread", + ["🥖"] = "french_bread", + ["🫓"] = "flatbread", + ["🥨"] = "pretzel", + ["🧀"] = "cheese", + ["🥚"] = "egg", + ["🍳"] = "cooking", + ["🧈"] = "butter", + ["🥞"] = "pancakes", + ["🧇"] = "waffle", + ["🥓"] = "bacon", + ["🥩"] = "cut_of_meat", + ["🍗"] = "poultry_leg", + ["🍖"] = "meat_on_bone", + ["🌭"] = "hotdog", + ["🍔"] = "hamburger", + ["🍟"] = "fries", + ["🍕"] = "pizza", + ["🥪"] = "sandwich", + ["🥙"] = "stuffed_flatbread", + ["🧆"] = "falafel", + ["🌮"] = "taco", + ["🌯"] = "burrito", + ["🫔"] = "tamale", + ["🥗"] = "salad", + ["🥘"] = "shallow_pan_of_food", + ["🫕"] = "fondue", + ["🥫"] = "canned_food", + ["🍝"] = "spaghetti", + ["🍜"] = "ramen", + ["🍲"] = "stew", + ["🍛"] = "curry", + ["🍣"] = "sushi", + ["🍱"] = "bento", + ["🥟"] = "dumpling", + ["🦪"] = "oyster", + ["🍤"] = "fried_shrimp", + ["🍙"] = "rice_ball", + ["🍚"] = "rice", + ["🍘"] = "rice_cracker", + ["🍥"] = "fish_cake", + ["🥠"] = "fortune_cookie", + ["🥮"] = "moon_cake", + ["🍢"] = "oden", + ["🍡"] = "dango", + ["🍧"] = "shaved_ice", + ["🍨"] = "ice_cream", + ["🍦"] = "icecream", + ["🥧"] = "pie", + ["🧁"] = "cupcake", + ["🍰"] = "cake", + ["🎂"] = "birthday", + ["🍮"] = "custard", + ["🍭"] = "lollipop", + ["🍬"] = "candy", + ["🍫"] = "chocolate_bar", + ["🍿"] = "popcorn", + ["🍩"] = "doughnut", + ["🍪"] = "cookie", + ["🌰"] = "chestnut", + ["🥜"] = "peanuts", + ["🍯"] = "honey_pot", + ["🥛"] = "milk", + ["🍼"] = "baby_bottle", + ["☕"] = "coffee", + ["🍵"] = "tea", + ["🫖"] = "teapot", + ["🧉"] = "mate", + ["🧋"] = "bubble_tea", + ["🧃"] = "beverage_box", + ["🥤"] = "cup_with_straw", + ["🍶"] = "sake", + ["🍺"] = "beer", + ["🍻"] = "beers", + ["🥂"] = "champagne_glass", + ["🍷"] = "wine_glass", + ["🥃"] = "tumbler_glass", + ["🍸"] = "cocktail", + ["🍹"] = "tropical_drink", + ["🍾"] = "champagne", + ["🧊"] = "ice_cube", + ["🥄"] = "spoon", + ["🍴"] = "fork_and_knife", + ["🍽️"] = "fork_knife_plate", + ["🥣"] = "bowl_with_spoon", + ["🥡"] = "takeout_box", + ["🥢"] = "chopsticks", + ["🧂"] = "salt", + ["⚽"] = "soccer", + ["🏀"] = "basketball", + ["🏈"] = "football", + ["⚾"] = "baseball", + ["🥎"] = "softball", + ["🎾"] = "tennis", + ["🏐"] = "volleyball", + ["🏉"] = "rugby_football", + ["🥏"] = "flying_disc", + ["🪃"] = "boomerang", + ["🎱"] = "8ball", + ["🪀"] = "yo_yo", + ["🏓"] = "ping_pong", + ["🏸"] = "badminton", + ["🏒"] = "hockey", + ["🏑"] = "field_hockey", + ["🥍"] = "lacrosse", + ["🏏"] = "cricket_game", + ["🥅"] = "goal", + ["⛳"] = "golf", + ["🪁"] = "kite", + ["🏹"] = "bow_and_arrow", + ["🎣"] = "fishing_pole_and_fish", + ["🤿"] = "diving_mask", + ["🥊"] = "boxing_glove", + ["🥋"] = "martial_arts_uniform", + ["🎽"] = "running_shirt_with_sash", + ["🛹"] = "skateboard", + ["🛼"] = "roller_skate", + ["🛷"] = "sled", + ["⛸️"] = "ice_skate", + ["🥌"] = "curling_stone", + ["🎿"] = "ski", + ["⛷️"] = "skier", + ["🏂"] = "snowboarder", + ["🏂🏻"] = "snowboarder_tone1", + ["🏂🏼"] = "snowboarder_tone2", + ["🏂🏽"] = "snowboarder_tone3", + ["🏂🏾"] = "snowboarder_tone4", + ["🏂🏿"] = "snowboarder_tone5", + ["🪂"] = "parachute", + ["🏋️"] = "person_lifting_weights", + ["🏋🏻"] = "person_lifting_weights_tone1", + ["🏋🏼"] = "person_lifting_weights_tone2", + ["🏋🏽"] = "person_lifting_weights_tone3", + ["🏋🏾"] = "person_lifting_weights_tone4", + ["🏋🏿"] = "person_lifting_weights_tone5", + ["🏋️‍♀️"] = "woman_lifting_weights", + ["🏋🏻‍♀️"] = "woman_lifting_weights_tone1", + ["🏋🏼‍♀️"] = "woman_lifting_weights_tone2", + ["🏋🏽‍♀️"] = "woman_lifting_weights_tone3", + ["🏋🏾‍♀️"] = "woman_lifting_weights_tone4", + ["🏋🏿‍♀️"] = "woman_lifting_weights_tone5", + ["🏋️‍♂️"] = "man_lifting_weights", + ["🏋🏻‍♂️"] = "man_lifting_weights_tone1", + ["🏋🏼‍♂️"] = "man_lifting_weights_tone2", + ["🏋🏽‍♂️"] = "man_lifting_weights_tone3", + ["🏋🏾‍♂️"] = "man_lifting_weights_tone4", + ["🏋🏿‍♂️"] = "man_lifting_weights_tone5", + ["🤼"] = "people_wrestling", + ["🤼‍♀️"] = "women_wrestling", + ["🤼‍♂️"] = "men_wrestling", + ["🤸"] = "person_doing_cartwheel", + ["🤸🏻"] = "person_doing_cartwheel_tone1", + ["🤸🏼"] = "person_doing_cartwheel_tone2", + ["🤸🏽"] = "person_doing_cartwheel_tone3", + ["🤸🏾"] = "person_doing_cartwheel_tone4", + ["🤸🏿"] = "person_doing_cartwheel_tone5", + ["🤸‍♀️"] = "woman_cartwheeling", + ["🤸🏻‍♀️"] = "woman_cartwheeling_tone1", + ["🤸🏼‍♀️"] = "woman_cartwheeling_tone2", + ["🤸🏽‍♀️"] = "woman_cartwheeling_tone3", + ["🤸🏾‍♀️"] = "woman_cartwheeling_tone4", + ["🤸🏿‍♀️"] = "woman_cartwheeling_tone5", + ["🤸‍♂️"] = "man_cartwheeling", + ["🤸🏻‍♂️"] = "man_cartwheeling_tone1", + ["🤸🏼‍♂️"] = "man_cartwheeling_tone2", + ["🤸🏽‍♂️"] = "man_cartwheeling_tone3", + ["🤸🏾‍♂️"] = "man_cartwheeling_tone4", + ["🤸🏿‍♂️"] = "man_cartwheeling_tone5", + ["⛹️"] = "person_bouncing_ball", + ["⛹🏻"] = "person_bouncing_ball_tone1", + ["⛹🏼"] = "person_bouncing_ball_tone2", + ["⛹🏽"] = "person_bouncing_ball_tone3", + ["⛹🏾"] = "person_bouncing_ball_tone4", + ["⛹🏿"] = "person_bouncing_ball_tone5", + ["⛹️‍♀️"] = "woman_bouncing_ball", + ["⛹🏻‍♀️"] = "woman_bouncing_ball_tone1", + ["⛹🏼‍♀️"] = "woman_bouncing_ball_tone2", + ["⛹🏽‍♀️"] = "woman_bouncing_ball_tone3", + ["⛹🏾‍♀️"] = "woman_bouncing_ball_tone4", + ["⛹🏿‍♀️"] = "woman_bouncing_ball_tone5", + ["⛹️‍♂️"] = "man_bouncing_ball", + ["⛹🏻‍♂️"] = "man_bouncing_ball_tone1", + ["⛹🏼‍♂️"] = "man_bouncing_ball_tone2", + ["⛹🏽‍♂️"] = "man_bouncing_ball_tone3", + ["⛹🏾‍♂️"] = "man_bouncing_ball_tone4", + ["⛹🏿‍♂️"] = "man_bouncing_ball_tone5", + ["🤺"] = "person_fencing", + ["🤾"] = "person_playing_handball", + ["🤾🏻"] = "person_playing_handball_tone1", + ["🤾🏼"] = "person_playing_handball_tone2", + ["🤾🏽"] = "person_playing_handball_tone3", + ["🤾🏾"] = "person_playing_handball_tone4", + ["🤾🏿"] = "person_playing_handball_tone5", + ["🤾‍♀️"] = "woman_playing_handball", + ["🤾🏻‍♀️"] = "woman_playing_handball_tone1", + ["🤾🏼‍♀️"] = "woman_playing_handball_tone2", + ["🤾🏽‍♀️"] = "woman_playing_handball_tone3", + ["🤾🏾‍♀️"] = "woman_playing_handball_tone4", + ["🤾🏿‍♀️"] = "woman_playing_handball_tone5", + ["🤾‍♂️"] = "man_playing_handball", + ["🤾🏻‍♂️"] = "man_playing_handball_tone1", + ["🤾🏼‍♂️"] = "man_playing_handball_tone2", + ["🤾🏽‍♂️"] = "man_playing_handball_tone3", + ["🤾🏾‍♂️"] = "man_playing_handball_tone4", + ["🤾🏿‍♂️"] = "man_playing_handball_tone5", + ["🏌️"] = "person_golfing", + ["🏌🏻"] = "person_golfing_tone1", + ["🏌🏼"] = "person_golfing_tone2", + ["🏌🏽"] = "person_golfing_tone3", + ["🏌🏾"] = "person_golfing_tone4", + ["🏌🏿"] = "person_golfing_tone5", + ["🏌️‍♀️"] = "woman_golfing", + ["🏌🏻‍♀️"] = "woman_golfing_tone1", + ["🏌🏼‍♀️"] = "woman_golfing_tone2", + ["🏌🏽‍♀️"] = "woman_golfing_tone3", + ["🏌🏾‍♀️"] = "woman_golfing_tone4", + ["🏌🏿‍♀️"] = "woman_golfing_tone5", + ["🏌️‍♂️"] = "man_golfing", + ["🏌🏻‍♂️"] = "man_golfing_tone1", + ["🏌🏼‍♂️"] = "man_golfing_tone2", + ["🏌🏽‍♂️"] = "man_golfing_tone3", + ["🏌🏾‍♂️"] = "man_golfing_tone4", + ["🏌🏿‍♂️"] = "man_golfing_tone5", + ["🏇"] = "horse_racing", + ["🏇🏻"] = "horse_racing_tone1", + ["🏇🏼"] = "horse_racing_tone2", + ["🏇🏽"] = "horse_racing_tone3", + ["🏇🏾"] = "horse_racing_tone4", + ["🏇🏿"] = "horse_racing_tone5", + ["🧘"] = "person_in_lotus_position", + ["🧘🏻"] = "person_in_lotus_position_tone1", + ["🧘🏼"] = "person_in_lotus_position_tone2", + ["🧘🏽"] = "person_in_lotus_position_tone3", + ["🧘🏾"] = "person_in_lotus_position_tone4", + ["🧘🏿"] = "person_in_lotus_position_tone5", + ["🧘‍♀️"] = "woman_in_lotus_position", + ["🧘🏻‍♀️"] = "woman_in_lotus_position_tone1", + ["🧘🏼‍♀️"] = "woman_in_lotus_position_tone2", + ["🧘🏽‍♀️"] = "woman_in_lotus_position_tone3", + ["🧘🏾‍♀️"] = "woman_in_lotus_position_tone4", + ["🧘🏿‍♀️"] = "woman_in_lotus_position_tone5", + ["🧘‍♂️"] = "man_in_lotus_position", + ["🧘🏻‍♂️"] = "man_in_lotus_position_tone1", + ["🧘🏼‍♂️"] = "man_in_lotus_position_tone2", + ["🧘🏽‍♂️"] = "man_in_lotus_position_tone3", + ["🧘🏾‍♂️"] = "man_in_lotus_position_tone4", + ["🧘🏿‍♂️"] = "man_in_lotus_position_tone5", + ["🏄"] = "person_surfing", + ["🏄🏻"] = "person_surfing_tone1", + ["🏄🏼"] = "person_surfing_tone2", + ["🏄🏽"] = "person_surfing_tone3", + ["🏄🏾"] = "person_surfing_tone4", + ["🏄🏿"] = "person_surfing_tone5", + ["🏄‍♀️"] = "woman_surfing", + ["🏄🏻‍♀️"] = "woman_surfing_tone1", + ["🏄🏼‍♀️"] = "woman_surfing_tone2", + ["🏄🏽‍♀️"] = "woman_surfing_tone3", + ["🏄🏾‍♀️"] = "woman_surfing_tone4", + ["🏄🏿‍♀️"] = "woman_surfing_tone5", + ["🏄‍♂️"] = "man_surfing", + ["🏄🏻‍♂️"] = "man_surfing_tone1", + ["🏄🏼‍♂️"] = "man_surfing_tone2", + ["🏄🏽‍♂️"] = "man_surfing_tone3", + ["🏄🏾‍♂️"] = "man_surfing_tone4", + ["🏄🏿‍♂️"] = "man_surfing_tone5", + ["🏊"] = "person_swimming", + ["🏊🏻"] = "person_swimming_tone1", + ["🏊🏼"] = "person_swimming_tone2", + ["🏊🏽"] = "person_swimming_tone3", + ["🏊🏾"] = "person_swimming_tone4", + ["🏊🏿"] = "person_swimming_tone5", + ["🏊‍♀️"] = "woman_swimming", + ["🏊🏻‍♀️"] = "woman_swimming_tone1", + ["🏊🏼‍♀️"] = "woman_swimming_tone2", + ["🏊🏽‍♀️"] = "woman_swimming_tone3", + ["🏊🏾‍♀️"] = "woman_swimming_tone4", + ["🏊🏿‍♀️"] = "woman_swimming_tone5", + ["🏊‍♂️"] = "man_swimming", + ["🏊🏻‍♂️"] = "man_swimming_tone1", + ["🏊🏼‍♂️"] = "man_swimming_tone2", + ["🏊🏽‍♂️"] = "man_swimming_tone3", + ["🏊🏾‍♂️"] = "man_swimming_tone4", + ["🏊🏿‍♂️"] = "man_swimming_tone5", + ["🤽"] = "person_playing_water_polo", + ["🤽🏻"] = "person_playing_water_polo_tone1", + ["🤽🏼"] = "person_playing_water_polo_tone2", + ["🤽🏽"] = "person_playing_water_polo_tone3", + ["🤽🏾"] = "person_playing_water_polo_tone4", + ["🤽🏿"] = "person_playing_water_polo_tone5", + ["🤽‍♀️"] = "woman_playing_water_polo", + ["🤽🏻‍♀️"] = "woman_playing_water_polo_tone1", + ["🤽🏼‍♀️"] = "woman_playing_water_polo_tone2", + ["🤽🏽‍♀️"] = "woman_playing_water_polo_tone3", + ["🤽🏾‍♀️"] = "woman_playing_water_polo_tone4", + ["🤽🏿‍♀️"] = "woman_playing_water_polo_tone5", + ["🤽‍♂️"] = "man_playing_water_polo", + ["🤽🏻‍♂️"] = "man_playing_water_polo_tone1", + ["🤽🏼‍♂️"] = "man_playing_water_polo_tone2", + ["🤽🏽‍♂️"] = "man_playing_water_polo_tone3", + ["🤽🏾‍♂️"] = "man_playing_water_polo_tone4", + ["🤽🏿‍♂️"] = "man_playing_water_polo_tone5", + ["🚣"] = "person_rowing_boat", + ["🚣🏻"] = "person_rowing_boat_tone1", + ["🚣🏼"] = "person_rowing_boat_tone2", + ["🚣🏽"] = "person_rowing_boat_tone3", + ["🚣🏾"] = "person_rowing_boat_tone4", + ["🚣🏿"] = "person_rowing_boat_tone5", + ["🚣‍♀️"] = "woman_rowing_boat", + ["🚣🏻‍♀️"] = "woman_rowing_boat_tone1", + ["🚣🏼‍♀️"] = "woman_rowing_boat_tone2", + ["🚣🏽‍♀️"] = "woman_rowing_boat_tone3", + ["🚣🏾‍♀️"] = "woman_rowing_boat_tone4", + ["🚣🏿‍♀️"] = "woman_rowing_boat_tone5", + ["🚣‍♂️"] = "man_rowing_boat", + ["🚣🏻‍♂️"] = "man_rowing_boat_tone1", + ["🚣🏼‍♂️"] = "man_rowing_boat_tone2", + ["🚣🏽‍♂️"] = "man_rowing_boat_tone3", + ["🚣🏾‍♂️"] = "man_rowing_boat_tone4", + ["🚣🏿‍♂️"] = "man_rowing_boat_tone5", + ["🧗"] = "person_climbing", + ["🧗🏻"] = "person_climbing_tone1", + ["🧗🏼"] = "person_climbing_tone2", + ["🧗🏽"] = "person_climbing_tone3", + ["🧗🏾"] = "person_climbing_tone4", + ["🧗🏿"] = "person_climbing_tone5", + ["🧗‍♀️"] = "woman_climbing", + ["🧗🏻‍♀️"] = "woman_climbing_tone1", + ["🧗🏼‍♀️"] = "woman_climbing_tone2", + ["🧗🏽‍♀️"] = "woman_climbing_tone3", + ["🧗🏾‍♀️"] = "woman_climbing_tone4", + ["🧗🏿‍♀️"] = "woman_climbing_tone5", + ["🧗‍♂️"] = "man_climbing", + ["🧗🏻‍♂️"] = "man_climbing_tone1", + ["🧗🏼‍♂️"] = "man_climbing_tone2", + ["🧗🏽‍♂️"] = "man_climbing_tone3", + ["🧗🏾‍♂️"] = "man_climbing_tone4", + ["🧗🏿‍♂️"] = "man_climbing_tone5", + ["🚵"] = "person_mountain_biking", + ["🚵🏻"] = "person_mountain_biking_tone1", + ["🚵🏼"] = "person_mountain_biking_tone2", + ["🚵🏽"] = "person_mountain_biking_tone3", + ["🚵🏾"] = "person_mountain_biking_tone4", + ["🚵🏿"] = "person_mountain_biking_tone5", + ["🚵‍♀️"] = "woman_mountain_biking", + ["🚵🏻‍♀️"] = "woman_mountain_biking_tone1", + ["🚵🏼‍♀️"] = "woman_mountain_biking_tone2", + ["🚵🏽‍♀️"] = "woman_mountain_biking_tone3", + ["🚵🏾‍♀️"] = "woman_mountain_biking_tone4", + ["🚵🏿‍♀️"] = "woman_mountain_biking_tone5", + ["🚵‍♂️"] = "man_mountain_biking", + ["🚵🏻‍♂️"] = "man_mountain_biking_tone1", + ["🚵🏼‍♂️"] = "man_mountain_biking_tone2", + ["🚵🏽‍♂️"] = "man_mountain_biking_tone3", + ["🚵🏾‍♂️"] = "man_mountain_biking_tone4", + ["🚵🏿‍♂️"] = "man_mountain_biking_tone5", + ["🚴"] = "person_biking", + ["🚴🏻"] = "person_biking_tone1", + ["🚴🏼"] = "person_biking_tone2", + ["🚴🏽"] = "person_biking_tone3", + ["🚴🏾"] = "person_biking_tone4", + ["🚴🏿"] = "person_biking_tone5", + ["🚴‍♀️"] = "woman_biking", + ["🚴🏻‍♀️"] = "woman_biking_tone1", + ["🚴🏼‍♀️"] = "woman_biking_tone2", + ["🚴🏽‍♀️"] = "woman_biking_tone3", + ["🚴🏾‍♀️"] = "woman_biking_tone4", + ["🚴🏿‍♀️"] = "woman_biking_tone5", + ["🚴‍♂️"] = "man_biking", + ["🚴🏻‍♂️"] = "man_biking_tone1", + ["🚴🏼‍♂️"] = "man_biking_tone2", + ["🚴🏽‍♂️"] = "man_biking_tone3", + ["🚴🏾‍♂️"] = "man_biking_tone4", + ["🚴🏿‍♂️"] = "man_biking_tone5", + ["🏆"] = "trophy", + ["🥇"] = "first_place", + ["🥈"] = "second_place", + ["🥉"] = "third_place", + ["🏅"] = "medal", + ["🎖️"] = "military_medal", + ["🏵️"] = "rosette", + ["🎗️"] = "reminder_ribbon", + ["🎫"] = "ticket", + ["🎟️"] = "tickets", + ["🎪"] = "circus_tent", + ["🤹"] = "person_juggling", + ["🤹🏻"] = "person_juggling_tone1", + ["🤹🏼"] = "person_juggling_tone2", + ["🤹🏽"] = "person_juggling_tone3", + ["🤹🏾"] = "person_juggling_tone4", + ["🤹🏿"] = "person_juggling_tone5", + ["🤹‍♀️"] = "woman_juggling", + ["🤹🏻‍♀️"] = "woman_juggling_tone1", + ["🤹🏼‍♀️"] = "woman_juggling_tone2", + ["🤹🏽‍♀️"] = "woman_juggling_tone3", + ["🤹🏾‍♀️"] = "woman_juggling_tone4", + ["🤹🏿‍♀️"] = "woman_juggling_tone5", + ["🤹‍♂️"] = "man_juggling", + ["🤹🏻‍♂️"] = "man_juggling_tone1", + ["🤹🏼‍♂️"] = "man_juggling_tone2", + ["🤹🏽‍♂️"] = "man_juggling_tone3", + ["🤹🏾‍♂️"] = "man_juggling_tone4", + ["🤹🏿‍♂️"] = "man_juggling_tone5", + ["🎭"] = "performing_arts", + ["🩰"] = "ballet_shoes", + ["🎨"] = "art", + ["🎬"] = "clapper", + ["🎤"] = "microphone", + ["🎧"] = "headphones", + ["🎼"] = "musical_score", + ["🎹"] = "musical_keyboard", + ["🥁"] = "drum", + ["🪘"] = "long_drum", + ["🎷"] = "saxophone", + ["🎺"] = "trumpet", + ["🎸"] = "guitar", + ["🪕"] = "banjo", + ["🎻"] = "violin", + ["🪗"] = "accordion", + ["🎲"] = "game_die", + ["♟️"] = "chess_pawn", + ["🎯"] = "dart", + ["🎳"] = "bowling", + ["🎮"] = "video_game", + ["🎰"] = "slot_machine", + ["🧩"] = "jigsaw", + ["🚗"] = "red_car", + ["🚕"] = "taxi", + ["🚙"] = "blue_car", + ["🛻"] = "pickup_truck", + ["🚌"] = "bus", + ["🚎"] = "trolleybus", + ["🏎️"] = "race_car", + ["🚓"] = "police_car", + ["🚑"] = "ambulance", + ["🚒"] = "fire_engine", + ["🚐"] = "minibus", + ["🚚"] = "truck", + ["🚛"] = "articulated_lorry", + ["🚜"] = "tractor", + ["🦯"] = "probing_cane", + ["🦽"] = "manual_wheelchair", + ["🦼"] = "motorized_wheelchair", + ["🛴"] = "scooter", + ["🚲"] = "bike", + ["🛵"] = "motor_scooter", + ["🏍️"] = "motorcycle", + ["🛺"] = "auto_rickshaw", + ["🚨"] = "rotating_light", + ["🚔"] = "oncoming_police_car", + ["🚍"] = "oncoming_bus", + ["🚘"] = "oncoming_automobile", + ["🚖"] = "oncoming_taxi", + ["🚡"] = "aerial_tramway", + ["🚠"] = "mountain_cableway", + ["🚟"] = "suspension_railway", + ["🚃"] = "railway_car", + ["🚋"] = "train", + ["🚞"] = "mountain_railway", + ["🚝"] = "monorail", + ["🚄"] = "bullettrain_side", + ["🚅"] = "bullettrain_front", + ["🚈"] = "light_rail", + ["🚂"] = "steam_locomotive", + ["🚆"] = "train2", + ["🚇"] = "metro", + ["🚊"] = "tram", + ["🚉"] = "station", + ["✈️"] = "airplane", + ["🛫"] = "airplane_departure", + ["🛬"] = "airplane_arriving", + ["🛩️"] = "airplane_small", + ["💺"] = "seat", + ["🛰️"] = "satellite_orbital", + ["🚀"] = "rocket", + ["🛸"] = "flying_saucer", + ["🚁"] = "helicopter", + ["🛶"] = "canoe", + ["⛵"] = "sailboat", + ["🚤"] = "speedboat", + ["🛥️"] = "motorboat", + ["🛳️"] = "cruise_ship", + ["⛴️"] = "ferry", + ["🚢"] = "ship", + ["⚓"] = "anchor", + ["⛽"] = "fuelpump", + ["🚧"] = "construction", + ["🚦"] = "vertical_traffic_light", + ["🚥"] = "traffic_light", + ["🚏"] = "busstop", + ["🗺️"] = "map", + ["🗿"] = "moyai", + ["🗽"] = "statue_of_liberty", + ["🗼"] = "tokyo_tower", + ["🏰"] = "european_castle", + ["🏯"] = "japanese_castle", + ["🏟️"] = "stadium", + ["🎡"] = "ferris_wheel", + ["🎢"] = "roller_coaster", + ["🎠"] = "carousel_horse", + ["⛲"] = "fountain", + ["⛱️"] = "beach_umbrella", + ["🏖️"] = "beach", + ["🏝️"] = "island", + ["🏜️"] = "desert", + ["🌋"] = "volcano", + ["⛰️"] = "mountain", + ["🏔️"] = "mountain_snow", + ["🗻"] = "mount_fuji", + ["🏕️"] = "camping", + ["⛺"] = "tent", + ["🏠"] = "house", + ["🏡"] = "house_with_garden", + ["🏘️"] = "homes", + ["🏚️"] = "house_abandoned", + ["🛖"] = "hut", + ["🏗️"] = "construction_site", + ["🏭"] = "factory", + ["🏢"] = "office", + ["🏬"] = "department_store", + ["🏣"] = "post_office", + ["🏤"] = "european_post_office", + ["🏥"] = "hospital", + ["🏦"] = "bank", + ["🏨"] = "hotel", + ["🏪"] = "convenience_store", + ["🏫"] = "school", + ["🏩"] = "love_hotel", + ["💒"] = "wedding", + ["🏛️"] = "classical_building", + ["⛪"] = "church", + ["🕌"] = "mosque", + ["🕍"] = "synagogue", + ["🛕"] = "hindu_temple", + ["🕋"] = "kaaba", + ["⛩️"] = "shinto_shrine", + ["🛤️"] = "railway_track", + ["🛣️"] = "motorway", + ["🗾"] = "japan", + ["🎑"] = "rice_scene", + ["🏞️"] = "park", + ["🌅"] = "sunrise", + ["🌄"] = "sunrise_over_mountains", + ["🌠"] = "stars", + ["🎇"] = "sparkler", + ["🎆"] = "fireworks", + ["🌇"] = "city_sunset", + ["🌆"] = "city_dusk", + ["🏙️"] = "cityscape", + ["🌃"] = "night_with_stars", + ["🌌"] = "milky_way", + ["🌉"] = "bridge_at_night", + ["🌁"] = "foggy", + ["⌚"] = "watch", + ["📱"] = "mobile_phone", + ["📲"] = "calling", + ["💻"] = "computer", + ["⌨️"] = "keyboard", + ["🖥️"] = "desktop", + ["🖨️"] = "printer", + ["🖱️"] = "mouse_three_button", + ["🖲️"] = "trackball", + ["🕹️"] = "joystick", + ["🗜️"] = "compression", + ["💽"] = "minidisc", + ["💾"] = "floppy_disk", + ["💿"] = "cd", + ["📀"] = "dvd", + ["📼"] = "vhs", + ["📷"] = "camera", + ["📸"] = "camera_with_flash", + ["📹"] = "video_camera", + ["🎥"] = "movie_camera", + ["📽️"] = "projector", + ["🎞️"] = "film_frames", + ["📞"] = "telephone_receiver", + ["☎️"] = "telephone", + ["📟"] = "pager", + ["📠"] = "fax", + ["📺"] = "tv", + ["📻"] = "radio", + ["🎙️"] = "microphone2", + ["🎚️"] = "level_slider", + ["🎛️"] = "control_knobs", + ["🧭"] = "compass", + ["⏱️"] = "stopwatch", + ["⏲️"] = "timer", + ["⏰"] = "alarm_clock", + ["🕰️"] = "clock", + ["⌛"] = "hourglass", + ["⏳"] = "hourglass_flowing_sand", + ["📡"] = "satellite", + ["🔋"] = "battery", + ["🔌"] = "electric_plug", + ["💡"] = "bulb", + ["🔦"] = "flashlight", + ["🕯️"] = "candle", + ["🪔"] = "diya_lamp", + ["🧯"] = "fire_extinguisher", + ["🛢️"] = "oil", + ["💸"] = "money_with_wings", + ["💵"] = "dollar", + ["💴"] = "yen", + ["💶"] = "euro", + ["💷"] = "pound", + ["🪙"] = "coin", + ["💰"] = "moneybag", + ["💳"] = "credit_card", + ["💎"] = "gem", + ["⚖️"] = "scales", + ["🪜"] = "ladder", + ["🧰"] = "toolbox", + ["🪛"] = "screwdriver", + ["🔧"] = "wrench", + ["🔨"] = "hammer", + ["⚒️"] = "hammer_pick", + ["🛠️"] = "tools", + ["⛏️"] = "pick", + ["🔩"] = "nut_and_bolt", + ["⚙️"] = "gear", + ["🧱"] = "bricks", + ["⛓️"] = "chains", + ["🪝"] = "hook", + ["🪢"] = "knot", + ["🧲"] = "magnet", + ["🔫"] = "gun", + ["💣"] = "bomb", + ["🧨"] = "firecracker", + ["🪓"] = "axe", + ["🪚"] = "carpentry_saw", + ["🔪"] = "knife", + ["🗡️"] = "dagger", + ["⚔️"] = "crossed_swords", + ["🛡️"] = "shield", + ["🚬"] = "smoking", + ["⚰️"] = "coffin", + ["🪦"] = "headstone", + ["⚱️"] = "urn", + ["🏺"] = "amphora", + ["🪄"] = "magic_wand", + ["🔮"] = "crystal_ball", + ["📿"] = "prayer_beads", + ["🧿"] = "nazar_amulet", + ["💈"] = "barber", + ["⚗️"] = "alembic", + ["🔭"] = "telescope", + ["🔬"] = "microscope", + ["🕳️"] = "hole", + ["🪟"] = "window", + ["🩹"] = "adhesive_bandage", + ["🩺"] = "stethoscope", + ["💊"] = "pill", + ["💉"] = "syringe", + ["🩸"] = "drop_of_blood", + ["🧬"] = "dna", + ["🦠"] = "microbe", + ["🧫"] = "petri_dish", + ["🧪"] = "test_tube", + ["🌡️"] = "thermometer", + ["🪤"] = "mouse_trap", + ["🧹"] = "broom", + ["🧺"] = "basket", + ["🪡"] = "sewing_needle", + ["🧻"] = "roll_of_paper", + ["🚽"] = "toilet", + ["🪠"] = "plunger", + ["🪣"] = "bucket", + ["🚰"] = "potable_water", + ["🚿"] = "shower", + ["🛁"] = "bathtub", + ["🛀"] = "bath", + ["🛀🏻"] = "bath_tone1", + ["🛀🏼"] = "bath_tone2", + ["🛀🏽"] = "bath_tone3", + ["🛀🏾"] = "bath_tone4", + ["🛀🏿"] = "bath_tone5", + ["🪥"] = "toothbrush", + ["🧼"] = "soap", + ["🪒"] = "razor", + ["🧽"] = "sponge", + ["🧴"] = "squeeze_bottle", + ["🛎️"] = "bellhop", + ["🔑"] = "key", + ["🗝️"] = "key2", + ["🚪"] = "door", + ["🪑"] = "chair", + ["🪞"] = "mirror", + ["🛋️"] = "couch", + ["🛏️"] = "bed", + ["🛌"] = "sleeping_accommodation", + ["🛌🏻"] = "person_in_bed_tone1", + ["🛌🏼"] = "person_in_bed_tone2", + ["🛌🏽"] = "person_in_bed_tone3", + ["🛌🏾"] = "person_in_bed_tone4", + ["🛌🏿"] = "person_in_bed_tone5", + ["🧸"] = "teddy_bear", + ["🖼️"] = "frame_photo", + ["🛍️"] = "shopping_bags", + ["🛒"] = "shopping_cart", + ["🎁"] = "gift", + ["🎈"] = "balloon", + ["🎏"] = "flags", + ["🎀"] = "ribbon", + ["🎊"] = "confetti_ball", + ["🎉"] = "tada", + ["🪅"] = "piñata", + ["🪆"] = "nesting_dolls", + ["🎎"] = "dolls", + ["🏮"] = "izakaya_lantern", + ["🎐"] = "wind_chime", + ["🧧"] = "red_envelope", + ["✉️"] = "envelope", + ["📩"] = "envelope_with_arrow", + ["📨"] = "incoming_envelope", + ["📧"] = "e_mail", + ["💌"] = "love_letter", + ["📥"] = "inbox_tray", + ["📤"] = "outbox_tray", + ["📦"] = "package", + ["🏷️"] = "label", + ["📪"] = "mailbox_closed", + ["📫"] = "mailbox", + ["📬"] = "mailbox_with_mail", + ["📭"] = "mailbox_with_no_mail", + ["📮"] = "postbox", + ["📯"] = "postal_horn", + ["🪧"] = "placard", + ["📜"] = "scroll", + ["📃"] = "page_with_curl", + ["📄"] = "page_facing_up", + ["📑"] = "bookmark_tabs", + ["🧾"] = "receipt", + ["📊"] = "bar_chart", + ["📈"] = "chart_with_upwards_trend", + ["📉"] = "chart_with_downwards_trend", + ["🗒️"] = "notepad_spiral", + ["🗓️"] = "calendar_spiral", + ["📆"] = "calendar", + ["📅"] = "date", + ["🗑️"] = "wastebasket", + ["📇"] = "card_index", + ["🗃️"] = "card_box", + ["🗳️"] = "ballot_box", + ["🗄️"] = "file_cabinet", + ["📋"] = "clipboard", + ["📁"] = "file_folder", + ["📂"] = "open_file_folder", + ["🗂️"] = "dividers", + ["🗞️"] = "newspaper2", + ["📰"] = "newspaper", + ["📓"] = "notebook", + ["📔"] = "notebook_with_decorative_cover", + ["📒"] = "ledger", + ["📕"] = "closed_book", + ["📗"] = "green_book", + ["📘"] = "blue_book", + ["📙"] = "orange_book", + ["📚"] = "books", + ["📖"] = "book", + ["🔖"] = "bookmark", + ["🧷"] = "safety_pin", + ["🔗"] = "link", + ["📎"] = "paperclip", + ["🖇️"] = "paperclips", + ["📐"] = "triangular_ruler", + ["📏"] = "straight_ruler", + ["🧮"] = "abacus", + ["📌"] = "pushpin", + ["📍"] = "round_pushpin", + ["✂️"] = "scissors", + ["🖊️"] = "pen_ballpoint", + ["🖋️"] = "pen_fountain", + ["✒️"] = "black_nib", + ["🖌️"] = "paintbrush", + ["🖍️"] = "crayon", + ["📝"] = "pencil", + ["✏️"] = "pencil2", + ["🔍"] = "mag", + ["🔎"] = "mag_right", + ["🔏"] = "lock_with_ink_pen", + ["🔐"] = "closed_lock_with_key", + ["🔒"] = "lock", + ["🔓"] = "unlock", + ["❤️"] = "heart", + ["🧡"] = "orange_heart", + ["💛"] = "yellow_heart", + ["💚"] = "green_heart", + ["💙"] = "blue_heart", + ["💜"] = "purple_heart", + ["🖤"] = "black_heart", + ["🤎"] = "brown_heart", + ["🤍"] = "white_heart", + ["💔"] = "broken_heart", + ["❣️"] = "heart_exclamation", + ["💕"] = "two_hearts", + ["💞"] = "revolving_hearts", + ["💓"] = "heartbeat", + ["💗"] = "heartpulse", + ["💖"] = "sparkling_heart", + ["💘"] = "cupid", + ["💝"] = "gift_heart", + ["❤️‍🩹"] = "mending_heart", + ["❤️‍🔥"] = "heart_on_fire", + ["💟"] = "heart_decoration", + ["☮️"] = "peace", + ["✝️"] = "cross", + ["☪️"] = "star_and_crescent", + ["🕉️"] = "om_symbol", + ["☸️"] = "wheel_of_dharma", + ["✡️"] = "star_of_david", + ["🔯"] = "six_pointed_star", + ["🕎"] = "menorah", + ["☯️"] = "yin_yang", + ["☦️"] = "orthodox_cross", + ["🛐"] = "place_of_worship", + ["⛎"] = "ophiuchus", + ["♈"] = "aries", + ["♉"] = "taurus", + ["♊"] = "gemini", + ["♋"] = "cancer", + ["♌"] = "leo", + ["♍"] = "virgo", + ["♎"] = "libra", + ["♏"] = "scorpius", + ["♐"] = "sagittarius", + ["♑"] = "capricorn", + ["♒"] = "aquarius", + ["♓"] = "pisces", + ["🆔"] = "id", + ["⚛️"] = "atom", + ["🉑"] = "accept", + ["☢️"] = "radioactive", + ["☣️"] = "biohazard", + ["📴"] = "mobile_phone_off", + ["📳"] = "vibration_mode", + ["🈶"] = "u6709", + ["🈚"] = "u7121", + ["🈸"] = "u7533", + ["🈺"] = "u55b6", + ["🈷️"] = "u6708", + ["✴️"] = "eight_pointed_black_star", + ["🆚"] = "vs", + ["💮"] = "white_flower", + ["🉐"] = "ideograph_advantage", + ["㊙️"] = "secret", + ["㊗️"] = "congratulations", + ["🈴"] = "u5408", + ["🈵"] = "u6e80", + ["🈹"] = "u5272", + ["🈲"] = "u7981", + ["🅰️"] = "a", + ["🅱️"] = "b", + ["🆎"] = "ab", + ["🆑"] = "cl", + ["🅾️"] = "o2", + ["🆘"] = "sos", + ["❌"] = "x", + ["⭕"] = "o", + ["🛑"] = "octagonal_sign", + ["⛔"] = "no_entry", + ["📛"] = "name_badge", + ["🚫"] = "no_entry_sign", + ["💯"] = "100", + ["💢"] = "anger", + ["♨️"] = "hotsprings", + ["🚷"] = "no_pedestrians", + ["🚯"] = "do_not_litter", + ["🚳"] = "no_bicycles", + ["🚱"] = "non_potable_water", + ["🔞"] = "underage", + ["📵"] = "no_mobile_phones", + ["🚭"] = "no_smoking", + ["❗"] = "exclamation", + ["❕"] = "grey_exclamation", + ["❓"] = "question", + ["❔"] = "grey_question", + ["‼️"] = "bangbang", + ["⁉️"] = "interrobang", + ["🔅"] = "low_brightness", + ["🔆"] = "high_brightness", + ["〽️"] = "part_alternation_mark", + ["⚠️"] = "warning", + ["🚸"] = "children_crossing", + ["🔱"] = "trident", + ["⚜️"] = "fleur_de_lis", + ["🔰"] = "beginner", + ["♻️"] = "recycle", + ["✅"] = "white_check_mark", + ["🈯"] = "u6307", + ["💹"] = "chart", + ["❇️"] = "sparkle", + ["✳️"] = "eight_spoked_asterisk", + ["❎"] = "negative_squared_cross_mark", + ["🌐"] = "globe_with_meridians", + ["💠"] = "diamond_shape_with_a_dot_inside", + ["Ⓜ️"] = "m", + ["🌀"] = "cyclone", + ["💤"] = "zzz", + ["🏧"] = "atm", + ["🚾"] = "wc", + ["♿"] = "wheelchair", + ["🅿️"] = "parking", + ["🈳"] = "u7a7a", + ["🈂️"] = "sa", + ["🛂"] = "passport_control", + ["🛃"] = "customs", + ["🛄"] = "baggage_claim", + ["🛅"] = "left_luggage", + ["🛗"] = "elevator", + ["🚹"] = "mens", + ["🚺"] = "womens", + ["🚼"] = "baby_symbol", + ["🚻"] = "restroom", + ["🚮"] = "put_litter_in_its_place", + ["🎦"] = "cinema", + ["📶"] = "signal_strength", + ["🈁"] = "koko", + ["🔣"] = "symbols", + ["ℹ️"] = "information_source", + ["🔤"] = "abc", + ["🔡"] = "abcd", + ["🔠"] = "capital_abcd", + ["🆖"] = "ng", + ["🆗"] = "ok", + ["🆙"] = "up", + ["🆒"] = "cool", + ["🆕"] = "new", + ["🆓"] = "free", + ["0️⃣"] = "zero", + ["1️⃣"] = "one", + ["2️⃣"] = "two", + ["3️⃣"] = "three", + ["4️⃣"] = "four", + ["5️⃣"] = "five", + ["6️⃣"] = "six", + ["7️⃣"] = "seven", + ["8️⃣"] = "eight", + ["9️⃣"] = "nine", + ["🔟"] = "keycap_ten", + ["🔢"] = "1234", + ["#️⃣"] = "hash", + ["*️⃣"] = "asterisk", + ["⏏️"] = "eject", + ["▶️"] = "arrow_forward", + ["⏸️"] = "pause_button", + ["⏯️"] = "play_pause", + ["⏹️"] = "stop_button", + ["⏺️"] = "record_button", + ["⏭️"] = "track_next", + ["⏮️"] = "track_previous", + ["⏩"] = "fast_forward", + ["⏪"] = "rewind", + ["⏫"] = "arrow_double_up", + ["⏬"] = "arrow_double_down", + ["◀️"] = "arrow_backward", + ["🔼"] = "arrow_up_small", + ["🔽"] = "arrow_down_small", + ["➡️"] = "arrow_right", + ["⬅️"] = "arrow_left", + ["⬆️"] = "arrow_up", + ["⬇️"] = "arrow_down", + ["↗️"] = "arrow_upper_right", + ["↘️"] = "arrow_lower_right", + ["↙️"] = "arrow_lower_left", + ["↖️"] = "arrow_upper_left", + ["↕️"] = "arrow_up_down", + ["↔️"] = "left_right_arrow", + ["↪️"] = "arrow_right_hook", + ["↩️"] = "leftwards_arrow_with_hook", + ["⤴️"] = "arrow_heading_up", + ["⤵️"] = "arrow_heading_down", + ["🔀"] = "twisted_rightwards_arrows", + ["🔁"] = "repeat", + ["🔂"] = "repeat_one", + ["🔄"] = "arrows_counterclockwise", + ["🔃"] = "arrows_clockwise", + ["🎵"] = "musical_note", + ["🎶"] = "notes", + ["➕"] = "heavy_plus_sign", + ["➖"] = "heavy_minus_sign", + ["➗"] = "heavy_division_sign", + ["✖️"] = "heavy_multiplication_x", + ["♾️"] = "infinity", + ["💲"] = "heavy_dollar_sign", + ["💱"] = "currency_exchange", + ["™️"] = "tm", + ["©️"] = "copyright", + ["®️"] = "registered", + ["〰️"] = "wavy_dash", + ["➰"] = "curly_loop", + ["➿"] = "loop", + ["🔚"] = "end", + ["🔙"] = "back", + ["🔛"] = "on", + ["🔝"] = "top", + ["🔜"] = "soon", + ["✔️"] = "heavy_check_mark", + ["☑️"] = "ballot_box_with_check", + ["🔘"] = "radio_button", + ["⚪"] = "white_circle", + ["⚫"] = "black_circle", + ["🔴"] = "red_circle", + ["🔵"] = "blue_circle", + ["🟤"] = "brown_circle", + ["🟣"] = "purple_circle", + ["🟢"] = "green_circle", + ["🟡"] = "yellow_circle", + ["🟠"] = "orange_circle", + ["🔺"] = "small_red_triangle", + ["🔻"] = "small_red_triangle_down", + ["🔸"] = "small_orange_diamond", + ["🔹"] = "small_blue_diamond", + ["🔶"] = "large_orange_diamond", + ["🔷"] = "large_blue_diamond", + ["🔳"] = "white_square_button", + ["🔲"] = "black_square_button", + ["▪️"] = "black_small_square", + ["▫️"] = "white_small_square", + ["◾"] = "black_medium_small_square", + ["◽"] = "white_medium_small_square", + ["◼️"] = "black_medium_square", + ["◻️"] = "white_medium_square", + ["⬛"] = "black_large_square", + ["⬜"] = "white_large_square", + ["🟧"] = "orange_square", + ["🟦"] = "blue_square", + ["🟥"] = "red_square", + ["🟫"] = "brown_square", + ["🟪"] = "purple_square", + ["🟩"] = "green_square", + ["🟨"] = "yellow_square", + ["🔈"] = "speaker", + ["🔇"] = "mute", + ["🔉"] = "sound", + ["🔊"] = "loud_sound", + ["🔔"] = "bell", + ["🔕"] = "no_bell", + ["📣"] = "mega", + ["📢"] = "loudspeaker", + ["🗨️"] = "speech_left", + ["👁‍🗨"] = "eye_in_speech_bubble", + ["💬"] = "speech_balloon", + ["💭"] = "thought_balloon", + ["🗯️"] = "anger_right", + ["♠️"] = "spades", + ["♣️"] = "clubs", + ["♥️"] = "hearts", + ["♦️"] = "diamonds", + ["🃏"] = "black_joker", + ["🎴"] = "flower_playing_cards", + ["🀄"] = "mahjong", + ["🕐"] = "clock1", + ["🕑"] = "clock2", + ["🕒"] = "clock3", + ["🕓"] = "clock4", + ["🕔"] = "clock5", + ["🕕"] = "clock6", + ["🕖"] = "clock7", + ["🕗"] = "clock8", + ["🕘"] = "clock9", + ["🕙"] = "clock10", + ["🕚"] = "clock11", + ["🕛"] = "clock12", + ["🕜"] = "clock130", + ["🕝"] = "clock230", + ["🕞"] = "clock330", + ["🕟"] = "clock430", + ["🕠"] = "clock530", + ["🕡"] = "clock630", + ["🕢"] = "clock730", + ["🕣"] = "clock830", + ["🕤"] = "clock930", + ["🕥"] = "clock1030", + ["🕦"] = "clock1130", + ["🕧"] = "clock1230", + ["♀️"] = "female_sign", + ["♂️"] = "male_sign", + ["⚧"] = "transgender_symbol", + ["⚕️"] = "medical_symbol", + ["🇿"] = "regional_indicator_z", + ["🇾"] = "regional_indicator_y", + ["🇽"] = "regional_indicator_x", + ["🇼"] = "regional_indicator_w", + ["🇻"] = "regional_indicator_v", + ["🇺"] = "regional_indicator_u", + ["🇹"] = "regional_indicator_t", + ["🇸"] = "regional_indicator_s", + ["🇷"] = "regional_indicator_r", + ["🇶"] = "regional_indicator_q", + ["🇵"] = "regional_indicator_p", + ["🇴"] = "regional_indicator_o", + ["🇳"] = "regional_indicator_n", + ["🇲"] = "regional_indicator_m", + ["🇱"] = "regional_indicator_l", + ["🇰"] = "regional_indicator_k", + ["🇯"] = "regional_indicator_j", + ["🇮"] = "regional_indicator_i", + ["🇭"] = "regional_indicator_h", + ["🇬"] = "regional_indicator_g", + ["🇫"] = "regional_indicator_f", + ["🇪"] = "regional_indicator_e", + ["🇩"] = "regional_indicator_d", + ["🇨"] = "regional_indicator_c", + ["🇧"] = "regional_indicator_b", + ["🇦"] = "regional_indicator_a", + ["🏳️"] = "flag_white", + ["🏴"] = "flag_black", + ["🏁"] = "checkered_flag", + ["🚩"] = "triangular_flag_on_post", + ["🏳️‍🌈"] = "rainbow_flag", + ["🏳️‍⚧️"] = "transgender_flag", + ["🏴‍☠️"] = "pirate_flag", + ["🇦🇫"] = "flag_af", + ["🇦🇽"] = "flag_ax", + ["🇦🇱"] = "flag_al", + ["🇩🇿"] = "flag_dz", + ["🇦🇸"] = "flag_as", + ["🇦🇩"] = "flag_ad", + ["🇦🇴"] = "flag_ao", + ["🇦🇮"] = "flag_ai", + ["🇦🇶"] = "flag_aq", + ["🇦🇬"] = "flag_ag", + ["🇦🇷"] = "flag_ar", + ["🇦🇲"] = "flag_am", + ["🇦🇼"] = "flag_aw", + ["🇦🇺"] = "flag_au", + ["🇦🇹"] = "flag_at", + ["🇦🇿"] = "flag_az", + ["🇧🇸"] = "flag_bs", + ["🇧🇭"] = "flag_bh", + ["🇧🇩"] = "flag_bd", + ["🇧🇧"] = "flag_bb", + ["🇧🇾"] = "flag_by", + ["🇧🇪"] = "flag_be", + ["🇧🇿"] = "flag_bz", + ["🇧🇯"] = "flag_bj", + ["🇧🇲"] = "flag_bm", + ["🇧🇹"] = "flag_bt", + ["🇧🇴"] = "flag_bo", + ["🇧🇦"] = "flag_ba", + ["🇧🇼"] = "flag_bw", + ["🇧🇷"] = "flag_br", + ["🇮🇴"] = "flag_io", + ["🇻🇬"] = "flag_vg", + ["🇧🇳"] = "flag_bn", + ["🇧🇬"] = "flag_bg", + ["🇧🇫"] = "flag_bf", + ["🇧🇮"] = "flag_bi", + ["🇰🇭"] = "flag_kh", + ["🇨🇲"] = "flag_cm", + ["🇨🇦"] = "flag_ca", + ["🇮🇨"] = "flag_ic", + ["🇨🇻"] = "flag_cv", + ["🇧🇶"] = "flag_bq", + ["🇰🇾"] = "flag_ky", + ["🇨🇫"] = "flag_cf", + ["🇹🇩"] = "flag_td", + ["🇨🇱"] = "flag_cl", + ["🇨🇳"] = "flag_cn", + ["🇨🇽"] = "flag_cx", + ["🇨🇨"] = "flag_cc", + ["🇨🇴"] = "flag_co", + ["🇰🇲"] = "flag_km", + ["🇨🇬"] = "flag_cg", + ["🇨🇩"] = "flag_cd", + ["🇨🇰"] = "flag_ck", + ["🇨🇷"] = "flag_cr", + ["🇨🇮"] = "flag_ci", + ["🇭🇷"] = "flag_hr", + ["🇨🇺"] = "flag_cu", + ["🇨🇼"] = "flag_cw", + ["🇨🇾"] = "flag_cy", + ["🇨🇿"] = "flag_cz", + ["🇩🇰"] = "flag_dk", + ["🇩🇯"] = "flag_dj", + ["🇩🇲"] = "flag_dm", + ["🇩🇴"] = "flag_do", + ["🇪🇨"] = "flag_ec", + ["🇪🇬"] = "flag_eg", + ["🇸🇻"] = "flag_sv", + ["🇬🇶"] = "flag_gq", + ["🇪🇷"] = "flag_er", + ["🇪🇪"] = "flag_ee", + ["🇪🇹"] = "flag_et", + ["🇪🇺"] = "flag_eu", + ["🇫🇰"] = "flag_fk", + ["🇫🇴"] = "flag_fo", + ["🇫🇯"] = "flag_fj", + ["🇫🇮"] = "flag_fi", + ["🇫🇷"] = "flag_fr", + ["🇬🇫"] = "flag_gf", + ["🇵🇫"] = "flag_pf", + ["🇹🇫"] = "flag_tf", + ["🇬🇦"] = "flag_ga", + ["🇬🇲"] = "flag_gm", + ["🇬🇪"] = "flag_ge", + ["🇩🇪"] = "flag_de", + ["🇬🇭"] = "flag_gh", + ["🇬🇮"] = "flag_gi", + ["🇬🇷"] = "flag_gr", + ["🇬🇱"] = "flag_gl", + ["🇬🇩"] = "flag_gd", + ["🇬🇵"] = "flag_gp", + ["🇬🇺"] = "flag_gu", + ["🇬🇹"] = "flag_gt", + ["🇬🇬"] = "flag_gg", + ["🇬🇳"] = "flag_gn", + ["🇬🇼"] = "flag_gw", + ["🇬🇾"] = "flag_gy", + ["🇭🇹"] = "flag_ht", + ["🇭🇳"] = "flag_hn", + ["🇭🇰"] = "flag_hk", + ["🇭🇺"] = "flag_hu", + ["🇮🇸"] = "flag_is", + ["🇮🇳"] = "flag_in", + ["🇮🇩"] = "flag_id", + ["🇮🇷"] = "flag_ir", + ["🇮🇶"] = "flag_iq", + ["🇮🇪"] = "flag_ie", + ["🇮🇲"] = "flag_im", + ["🇮🇱"] = "flag_il", + ["🇮🇹"] = "flag_it", + ["🇯🇲"] = "flag_jm", + ["🇯🇵"] = "flag_jp", + ["🎌"] = "crossed_flags", + ["🇯🇪"] = "flag_je", + ["🇯🇴"] = "flag_jo", + ["🇰🇿"] = "flag_kz", + ["🇰🇪"] = "flag_ke", + ["🇰🇮"] = "flag_ki", + ["🇽🇰"] = "flag_xk", + ["🇰🇼"] = "flag_kw", + ["🇰🇬"] = "flag_kg", + ["🇱🇦"] = "flag_la", + ["🇱🇻"] = "flag_lv", + ["🇱🇧"] = "flag_lb", + ["🇱🇸"] = "flag_ls", + ["🇱🇷"] = "flag_lr", + ["🇱🇾"] = "flag_ly", + ["🇱🇮"] = "flag_li", + ["🇱🇹"] = "flag_lt", + ["🇱🇺"] = "flag_lu", + ["🇲🇴"] = "flag_mo", + ["🇲🇰"] = "flag_mk", + ["🇲🇬"] = "flag_mg", + ["🇲🇼"] = "flag_mw", + ["🇲🇾"] = "flag_my", + ["🇲🇻"] = "flag_mv", + ["🇲🇱"] = "flag_ml", + ["🇲🇹"] = "flag_mt", + ["🇲🇭"] = "flag_mh", + ["🇲🇶"] = "flag_mq", + ["🇲🇷"] = "flag_mr", + ["🇲🇺"] = "flag_mu", + ["🇾🇹"] = "flag_yt", + ["🇲🇽"] = "flag_mx", + ["🇫🇲"] = "flag_fm", + ["🇲🇩"] = "flag_md", + ["🇲🇨"] = "flag_mc", + ["🇲🇳"] = "flag_mn", + ["🇲🇪"] = "flag_me", + ["🇲🇸"] = "flag_ms", + ["🇲🇦"] = "flag_ma", + ["🇲🇿"] = "flag_mz", + ["🇲🇲"] = "flag_mm", + ["🇳🇦"] = "flag_na", + ["🇳🇷"] = "flag_nr", + ["🇳🇵"] = "flag_np", + ["🇳🇱"] = "flag_nl", + ["🇳🇨"] = "flag_nc", + ["🇳🇿"] = "flag_nz", + ["🇳🇮"] = "flag_ni", + ["🇳🇪"] = "flag_ne", + ["🇳🇬"] = "flag_ng", + ["🇳🇺"] = "flag_nu", + ["🇳🇫"] = "flag_nf", + ["🇰🇵"] = "flag_kp", + ["🇲🇵"] = "flag_mp", + ["🇳🇴"] = "flag_no", + ["🇴🇲"] = "flag_om", + ["🇵🇰"] = "flag_pk", + ["🇵🇼"] = "flag_pw", + ["🇵🇸"] = "flag_ps", + ["🇵🇦"] = "flag_pa", + ["🇵🇬"] = "flag_pg", + ["🇵🇾"] = "flag_py", + ["🇵🇪"] = "flag_pe", + ["🇵🇭"] = "flag_ph", + ["🇵🇳"] = "flag_pn", + ["🇵🇱"] = "flag_pl", + ["🇵🇹"] = "flag_pt", + ["🇵🇷"] = "flag_pr", + ["🇶🇦"] = "flag_qa", + ["🇷🇪"] = "flag_re", + ["🇷🇴"] = "flag_ro", + ["🇷🇺"] = "flag_ru", + ["🇷🇼"] = "flag_rw", + ["🇼🇸"] = "flag_ws", + ["🇸🇲"] = "flag_sm", + ["🇸🇹"] = "flag_st", + ["🇸🇦"] = "flag_sa", + ["🇸🇳"] = "flag_sn", + ["🇷🇸"] = "flag_rs", + ["🇸🇨"] = "flag_sc", + ["🇸🇱"] = "flag_sl", + ["🇸🇬"] = "flag_sg", + ["🇸🇽"] = "flag_sx", + ["🇸🇰"] = "flag_sk", + ["🇸🇮"] = "flag_si", + ["🇬🇸"] = "flag_gs", + ["🇸🇧"] = "flag_sb", + ["🇸🇴"] = "flag_so", + ["🇿🇦"] = "flag_za", + ["🇰🇷"] = "flag_kr", + ["🇸🇸"] = "flag_ss", + ["🇪🇸"] = "flag_es", + ["🇱🇰"] = "flag_lk", + ["🇧🇱"] = "flag_bl", + ["🇸🇭"] = "flag_sh", + ["🇰🇳"] = "flag_kn", + ["🇱🇨"] = "flag_lc", + ["🇵🇲"] = "flag_pm", + ["🇻🇨"] = "flag_vc", + ["🇸🇩"] = "flag_sd", + ["🇸🇷"] = "flag_sr", + ["🇸🇿"] = "flag_sz", + ["🇸🇪"] = "flag_se", + ["🇨🇭"] = "flag_ch", + ["🇸🇾"] = "flag_sy", + ["🇹🇼"] = "flag_tw", + ["🇹🇯"] = "flag_tj", + ["🇹🇿"] = "flag_tz", + ["🇹🇭"] = "flag_th", + ["🇹🇱"] = "flag_tl", + ["🇹🇬"] = "flag_tg", + ["🇹🇰"] = "flag_tk", + ["🇹🇴"] = "flag_to", + ["🇹🇹"] = "flag_tt", + ["🇹🇳"] = "flag_tn", + ["🇹🇷"] = "flag_tr", + ["🇹🇲"] = "flag_tm", + ["🇹🇨"] = "flag_tc", + ["🇻🇮"] = "flag_vi", + ["🇹🇻"] = "flag_tv", + ["🇺🇬"] = "flag_ug", + ["🇺🇦"] = "flag_ua", + ["🇦🇪"] = "flag_ae", + ["🇬🇧"] = "flag_gb", + ["🏴󠁧󠁢󠁥󠁮󠁧󠁿"] = "england", + ["🏴󠁧󠁢󠁳󠁣󠁴󠁿"] = "scotland", + ["🏴󠁧󠁢󠁷󠁬󠁳󠁿"] = "wales", + ["🇺🇸"] = "flag_us", + ["🇺🇾"] = "flag_uy", + ["🇺🇿"] = "flag_uz", + ["🇻🇺"] = "flag_vu", + ["🇻🇦"] = "flag_va", + ["🇻🇪"] = "flag_ve", + ["🇻🇳"] = "flag_vn", + ["🇼🇫"] = "flag_wf", + ["🇪🇭"] = "flag_eh", + ["🇾🇪"] = "flag_ye", + ["🇿🇲"] = "flag_zm", + ["🇿🇼"] = "flag_zw", + ["🇦🇨"] = "flag_ac", + ["🇧🇻"] = "flag_bv", + ["🇨🇵"] = "flag_cp", + ["🇪🇦"] = "flag_ea", + ["🇩🇬"] = "flag_dg", + ["🇭🇲"] = "flag_hm", + ["🇲🇫"] = "flag_mf", + ["🇸🇯"] = "flag_sj", + ["🇹🇦"] = "flag_ta", + ["🇺🇲"] = "flag_um", + ["🇺🇳"] = "united_nations" + }; - private static Dictionary _fromCodes = new(5000, StringComparer.Ordinal) - { - ["grinning"] = "😀", - ["smiley"] = "😃", - ["smile"] = "😄", - ["grin"] = "😁", - ["laughing"] = "😆", - ["satisfied"] = "😆", - ["sweat_smile"] = "😅", - ["joy"] = "😂", - ["rofl"] = "🤣", - ["rolling_on_the_floor_laughing"] = "🤣", - ["relaxed"] = "☺️", - ["blush"] = "😊", - ["innocent"] = "😇", - ["slight_smile"] = "🙂", - ["slightly_smiling_face"] = "🙂", - ["upside_down"] = "🙃", - ["upside_down_face"] = "🙃", - ["wink"] = "😉", - ["relieved"] = "😌", - ["smiling_face_with_tear"] = "🥲", - ["heart_eyes"] = "😍", - ["smiling_face_with_3_hearts"] = "🥰", - ["kissing_heart"] = "😘", - ["kissing"] = "😗", - ["kissing_smiling_eyes"] = "😙", - ["kissing_closed_eyes"] = "😚", - ["yum"] = "😋", - ["stuck_out_tongue"] = "😛", - ["stuck_out_tongue_closed_eyes"] = "😝", - ["stuck_out_tongue_winking_eye"] = "😜", - ["zany_face"] = "🤪", - ["face_with_raised_eyebrow"] = "🤨", - ["face_with_monocle"] = "🧐", - ["nerd"] = "🤓", - ["nerd_face"] = "🤓", - ["sunglasses"] = "😎", - ["star_struck"] = "🤩", - ["partying_face"] = "🥳", - ["smirk"] = "😏", - ["unamused"] = "😒", - ["disappointed"] = "😞", - ["pensive"] = "😔", - ["worried"] = "😟", - ["confused"] = "😕", - ["slight_frown"] = "🙁", - ["slightly_frowning_face"] = "🙁", - ["frowning2"] = "☹️", - ["white_frowning_face"] = "☹️", - ["persevere"] = "😣", - ["confounded"] = "😖", - ["tired_face"] = "😫", - ["weary"] = "😩", - ["pleading_face"] = "🥺", - ["cry"] = "😢", - ["sob"] = "😭", - ["triumph"] = "😤", - ["face_exhaling"] = "😮‍💨", - ["angry"] = "😠", - ["rage"] = "😡", - ["face_with_symbols_over_mouth"] = "🤬", - ["exploding_head"] = "🤯", - ["flushed"] = "😳", - ["face_in_clouds"] = "😶‍🌫️", - ["hot_face"] = "🥵", - ["cold_face"] = "🥶", - ["scream"] = "😱", - ["fearful"] = "😨", - ["cold_sweat"] = "😰", - ["disappointed_relieved"] = "😥", - ["sweat"] = "😓", - ["hugging"] = "🤗", - ["hugging_face"] = "🤗", - ["thinking"] = "🤔", - ["thinking_face"] = "🤔", - ["face_with_hand_over_mouth"] = "🤭", - ["yawning_face"] = "🥱", - ["shushing_face"] = "🤫", - ["lying_face"] = "🤥", - ["liar"] = "🤥", - ["no_mouth"] = "😶", - ["neutral_face"] = "😐", - ["expressionless"] = "😑", - ["grimacing"] = "😬", - ["rolling_eyes"] = "🙄", - ["face_with_rolling_eyes"] = "🙄", - ["hushed"] = "😯", - ["frowning"] = "😦", - ["anguished"] = "😧", - ["open_mouth"] = "😮", - ["astonished"] = "😲", - ["sleeping"] = "😴", - ["drooling_face"] = "🤤", - ["drool"] = "🤤", - ["sleepy"] = "😪", - ["dizzy_face"] = "😵", - ["face_with_spiral_eyes"] = "😵‍💫", - ["zipper_mouth"] = "🤐", - ["zipper_mouth_face"] = "🤐", - ["woozy_face"] = "🥴", - ["nauseated_face"] = "🤢", - ["sick"] = "🤢", - ["face_vomiting"] = "🤮", - ["sneezing_face"] = "🤧", - ["sneeze"] = "🤧", - ["mask"] = "😷", - ["thermometer_face"] = "🤒", - ["face_with_thermometer"] = "🤒", - ["head_bandage"] = "🤕", - ["face_with_head_bandage"] = "🤕", - ["money_mouth"] = "🤑", - ["money_mouth_face"] = "🤑", - ["cowboy"] = "🤠", - ["face_with_cowboy_hat"] = "🤠", - ["disguised_face"] = "🥸", - ["smiling_imp"] = "😈", - ["imp"] = "👿", - ["japanese_ogre"] = "👹", - ["japanese_goblin"] = "👺", - ["clown"] = "🤡", - ["clown_face"] = "🤡", - ["poop"] = "💩", - ["shit"] = "💩", - ["hankey"] = "💩", - ["poo"] = "💩", - ["ghost"] = "👻", - ["skull"] = "💀", - ["skeleton"] = "💀", - ["skull_crossbones"] = "☠️", - ["skull_and_crossbones"] = "☠️", - ["alien"] = "👽", - ["space_invader"] = "👾", - ["robot"] = "🤖", - ["robot_face"] = "🤖", - ["jack_o_lantern"] = "🎃", - ["smiley_cat"] = "😺", - ["smile_cat"] = "😸", - ["joy_cat"] = "😹", - ["heart_eyes_cat"] = "😻", - ["smirk_cat"] = "😼", - ["kissing_cat"] = "😽", - ["scream_cat"] = "🙀", - ["crying_cat_face"] = "😿", - ["pouting_cat"] = "😾", - ["palms_up_together"] = "🤲", - ["palms_up_together_tone1"] = "🤲🏻", - ["palms_up_together_light_skin_tone"] = "🤲🏻", - ["palms_up_together_tone2"] = "🤲🏼", - ["palms_up_together_medium_light_skin_tone"] = "🤲🏼", - ["palms_up_together_tone3"] = "🤲🏽", - ["palms_up_together_medium_skin_tone"] = "🤲🏽", - ["palms_up_together_tone4"] = "🤲🏾", - ["palms_up_together_medium_dark_skin_tone"] = "🤲🏾", - ["palms_up_together_tone5"] = "🤲🏿", - ["palms_up_together_dark_skin_tone"] = "🤲🏿", - ["open_hands"] = "👐", - ["open_hands_tone1"] = "👐🏻", - ["open_hands_tone2"] = "👐🏼", - ["open_hands_tone3"] = "👐🏽", - ["open_hands_tone4"] = "👐🏾", - ["open_hands_tone5"] = "👐🏿", - ["raised_hands"] = "🙌", - ["raised_hands_tone1"] = "🙌🏻", - ["raised_hands_tone2"] = "🙌🏼", - ["raised_hands_tone3"] = "🙌🏽", - ["raised_hands_tone4"] = "🙌🏾", - ["raised_hands_tone5"] = "🙌🏿", - ["clap"] = "👏", - ["clap_tone1"] = "👏🏻", - ["clap_tone2"] = "👏🏼", - ["clap_tone3"] = "👏🏽", - ["clap_tone4"] = "👏🏾", - ["clap_tone5"] = "👏🏿", - ["handshake"] = "🤝", - ["shaking_hands"] = "🤝", - ["thumbsup"] = "👍", - ["+1"] = "👍", - ["thumbup"] = "👍", - ["thumbsup_tone1"] = "👍🏻", - ["+1_tone1"] = "👍🏻", - ["thumbup_tone1"] = "👍🏻", - ["thumbsup_tone2"] = "👍🏼", - ["+1_tone2"] = "👍🏼", - ["thumbup_tone2"] = "👍🏼", - ["thumbsup_tone3"] = "👍🏽", - ["+1_tone3"] = "👍🏽", - ["thumbup_tone3"] = "👍🏽", - ["thumbsup_tone4"] = "👍🏾", - ["+1_tone4"] = "👍🏾", - ["thumbup_tone4"] = "👍🏾", - ["thumbsup_tone5"] = "👍🏿", - ["+1_tone5"] = "👍🏿", - ["thumbup_tone5"] = "👍🏿", - ["thumbsdown"] = "👎", - ["-1"] = "👎", - ["thumbdown"] = "👎", - ["thumbsdown_tone1"] = "👎🏻", - ["_1_tone1"] = "👎🏻", - ["thumbdown_tone1"] = "👎🏻", - ["thumbsdown_tone2"] = "👎🏼", - ["_1_tone2"] = "👎🏼", - ["thumbdown_tone2"] = "👎🏼", - ["thumbsdown_tone3"] = "👎🏽", - ["_1_tone3"] = "👎🏽", - ["thumbdown_tone3"] = "👎🏽", - ["thumbsdown_tone4"] = "👎🏾", - ["_1_tone4"] = "👎🏾", - ["thumbdown_tone4"] = "👎🏾", - ["thumbsdown_tone5"] = "👎🏿", - ["_1_tone5"] = "👎🏿", - ["thumbdown_tone5"] = "👎🏿", - ["punch"] = "👊", - ["punch_tone1"] = "👊🏻", - ["punch_tone2"] = "👊🏼", - ["punch_tone3"] = "👊🏽", - ["punch_tone4"] = "👊🏾", - ["punch_tone5"] = "👊🏿", - ["fist"] = "✊", - ["fist_tone1"] = "✊🏻", - ["fist_tone2"] = "✊🏼", - ["fist_tone3"] = "✊🏽", - ["fist_tone4"] = "✊🏾", - ["fist_tone5"] = "✊🏿", - ["left_facing_fist"] = "🤛", - ["left_fist"] = "🤛", - ["left_facing_fist_tone1"] = "🤛🏻", - ["left_fist_tone1"] = "🤛🏻", - ["left_facing_fist_tone2"] = "🤛🏼", - ["left_fist_tone2"] = "🤛🏼", - ["left_facing_fist_tone3"] = "🤛🏽", - ["left_fist_tone3"] = "🤛🏽", - ["left_facing_fist_tone4"] = "🤛🏾", - ["left_fist_tone4"] = "🤛🏾", - ["left_facing_fist_tone5"] = "🤛🏿", - ["left_fist_tone5"] = "🤛🏿", - ["right_facing_fist"] = "🤜", - ["right_fist"] = "🤜", - ["right_facing_fist_tone1"] = "🤜🏻", - ["right_fist_tone1"] = "🤜🏻", - ["right_facing_fist_tone2"] = "🤜🏼", - ["right_fist_tone2"] = "🤜🏼", - ["right_facing_fist_tone3"] = "🤜🏽", - ["right_fist_tone3"] = "🤜🏽", - ["right_facing_fist_tone4"] = "🤜🏾", - ["right_fist_tone4"] = "🤜🏾", - ["right_facing_fist_tone5"] = "🤜🏿", - ["right_fist_tone5"] = "🤜🏿", - ["fingers_crossed"] = "🤞", - ["hand_with_index_and_middle_finger_crossed"] = "🤞", - ["fingers_crossed_tone1"] = "🤞🏻", - ["hand_with_index_and_middle_fingers_crossed_tone1"] = "🤞🏻", - ["fingers_crossed_tone2"] = "🤞🏼", - ["hand_with_index_and_middle_fingers_crossed_tone2"] = "🤞🏼", - ["fingers_crossed_tone3"] = "🤞🏽", - ["hand_with_index_and_middle_fingers_crossed_tone3"] = "🤞🏽", - ["fingers_crossed_tone4"] = "🤞🏾", - ["hand_with_index_and_middle_fingers_crossed_tone4"] = "🤞🏾", - ["fingers_crossed_tone5"] = "🤞🏿", - ["hand_with_index_and_middle_fingers_crossed_tone5"] = "🤞🏿", - ["v"] = "✌️", - ["v_tone1"] = "✌🏻", - ["v_tone2"] = "✌🏼", - ["v_tone3"] = "✌🏽", - ["v_tone4"] = "✌🏾", - ["v_tone5"] = "✌🏿", - ["love_you_gesture"] = "🤟", - ["love_you_gesture_tone1"] = "🤟🏻", - ["love_you_gesture_light_skin_tone"] = "🤟🏻", - ["love_you_gesture_tone2"] = "🤟🏼", - ["love_you_gesture_medium_light_skin_tone"] = "🤟🏼", - ["love_you_gesture_tone3"] = "🤟🏽", - ["love_you_gesture_medium_skin_tone"] = "🤟🏽", - ["love_you_gesture_tone4"] = "🤟🏾", - ["love_you_gesture_medium_dark_skin_tone"] = "🤟🏾", - ["love_you_gesture_tone5"] = "🤟🏿", - ["love_you_gesture_dark_skin_tone"] = "🤟🏿", - ["metal"] = "🤘", - ["sign_of_the_horns"] = "🤘", - ["metal_tone1"] = "🤘🏻", - ["sign_of_the_horns_tone1"] = "🤘🏻", - ["metal_tone2"] = "🤘🏼", - ["sign_of_the_horns_tone2"] = "🤘🏼", - ["metal_tone3"] = "🤘🏽", - ["sign_of_the_horns_tone3"] = "🤘🏽", - ["metal_tone4"] = "🤘🏾", - ["sign_of_the_horns_tone4"] = "🤘🏾", - ["metal_tone5"] = "🤘🏿", - ["sign_of_the_horns_tone5"] = "🤘🏿", - ["ok_hand"] = "👌", - ["ok_hand_tone1"] = "👌🏻", - ["ok_hand_tone2"] = "👌🏼", - ["ok_hand_tone3"] = "👌🏽", - ["ok_hand_tone4"] = "👌🏾", - ["ok_hand_tone5"] = "👌🏿", - ["pinching_hand"] = "🤏", - ["pinching_hand_tone1"] = "🤏🏻", - ["pinching_hand_light_skin_tone"] = "🤏🏻", - ["pinching_hand_tone2"] = "🤏🏼", - ["pinching_hand_medium_light_skin_tone"] = "🤏🏼", - ["pinching_hand_tone3"] = "🤏🏽", - ["pinching_hand_medium_skin_tone"] = "🤏🏽", - ["pinching_hand_tone4"] = "🤏🏾", - ["pinching_hand_medium_dark_skin_tone"] = "🤏🏾", - ["pinching_hand_tone5"] = "🤏🏿", - ["pinching_hand_dark_skin_tone"] = "🤏🏿", - ["pinched_fingers"] = "🤌", - ["pinched_fingers_tone2"] = "🤌🏼", - ["pinched_fingers_medium_light_skin_tone"] = "🤌🏼", - ["pinched_fingers_tone1"] = "🤌🏻", - ["pinched_fingers_light_skin_tone"] = "🤌🏻", - ["pinched_fingers_tone3"] = "🤌🏽", - ["pinched_fingers_medium_skin_tone"] = "🤌🏽", - ["pinched_fingers_tone4"] = "🤌🏾", - ["pinched_fingers_medium_dark_skin_tone"] = "🤌🏾", - ["pinched_fingers_tone5"] = "🤌🏿", - ["pinched_fingers_dark_skin_tone"] = "🤌🏿", - ["point_left"] = "👈", - ["point_left_tone1"] = "👈🏻", - ["point_left_tone2"] = "👈🏼", - ["point_left_tone3"] = "👈🏽", - ["point_left_tone4"] = "👈🏾", - ["point_left_tone5"] = "👈🏿", - ["point_right"] = "👉", - ["point_right_tone1"] = "👉🏻", - ["point_right_tone2"] = "👉🏼", - ["point_right_tone3"] = "👉🏽", - ["point_right_tone4"] = "👉🏾", - ["point_right_tone5"] = "👉🏿", - ["point_up_2"] = "👆", - ["point_up_2_tone1"] = "👆🏻", - ["point_up_2_tone2"] = "👆🏼", - ["point_up_2_tone3"] = "👆🏽", - ["point_up_2_tone4"] = "👆🏾", - ["point_up_2_tone5"] = "👆🏿", - ["point_down"] = "👇", - ["point_down_tone1"] = "👇🏻", - ["point_down_tone2"] = "👇🏼", - ["point_down_tone3"] = "👇🏽", - ["point_down_tone4"] = "👇🏾", - ["point_down_tone5"] = "👇🏿", - ["point_up"] = "☝️", - ["point_up_tone1"] = "☝🏻", - ["point_up_tone2"] = "☝🏼", - ["point_up_tone3"] = "☝🏽", - ["point_up_tone4"] = "☝🏾", - ["point_up_tone5"] = "☝🏿", - ["raised_hand"] = "✋", - ["raised_hand_tone1"] = "✋🏻", - ["raised_hand_tone2"] = "✋🏼", - ["raised_hand_tone3"] = "✋🏽", - ["raised_hand_tone4"] = "✋🏾", - ["raised_hand_tone5"] = "✋🏿", - ["raised_back_of_hand"] = "🤚", - ["back_of_hand"] = "🤚", - ["raised_back_of_hand_tone1"] = "🤚🏻", - ["back_of_hand_tone1"] = "🤚🏻", - ["raised_back_of_hand_tone2"] = "🤚🏼", - ["back_of_hand_tone2"] = "🤚🏼", - ["raised_back_of_hand_tone3"] = "🤚🏽", - ["back_of_hand_tone3"] = "🤚🏽", - ["raised_back_of_hand_tone4"] = "🤚🏾", - ["back_of_hand_tone4"] = "🤚🏾", - ["raised_back_of_hand_tone5"] = "🤚🏿", - ["back_of_hand_tone5"] = "🤚🏿", - ["hand_splayed"] = "🖐️", - ["raised_hand_with_fingers_splayed"] = "🖐️", - ["hand_splayed_tone1"] = "🖐🏻", - ["raised_hand_with_fingers_splayed_tone1"] = "🖐🏻", - ["hand_splayed_tone2"] = "🖐🏼", - ["raised_hand_with_fingers_splayed_tone2"] = "🖐🏼", - ["hand_splayed_tone3"] = "🖐🏽", - ["raised_hand_with_fingers_splayed_tone3"] = "🖐🏽", - ["hand_splayed_tone4"] = "🖐🏾", - ["raised_hand_with_fingers_splayed_tone4"] = "🖐🏾", - ["hand_splayed_tone5"] = "🖐🏿", - ["raised_hand_with_fingers_splayed_tone5"] = "🖐🏿", - ["vulcan"] = "🖖", - ["raised_hand_with_part_between_middle_and_ring_fingers"] = "🖖", - ["vulcan_tone1"] = "🖖🏻", - ["raised_hand_with_part_between_middle_and_ring_fingers_tone1"] = "🖖🏻", - ["vulcan_tone2"] = "🖖🏼", - ["raised_hand_with_part_between_middle_and_ring_fingers_tone2"] = "🖖🏼", - ["vulcan_tone3"] = "🖖🏽", - ["raised_hand_with_part_between_middle_and_ring_fingers_tone3"] = "🖖🏽", - ["vulcan_tone4"] = "🖖🏾", - ["raised_hand_with_part_between_middle_and_ring_fingers_tone4"] = "🖖🏾", - ["vulcan_tone5"] = "🖖🏿", - ["raised_hand_with_part_between_middle_and_ring_fingers_tone5"] = "🖖🏿", - ["wave"] = "👋", - ["wave_tone1"] = "👋🏻", - ["wave_tone2"] = "👋🏼", - ["wave_tone3"] = "👋🏽", - ["wave_tone4"] = "👋🏾", - ["wave_tone5"] = "👋🏿", - ["call_me"] = "🤙", - ["call_me_hand"] = "🤙", - ["call_me_tone1"] = "🤙🏻", - ["call_me_hand_tone1"] = "🤙🏻", - ["call_me_tone2"] = "🤙🏼", - ["call_me_hand_tone2"] = "🤙🏼", - ["call_me_tone3"] = "🤙🏽", - ["call_me_hand_tone3"] = "🤙🏽", - ["call_me_tone4"] = "🤙🏾", - ["call_me_hand_tone4"] = "🤙🏾", - ["call_me_tone5"] = "🤙🏿", - ["call_me_hand_tone5"] = "🤙🏿", - ["muscle"] = "💪", - ["muscle_tone1"] = "💪🏻", - ["muscle_tone2"] = "💪🏼", - ["muscle_tone3"] = "💪🏽", - ["muscle_tone4"] = "💪🏾", - ["muscle_tone5"] = "💪🏿", - ["mechanical_arm"] = "🦾", - ["middle_finger"] = "🖕", - ["reversed_hand_with_middle_finger_extended"] = "🖕", - ["middle_finger_tone1"] = "🖕🏻", - ["reversed_hand_with_middle_finger_extended_tone1"] = "🖕🏻", - ["middle_finger_tone2"] = "🖕🏼", - ["reversed_hand_with_middle_finger_extended_tone2"] = "🖕🏼", - ["middle_finger_tone3"] = "🖕🏽", - ["reversed_hand_with_middle_finger_extended_tone3"] = "🖕🏽", - ["middle_finger_tone4"] = "🖕🏾", - ["reversed_hand_with_middle_finger_extended_tone4"] = "🖕🏾", - ["middle_finger_tone5"] = "🖕🏿", - ["reversed_hand_with_middle_finger_extended_tone5"] = "🖕🏿", - ["writing_hand"] = "✍️", - ["writing_hand_tone1"] = "✍🏻", - ["writing_hand_tone2"] = "✍🏼", - ["writing_hand_tone3"] = "✍🏽", - ["writing_hand_tone4"] = "✍🏾", - ["writing_hand_tone5"] = "✍🏿", - ["pray"] = "🙏", - ["pray_tone1"] = "🙏🏻", - ["pray_tone2"] = "🙏🏼", - ["pray_tone3"] = "🙏🏽", - ["pray_tone4"] = "🙏🏾", - ["pray_tone5"] = "🙏🏿", - ["foot"] = "🦶", - ["foot_tone1"] = "🦶🏻", - ["foot_light_skin_tone"] = "🦶🏻", - ["foot_tone2"] = "🦶🏼", - ["foot_medium_light_skin_tone"] = "🦶🏼", - ["foot_tone3"] = "🦶🏽", - ["foot_medium_skin_tone"] = "🦶🏽", - ["foot_tone4"] = "🦶🏾", - ["foot_medium_dark_skin_tone"] = "🦶🏾", - ["foot_tone5"] = "🦶🏿", - ["foot_dark_skin_tone"] = "🦶🏿", - ["leg"] = "🦵", - ["leg_tone1"] = "🦵🏻", - ["leg_light_skin_tone"] = "🦵🏻", - ["leg_tone2"] = "🦵🏼", - ["leg_medium_light_skin_tone"] = "🦵🏼", - ["leg_tone3"] = "🦵🏽", - ["leg_medium_skin_tone"] = "🦵🏽", - ["leg_tone4"] = "🦵🏾", - ["leg_medium_dark_skin_tone"] = "🦵🏾", - ["leg_tone5"] = "🦵🏿", - ["leg_dark_skin_tone"] = "🦵🏿", - ["mechanical_leg"] = "🦿", - ["lipstick"] = "💄", - ["kiss"] = "💋", - ["lips"] = "👄", - ["tooth"] = "🦷", - ["tongue"] = "👅", - ["ear"] = "👂", - ["ear_tone1"] = "👂🏻", - ["ear_tone2"] = "👂🏼", - ["ear_tone3"] = "👂🏽", - ["ear_tone4"] = "👂🏾", - ["ear_tone5"] = "👂🏿", - ["ear_with_hearing_aid"] = "🦻", - ["ear_with_hearing_aid_tone1"] = "🦻🏻", - ["ear_with_hearing_aid_light_skin_tone"] = "🦻🏻", - ["ear_with_hearing_aid_tone2"] = "🦻🏼", - ["ear_with_hearing_aid_medium_light_skin_tone"] = "🦻🏼", - ["ear_with_hearing_aid_tone3"] = "🦻🏽", - ["ear_with_hearing_aid_medium_skin_tone"] = "🦻🏽", - ["ear_with_hearing_aid_tone4"] = "🦻🏾", - ["ear_with_hearing_aid_medium_dark_skin_tone"] = "🦻🏾", - ["ear_with_hearing_aid_tone5"] = "🦻🏿", - ["ear_with_hearing_aid_dark_skin_tone"] = "🦻🏿", - ["nose"] = "👃", - ["nose_tone1"] = "👃🏻", - ["nose_tone2"] = "👃🏼", - ["nose_tone3"] = "👃🏽", - ["nose_tone4"] = "👃🏾", - ["nose_tone5"] = "👃🏿", - ["footprints"] = "👣", - ["eye"] = "👁️", - ["eyes"] = "👀", - ["brain"] = "🧠", - ["anatomical_heart"] = "🫀", - ["lungs"] = "🫁", - ["bone"] = "🦴", - ["speaking_head"] = "🗣️", - ["speaking_head_in_silhouette"] = "🗣️", - ["bust_in_silhouette"] = "👤", - ["busts_in_silhouette"] = "👥", - ["people_hugging"] = "🫂", - ["baby"] = "👶", - ["baby_tone1"] = "👶🏻", - ["baby_tone2"] = "👶🏼", - ["baby_tone3"] = "👶🏽", - ["baby_tone4"] = "👶🏾", - ["baby_tone5"] = "👶🏿", - ["girl"] = "👧", - ["girl_tone1"] = "👧🏻", - ["girl_tone2"] = "👧🏼", - ["girl_tone3"] = "👧🏽", - ["girl_tone4"] = "👧🏾", - ["girl_tone5"] = "👧🏿", - ["child"] = "🧒", - ["child_tone1"] = "🧒🏻", - ["child_light_skin_tone"] = "🧒🏻", - ["child_tone2"] = "🧒🏼", - ["child_medium_light_skin_tone"] = "🧒🏼", - ["child_tone3"] = "🧒🏽", - ["child_medium_skin_tone"] = "🧒🏽", - ["child_tone4"] = "🧒🏾", - ["child_medium_dark_skin_tone"] = "🧒🏾", - ["child_tone5"] = "🧒🏿", - ["child_dark_skin_tone"] = "🧒🏿", - ["boy"] = "👦", - ["boy_tone1"] = "👦🏻", - ["boy_tone2"] = "👦🏼", - ["boy_tone3"] = "👦🏽", - ["boy_tone4"] = "👦🏾", - ["boy_tone5"] = "👦🏿", - ["woman"] = "👩", - ["woman_tone1"] = "👩🏻", - ["woman_tone2"] = "👩🏼", - ["woman_tone3"] = "👩🏽", - ["woman_tone4"] = "👩🏾", - ["woman_tone5"] = "👩🏿", - ["adult"] = "🧑", - ["adult_tone1"] = "🧑🏻", - ["adult_light_skin_tone"] = "🧑🏻", - ["adult_tone2"] = "🧑🏼", - ["adult_medium_light_skin_tone"] = "🧑🏼", - ["adult_tone3"] = "🧑🏽", - ["adult_medium_skin_tone"] = "🧑🏽", - ["adult_tone4"] = "🧑🏾", - ["adult_medium_dark_skin_tone"] = "🧑🏾", - ["adult_tone5"] = "🧑🏿", - ["adult_dark_skin_tone"] = "🧑🏿", - ["man"] = "👨", - ["man_tone1"] = "👨🏻", - ["man_tone2"] = "👨🏼", - ["man_tone3"] = "👨🏽", - ["man_tone4"] = "👨🏾", - ["man_tone5"] = "👨🏿", - ["person_curly_hair"] = "🧑‍🦱", - ["person_tone1_curly_hair"] = "🧑🏻‍🦱", - ["person_light_skin_tone_curly_hair"] = "🧑🏻‍🦱", - ["person_tone2_curly_hair"] = "🧑🏼‍🦱", - ["person_medium_light_skin_tone_curly_hair"] = "🧑🏼‍🦱", - ["person_tone3_curly_hair"] = "🧑🏽‍🦱", - ["person_medium_skin_tone_curly_hair"] = "🧑🏽‍🦱", - ["person_tone4_curly_hair"] = "🧑🏾‍🦱", - ["person_medium_dark_skin_tone_curly_hair"] = "🧑🏾‍🦱", - ["person_tone5_curly_hair"] = "🧑🏿‍🦱", - ["person_dark_skin_tone_curly_hair"] = "🧑🏿‍🦱", - ["woman_curly_haired"] = "👩‍🦱", - ["woman_curly_haired_tone1"] = "👩🏻‍🦱", - ["woman_curly_haired_light_skin_tone"] = "👩🏻‍🦱", - ["woman_curly_haired_tone2"] = "👩🏼‍🦱", - ["woman_curly_haired_medium_light_skin_tone"] = "👩🏼‍🦱", - ["woman_curly_haired_tone3"] = "👩🏽‍🦱", - ["woman_curly_haired_medium_skin_tone"] = "👩🏽‍🦱", - ["woman_curly_haired_tone4"] = "👩🏾‍🦱", - ["woman_curly_haired_medium_dark_skin_tone"] = "👩🏾‍🦱", - ["woman_curly_haired_tone5"] = "👩🏿‍🦱", - ["woman_curly_haired_dark_skin_tone"] = "👩🏿‍🦱", - ["man_curly_haired"] = "👨‍🦱", - ["man_curly_haired_tone1"] = "👨🏻‍🦱", - ["man_curly_haired_light_skin_tone"] = "👨🏻‍🦱", - ["man_curly_haired_tone2"] = "👨🏼‍🦱", - ["man_curly_haired_medium_light_skin_tone"] = "👨🏼‍🦱", - ["man_curly_haired_tone3"] = "👨🏽‍🦱", - ["man_curly_haired_medium_skin_tone"] = "👨🏽‍🦱", - ["man_curly_haired_tone4"] = "👨🏾‍🦱", - ["man_curly_haired_medium_dark_skin_tone"] = "👨🏾‍🦱", - ["man_curly_haired_tone5"] = "👨🏿‍🦱", - ["man_curly_haired_dark_skin_tone"] = "👨🏿‍🦱", - ["person_red_hair"] = "🧑‍🦰", - ["person_tone1_red_hair"] = "🧑🏻‍🦰", - ["person_light_skin_tone_red_hair"] = "🧑🏻‍🦰", - ["person_tone2_red_hair"] = "🧑🏼‍🦰", - ["person_medium_light_skin_tone_red_hair"] = "🧑🏼‍🦰", - ["person_tone3_red_hair"] = "🧑🏽‍🦰", - ["person_medium_skin_tone_red_hair"] = "🧑🏽‍🦰", - ["person_tone4_red_hair"] = "🧑🏾‍🦰", - ["person_medium_dark_skin_tone_red_hair"] = "🧑🏾‍🦰", - ["person_tone5_red_hair"] = "🧑🏿‍🦰", - ["person_dark_skin_tone_red_hair"] = "🧑🏿‍🦰", - ["woman_red_haired"] = "👩‍🦰", - ["woman_red_haired_tone1"] = "👩🏻‍🦰", - ["woman_red_haired_light_skin_tone"] = "👩🏻‍🦰", - ["woman_red_haired_tone2"] = "👩🏼‍🦰", - ["woman_red_haired_medium_light_skin_tone"] = "👩🏼‍🦰", - ["woman_red_haired_tone3"] = "👩🏽‍🦰", - ["woman_red_haired_medium_skin_tone"] = "👩🏽‍🦰", - ["woman_red_haired_tone4"] = "👩🏾‍🦰", - ["woman_red_haired_medium_dark_skin_tone"] = "👩🏾‍🦰", - ["woman_red_haired_tone5"] = "👩🏿‍🦰", - ["woman_red_haired_dark_skin_tone"] = "👩🏿‍🦰", - ["man_red_haired"] = "👨‍🦰", - ["man_red_haired_tone1"] = "👨🏻‍🦰", - ["man_red_haired_light_skin_tone"] = "👨🏻‍🦰", - ["man_red_haired_tone2"] = "👨🏼‍🦰", - ["man_red_haired_medium_light_skin_tone"] = "👨🏼‍🦰", - ["man_red_haired_tone3"] = "👨🏽‍🦰", - ["man_red_haired_medium_skin_tone"] = "👨🏽‍🦰", - ["man_red_haired_tone4"] = "👨🏾‍🦰", - ["man_red_haired_medium_dark_skin_tone"] = "👨🏾‍🦰", - ["man_red_haired_tone5"] = "👨🏿‍🦰", - ["man_red_haired_dark_skin_tone"] = "👨🏿‍🦰", - ["blond_haired_woman"] = "👱‍♀️", - ["blond_haired_woman_tone1"] = "👱🏻‍♀️", - ["blond_haired_woman_light_skin_tone"] = "👱🏻‍♀️", - ["blond_haired_woman_tone2"] = "👱🏼‍♀️", - ["blond_haired_woman_medium_light_skin_tone"] = "👱🏼‍♀️", - ["blond_haired_woman_tone3"] = "👱🏽‍♀️", - ["blond_haired_woman_medium_skin_tone"] = "👱🏽‍♀️", - ["blond_haired_woman_tone4"] = "👱🏾‍♀️", - ["blond_haired_woman_medium_dark_skin_tone"] = "👱🏾‍♀️", - ["blond_haired_woman_tone5"] = "👱🏿‍♀️", - ["blond_haired_woman_dark_skin_tone"] = "👱🏿‍♀️", - ["blond_haired_person"] = "👱", - ["person_with_blond_hair"] = "👱", - ["blond_haired_person_tone1"] = "👱🏻", - ["person_with_blond_hair_tone1"] = "👱🏻", - ["blond_haired_person_tone2"] = "👱🏼", - ["person_with_blond_hair_tone2"] = "👱🏼", - ["blond_haired_person_tone3"] = "👱🏽", - ["person_with_blond_hair_tone3"] = "👱🏽", - ["blond_haired_person_tone4"] = "👱🏾", - ["person_with_blond_hair_tone4"] = "👱🏾", - ["blond_haired_person_tone5"] = "👱🏿", - ["person_with_blond_hair_tone5"] = "👱🏿", - ["blond_haired_man"] = "👱‍♂️", - ["blond_haired_man_tone1"] = "👱🏻‍♂️", - ["blond_haired_man_light_skin_tone"] = "👱🏻‍♂️", - ["blond_haired_man_tone2"] = "👱🏼‍♂️", - ["blond_haired_man_medium_light_skin_tone"] = "👱🏼‍♂️", - ["blond_haired_man_tone3"] = "👱🏽‍♂️", - ["blond_haired_man_medium_skin_tone"] = "👱🏽‍♂️", - ["blond_haired_man_tone4"] = "👱🏾‍♂️", - ["blond_haired_man_medium_dark_skin_tone"] = "👱🏾‍♂️", - ["blond_haired_man_tone5"] = "👱🏿‍♂️", - ["blond_haired_man_dark_skin_tone"] = "👱🏿‍♂️", - ["person_white_hair"] = "🧑‍🦳", - ["person_tone1_white_hair"] = "🧑🏻‍🦳", - ["person_light_skin_tone_white_hair"] = "🧑🏻‍🦳", - ["person_tone2_white_hair"] = "🧑🏼‍🦳", - ["person_medium_light_skin_tone_white_hair"] = "🧑🏼‍🦳", - ["person_tone3_white_hair"] = "🧑🏽‍🦳", - ["person_medium_skin_tone_white_hair"] = "🧑🏽‍🦳", - ["person_tone4_white_hair"] = "🧑🏾‍🦳", - ["person_medium_dark_skin_tone_white_hair"] = "🧑🏾‍🦳", - ["person_tone5_white_hair"] = "🧑🏿‍🦳", - ["person_dark_skin_tone_white_hair"] = "🧑🏿‍🦳", - ["woman_white_haired"] = "👩‍🦳", - ["woman_white_haired_tone1"] = "👩🏻‍🦳", - ["woman_white_haired_light_skin_tone"] = "👩🏻‍🦳", - ["woman_white_haired_tone2"] = "👩🏼‍🦳", - ["woman_white_haired_medium_light_skin_tone"] = "👩🏼‍🦳", - ["woman_white_haired_tone3"] = "👩🏽‍🦳", - ["woman_white_haired_medium_skin_tone"] = "👩🏽‍🦳", - ["woman_white_haired_tone4"] = "👩🏾‍🦳", - ["woman_white_haired_medium_dark_skin_tone"] = "👩🏾‍🦳", - ["woman_white_haired_tone5"] = "👩🏿‍🦳", - ["woman_white_haired_dark_skin_tone"] = "👩🏿‍🦳", - ["man_white_haired"] = "👨‍🦳", - ["man_white_haired_tone1"] = "👨🏻‍🦳", - ["man_white_haired_light_skin_tone"] = "👨🏻‍🦳", - ["man_white_haired_tone2"] = "👨🏼‍🦳", - ["man_white_haired_medium_light_skin_tone"] = "👨🏼‍🦳", - ["man_white_haired_tone3"] = "👨🏽‍🦳", - ["man_white_haired_medium_skin_tone"] = "👨🏽‍🦳", - ["man_white_haired_tone4"] = "👨🏾‍🦳", - ["man_white_haired_medium_dark_skin_tone"] = "👨🏾‍🦳", - ["man_white_haired_tone5"] = "👨🏿‍🦳", - ["man_white_haired_dark_skin_tone"] = "👨🏿‍🦳", - ["person_bald"] = "🧑‍🦲", - ["person_tone1_bald"] = "🧑🏻‍🦲", - ["person_light_skin_tone_bald"] = "🧑🏻‍🦲", - ["person_tone2_bald"] = "🧑🏼‍🦲", - ["person_medium_light_skin_tone_bald"] = "🧑🏼‍🦲", - ["person_tone3_bald"] = "🧑🏽‍🦲", - ["person_medium_skin_tone_bald"] = "🧑🏽‍🦲", - ["person_tone4_bald"] = "🧑🏾‍🦲", - ["person_medium_dark_skin_tone_bald"] = "🧑🏾‍🦲", - ["person_tone5_bald"] = "🧑🏿‍🦲", - ["person_dark_skin_tone_bald"] = "🧑🏿‍🦲", - ["woman_bald"] = "👩‍🦲", - ["woman_bald_tone1"] = "👩🏻‍🦲", - ["woman_bald_light_skin_tone"] = "👩🏻‍🦲", - ["woman_bald_tone2"] = "👩🏼‍🦲", - ["woman_bald_medium_light_skin_tone"] = "👩🏼‍🦲", - ["woman_bald_tone3"] = "👩🏽‍🦲", - ["woman_bald_medium_skin_tone"] = "👩🏽‍🦲", - ["woman_bald_tone4"] = "👩🏾‍🦲", - ["woman_bald_medium_dark_skin_tone"] = "👩🏾‍🦲", - ["woman_bald_tone5"] = "👩🏿‍🦲", - ["woman_bald_dark_skin_tone"] = "👩🏿‍🦲", - ["man_bald"] = "👨‍🦲", - ["man_bald_tone1"] = "👨🏻‍🦲", - ["man_bald_light_skin_tone"] = "👨🏻‍🦲", - ["man_bald_tone2"] = "👨🏼‍🦲", - ["man_bald_medium_light_skin_tone"] = "👨🏼‍🦲", - ["man_bald_tone3"] = "👨🏽‍🦲", - ["man_bald_medium_skin_tone"] = "👨🏽‍🦲", - ["man_bald_tone4"] = "👨🏾‍🦲", - ["man_bald_medium_dark_skin_tone"] = "👨🏾‍🦲", - ["man_bald_tone5"] = "👨🏿‍🦲", - ["man_bald_dark_skin_tone"] = "👨🏿‍🦲", - ["bearded_person"] = "🧔", - ["bearded_person_tone1"] = "🧔🏻", - ["bearded_person_light_skin_tone"] = "🧔🏻", - ["bearded_person_tone2"] = "🧔🏼", - ["bearded_person_medium_light_skin_tone"] = "🧔🏼", - ["bearded_person_tone3"] = "🧔🏽", - ["bearded_person_medium_skin_tone"] = "🧔🏽", - ["bearded_person_tone4"] = "🧔🏾", - ["bearded_person_medium_dark_skin_tone"] = "🧔🏾", - ["bearded_person_tone5"] = "🧔🏿", - ["bearded_person_dark_skin_tone"] = "🧔🏿", - ["man_beard"] = "🧔‍♂️", - ["man_tone1_beard"] = "🧔🏻‍♂️", - ["man_light_skin_tone_beard"] = "🧔🏻‍♂️", - ["man_tone2_beard"] = "🧔🏼‍♂️", - ["man_medium_light_skin_tone_beard"] = "🧔🏼‍♂️", - ["man_tone3_beard"] = "🧔🏽‍♂️", - ["man_medium_skin_tone_beard"] = "🧔🏽‍♂️", - ["man_tone4_beard"] = "🧔🏾‍♂️", - ["man_medium_dark_skin_tone_beard"] = "🧔🏾‍♂️", - ["man_tone5_beard"] = "🧔🏿‍♂️", - ["man_dark_skin_tone_beard"] = "🧔🏿‍♂️", - ["woman_beard"] = "🧔‍♀️", - ["woman_tone1_beard"] = "🧔🏻‍♀️", - ["woman_light_skin_tone_beard"] = "🧔🏻‍♀️", - ["woman_tone2_beard"] = "🧔🏼‍♀️", - ["woman_medium_light_skin_tone_beard"] = "🧔🏼‍♀️", - ["woman_tone3_beard"] = "🧔🏽‍♀️", - ["woman_medium_skin_tone_beard"] = "🧔🏽‍♀️", - ["woman_tone4_beard"] = "🧔🏾‍♀️", - ["woman_medium_dark_skin_tone_beard"] = "🧔🏾‍♀️", - ["woman_tone5_beard"] = "🧔🏿‍♀️", - ["woman_dark_skin_tone_beard"] = "🧔🏿‍♀️", - ["older_woman"] = "👵", - ["grandma"] = "👵", - ["older_woman_tone1"] = "👵🏻", - ["grandma_tone1"] = "👵🏻", - ["older_woman_tone2"] = "👵🏼", - ["grandma_tone2"] = "👵🏼", - ["older_woman_tone3"] = "👵🏽", - ["grandma_tone3"] = "👵🏽", - ["older_woman_tone4"] = "👵🏾", - ["grandma_tone4"] = "👵🏾", - ["older_woman_tone5"] = "👵🏿", - ["grandma_tone5"] = "👵🏿", - ["older_adult"] = "🧓", - ["older_adult_tone1"] = "🧓🏻", - ["older_adult_light_skin_tone"] = "🧓🏻", - ["older_adult_tone2"] = "🧓🏼", - ["older_adult_medium_light_skin_tone"] = "🧓🏼", - ["older_adult_tone3"] = "🧓🏽", - ["older_adult_medium_skin_tone"] = "🧓🏽", - ["older_adult_tone4"] = "🧓🏾", - ["older_adult_medium_dark_skin_tone"] = "🧓🏾", - ["older_adult_tone5"] = "🧓🏿", - ["older_adult_dark_skin_tone"] = "🧓🏿", - ["older_man"] = "👴", - ["older_man_tone1"] = "👴🏻", - ["older_man_tone2"] = "👴🏼", - ["older_man_tone3"] = "👴🏽", - ["older_man_tone4"] = "👴🏾", - ["older_man_tone5"] = "👴🏿", - ["man_with_chinese_cap"] = "👲", - ["man_with_gua_pi_mao"] = "👲", - ["man_with_chinese_cap_tone1"] = "👲🏻", - ["man_with_gua_pi_mao_tone1"] = "👲🏻", - ["man_with_chinese_cap_tone2"] = "👲🏼", - ["man_with_gua_pi_mao_tone2"] = "👲🏼", - ["man_with_chinese_cap_tone3"] = "👲🏽", - ["man_with_gua_pi_mao_tone3"] = "👲🏽", - ["man_with_chinese_cap_tone4"] = "👲🏾", - ["man_with_gua_pi_mao_tone4"] = "👲🏾", - ["man_with_chinese_cap_tone5"] = "👲🏿", - ["man_with_gua_pi_mao_tone5"] = "👲🏿", - ["person_wearing_turban"] = "👳", - ["man_with_turban"] = "👳", - ["person_wearing_turban_tone1"] = "👳🏻", - ["man_with_turban_tone1"] = "👳🏻", - ["person_wearing_turban_tone2"] = "👳🏼", - ["man_with_turban_tone2"] = "👳🏼", - ["person_wearing_turban_tone3"] = "👳🏽", - ["man_with_turban_tone3"] = "👳🏽", - ["person_wearing_turban_tone4"] = "👳🏾", - ["man_with_turban_tone4"] = "👳🏾", - ["person_wearing_turban_tone5"] = "👳🏿", - ["man_with_turban_tone5"] = "👳🏿", - ["woman_wearing_turban"] = "👳‍♀️", - ["woman_wearing_turban_tone1"] = "👳🏻‍♀️", - ["woman_wearing_turban_light_skin_tone"] = "👳🏻‍♀️", - ["woman_wearing_turban_tone2"] = "👳🏼‍♀️", - ["woman_wearing_turban_medium_light_skin_tone"] = "👳🏼‍♀️", - ["woman_wearing_turban_tone3"] = "👳🏽‍♀️", - ["woman_wearing_turban_medium_skin_tone"] = "👳🏽‍♀️", - ["woman_wearing_turban_tone4"] = "👳🏾‍♀️", - ["woman_wearing_turban_medium_dark_skin_tone"] = "👳🏾‍♀️", - ["woman_wearing_turban_tone5"] = "👳🏿‍♀️", - ["woman_wearing_turban_dark_skin_tone"] = "👳🏿‍♀️", - ["man_wearing_turban"] = "👳‍♂️", - ["man_wearing_turban_tone1"] = "👳🏻‍♂️", - ["man_wearing_turban_light_skin_tone"] = "👳🏻‍♂️", - ["man_wearing_turban_tone2"] = "👳🏼‍♂️", - ["man_wearing_turban_medium_light_skin_tone"] = "👳🏼‍♂️", - ["man_wearing_turban_tone3"] = "👳🏽‍♂️", - ["man_wearing_turban_medium_skin_tone"] = "👳🏽‍♂️", - ["man_wearing_turban_tone4"] = "👳🏾‍♂️", - ["man_wearing_turban_medium_dark_skin_tone"] = "👳🏾‍♂️", - ["man_wearing_turban_tone5"] = "👳🏿‍♂️", - ["man_wearing_turban_dark_skin_tone"] = "👳🏿‍♂️", - ["woman_with_headscarf"] = "🧕", - ["woman_with_headscarf_tone1"] = "🧕🏻", - ["woman_with_headscarf_light_skin_tone"] = "🧕🏻", - ["woman_with_headscarf_tone2"] = "🧕🏼", - ["woman_with_headscarf_medium_light_skin_tone"] = "🧕🏼", - ["woman_with_headscarf_tone3"] = "🧕🏽", - ["woman_with_headscarf_medium_skin_tone"] = "🧕🏽", - ["woman_with_headscarf_tone4"] = "🧕🏾", - ["woman_with_headscarf_medium_dark_skin_tone"] = "🧕🏾", - ["woman_with_headscarf_tone5"] = "🧕🏿", - ["woman_with_headscarf_dark_skin_tone"] = "🧕🏿", - ["police_officer"] = "👮", - ["cop"] = "👮", - ["police_officer_tone1"] = "👮🏻", - ["cop_tone1"] = "👮🏻", - ["police_officer_tone2"] = "👮🏼", - ["cop_tone2"] = "👮🏼", - ["police_officer_tone3"] = "👮🏽", - ["cop_tone3"] = "👮🏽", - ["police_officer_tone4"] = "👮🏾", - ["cop_tone4"] = "👮🏾", - ["police_officer_tone5"] = "👮🏿", - ["cop_tone5"] = "👮🏿", - ["woman_police_officer"] = "👮‍♀️", - ["woman_police_officer_tone1"] = "👮🏻‍♀️", - ["woman_police_officer_light_skin_tone"] = "👮🏻‍♀️", - ["woman_police_officer_tone2"] = "👮🏼‍♀️", - ["woman_police_officer_medium_light_skin_tone"] = "👮🏼‍♀️", - ["woman_police_officer_tone3"] = "👮🏽‍♀️", - ["woman_police_officer_medium_skin_tone"] = "👮🏽‍♀️", - ["woman_police_officer_tone4"] = "👮🏾‍♀️", - ["woman_police_officer_medium_dark_skin_tone"] = "👮🏾‍♀️", - ["woman_police_officer_tone5"] = "👮🏿‍♀️", - ["woman_police_officer_dark_skin_tone"] = "👮🏿‍♀️", - ["man_police_officer"] = "👮‍♂️", - ["man_police_officer_tone1"] = "👮🏻‍♂️", - ["man_police_officer_light_skin_tone"] = "👮🏻‍♂️", - ["man_police_officer_tone2"] = "👮🏼‍♂️", - ["man_police_officer_medium_light_skin_tone"] = "👮🏼‍♂️", - ["man_police_officer_tone3"] = "👮🏽‍♂️", - ["man_police_officer_medium_skin_tone"] = "👮🏽‍♂️", - ["man_police_officer_tone4"] = "👮🏾‍♂️", - ["man_police_officer_medium_dark_skin_tone"] = "👮🏾‍♂️", - ["man_police_officer_tone5"] = "👮🏿‍♂️", - ["man_police_officer_dark_skin_tone"] = "👮🏿‍♂️", - ["construction_worker"] = "👷", - ["construction_worker_tone1"] = "👷🏻", - ["construction_worker_tone2"] = "👷🏼", - ["construction_worker_tone3"] = "👷🏽", - ["construction_worker_tone4"] = "👷🏾", - ["construction_worker_tone5"] = "👷🏿", - ["woman_construction_worker"] = "👷‍♀️", - ["woman_construction_worker_tone1"] = "👷🏻‍♀️", - ["woman_construction_worker_light_skin_tone"] = "👷🏻‍♀️", - ["woman_construction_worker_tone2"] = "👷🏼‍♀️", - ["woman_construction_worker_medium_light_skin_tone"] = "👷🏼‍♀️", - ["woman_construction_worker_tone3"] = "👷🏽‍♀️", - ["woman_construction_worker_medium_skin_tone"] = "👷🏽‍♀️", - ["woman_construction_worker_tone4"] = "👷🏾‍♀️", - ["woman_construction_worker_medium_dark_skin_tone"] = "👷🏾‍♀️", - ["woman_construction_worker_tone5"] = "👷🏿‍♀️", - ["woman_construction_worker_dark_skin_tone"] = "👷🏿‍♀️", - ["man_construction_worker"] = "👷‍♂️", - ["man_construction_worker_tone1"] = "👷🏻‍♂️", - ["man_construction_worker_light_skin_tone"] = "👷🏻‍♂️", - ["man_construction_worker_tone2"] = "👷🏼‍♂️", - ["man_construction_worker_medium_light_skin_tone"] = "👷🏼‍♂️", - ["man_construction_worker_tone3"] = "👷🏽‍♂️", - ["man_construction_worker_medium_skin_tone"] = "👷🏽‍♂️", - ["man_construction_worker_tone4"] = "👷🏾‍♂️", - ["man_construction_worker_medium_dark_skin_tone"] = "👷🏾‍♂️", - ["man_construction_worker_tone5"] = "👷🏿‍♂️", - ["man_construction_worker_dark_skin_tone"] = "👷🏿‍♂️", - ["guard"] = "💂", - ["guardsman"] = "💂", - ["guard_tone1"] = "💂🏻", - ["guardsman_tone1"] = "💂🏻", - ["guard_tone2"] = "💂🏼", - ["guardsman_tone2"] = "💂🏼", - ["guard_tone3"] = "💂🏽", - ["guardsman_tone3"] = "💂🏽", - ["guard_tone4"] = "💂🏾", - ["guardsman_tone4"] = "💂🏾", - ["guard_tone5"] = "💂🏿", - ["guardsman_tone5"] = "💂🏿", - ["woman_guard"] = "💂‍♀️", - ["woman_guard_tone1"] = "💂🏻‍♀️", - ["woman_guard_light_skin_tone"] = "💂🏻‍♀️", - ["woman_guard_tone2"] = "💂🏼‍♀️", - ["woman_guard_medium_light_skin_tone"] = "💂🏼‍♀️", - ["woman_guard_tone3"] = "💂🏽‍♀️", - ["woman_guard_medium_skin_tone"] = "💂🏽‍♀️", - ["woman_guard_tone4"] = "💂🏾‍♀️", - ["woman_guard_medium_dark_skin_tone"] = "💂🏾‍♀️", - ["woman_guard_tone5"] = "💂🏿‍♀️", - ["woman_guard_dark_skin_tone"] = "💂🏿‍♀️", - ["man_guard"] = "💂‍♂️", - ["man_guard_tone1"] = "💂🏻‍♂️", - ["man_guard_light_skin_tone"] = "💂🏻‍♂️", - ["man_guard_tone2"] = "💂🏼‍♂️", - ["man_guard_medium_light_skin_tone"] = "💂🏼‍♂️", - ["man_guard_tone3"] = "💂🏽‍♂️", - ["man_guard_medium_skin_tone"] = "💂🏽‍♂️", - ["man_guard_tone4"] = "💂🏾‍♂️", - ["man_guard_medium_dark_skin_tone"] = "💂🏾‍♂️", - ["man_guard_tone5"] = "💂🏿‍♂️", - ["man_guard_dark_skin_tone"] = "💂🏿‍♂️", - ["detective"] = "🕵️", - ["spy"] = "🕵️", - ["sleuth_or_spy"] = "🕵️", - ["detective_tone1"] = "🕵🏻", - ["spy_tone1"] = "🕵🏻", - ["sleuth_or_spy_tone1"] = "🕵🏻", - ["detective_tone2"] = "🕵🏼", - ["spy_tone2"] = "🕵🏼", - ["sleuth_or_spy_tone2"] = "🕵🏼", - ["detective_tone3"] = "🕵🏽", - ["spy_tone3"] = "🕵🏽", - ["sleuth_or_spy_tone3"] = "🕵🏽", - ["detective_tone4"] = "🕵🏾", - ["spy_tone4"] = "🕵🏾", - ["sleuth_or_spy_tone4"] = "🕵🏾", - ["detective_tone5"] = "🕵🏿", - ["spy_tone5"] = "🕵🏿", - ["sleuth_or_spy_tone5"] = "🕵🏿", - ["woman_detective"] = "🕵️‍♀️", - ["woman_detective_tone1"] = "🕵🏻‍♀️", - ["woman_detective_light_skin_tone"] = "🕵🏻‍♀️", - ["woman_detective_tone2"] = "🕵🏼‍♀️", - ["woman_detective_medium_light_skin_tone"] = "🕵🏼‍♀️", - ["woman_detective_tone3"] = "🕵🏽‍♀️", - ["woman_detective_medium_skin_tone"] = "🕵🏽‍♀️", - ["woman_detective_tone4"] = "🕵🏾‍♀️", - ["woman_detective_medium_dark_skin_tone"] = "🕵🏾‍♀️", - ["woman_detective_tone5"] = "🕵🏿‍♀️", - ["woman_detective_dark_skin_tone"] = "🕵🏿‍♀️", - ["man_detective"] = "🕵️‍♂️", - ["man_detective_tone1"] = "🕵🏻‍♂️", - ["man_detective_light_skin_tone"] = "🕵🏻‍♂️", - ["man_detective_tone2"] = "🕵🏼‍♂️", - ["man_detective_medium_light_skin_tone"] = "🕵🏼‍♂️", - ["man_detective_tone3"] = "🕵🏽‍♂️", - ["man_detective_medium_skin_tone"] = "🕵🏽‍♂️", - ["man_detective_tone4"] = "🕵🏾‍♂️", - ["man_detective_medium_dark_skin_tone"] = "🕵🏾‍♂️", - ["man_detective_tone5"] = "🕵🏿‍♂️", - ["man_detective_dark_skin_tone"] = "🕵🏿‍♂️", - ["health_worker"] = "🧑‍⚕️", - ["health_worker_tone1"] = "🧑🏻‍⚕️", - ["health_worker_light_skin_tone"] = "🧑🏻‍⚕️", - ["health_worker_tone2"] = "🧑🏼‍⚕️", - ["health_worker_medium_light_skin_tone"] = "🧑🏼‍⚕️", - ["health_worker_tone3"] = "🧑🏽‍⚕️", - ["health_worker_medium_skin_tone"] = "🧑🏽‍⚕️", - ["health_worker_tone4"] = "🧑🏾‍⚕️", - ["health_worker_medium_dark_skin_tone"] = "🧑🏾‍⚕️", - ["health_worker_tone5"] = "🧑🏿‍⚕️", - ["health_worker_dark_skin_tone"] = "🧑🏿‍⚕️", - ["woman_health_worker"] = "👩‍⚕️", - ["woman_health_worker_tone1"] = "👩🏻‍⚕️", - ["woman_health_worker_light_skin_tone"] = "👩🏻‍⚕️", - ["woman_health_worker_tone2"] = "👩🏼‍⚕️", - ["woman_health_worker_medium_light_skin_tone"] = "👩🏼‍⚕️", - ["woman_health_worker_tone3"] = "👩🏽‍⚕️", - ["woman_health_worker_medium_skin_tone"] = "👩🏽‍⚕️", - ["woman_health_worker_tone4"] = "👩🏾‍⚕️", - ["woman_health_worker_medium_dark_skin_tone"] = "👩🏾‍⚕️", - ["woman_health_worker_tone5"] = "👩🏿‍⚕️", - ["woman_health_worker_dark_skin_tone"] = "👩🏿‍⚕️", - ["man_health_worker"] = "👨‍⚕️", - ["man_health_worker_tone1"] = "👨🏻‍⚕️", - ["man_health_worker_light_skin_tone"] = "👨🏻‍⚕️", - ["man_health_worker_tone2"] = "👨🏼‍⚕️", - ["man_health_worker_medium_light_skin_tone"] = "👨🏼‍⚕️", - ["man_health_worker_tone3"] = "👨🏽‍⚕️", - ["man_health_worker_medium_skin_tone"] = "👨🏽‍⚕️", - ["man_health_worker_tone4"] = "👨🏾‍⚕️", - ["man_health_worker_medium_dark_skin_tone"] = "👨🏾‍⚕️", - ["man_health_worker_tone5"] = "👨🏿‍⚕️", - ["man_health_worker_dark_skin_tone"] = "👨🏿‍⚕️", - ["farmer"] = "🧑‍🌾", - ["farmer_tone1"] = "🧑🏻‍🌾", - ["farmer_light_skin_tone"] = "🧑🏻‍🌾", - ["farmer_tone2"] = "🧑🏼‍🌾", - ["farmer_medium_light_skin_tone"] = "🧑🏼‍🌾", - ["farmer_tone3"] = "🧑🏽‍🌾", - ["farmer_medium_skin_tone"] = "🧑🏽‍🌾", - ["farmer_tone4"] = "🧑🏾‍🌾", - ["farmer_medium_dark_skin_tone"] = "🧑🏾‍🌾", - ["farmer_tone5"] = "🧑🏿‍🌾", - ["farmer_dark_skin_tone"] = "🧑🏿‍🌾", - ["woman_farmer"] = "👩‍🌾", - ["woman_farmer_tone1"] = "👩🏻‍🌾", - ["woman_farmer_light_skin_tone"] = "👩🏻‍🌾", - ["woman_farmer_tone2"] = "👩🏼‍🌾", - ["woman_farmer_medium_light_skin_tone"] = "👩🏼‍🌾", - ["woman_farmer_tone3"] = "👩🏽‍🌾", - ["woman_farmer_medium_skin_tone"] = "👩🏽‍🌾", - ["woman_farmer_tone4"] = "👩🏾‍🌾", - ["woman_farmer_medium_dark_skin_tone"] = "👩🏾‍🌾", - ["woman_farmer_tone5"] = "👩🏿‍🌾", - ["woman_farmer_dark_skin_tone"] = "👩🏿‍🌾", - ["man_farmer"] = "👨‍🌾", - ["man_farmer_tone1"] = "👨🏻‍🌾", - ["man_farmer_light_skin_tone"] = "👨🏻‍🌾", - ["man_farmer_tone2"] = "👨🏼‍🌾", - ["man_farmer_medium_light_skin_tone"] = "👨🏼‍🌾", - ["man_farmer_tone3"] = "👨🏽‍🌾", - ["man_farmer_medium_skin_tone"] = "👨🏽‍🌾", - ["man_farmer_tone4"] = "👨🏾‍🌾", - ["man_farmer_medium_dark_skin_tone"] = "👨🏾‍🌾", - ["man_farmer_tone5"] = "👨🏿‍🌾", - ["man_farmer_dark_skin_tone"] = "👨🏿‍🌾", - ["cook"] = "🧑‍🍳", - ["cook_tone1"] = "🧑🏻‍🍳", - ["cook_light_skin_tone"] = "🧑🏻‍🍳", - ["cook_tone2"] = "🧑🏼‍🍳", - ["cook_medium_light_skin_tone"] = "🧑🏼‍🍳", - ["cook_tone3"] = "🧑🏽‍🍳", - ["cook_medium_skin_tone"] = "🧑🏽‍🍳", - ["cook_tone4"] = "🧑🏾‍🍳", - ["cook_medium_dark_skin_tone"] = "🧑🏾‍🍳", - ["cook_tone5"] = "🧑🏿‍🍳", - ["cook_dark_skin_tone"] = "🧑🏿‍🍳", - ["woman_cook"] = "👩‍🍳", - ["woman_cook_tone1"] = "👩🏻‍🍳", - ["woman_cook_light_skin_tone"] = "👩🏻‍🍳", - ["woman_cook_tone2"] = "👩🏼‍🍳", - ["woman_cook_medium_light_skin_tone"] = "👩🏼‍🍳", - ["woman_cook_tone3"] = "👩🏽‍🍳", - ["woman_cook_medium_skin_tone"] = "👩🏽‍🍳", - ["woman_cook_tone4"] = "👩🏾‍🍳", - ["woman_cook_medium_dark_skin_tone"] = "👩🏾‍🍳", - ["woman_cook_tone5"] = "👩🏿‍🍳", - ["woman_cook_dark_skin_tone"] = "👩🏿‍🍳", - ["man_cook"] = "👨‍🍳", - ["man_cook_tone1"] = "👨🏻‍🍳", - ["man_cook_light_skin_tone"] = "👨🏻‍🍳", - ["man_cook_tone2"] = "👨🏼‍🍳", - ["man_cook_medium_light_skin_tone"] = "👨🏼‍🍳", - ["man_cook_tone3"] = "👨🏽‍🍳", - ["man_cook_medium_skin_tone"] = "👨🏽‍🍳", - ["man_cook_tone4"] = "👨🏾‍🍳", - ["man_cook_medium_dark_skin_tone"] = "👨🏾‍🍳", - ["man_cook_tone5"] = "👨🏿‍🍳", - ["man_cook_dark_skin_tone"] = "👨🏿‍🍳", - ["student"] = "🧑‍🎓", - ["student_tone1"] = "🧑🏻‍🎓", - ["student_light_skin_tone"] = "🧑🏻‍🎓", - ["student_tone2"] = "🧑🏼‍🎓", - ["student_medium_light_skin_tone"] = "🧑🏼‍🎓", - ["student_tone3"] = "🧑🏽‍🎓", - ["student_medium_skin_tone"] = "🧑🏽‍🎓", - ["student_tone4"] = "🧑🏾‍🎓", - ["student_medium_dark_skin_tone"] = "🧑🏾‍🎓", - ["student_tone5"] = "🧑🏿‍🎓", - ["student_dark_skin_tone"] = "🧑🏿‍🎓", - ["woman_student"] = "👩‍🎓", - ["woman_student_tone1"] = "👩🏻‍🎓", - ["woman_student_light_skin_tone"] = "👩🏻‍🎓", - ["woman_student_tone2"] = "👩🏼‍🎓", - ["woman_student_medium_light_skin_tone"] = "👩🏼‍🎓", - ["woman_student_tone3"] = "👩🏽‍🎓", - ["woman_student_medium_skin_tone"] = "👩🏽‍🎓", - ["woman_student_tone4"] = "👩🏾‍🎓", - ["woman_student_medium_dark_skin_tone"] = "👩🏾‍🎓", - ["woman_student_tone5"] = "👩🏿‍🎓", - ["woman_student_dark_skin_tone"] = "👩🏿‍🎓", - ["man_student"] = "👨‍🎓", - ["man_student_tone1"] = "👨🏻‍🎓", - ["man_student_light_skin_tone"] = "👨🏻‍🎓", - ["man_student_tone2"] = "👨🏼‍🎓", - ["man_student_medium_light_skin_tone"] = "👨🏼‍🎓", - ["man_student_tone3"] = "👨🏽‍🎓", - ["man_student_medium_skin_tone"] = "👨🏽‍🎓", - ["man_student_tone4"] = "👨🏾‍🎓", - ["man_student_medium_dark_skin_tone"] = "👨🏾‍🎓", - ["man_student_tone5"] = "👨🏿‍🎓", - ["man_student_dark_skin_tone"] = "👨🏿‍🎓", - ["singer"] = "🧑‍🎤", - ["singer_tone1"] = "🧑🏻‍🎤", - ["singer_light_skin_tone"] = "🧑🏻‍🎤", - ["singer_tone2"] = "🧑🏼‍🎤", - ["singer_medium_light_skin_tone"] = "🧑🏼‍🎤", - ["singer_tone3"] = "🧑🏽‍🎤", - ["singer_medium_skin_tone"] = "🧑🏽‍🎤", - ["singer_tone4"] = "🧑🏾‍🎤", - ["singer_medium_dark_skin_tone"] = "🧑🏾‍🎤", - ["singer_tone5"] = "🧑🏿‍🎤", - ["singer_dark_skin_tone"] = "🧑🏿‍🎤", - ["woman_singer"] = "👩‍🎤", - ["woman_singer_tone1"] = "👩🏻‍🎤", - ["woman_singer_light_skin_tone"] = "👩🏻‍🎤", - ["woman_singer_tone2"] = "👩🏼‍🎤", - ["woman_singer_medium_light_skin_tone"] = "👩🏼‍🎤", - ["woman_singer_tone3"] = "👩🏽‍🎤", - ["woman_singer_medium_skin_tone"] = "👩🏽‍🎤", - ["woman_singer_tone4"] = "👩🏾‍🎤", - ["woman_singer_medium_dark_skin_tone"] = "👩🏾‍🎤", - ["woman_singer_tone5"] = "👩🏿‍🎤", - ["woman_singer_dark_skin_tone"] = "👩🏿‍🎤", - ["man_singer"] = "👨‍🎤", - ["man_singer_tone1"] = "👨🏻‍🎤", - ["man_singer_light_skin_tone"] = "👨🏻‍🎤", - ["man_singer_tone2"] = "👨🏼‍🎤", - ["man_singer_medium_light_skin_tone"] = "👨🏼‍🎤", - ["man_singer_tone3"] = "👨🏽‍🎤", - ["man_singer_medium_skin_tone"] = "👨🏽‍🎤", - ["man_singer_tone4"] = "👨🏾‍🎤", - ["man_singer_medium_dark_skin_tone"] = "👨🏾‍🎤", - ["man_singer_tone5"] = "👨🏿‍🎤", - ["man_singer_dark_skin_tone"] = "👨🏿‍🎤", - ["teacher"] = "🧑‍🏫", - ["teacher_tone1"] = "🧑🏻‍🏫", - ["teacher_light_skin_tone"] = "🧑🏻‍🏫", - ["teacher_tone2"] = "🧑🏼‍🏫", - ["teacher_medium_light_skin_tone"] = "🧑🏼‍🏫", - ["teacher_tone3"] = "🧑🏽‍🏫", - ["teacher_medium_skin_tone"] = "🧑🏽‍🏫", - ["teacher_tone4"] = "🧑🏾‍🏫", - ["teacher_medium_dark_skin_tone"] = "🧑🏾‍🏫", - ["teacher_tone5"] = "🧑🏿‍🏫", - ["teacher_dark_skin_tone"] = "🧑🏿‍🏫", - ["woman_teacher"] = "👩‍🏫", - ["woman_teacher_tone1"] = "👩🏻‍🏫", - ["woman_teacher_light_skin_tone"] = "👩🏻‍🏫", - ["woman_teacher_tone2"] = "👩🏼‍🏫", - ["woman_teacher_medium_light_skin_tone"] = "👩🏼‍🏫", - ["woman_teacher_tone3"] = "👩🏽‍🏫", - ["woman_teacher_medium_skin_tone"] = "👩🏽‍🏫", - ["woman_teacher_tone4"] = "👩🏾‍🏫", - ["woman_teacher_medium_dark_skin_tone"] = "👩🏾‍🏫", - ["woman_teacher_tone5"] = "👩🏿‍🏫", - ["woman_teacher_dark_skin_tone"] = "👩🏿‍🏫", - ["man_teacher"] = "👨‍🏫", - ["man_teacher_tone1"] = "👨🏻‍🏫", - ["man_teacher_light_skin_tone"] = "👨🏻‍🏫", - ["man_teacher_tone2"] = "👨🏼‍🏫", - ["man_teacher_medium_light_skin_tone"] = "👨🏼‍🏫", - ["man_teacher_tone3"] = "👨🏽‍🏫", - ["man_teacher_medium_skin_tone"] = "👨🏽‍🏫", - ["man_teacher_tone4"] = "👨🏾‍🏫", - ["man_teacher_medium_dark_skin_tone"] = "👨🏾‍🏫", - ["man_teacher_tone5"] = "👨🏿‍🏫", - ["man_teacher_dark_skin_tone"] = "👨🏿‍🏫", - ["factory_worker"] = "🧑‍🏭", - ["factory_worker_tone1"] = "🧑🏻‍🏭", - ["factory_worker_light_skin_tone"] = "🧑🏻‍🏭", - ["factory_worker_tone2"] = "🧑🏼‍🏭", - ["factory_worker_medium_light_skin_tone"] = "🧑🏼‍🏭", - ["factory_worker_tone3"] = "🧑🏽‍🏭", - ["factory_worker_medium_skin_tone"] = "🧑🏽‍🏭", - ["factory_worker_tone4"] = "🧑🏾‍🏭", - ["factory_worker_medium_dark_skin_tone"] = "🧑🏾‍🏭", - ["factory_worker_tone5"] = "🧑🏿‍🏭", - ["factory_worker_dark_skin_tone"] = "🧑🏿‍🏭", - ["woman_factory_worker"] = "👩‍🏭", - ["woman_factory_worker_tone1"] = "👩🏻‍🏭", - ["woman_factory_worker_light_skin_tone"] = "👩🏻‍🏭", - ["woman_factory_worker_tone2"] = "👩🏼‍🏭", - ["woman_factory_worker_medium_light_skin_tone"] = "👩🏼‍🏭", - ["woman_factory_worker_tone3"] = "👩🏽‍🏭", - ["woman_factory_worker_medium_skin_tone"] = "👩🏽‍🏭", - ["woman_factory_worker_tone4"] = "👩🏾‍🏭", - ["woman_factory_worker_medium_dark_skin_tone"] = "👩🏾‍🏭", - ["woman_factory_worker_tone5"] = "👩🏿‍🏭", - ["woman_factory_worker_dark_skin_tone"] = "👩🏿‍🏭", - ["man_factory_worker"] = "👨‍🏭", - ["man_factory_worker_tone1"] = "👨🏻‍🏭", - ["man_factory_worker_light_skin_tone"] = "👨🏻‍🏭", - ["man_factory_worker_tone2"] = "👨🏼‍🏭", - ["man_factory_worker_medium_light_skin_tone"] = "👨🏼‍🏭", - ["man_factory_worker_tone3"] = "👨🏽‍🏭", - ["man_factory_worker_medium_skin_tone"] = "👨🏽‍🏭", - ["man_factory_worker_tone4"] = "👨🏾‍🏭", - ["man_factory_worker_medium_dark_skin_tone"] = "👨🏾‍🏭", - ["man_factory_worker_tone5"] = "👨🏿‍🏭", - ["man_factory_worker_dark_skin_tone"] = "👨🏿‍🏭", - ["technologist"] = "🧑‍💻", - ["technologist_tone1"] = "🧑🏻‍💻", - ["technologist_light_skin_tone"] = "🧑🏻‍💻", - ["technologist_tone2"] = "🧑🏼‍💻", - ["technologist_medium_light_skin_tone"] = "🧑🏼‍💻", - ["technologist_tone3"] = "🧑🏽‍💻", - ["technologist_medium_skin_tone"] = "🧑🏽‍💻", - ["technologist_tone4"] = "🧑🏾‍💻", - ["technologist_medium_dark_skin_tone"] = "🧑🏾‍💻", - ["technologist_tone5"] = "🧑🏿‍💻", - ["technologist_dark_skin_tone"] = "🧑🏿‍💻", - ["woman_technologist"] = "👩‍💻", - ["woman_technologist_tone1"] = "👩🏻‍💻", - ["woman_technologist_light_skin_tone"] = "👩🏻‍💻", - ["woman_technologist_tone2"] = "👩🏼‍💻", - ["woman_technologist_medium_light_skin_tone"] = "👩🏼‍💻", - ["woman_technologist_tone3"] = "👩🏽‍💻", - ["woman_technologist_medium_skin_tone"] = "👩🏽‍💻", - ["woman_technologist_tone4"] = "👩🏾‍💻", - ["woman_technologist_medium_dark_skin_tone"] = "👩🏾‍💻", - ["woman_technologist_tone5"] = "👩🏿‍💻", - ["woman_technologist_dark_skin_tone"] = "👩🏿‍💻", - ["man_technologist"] = "👨‍💻", - ["man_technologist_tone1"] = "👨🏻‍💻", - ["man_technologist_light_skin_tone"] = "👨🏻‍💻", - ["man_technologist_tone2"] = "👨🏼‍💻", - ["man_technologist_medium_light_skin_tone"] = "👨🏼‍💻", - ["man_technologist_tone3"] = "👨🏽‍💻", - ["man_technologist_medium_skin_tone"] = "👨🏽‍💻", - ["man_technologist_tone4"] = "👨🏾‍💻", - ["man_technologist_medium_dark_skin_tone"] = "👨🏾‍💻", - ["man_technologist_tone5"] = "👨🏿‍💻", - ["man_technologist_dark_skin_tone"] = "👨🏿‍💻", - ["office_worker"] = "🧑‍💼", - ["office_worker_tone1"] = "🧑🏻‍💼", - ["office_worker_light_skin_tone"] = "🧑🏻‍💼", - ["office_worker_tone2"] = "🧑🏼‍💼", - ["office_worker_medium_light_skin_tone"] = "🧑🏼‍💼", - ["office_worker_tone3"] = "🧑🏽‍💼", - ["office_worker_medium_skin_tone"] = "🧑🏽‍💼", - ["office_worker_tone4"] = "🧑🏾‍💼", - ["office_worker_medium_dark_skin_tone"] = "🧑🏾‍💼", - ["office_worker_tone5"] = "🧑🏿‍💼", - ["office_worker_dark_skin_tone"] = "🧑🏿‍💼", - ["woman_office_worker"] = "👩‍💼", - ["woman_office_worker_tone1"] = "👩🏻‍💼", - ["woman_office_worker_light_skin_tone"] = "👩🏻‍💼", - ["woman_office_worker_tone2"] = "👩🏼‍💼", - ["woman_office_worker_medium_light_skin_tone"] = "👩🏼‍💼", - ["woman_office_worker_tone3"] = "👩🏽‍💼", - ["woman_office_worker_medium_skin_tone"] = "👩🏽‍💼", - ["woman_office_worker_tone4"] = "👩🏾‍💼", - ["woman_office_worker_medium_dark_skin_tone"] = "👩🏾‍💼", - ["woman_office_worker_tone5"] = "👩🏿‍💼", - ["woman_office_worker_dark_skin_tone"] = "👩🏿‍💼", - ["man_office_worker"] = "👨‍💼", - ["man_office_worker_tone1"] = "👨🏻‍💼", - ["man_office_worker_light_skin_tone"] = "👨🏻‍💼", - ["man_office_worker_tone2"] = "👨🏼‍💼", - ["man_office_worker_medium_light_skin_tone"] = "👨🏼‍💼", - ["man_office_worker_tone3"] = "👨🏽‍💼", - ["man_office_worker_medium_skin_tone"] = "👨🏽‍💼", - ["man_office_worker_tone4"] = "👨🏾‍💼", - ["man_office_worker_medium_dark_skin_tone"] = "👨🏾‍💼", - ["man_office_worker_tone5"] = "👨🏿‍💼", - ["man_office_worker_dark_skin_tone"] = "👨🏿‍💼", - ["mechanic"] = "🧑‍🔧", - ["mechanic_tone1"] = "🧑🏻‍🔧", - ["mechanic_light_skin_tone"] = "🧑🏻‍🔧", - ["mechanic_tone2"] = "🧑🏼‍🔧", - ["mechanic_medium_light_skin_tone"] = "🧑🏼‍🔧", - ["mechanic_tone3"] = "🧑🏽‍🔧", - ["mechanic_medium_skin_tone"] = "🧑🏽‍🔧", - ["mechanic_tone4"] = "🧑🏾‍🔧", - ["mechanic_medium_dark_skin_tone"] = "🧑🏾‍🔧", - ["mechanic_tone5"] = "🧑🏿‍🔧", - ["mechanic_dark_skin_tone"] = "🧑🏿‍🔧", - ["woman_mechanic"] = "👩‍🔧", - ["woman_mechanic_tone1"] = "👩🏻‍🔧", - ["woman_mechanic_light_skin_tone"] = "👩🏻‍🔧", - ["woman_mechanic_tone2"] = "👩🏼‍🔧", - ["woman_mechanic_medium_light_skin_tone"] = "👩🏼‍🔧", - ["woman_mechanic_tone3"] = "👩🏽‍🔧", - ["woman_mechanic_medium_skin_tone"] = "👩🏽‍🔧", - ["woman_mechanic_tone4"] = "👩🏾‍🔧", - ["woman_mechanic_medium_dark_skin_tone"] = "👩🏾‍🔧", - ["woman_mechanic_tone5"] = "👩🏿‍🔧", - ["woman_mechanic_dark_skin_tone"] = "👩🏿‍🔧", - ["man_mechanic"] = "👨‍🔧", - ["man_mechanic_tone1"] = "👨🏻‍🔧", - ["man_mechanic_light_skin_tone"] = "👨🏻‍🔧", - ["man_mechanic_tone2"] = "👨🏼‍🔧", - ["man_mechanic_medium_light_skin_tone"] = "👨🏼‍🔧", - ["man_mechanic_tone3"] = "👨🏽‍🔧", - ["man_mechanic_medium_skin_tone"] = "👨🏽‍🔧", - ["man_mechanic_tone4"] = "👨🏾‍🔧", - ["man_mechanic_medium_dark_skin_tone"] = "👨🏾‍🔧", - ["man_mechanic_tone5"] = "👨🏿‍🔧", - ["man_mechanic_dark_skin_tone"] = "👨🏿‍🔧", - ["scientist"] = "🧑‍🔬", - ["scientist_tone1"] = "🧑🏻‍🔬", - ["scientist_light_skin_tone"] = "🧑🏻‍🔬", - ["scientist_tone2"] = "🧑🏼‍🔬", - ["scientist_medium_light_skin_tone"] = "🧑🏼‍🔬", - ["scientist_tone3"] = "🧑🏽‍🔬", - ["scientist_medium_skin_tone"] = "🧑🏽‍🔬", - ["scientist_tone4"] = "🧑🏾‍🔬", - ["scientist_medium_dark_skin_tone"] = "🧑🏾‍🔬", - ["scientist_tone5"] = "🧑🏿‍🔬", - ["scientist_dark_skin_tone"] = "🧑🏿‍🔬", - ["woman_scientist"] = "👩‍🔬", - ["woman_scientist_tone1"] = "👩🏻‍🔬", - ["woman_scientist_light_skin_tone"] = "👩🏻‍🔬", - ["woman_scientist_tone2"] = "👩🏼‍🔬", - ["woman_scientist_medium_light_skin_tone"] = "👩🏼‍🔬", - ["woman_scientist_tone3"] = "👩🏽‍🔬", - ["woman_scientist_medium_skin_tone"] = "👩🏽‍🔬", - ["woman_scientist_tone4"] = "👩🏾‍🔬", - ["woman_scientist_medium_dark_skin_tone"] = "👩🏾‍🔬", - ["woman_scientist_tone5"] = "👩🏿‍🔬", - ["woman_scientist_dark_skin_tone"] = "👩🏿‍🔬", - ["man_scientist"] = "👨‍🔬", - ["man_scientist_tone1"] = "👨🏻‍🔬", - ["man_scientist_light_skin_tone"] = "👨🏻‍🔬", - ["man_scientist_tone2"] = "👨🏼‍🔬", - ["man_scientist_medium_light_skin_tone"] = "👨🏼‍🔬", - ["man_scientist_tone3"] = "👨🏽‍🔬", - ["man_scientist_medium_skin_tone"] = "👨🏽‍🔬", - ["man_scientist_tone4"] = "👨🏾‍🔬", - ["man_scientist_medium_dark_skin_tone"] = "👨🏾‍🔬", - ["man_scientist_tone5"] = "👨🏿‍🔬", - ["man_scientist_dark_skin_tone"] = "👨🏿‍🔬", - ["artist"] = "🧑‍🎨", - ["artist_tone1"] = "🧑🏻‍🎨", - ["artist_light_skin_tone"] = "🧑🏻‍🎨", - ["artist_tone2"] = "🧑🏼‍🎨", - ["artist_medium_light_skin_tone"] = "🧑🏼‍🎨", - ["artist_tone3"] = "🧑🏽‍🎨", - ["artist_medium_skin_tone"] = "🧑🏽‍🎨", - ["artist_tone4"] = "🧑🏾‍🎨", - ["artist_medium_dark_skin_tone"] = "🧑🏾‍🎨", - ["artist_tone5"] = "🧑🏿‍🎨", - ["artist_dark_skin_tone"] = "🧑🏿‍🎨", - ["woman_artist"] = "👩‍🎨", - ["woman_artist_tone1"] = "👩🏻‍🎨", - ["woman_artist_light_skin_tone"] = "👩🏻‍🎨", - ["woman_artist_tone2"] = "👩🏼‍🎨", - ["woman_artist_medium_light_skin_tone"] = "👩🏼‍🎨", - ["woman_artist_tone3"] = "👩🏽‍🎨", - ["woman_artist_medium_skin_tone"] = "👩🏽‍🎨", - ["woman_artist_tone4"] = "👩🏾‍🎨", - ["woman_artist_medium_dark_skin_tone"] = "👩🏾‍🎨", - ["woman_artist_tone5"] = "👩🏿‍🎨", - ["woman_artist_dark_skin_tone"] = "👩🏿‍🎨", - ["man_artist"] = "👨‍🎨", - ["man_artist_tone1"] = "👨🏻‍🎨", - ["man_artist_light_skin_tone"] = "👨🏻‍🎨", - ["man_artist_tone2"] = "👨🏼‍🎨", - ["man_artist_medium_light_skin_tone"] = "👨🏼‍🎨", - ["man_artist_tone3"] = "👨🏽‍🎨", - ["man_artist_medium_skin_tone"] = "👨🏽‍🎨", - ["man_artist_tone4"] = "👨🏾‍🎨", - ["man_artist_medium_dark_skin_tone"] = "👨🏾‍🎨", - ["man_artist_tone5"] = "👨🏿‍🎨", - ["man_artist_dark_skin_tone"] = "👨🏿‍🎨", - ["firefighter"] = "🧑‍🚒", - ["firefighter_tone1"] = "🧑🏻‍🚒", - ["firefighter_light_skin_tone"] = "🧑🏻‍🚒", - ["firefighter_tone2"] = "🧑🏼‍🚒", - ["firefighter_medium_light_skin_tone"] = "🧑🏼‍🚒", - ["firefighter_tone3"] = "🧑🏽‍🚒", - ["firefighter_medium_skin_tone"] = "🧑🏽‍🚒", - ["firefighter_tone4"] = "🧑🏾‍🚒", - ["firefighter_medium_dark_skin_tone"] = "🧑🏾‍🚒", - ["firefighter_tone5"] = "🧑🏿‍🚒", - ["firefighter_dark_skin_tone"] = "🧑🏿‍🚒", - ["woman_firefighter"] = "👩‍🚒", - ["woman_firefighter_tone1"] = "👩🏻‍🚒", - ["woman_firefighter_light_skin_tone"] = "👩🏻‍🚒", - ["woman_firefighter_tone2"] = "👩🏼‍🚒", - ["woman_firefighter_medium_light_skin_tone"] = "👩🏼‍🚒", - ["woman_firefighter_tone3"] = "👩🏽‍🚒", - ["woman_firefighter_medium_skin_tone"] = "👩🏽‍🚒", - ["woman_firefighter_tone4"] = "👩🏾‍🚒", - ["woman_firefighter_medium_dark_skin_tone"] = "👩🏾‍🚒", - ["woman_firefighter_tone5"] = "👩🏿‍🚒", - ["woman_firefighter_dark_skin_tone"] = "👩🏿‍🚒", - ["man_firefighter"] = "👨‍🚒", - ["man_firefighter_tone1"] = "👨🏻‍🚒", - ["man_firefighter_light_skin_tone"] = "👨🏻‍🚒", - ["man_firefighter_tone2"] = "👨🏼‍🚒", - ["man_firefighter_medium_light_skin_tone"] = "👨🏼‍🚒", - ["man_firefighter_tone3"] = "👨🏽‍🚒", - ["man_firefighter_medium_skin_tone"] = "👨🏽‍🚒", - ["man_firefighter_tone4"] = "👨🏾‍🚒", - ["man_firefighter_medium_dark_skin_tone"] = "👨🏾‍🚒", - ["man_firefighter_tone5"] = "👨🏿‍🚒", - ["man_firefighter_dark_skin_tone"] = "👨🏿‍🚒", - ["pilot"] = "🧑‍✈️", - ["pilot_tone1"] = "🧑🏻‍✈️", - ["pilot_light_skin_tone"] = "🧑🏻‍✈️", - ["pilot_tone2"] = "🧑🏼‍✈️", - ["pilot_medium_light_skin_tone"] = "🧑🏼‍✈️", - ["pilot_tone3"] = "🧑🏽‍✈️", - ["pilot_medium_skin_tone"] = "🧑🏽‍✈️", - ["pilot_tone4"] = "🧑🏾‍✈️", - ["pilot_medium_dark_skin_tone"] = "🧑🏾‍✈️", - ["pilot_tone5"] = "🧑🏿‍✈️", - ["pilot_dark_skin_tone"] = "🧑🏿‍✈️", - ["woman_pilot"] = "👩‍✈️", - ["woman_pilot_tone1"] = "👩🏻‍✈️", - ["woman_pilot_light_skin_tone"] = "👩🏻‍✈️", - ["woman_pilot_tone2"] = "👩🏼‍✈️", - ["woman_pilot_medium_light_skin_tone"] = "👩🏼‍✈️", - ["woman_pilot_tone3"] = "👩🏽‍✈️", - ["woman_pilot_medium_skin_tone"] = "👩🏽‍✈️", - ["woman_pilot_tone4"] = "👩🏾‍✈️", - ["woman_pilot_medium_dark_skin_tone"] = "👩🏾‍✈️", - ["woman_pilot_tone5"] = "👩🏿‍✈️", - ["woman_pilot_dark_skin_tone"] = "👩🏿‍✈️", - ["man_pilot"] = "👨‍✈️", - ["man_pilot_tone1"] = "👨🏻‍✈️", - ["man_pilot_light_skin_tone"] = "👨🏻‍✈️", - ["man_pilot_tone2"] = "👨🏼‍✈️", - ["man_pilot_medium_light_skin_tone"] = "👨🏼‍✈️", - ["man_pilot_tone3"] = "👨🏽‍✈️", - ["man_pilot_medium_skin_tone"] = "👨🏽‍✈️", - ["man_pilot_tone4"] = "👨🏾‍✈️", - ["man_pilot_medium_dark_skin_tone"] = "👨🏾‍✈️", - ["man_pilot_tone5"] = "👨🏿‍✈️", - ["man_pilot_dark_skin_tone"] = "👨🏿‍✈️", - ["astronaut"] = "🧑‍🚀", - ["astronaut_tone1"] = "🧑🏻‍🚀", - ["astronaut_light_skin_tone"] = "🧑🏻‍🚀", - ["astronaut_tone2"] = "🧑🏼‍🚀", - ["astronaut_medium_light_skin_tone"] = "🧑🏼‍🚀", - ["astronaut_tone3"] = "🧑🏽‍🚀", - ["astronaut_medium_skin_tone"] = "🧑🏽‍🚀", - ["astronaut_tone4"] = "🧑🏾‍🚀", - ["astronaut_medium_dark_skin_tone"] = "🧑🏾‍🚀", - ["astronaut_tone5"] = "🧑🏿‍🚀", - ["astronaut_dark_skin_tone"] = "🧑🏿‍🚀", - ["woman_astronaut"] = "👩‍🚀", - ["woman_astronaut_tone1"] = "👩🏻‍🚀", - ["woman_astronaut_light_skin_tone"] = "👩🏻‍🚀", - ["woman_astronaut_tone2"] = "👩🏼‍🚀", - ["woman_astronaut_medium_light_skin_tone"] = "👩🏼‍🚀", - ["woman_astronaut_tone3"] = "👩🏽‍🚀", - ["woman_astronaut_medium_skin_tone"] = "👩🏽‍🚀", - ["woman_astronaut_tone4"] = "👩🏾‍🚀", - ["woman_astronaut_medium_dark_skin_tone"] = "👩🏾‍🚀", - ["woman_astronaut_tone5"] = "👩🏿‍🚀", - ["woman_astronaut_dark_skin_tone"] = "👩🏿‍🚀", - ["man_astronaut"] = "👨‍🚀", - ["man_astronaut_tone1"] = "👨🏻‍🚀", - ["man_astronaut_light_skin_tone"] = "👨🏻‍🚀", - ["man_astronaut_tone2"] = "👨🏼‍🚀", - ["man_astronaut_medium_light_skin_tone"] = "👨🏼‍🚀", - ["man_astronaut_tone3"] = "👨🏽‍🚀", - ["man_astronaut_medium_skin_tone"] = "👨🏽‍🚀", - ["man_astronaut_tone4"] = "👨🏾‍🚀", - ["man_astronaut_medium_dark_skin_tone"] = "👨🏾‍🚀", - ["man_astronaut_tone5"] = "👨🏿‍🚀", - ["man_astronaut_dark_skin_tone"] = "👨🏿‍🚀", - ["judge"] = "🧑‍⚖️", - ["judge_tone1"] = "🧑🏻‍⚖️", - ["judge_light_skin_tone"] = "🧑🏻‍⚖️", - ["judge_tone2"] = "🧑🏼‍⚖️", - ["judge_medium_light_skin_tone"] = "🧑🏼‍⚖️", - ["judge_tone3"] = "🧑🏽‍⚖️", - ["judge_medium_skin_tone"] = "🧑🏽‍⚖️", - ["judge_tone4"] = "🧑🏾‍⚖️", - ["judge_medium_dark_skin_tone"] = "🧑🏾‍⚖️", - ["judge_tone5"] = "🧑🏿‍⚖️", - ["judge_dark_skin_tone"] = "🧑🏿‍⚖️", - ["woman_judge"] = "👩‍⚖️", - ["woman_judge_tone1"] = "👩🏻‍⚖️", - ["woman_judge_light_skin_tone"] = "👩🏻‍⚖️", - ["woman_judge_tone2"] = "👩🏼‍⚖️", - ["woman_judge_medium_light_skin_tone"] = "👩🏼‍⚖️", - ["woman_judge_tone3"] = "👩🏽‍⚖️", - ["woman_judge_medium_skin_tone"] = "👩🏽‍⚖️", - ["woman_judge_tone4"] = "👩🏾‍⚖️", - ["woman_judge_medium_dark_skin_tone"] = "👩🏾‍⚖️", - ["woman_judge_tone5"] = "👩🏿‍⚖️", - ["woman_judge_dark_skin_tone"] = "👩🏿‍⚖️", - ["man_judge"] = "👨‍⚖️", - ["man_judge_tone1"] = "👨🏻‍⚖️", - ["man_judge_light_skin_tone"] = "👨🏻‍⚖️", - ["man_judge_tone2"] = "👨🏼‍⚖️", - ["man_judge_medium_light_skin_tone"] = "👨🏼‍⚖️", - ["man_judge_tone3"] = "👨🏽‍⚖️", - ["man_judge_medium_skin_tone"] = "👨🏽‍⚖️", - ["man_judge_tone4"] = "👨🏾‍⚖️", - ["man_judge_medium_dark_skin_tone"] = "👨🏾‍⚖️", - ["man_judge_tone5"] = "👨🏿‍⚖️", - ["man_judge_dark_skin_tone"] = "👨🏿‍⚖️", - ["person_with_veil"] = "👰", - ["person_with_veil_tone1"] = "👰🏻", - ["person_with_veil_tone2"] = "👰🏼", - ["person_with_veil_tone3"] = "👰🏽", - ["person_with_veil_tone4"] = "👰🏾", - ["person_with_veil_tone5"] = "👰🏿", - ["woman_with_veil"] = "👰‍♀️", - ["bride_with_veil"] = "👰‍♀️", - ["woman_with_veil_tone1"] = "👰🏻‍♀️", - ["woman_with_veil_light_skin_tone"] = "👰🏻‍♀️", - ["woman_with_veil_tone2"] = "👰🏼‍♀️", - ["woman_with_veil_medium_light_skin_tone"] = "👰🏼‍♀️", - ["woman_with_veil_tone3"] = "👰🏽‍♀️", - ["woman_with_veil_medium_skin_tone"] = "👰🏽‍♀️", - ["woman_with_veil_tone4"] = "👰🏾‍♀️", - ["woman_with_veil_medium_dark_skin_tone"] = "👰🏾‍♀️", - ["woman_with_veil_tone5"] = "👰🏿‍♀️", - ["woman_with_veil_dark_skin_tone"] = "👰🏿‍♀️", - ["man_with_veil"] = "👰‍♂️", - ["man_with_veil_tone1"] = "👰🏻‍♂️", - ["man_with_veil_light_skin_tone"] = "👰🏻‍♂️", - ["man_with_veil_tone2"] = "👰🏼‍♂️", - ["man_with_veil_medium_light_skin_tone"] = "👰🏼‍♂️", - ["man_with_veil_tone3"] = "👰🏽‍♂️", - ["man_with_veil_medium_skin_tone"] = "👰🏽‍♂️", - ["man_with_veil_tone4"] = "👰🏾‍♂️", - ["man_with_veil_medium_dark_skin_tone"] = "👰🏾‍♂️", - ["man_with_veil_tone5"] = "👰🏿‍♂️", - ["man_with_veil_dark_skin_tone"] = "👰🏿‍♂️", - ["person_in_tuxedo"] = "🤵", - ["person_in_tuxedo_tone1"] = "🤵🏻", - ["tuxedo_tone1"] = "🤵🏻", - ["person_in_tuxedo_tone2"] = "🤵🏼", - ["tuxedo_tone2"] = "🤵🏼", - ["person_in_tuxedo_tone3"] = "🤵🏽", - ["tuxedo_tone3"] = "🤵🏽", - ["person_in_tuxedo_tone4"] = "🤵🏾", - ["tuxedo_tone4"] = "🤵🏾", - ["person_in_tuxedo_tone5"] = "🤵🏿", - ["tuxedo_tone5"] = "🤵🏿", - ["woman_in_tuxedo"] = "🤵‍♀️", - ["woman_in_tuxedo_tone1"] = "🤵🏻‍♀️", - ["woman_in_tuxedo_light_skin_tone"] = "🤵🏻‍♀️", - ["woman_in_tuxedo_tone2"] = "🤵🏼‍♀️", - ["woman_in_tuxedo_medium_light_skin_tone"] = "🤵🏼‍♀️", - ["woman_in_tuxedo_tone3"] = "🤵🏽‍♀️", - ["woman_in_tuxedo_medium_skin_tone"] = "🤵🏽‍♀️", - ["woman_in_tuxedo_tone4"] = "🤵🏾‍♀️", - ["woman_in_tuxedo_medium_dark_skin_tone"] = "🤵🏾‍♀️", - ["woman_in_tuxedo_tone5"] = "🤵🏿‍♀️", - ["woman_in_tuxedo_dark_skin_tone"] = "🤵🏿‍♀️", - ["man_in_tuxedo"] = "🤵‍♂️", - ["man_in_tuxedo_tone1"] = "🤵🏻‍♂️", - ["man_in_tuxedo_light_skin_tone"] = "🤵🏻‍♂️", - ["man_in_tuxedo_tone2"] = "🤵🏼‍♂️", - ["man_in_tuxedo_medium_light_skin_tone"] = "🤵🏼‍♂️", - ["man_in_tuxedo_tone3"] = "🤵🏽‍♂️", - ["man_in_tuxedo_medium_skin_tone"] = "🤵🏽‍♂️", - ["man_in_tuxedo_tone4"] = "🤵🏾‍♂️", - ["man_in_tuxedo_medium_dark_skin_tone"] = "🤵🏾‍♂️", - ["man_in_tuxedo_tone5"] = "🤵🏿‍♂️", - ["man_in_tuxedo_dark_skin_tone"] = "🤵🏿‍♂️", - ["princess"] = "👸", - ["princess_tone1"] = "👸🏻", - ["princess_tone2"] = "👸🏼", - ["princess_tone3"] = "👸🏽", - ["princess_tone4"] = "👸🏾", - ["princess_tone5"] = "👸🏿", - ["prince"] = "🤴", - ["prince_tone1"] = "🤴🏻", - ["prince_tone2"] = "🤴🏼", - ["prince_tone3"] = "🤴🏽", - ["prince_tone4"] = "🤴🏾", - ["prince_tone5"] = "🤴🏿", - ["superhero"] = "🦸", - ["superhero_tone1"] = "🦸🏻", - ["superhero_light_skin_tone"] = "🦸🏻", - ["superhero_tone2"] = "🦸🏼", - ["superhero_medium_light_skin_tone"] = "🦸🏼", - ["superhero_tone3"] = "🦸🏽", - ["superhero_medium_skin_tone"] = "🦸🏽", - ["superhero_tone4"] = "🦸🏾", - ["superhero_medium_dark_skin_tone"] = "🦸🏾", - ["superhero_tone5"] = "🦸🏿", - ["superhero_dark_skin_tone"] = "🦸🏿", - ["woman_superhero"] = "🦸‍♀️", - ["woman_superhero_tone1"] = "🦸🏻‍♀️", - ["woman_superhero_light_skin_tone"] = "🦸🏻‍♀️", - ["woman_superhero_tone2"] = "🦸🏼‍♀️", - ["woman_superhero_medium_light_skin_tone"] = "🦸🏼‍♀️", - ["woman_superhero_tone3"] = "🦸🏽‍♀️", - ["woman_superhero_medium_skin_tone"] = "🦸🏽‍♀️", - ["woman_superhero_tone4"] = "🦸🏾‍♀️", - ["woman_superhero_medium_dark_skin_tone"] = "🦸🏾‍♀️", - ["woman_superhero_tone5"] = "🦸🏿‍♀️", - ["woman_superhero_dark_skin_tone"] = "🦸🏿‍♀️", - ["man_superhero"] = "🦸‍♂️", - ["man_superhero_tone1"] = "🦸🏻‍♂️", - ["man_superhero_light_skin_tone"] = "🦸🏻‍♂️", - ["man_superhero_tone2"] = "🦸🏼‍♂️", - ["man_superhero_medium_light_skin_tone"] = "🦸🏼‍♂️", - ["man_superhero_tone3"] = "🦸🏽‍♂️", - ["man_superhero_medium_skin_tone"] = "🦸🏽‍♂️", - ["man_superhero_tone4"] = "🦸🏾‍♂️", - ["man_superhero_medium_dark_skin_tone"] = "🦸🏾‍♂️", - ["man_superhero_tone5"] = "🦸🏿‍♂️", - ["man_superhero_dark_skin_tone"] = "🦸🏿‍♂️", - ["supervillain"] = "🦹", - ["supervillain_tone1"] = "🦹🏻", - ["supervillain_light_skin_tone"] = "🦹🏻", - ["supervillain_tone2"] = "🦹🏼", - ["supervillain_medium_light_skin_tone"] = "🦹🏼", - ["supervillain_tone3"] = "🦹🏽", - ["supervillain_medium_skin_tone"] = "🦹🏽", - ["supervillain_tone4"] = "🦹🏾", - ["supervillain_medium_dark_skin_tone"] = "🦹🏾", - ["supervillain_tone5"] = "🦹🏿", - ["supervillain_dark_skin_tone"] = "🦹🏿", - ["woman_supervillain"] = "🦹‍♀️", - ["woman_supervillain_tone1"] = "🦹🏻‍♀️", - ["woman_supervillain_light_skin_tone"] = "🦹🏻‍♀️", - ["woman_supervillain_tone2"] = "🦹🏼‍♀️", - ["woman_supervillain_medium_light_skin_tone"] = "🦹🏼‍♀️", - ["woman_supervillain_tone3"] = "🦹🏽‍♀️", - ["woman_supervillain_medium_skin_tone"] = "🦹🏽‍♀️", - ["woman_supervillain_tone4"] = "🦹🏾‍♀️", - ["woman_supervillain_medium_dark_skin_tone"] = "🦹🏾‍♀️", - ["woman_supervillain_tone5"] = "🦹🏿‍♀️", - ["woman_supervillain_dark_skin_tone"] = "🦹🏿‍♀️", - ["man_supervillain"] = "🦹‍♂️", - ["man_supervillain_tone1"] = "🦹🏻‍♂️", - ["man_supervillain_light_skin_tone"] = "🦹🏻‍♂️", - ["man_supervillain_tone2"] = "🦹🏼‍♂️", - ["man_supervillain_medium_light_skin_tone"] = "🦹🏼‍♂️", - ["man_supervillain_tone3"] = "🦹🏽‍♂️", - ["man_supervillain_medium_skin_tone"] = "🦹🏽‍♂️", - ["man_supervillain_tone4"] = "🦹🏾‍♂️", - ["man_supervillain_medium_dark_skin_tone"] = "🦹🏾‍♂️", - ["man_supervillain_tone5"] = "🦹🏿‍♂️", - ["man_supervillain_dark_skin_tone"] = "🦹🏿‍♂️", - ["ninja"] = "🥷", - ["ninja_tone1"] = "🥷🏻", - ["ninja_light_skin_tone"] = "🥷🏻", - ["ninja_tone2"] = "🥷🏼", - ["ninja_medium_light_skin_tone"] = "🥷🏼", - ["ninja_tone3"] = "🥷🏽", - ["ninja_medium_skin_tone"] = "🥷🏽", - ["ninja_tone4"] = "🥷🏾", - ["ninja_medium_dark_skin_tone"] = "🥷🏾", - ["ninja_tone5"] = "🥷🏿", - ["ninja_dark_skin_tone"] = "🥷🏿", - ["mx_claus"] = "🧑‍🎄", - ["mx_claus_tone1"] = "🧑🏻‍🎄", - ["mx_claus_light_skin_tone"] = "🧑🏻‍🎄", - ["mx_claus_tone2"] = "🧑🏼‍🎄", - ["mx_claus_medium_light_skin_tone"] = "🧑🏼‍🎄", - ["mx_claus_tone3"] = "🧑🏽‍🎄", - ["mx_claus_medium_skin_tone"] = "🧑🏽‍🎄", - ["mx_claus_tone4"] = "🧑🏾‍🎄", - ["mx_claus_medium_dark_skin_tone"] = "🧑🏾‍🎄", - ["mx_claus_tone5"] = "🧑🏿‍🎄", - ["mx_claus_dark_skin_tone"] = "🧑🏿‍🎄", - ["mrs_claus"] = "🤶", - ["mother_christmas"] = "🤶", - ["mrs_claus_tone1"] = "🤶🏻", - ["mother_christmas_tone1"] = "🤶🏻", - ["mrs_claus_tone2"] = "🤶🏼", - ["mother_christmas_tone2"] = "🤶🏼", - ["mrs_claus_tone3"] = "🤶🏽", - ["mother_christmas_tone3"] = "🤶🏽", - ["mrs_claus_tone4"] = "🤶🏾", - ["mother_christmas_tone4"] = "🤶🏾", - ["mrs_claus_tone5"] = "🤶🏿", - ["mother_christmas_tone5"] = "🤶🏿", - ["santa"] = "🎅", - ["santa_tone1"] = "🎅🏻", - ["santa_tone2"] = "🎅🏼", - ["santa_tone3"] = "🎅🏽", - ["santa_tone4"] = "🎅🏾", - ["santa_tone5"] = "🎅🏿", - ["mage"] = "🧙", - ["mage_tone1"] = "🧙🏻", - ["mage_light_skin_tone"] = "🧙🏻", - ["mage_tone2"] = "🧙🏼", - ["mage_medium_light_skin_tone"] = "🧙🏼", - ["mage_tone3"] = "🧙🏽", - ["mage_medium_skin_tone"] = "🧙🏽", - ["mage_tone4"] = "🧙🏾", - ["mage_medium_dark_skin_tone"] = "🧙🏾", - ["mage_tone5"] = "🧙🏿", - ["mage_dark_skin_tone"] = "🧙🏿", - ["woman_mage"] = "🧙‍♀️", - ["woman_mage_tone1"] = "🧙🏻‍♀️", - ["woman_mage_light_skin_tone"] = "🧙🏻‍♀️", - ["woman_mage_tone2"] = "🧙🏼‍♀️", - ["woman_mage_medium_light_skin_tone"] = "🧙🏼‍♀️", - ["woman_mage_tone3"] = "🧙🏽‍♀️", - ["woman_mage_medium_skin_tone"] = "🧙🏽‍♀️", - ["woman_mage_tone4"] = "🧙🏾‍♀️", - ["woman_mage_medium_dark_skin_tone"] = "🧙🏾‍♀️", - ["woman_mage_tone5"] = "🧙🏿‍♀️", - ["woman_mage_dark_skin_tone"] = "🧙🏿‍♀️", - ["man_mage"] = "🧙‍♂️", - ["man_mage_tone1"] = "🧙🏻‍♂️", - ["man_mage_light_skin_tone"] = "🧙🏻‍♂️", - ["man_mage_tone2"] = "🧙🏼‍♂️", - ["man_mage_medium_light_skin_tone"] = "🧙🏼‍♂️", - ["man_mage_tone3"] = "🧙🏽‍♂️", - ["man_mage_medium_skin_tone"] = "🧙🏽‍♂️", - ["man_mage_tone4"] = "🧙🏾‍♂️", - ["man_mage_medium_dark_skin_tone"] = "🧙🏾‍♂️", - ["man_mage_tone5"] = "🧙🏿‍♂️", - ["man_mage_dark_skin_tone"] = "🧙🏿‍♂️", - ["elf"] = "🧝", - ["elf_tone1"] = "🧝🏻", - ["elf_light_skin_tone"] = "🧝🏻", - ["elf_tone2"] = "🧝🏼", - ["elf_medium_light_skin_tone"] = "🧝🏼", - ["elf_tone3"] = "🧝🏽", - ["elf_medium_skin_tone"] = "🧝🏽", - ["elf_tone4"] = "🧝🏾", - ["elf_medium_dark_skin_tone"] = "🧝🏾", - ["elf_tone5"] = "🧝🏿", - ["elf_dark_skin_tone"] = "🧝🏿", - ["woman_elf"] = "🧝‍♀️", - ["woman_elf_tone1"] = "🧝🏻‍♀️", - ["woman_elf_light_skin_tone"] = "🧝🏻‍♀️", - ["woman_elf_tone2"] = "🧝🏼‍♀️", - ["woman_elf_medium_light_skin_tone"] = "🧝🏼‍♀️", - ["woman_elf_tone3"] = "🧝🏽‍♀️", - ["woman_elf_medium_skin_tone"] = "🧝🏽‍♀️", - ["woman_elf_tone4"] = "🧝🏾‍♀️", - ["woman_elf_medium_dark_skin_tone"] = "🧝🏾‍♀️", - ["woman_elf_tone5"] = "🧝🏿‍♀️", - ["woman_elf_dark_skin_tone"] = "🧝🏿‍♀️", - ["man_elf"] = "🧝‍♂️", - ["man_elf_tone1"] = "🧝🏻‍♂️", - ["man_elf_light_skin_tone"] = "🧝🏻‍♂️", - ["man_elf_tone2"] = "🧝🏼‍♂️", - ["man_elf_medium_light_skin_tone"] = "🧝🏼‍♂️", - ["man_elf_tone3"] = "🧝🏽‍♂️", - ["man_elf_medium_skin_tone"] = "🧝🏽‍♂️", - ["man_elf_tone4"] = "🧝🏾‍♂️", - ["man_elf_medium_dark_skin_tone"] = "🧝🏾‍♂️", - ["man_elf_tone5"] = "🧝🏿‍♂️", - ["man_elf_dark_skin_tone"] = "🧝🏿‍♂️", - ["vampire"] = "🧛", - ["vampire_tone1"] = "🧛🏻", - ["vampire_light_skin_tone"] = "🧛🏻", - ["vampire_tone2"] = "🧛🏼", - ["vampire_medium_light_skin_tone"] = "🧛🏼", - ["vampire_tone3"] = "🧛🏽", - ["vampire_medium_skin_tone"] = "🧛🏽", - ["vampire_tone4"] = "🧛🏾", - ["vampire_medium_dark_skin_tone"] = "🧛🏾", - ["vampire_tone5"] = "🧛🏿", - ["vampire_dark_skin_tone"] = "🧛🏿", - ["woman_vampire"] = "🧛‍♀️", - ["woman_vampire_tone1"] = "🧛🏻‍♀️", - ["woman_vampire_light_skin_tone"] = "🧛🏻‍♀️", - ["woman_vampire_tone2"] = "🧛🏼‍♀️", - ["woman_vampire_medium_light_skin_tone"] = "🧛🏼‍♀️", - ["woman_vampire_tone3"] = "🧛🏽‍♀️", - ["woman_vampire_medium_skin_tone"] = "🧛🏽‍♀️", - ["woman_vampire_tone4"] = "🧛🏾‍♀️", - ["woman_vampire_medium_dark_skin_tone"] = "🧛🏾‍♀️", - ["woman_vampire_tone5"] = "🧛🏿‍♀️", - ["woman_vampire_dark_skin_tone"] = "🧛🏿‍♀️", - ["man_vampire"] = "🧛‍♂️", - ["man_vampire_tone1"] = "🧛🏻‍♂️", - ["man_vampire_light_skin_tone"] = "🧛🏻‍♂️", - ["man_vampire_tone2"] = "🧛🏼‍♂️", - ["man_vampire_medium_light_skin_tone"] = "🧛🏼‍♂️", - ["man_vampire_tone3"] = "🧛🏽‍♂️", - ["man_vampire_medium_skin_tone"] = "🧛🏽‍♂️", - ["man_vampire_tone4"] = "🧛🏾‍♂️", - ["man_vampire_medium_dark_skin_tone"] = "🧛🏾‍♂️", - ["man_vampire_tone5"] = "🧛🏿‍♂️", - ["man_vampire_dark_skin_tone"] = "🧛🏿‍♂️", - ["zombie"] = "🧟", - ["woman_zombie"] = "🧟‍♀️", - ["man_zombie"] = "🧟‍♂️", - ["genie"] = "🧞", - ["woman_genie"] = "🧞‍♀️", - ["man_genie"] = "🧞‍♂️", - ["merperson"] = "🧜", - ["merperson_tone1"] = "🧜🏻", - ["merperson_light_skin_tone"] = "🧜🏻", - ["merperson_tone2"] = "🧜🏼", - ["merperson_medium_light_skin_tone"] = "🧜🏼", - ["merperson_tone3"] = "🧜🏽", - ["merperson_medium_skin_tone"] = "🧜🏽", - ["merperson_tone4"] = "🧜🏾", - ["merperson_medium_dark_skin_tone"] = "🧜🏾", - ["merperson_tone5"] = "🧜🏿", - ["merperson_dark_skin_tone"] = "🧜🏿", - ["mermaid"] = "🧜‍♀️", - ["mermaid_tone1"] = "🧜🏻‍♀️", - ["mermaid_light_skin_tone"] = "🧜🏻‍♀️", - ["mermaid_tone2"] = "🧜🏼‍♀️", - ["mermaid_medium_light_skin_tone"] = "🧜🏼‍♀️", - ["mermaid_tone3"] = "🧜🏽‍♀️", - ["mermaid_medium_skin_tone"] = "🧜🏽‍♀️", - ["mermaid_tone4"] = "🧜🏾‍♀️", - ["mermaid_medium_dark_skin_tone"] = "🧜🏾‍♀️", - ["mermaid_tone5"] = "🧜🏿‍♀️", - ["mermaid_dark_skin_tone"] = "🧜🏿‍♀️", - ["merman"] = "🧜‍♂️", - ["merman_tone1"] = "🧜🏻‍♂️", - ["merman_light_skin_tone"] = "🧜🏻‍♂️", - ["merman_tone2"] = "🧜🏼‍♂️", - ["merman_medium_light_skin_tone"] = "🧜🏼‍♂️", - ["merman_tone3"] = "🧜🏽‍♂️", - ["merman_medium_skin_tone"] = "🧜🏽‍♂️", - ["merman_tone4"] = "🧜🏾‍♂️", - ["merman_medium_dark_skin_tone"] = "🧜🏾‍♂️", - ["merman_tone5"] = "🧜🏿‍♂️", - ["merman_dark_skin_tone"] = "🧜🏿‍♂️", - ["fairy"] = "🧚", - ["fairy_tone1"] = "🧚🏻", - ["fairy_light_skin_tone"] = "🧚🏻", - ["fairy_tone2"] = "🧚🏼", - ["fairy_medium_light_skin_tone"] = "🧚🏼", - ["fairy_tone3"] = "🧚🏽", - ["fairy_medium_skin_tone"] = "🧚🏽", - ["fairy_tone4"] = "🧚🏾", - ["fairy_medium_dark_skin_tone"] = "🧚🏾", - ["fairy_tone5"] = "🧚🏿", - ["fairy_dark_skin_tone"] = "🧚🏿", - ["woman_fairy"] = "🧚‍♀️", - ["woman_fairy_tone1"] = "🧚🏻‍♀️", - ["woman_fairy_light_skin_tone"] = "🧚🏻‍♀️", - ["woman_fairy_tone2"] = "🧚🏼‍♀️", - ["woman_fairy_medium_light_skin_tone"] = "🧚🏼‍♀️", - ["woman_fairy_tone3"] = "🧚🏽‍♀️", - ["woman_fairy_medium_skin_tone"] = "🧚🏽‍♀️", - ["woman_fairy_tone4"] = "🧚🏾‍♀️", - ["woman_fairy_medium_dark_skin_tone"] = "🧚🏾‍♀️", - ["woman_fairy_tone5"] = "🧚🏿‍♀️", - ["woman_fairy_dark_skin_tone"] = "🧚🏿‍♀️", - ["man_fairy"] = "🧚‍♂️", - ["man_fairy_tone1"] = "🧚🏻‍♂️", - ["man_fairy_light_skin_tone"] = "🧚🏻‍♂️", - ["man_fairy_tone2"] = "🧚🏼‍♂️", - ["man_fairy_medium_light_skin_tone"] = "🧚🏼‍♂️", - ["man_fairy_tone3"] = "🧚🏽‍♂️", - ["man_fairy_medium_skin_tone"] = "🧚🏽‍♂️", - ["man_fairy_tone4"] = "🧚🏾‍♂️", - ["man_fairy_medium_dark_skin_tone"] = "🧚🏾‍♂️", - ["man_fairy_tone5"] = "🧚🏿‍♂️", - ["man_fairy_dark_skin_tone"] = "🧚🏿‍♂️", - ["angel"] = "👼", - ["angel_tone1"] = "👼🏻", - ["angel_tone2"] = "👼🏼", - ["angel_tone3"] = "👼🏽", - ["angel_tone4"] = "👼🏾", - ["angel_tone5"] = "👼🏿", - ["pregnant_woman"] = "🤰", - ["expecting_woman"] = "🤰", - ["pregnant_woman_tone1"] = "🤰🏻", - ["expecting_woman_tone1"] = "🤰🏻", - ["pregnant_woman_tone2"] = "🤰🏼", - ["expecting_woman_tone2"] = "🤰🏼", - ["pregnant_woman_tone3"] = "🤰🏽", - ["expecting_woman_tone3"] = "🤰🏽", - ["pregnant_woman_tone4"] = "🤰🏾", - ["expecting_woman_tone4"] = "🤰🏾", - ["pregnant_woman_tone5"] = "🤰🏿", - ["expecting_woman_tone5"] = "🤰🏿", - ["breast_feeding"] = "🤱", - ["breast_feeding_tone1"] = "🤱🏻", - ["breast_feeding_light_skin_tone"] = "🤱🏻", - ["breast_feeding_tone2"] = "🤱🏼", - ["breast_feeding_medium_light_skin_tone"] = "🤱🏼", - ["breast_feeding_tone3"] = "🤱🏽", - ["breast_feeding_medium_skin_tone"] = "🤱🏽", - ["breast_feeding_tone4"] = "🤱🏾", - ["breast_feeding_medium_dark_skin_tone"] = "🤱🏾", - ["breast_feeding_tone5"] = "🤱🏿", - ["breast_feeding_dark_skin_tone"] = "🤱🏿", - ["person_feeding_baby"] = "🧑‍🍼", - ["person_feeding_baby_tone1"] = "🧑🏻‍🍼", - ["person_feeding_baby_light_skin_tone"] = "🧑🏻‍🍼", - ["person_feeding_baby_tone2"] = "🧑🏼‍🍼", - ["person_feeding_baby_medium_light_skin_tone"] = "🧑🏼‍🍼", - ["person_feeding_baby_tone3"] = "🧑🏽‍🍼", - ["person_feeding_baby_medium_skin_tone"] = "🧑🏽‍🍼", - ["person_feeding_baby_tone4"] = "🧑🏾‍🍼", - ["person_feeding_baby_medium_dark_skin_tone"] = "🧑🏾‍🍼", - ["person_feeding_baby_tone5"] = "🧑🏿‍🍼", - ["person_feeding_baby_dark_skin_tone"] = "🧑🏿‍🍼", - ["woman_feeding_baby"] = "👩‍🍼", - ["woman_feeding_baby_tone1"] = "👩🏻‍🍼", - ["woman_feeding_baby_light_skin_tone"] = "👩🏻‍🍼", - ["woman_feeding_baby_tone2"] = "👩🏼‍🍼", - ["woman_feeding_baby_medium_light_skin_tone"] = "👩🏼‍🍼", - ["woman_feeding_baby_tone3"] = "👩🏽‍🍼", - ["woman_feeding_baby_medium_skin_tone"] = "👩🏽‍🍼", - ["woman_feeding_baby_tone4"] = "👩🏾‍🍼", - ["woman_feeding_baby_medium_dark_skin_tone"] = "👩🏾‍🍼", - ["woman_feeding_baby_tone5"] = "👩🏿‍🍼", - ["woman_feeding_baby_dark_skin_tone"] = "👩🏿‍🍼", - ["man_feeding_baby"] = "👨‍🍼", - ["man_feeding_baby_tone1"] = "👨🏻‍🍼", - ["man_feeding_baby_light_skin_tone"] = "👨🏻‍🍼", - ["man_feeding_baby_tone2"] = "👨🏼‍🍼", - ["man_feeding_baby_medium_light_skin_tone"] = "👨🏼‍🍼", - ["man_feeding_baby_tone3"] = "👨🏽‍🍼", - ["man_feeding_baby_medium_skin_tone"] = "👨🏽‍🍼", - ["man_feeding_baby_tone4"] = "👨🏾‍🍼", - ["man_feeding_baby_medium_dark_skin_tone"] = "👨🏾‍🍼", - ["man_feeding_baby_tone5"] = "👨🏿‍🍼", - ["man_feeding_baby_dark_skin_tone"] = "👨🏿‍🍼", - ["person_bowing"] = "🙇", - ["bow"] = "🙇", - ["person_bowing_tone1"] = "🙇🏻", - ["bow_tone1"] = "🙇🏻", - ["person_bowing_tone2"] = "🙇🏼", - ["bow_tone2"] = "🙇🏼", - ["person_bowing_tone3"] = "🙇🏽", - ["bow_tone3"] = "🙇🏽", - ["person_bowing_tone4"] = "🙇🏾", - ["bow_tone4"] = "🙇🏾", - ["person_bowing_tone5"] = "🙇🏿", - ["bow_tone5"] = "🙇🏿", - ["woman_bowing"] = "🙇‍♀️", - ["woman_bowing_tone1"] = "🙇🏻‍♀️", - ["woman_bowing_light_skin_tone"] = "🙇🏻‍♀️", - ["woman_bowing_tone2"] = "🙇🏼‍♀️", - ["woman_bowing_medium_light_skin_tone"] = "🙇🏼‍♀️", - ["woman_bowing_tone3"] = "🙇🏽‍♀️", - ["woman_bowing_medium_skin_tone"] = "🙇🏽‍♀️", - ["woman_bowing_tone4"] = "🙇🏾‍♀️", - ["woman_bowing_medium_dark_skin_tone"] = "🙇🏾‍♀️", - ["woman_bowing_tone5"] = "🙇🏿‍♀️", - ["woman_bowing_dark_skin_tone"] = "🙇🏿‍♀️", - ["man_bowing"] = "🙇‍♂️", - ["man_bowing_tone1"] = "🙇🏻‍♂️", - ["man_bowing_light_skin_tone"] = "🙇🏻‍♂️", - ["man_bowing_tone2"] = "🙇🏼‍♂️", - ["man_bowing_medium_light_skin_tone"] = "🙇🏼‍♂️", - ["man_bowing_tone3"] = "🙇🏽‍♂️", - ["man_bowing_medium_skin_tone"] = "🙇🏽‍♂️", - ["man_bowing_tone4"] = "🙇🏾‍♂️", - ["man_bowing_medium_dark_skin_tone"] = "🙇🏾‍♂️", - ["man_bowing_tone5"] = "🙇🏿‍♂️", - ["man_bowing_dark_skin_tone"] = "🙇🏿‍♂️", - ["person_tipping_hand"] = "💁", - ["information_desk_person"] = "💁", - ["person_tipping_hand_tone1"] = "💁🏻", - ["information_desk_person_tone1"] = "💁🏻", - ["person_tipping_hand_tone2"] = "💁🏼", - ["information_desk_person_tone2"] = "💁🏼", - ["person_tipping_hand_tone3"] = "💁🏽", - ["information_desk_person_tone3"] = "💁🏽", - ["person_tipping_hand_tone4"] = "💁🏾", - ["information_desk_person_tone4"] = "💁🏾", - ["person_tipping_hand_tone5"] = "💁🏿", - ["information_desk_person_tone5"] = "💁🏿", - ["woman_tipping_hand"] = "💁‍♀️", - ["woman_tipping_hand_tone1"] = "💁🏻‍♀️", - ["woman_tipping_hand_light_skin_tone"] = "💁🏻‍♀️", - ["woman_tipping_hand_tone2"] = "💁🏼‍♀️", - ["woman_tipping_hand_medium_light_skin_tone"] = "💁🏼‍♀️", - ["woman_tipping_hand_tone3"] = "💁🏽‍♀️", - ["woman_tipping_hand_medium_skin_tone"] = "💁🏽‍♀️", - ["woman_tipping_hand_tone4"] = "💁🏾‍♀️", - ["woman_tipping_hand_medium_dark_skin_tone"] = "💁🏾‍♀️", - ["woman_tipping_hand_tone5"] = "💁🏿‍♀️", - ["woman_tipping_hand_dark_skin_tone"] = "💁🏿‍♀️", - ["man_tipping_hand"] = "💁‍♂️", - ["man_tipping_hand_tone1"] = "💁🏻‍♂️", - ["man_tipping_hand_light_skin_tone"] = "💁🏻‍♂️", - ["man_tipping_hand_tone2"] = "💁🏼‍♂️", - ["man_tipping_hand_medium_light_skin_tone"] = "💁🏼‍♂️", - ["man_tipping_hand_tone3"] = "💁🏽‍♂️", - ["man_tipping_hand_medium_skin_tone"] = "💁🏽‍♂️", - ["man_tipping_hand_tone4"] = "💁🏾‍♂️", - ["man_tipping_hand_medium_dark_skin_tone"] = "💁🏾‍♂️", - ["man_tipping_hand_tone5"] = "💁🏿‍♂️", - ["man_tipping_hand_dark_skin_tone"] = "💁🏿‍♂️", - ["person_gesturing_no"] = "🙅", - ["no_good"] = "🙅", - ["person_gesturing_no_tone1"] = "🙅🏻", - ["no_good_tone1"] = "🙅🏻", - ["person_gesturing_no_tone2"] = "🙅🏼", - ["no_good_tone2"] = "🙅🏼", - ["person_gesturing_no_tone3"] = "🙅🏽", - ["no_good_tone3"] = "🙅🏽", - ["person_gesturing_no_tone4"] = "🙅🏾", - ["no_good_tone4"] = "🙅🏾", - ["person_gesturing_no_tone5"] = "🙅🏿", - ["no_good_tone5"] = "🙅🏿", - ["woman_gesturing_no"] = "🙅‍♀️", - ["woman_gesturing_no_tone1"] = "🙅🏻‍♀️", - ["woman_gesturing_no_light_skin_tone"] = "🙅🏻‍♀️", - ["woman_gesturing_no_tone2"] = "🙅🏼‍♀️", - ["woman_gesturing_no_medium_light_skin_tone"] = "🙅🏼‍♀️", - ["woman_gesturing_no_tone3"] = "🙅🏽‍♀️", - ["woman_gesturing_no_medium_skin_tone"] = "🙅🏽‍♀️", - ["woman_gesturing_no_tone4"] = "🙅🏾‍♀️", - ["woman_gesturing_no_medium_dark_skin_tone"] = "🙅🏾‍♀️", - ["woman_gesturing_no_tone5"] = "🙅🏿‍♀️", - ["woman_gesturing_no_dark_skin_tone"] = "🙅🏿‍♀️", - ["man_gesturing_no"] = "🙅‍♂️", - ["man_gesturing_no_tone1"] = "🙅🏻‍♂️", - ["man_gesturing_no_light_skin_tone"] = "🙅🏻‍♂️", - ["man_gesturing_no_tone2"] = "🙅🏼‍♂️", - ["man_gesturing_no_medium_light_skin_tone"] = "🙅🏼‍♂️", - ["man_gesturing_no_tone3"] = "🙅🏽‍♂️", - ["man_gesturing_no_medium_skin_tone"] = "🙅🏽‍♂️", - ["man_gesturing_no_tone4"] = "🙅🏾‍♂️", - ["man_gesturing_no_medium_dark_skin_tone"] = "🙅🏾‍♂️", - ["man_gesturing_no_tone5"] = "🙅🏿‍♂️", - ["man_gesturing_no_dark_skin_tone"] = "🙅🏿‍♂️", - ["person_gesturing_ok"] = "🙆", - ["ok_woman"] = "🙆", - ["person_gesturing_ok_tone1"] = "🙆🏻", - ["ok_woman_tone1"] = "🙆🏻", - ["person_gesturing_ok_tone2"] = "🙆🏼", - ["ok_woman_tone2"] = "🙆🏼", - ["person_gesturing_ok_tone3"] = "🙆🏽", - ["ok_woman_tone3"] = "🙆🏽", - ["person_gesturing_ok_tone4"] = "🙆🏾", - ["ok_woman_tone4"] = "🙆🏾", - ["person_gesturing_ok_tone5"] = "🙆🏿", - ["ok_woman_tone5"] = "🙆🏿", - ["woman_gesturing_ok"] = "🙆‍♀️", - ["woman_gesturing_ok_tone1"] = "🙆🏻‍♀️", - ["woman_gesturing_ok_light_skin_tone"] = "🙆🏻‍♀️", - ["woman_gesturing_ok_tone2"] = "🙆🏼‍♀️", - ["woman_gesturing_ok_medium_light_skin_tone"] = "🙆🏼‍♀️", - ["woman_gesturing_ok_tone3"] = "🙆🏽‍♀️", - ["woman_gesturing_ok_medium_skin_tone"] = "🙆🏽‍♀️", - ["woman_gesturing_ok_tone4"] = "🙆🏾‍♀️", - ["woman_gesturing_ok_medium_dark_skin_tone"] = "🙆🏾‍♀️", - ["woman_gesturing_ok_tone5"] = "🙆🏿‍♀️", - ["woman_gesturing_ok_dark_skin_tone"] = "🙆🏿‍♀️", - ["man_gesturing_ok"] = "🙆‍♂️", - ["man_gesturing_ok_tone1"] = "🙆🏻‍♂️", - ["man_gesturing_ok_light_skin_tone"] = "🙆🏻‍♂️", - ["man_gesturing_ok_tone2"] = "🙆🏼‍♂️", - ["man_gesturing_ok_medium_light_skin_tone"] = "🙆🏼‍♂️", - ["man_gesturing_ok_tone3"] = "🙆🏽‍♂️", - ["man_gesturing_ok_medium_skin_tone"] = "🙆🏽‍♂️", - ["man_gesturing_ok_tone4"] = "🙆🏾‍♂️", - ["man_gesturing_ok_medium_dark_skin_tone"] = "🙆🏾‍♂️", - ["man_gesturing_ok_tone5"] = "🙆🏿‍♂️", - ["man_gesturing_ok_dark_skin_tone"] = "🙆🏿‍♂️", - ["person_raising_hand"] = "🙋", - ["raising_hand"] = "🙋", - ["person_raising_hand_tone1"] = "🙋🏻", - ["raising_hand_tone1"] = "🙋🏻", - ["person_raising_hand_tone2"] = "🙋🏼", - ["raising_hand_tone2"] = "🙋🏼", - ["person_raising_hand_tone3"] = "🙋🏽", - ["raising_hand_tone3"] = "🙋🏽", - ["person_raising_hand_tone4"] = "🙋🏾", - ["raising_hand_tone4"] = "🙋🏾", - ["person_raising_hand_tone5"] = "🙋🏿", - ["raising_hand_tone5"] = "🙋🏿", - ["woman_raising_hand"] = "🙋‍♀️", - ["woman_raising_hand_tone1"] = "🙋🏻‍♀️", - ["woman_raising_hand_light_skin_tone"] = "🙋🏻‍♀️", - ["woman_raising_hand_tone2"] = "🙋🏼‍♀️", - ["woman_raising_hand_medium_light_skin_tone"] = "🙋🏼‍♀️", - ["woman_raising_hand_tone3"] = "🙋🏽‍♀️", - ["woman_raising_hand_medium_skin_tone"] = "🙋🏽‍♀️", - ["woman_raising_hand_tone4"] = "🙋🏾‍♀️", - ["woman_raising_hand_medium_dark_skin_tone"] = "🙋🏾‍♀️", - ["woman_raising_hand_tone5"] = "🙋🏿‍♀️", - ["woman_raising_hand_dark_skin_tone"] = "🙋🏿‍♀️", - ["man_raising_hand"] = "🙋‍♂️", - ["man_raising_hand_tone1"] = "🙋🏻‍♂️", - ["man_raising_hand_light_skin_tone"] = "🙋🏻‍♂️", - ["man_raising_hand_tone2"] = "🙋🏼‍♂️", - ["man_raising_hand_medium_light_skin_tone"] = "🙋🏼‍♂️", - ["man_raising_hand_tone3"] = "🙋🏽‍♂️", - ["man_raising_hand_medium_skin_tone"] = "🙋🏽‍♂️", - ["man_raising_hand_tone4"] = "🙋🏾‍♂️", - ["man_raising_hand_medium_dark_skin_tone"] = "🙋🏾‍♂️", - ["man_raising_hand_tone5"] = "🙋🏿‍♂️", - ["man_raising_hand_dark_skin_tone"] = "🙋🏿‍♂️", - ["deaf_person"] = "🧏", - ["deaf_person_tone1"] = "🧏🏻", - ["deaf_person_light_skin_tone"] = "🧏🏻", - ["deaf_person_tone2"] = "🧏🏼", - ["deaf_person_medium_light_skin_tone"] = "🧏🏼", - ["deaf_person_tone3"] = "🧏🏽", - ["deaf_person_medium_skin_tone"] = "🧏🏽", - ["deaf_person_tone4"] = "🧏🏾", - ["deaf_person_medium_dark_skin_tone"] = "🧏🏾", - ["deaf_person_tone5"] = "🧏🏿", - ["deaf_person_dark_skin_tone"] = "🧏🏿", - ["deaf_woman"] = "🧏‍♀️", - ["deaf_woman_tone1"] = "🧏🏻‍♀️", - ["deaf_woman_light_skin_tone"] = "🧏🏻‍♀️", - ["deaf_woman_tone2"] = "🧏🏼‍♀️", - ["deaf_woman_medium_light_skin_tone"] = "🧏🏼‍♀️", - ["deaf_woman_tone3"] = "🧏🏽‍♀️", - ["deaf_woman_medium_skin_tone"] = "🧏🏽‍♀️", - ["deaf_woman_tone4"] = "🧏🏾‍♀️", - ["deaf_woman_medium_dark_skin_tone"] = "🧏🏾‍♀️", - ["deaf_woman_tone5"] = "🧏🏿‍♀️", - ["deaf_woman_dark_skin_tone"] = "🧏🏿‍♀️", - ["deaf_man"] = "🧏‍♂️", - ["deaf_man_tone1"] = "🧏🏻‍♂️", - ["deaf_man_light_skin_tone"] = "🧏🏻‍♂️", - ["deaf_man_tone2"] = "🧏🏼‍♂️", - ["deaf_man_medium_light_skin_tone"] = "🧏🏼‍♂️", - ["deaf_man_tone3"] = "🧏🏽‍♂️", - ["deaf_man_medium_skin_tone"] = "🧏🏽‍♂️", - ["deaf_man_tone4"] = "🧏🏾‍♂️", - ["deaf_man_medium_dark_skin_tone"] = "🧏🏾‍♂️", - ["deaf_man_tone5"] = "🧏🏿‍♂️", - ["deaf_man_dark_skin_tone"] = "🧏🏿‍♂️", - ["person_facepalming"] = "🤦", - ["face_palm"] = "🤦", - ["facepalm"] = "🤦", - ["person_facepalming_tone1"] = "🤦🏻", - ["face_palm_tone1"] = "🤦🏻", - ["facepalm_tone1"] = "🤦🏻", - ["person_facepalming_tone2"] = "🤦🏼", - ["face_palm_tone2"] = "🤦🏼", - ["facepalm_tone2"] = "🤦🏼", - ["person_facepalming_tone3"] = "🤦🏽", - ["face_palm_tone3"] = "🤦🏽", - ["facepalm_tone3"] = "🤦🏽", - ["person_facepalming_tone4"] = "🤦🏾", - ["face_palm_tone4"] = "🤦🏾", - ["facepalm_tone4"] = "🤦🏾", - ["person_facepalming_tone5"] = "🤦🏿", - ["face_palm_tone5"] = "🤦🏿", - ["facepalm_tone5"] = "🤦🏿", - ["woman_facepalming"] = "🤦‍♀️", - ["woman_facepalming_tone1"] = "🤦🏻‍♀️", - ["woman_facepalming_light_skin_tone"] = "🤦🏻‍♀️", - ["woman_facepalming_tone2"] = "🤦🏼‍♀️", - ["woman_facepalming_medium_light_skin_tone"] = "🤦🏼‍♀️", - ["woman_facepalming_tone3"] = "🤦🏽‍♀️", - ["woman_facepalming_medium_skin_tone"] = "🤦🏽‍♀️", - ["woman_facepalming_tone4"] = "🤦🏾‍♀️", - ["woman_facepalming_medium_dark_skin_tone"] = "🤦🏾‍♀️", - ["woman_facepalming_tone5"] = "🤦🏿‍♀️", - ["woman_facepalming_dark_skin_tone"] = "🤦🏿‍♀️", - ["man_facepalming"] = "🤦‍♂️", - ["man_facepalming_tone1"] = "🤦🏻‍♂️", - ["man_facepalming_light_skin_tone"] = "🤦🏻‍♂️", - ["man_facepalming_tone2"] = "🤦🏼‍♂️", - ["man_facepalming_medium_light_skin_tone"] = "🤦🏼‍♂️", - ["man_facepalming_tone3"] = "🤦🏽‍♂️", - ["man_facepalming_medium_skin_tone"] = "🤦🏽‍♂️", - ["man_facepalming_tone4"] = "🤦🏾‍♂️", - ["man_facepalming_medium_dark_skin_tone"] = "🤦🏾‍♂️", - ["man_facepalming_tone5"] = "🤦🏿‍♂️", - ["man_facepalming_dark_skin_tone"] = "🤦🏿‍♂️", - ["person_shrugging"] = "🤷", - ["shrug"] = "🤷", - ["person_shrugging_tone1"] = "🤷🏻", - ["shrug_tone1"] = "🤷🏻", - ["person_shrugging_tone2"] = "🤷🏼", - ["shrug_tone2"] = "🤷🏼", - ["person_shrugging_tone3"] = "🤷🏽", - ["shrug_tone3"] = "🤷🏽", - ["person_shrugging_tone4"] = "🤷🏾", - ["shrug_tone4"] = "🤷🏾", - ["person_shrugging_tone5"] = "🤷🏿", - ["shrug_tone5"] = "🤷🏿", - ["woman_shrugging"] = "🤷‍♀️", - ["woman_shrugging_tone1"] = "🤷🏻‍♀️", - ["woman_shrugging_light_skin_tone"] = "🤷🏻‍♀️", - ["woman_shrugging_tone2"] = "🤷🏼‍♀️", - ["woman_shrugging_medium_light_skin_tone"] = "🤷🏼‍♀️", - ["woman_shrugging_tone3"] = "🤷🏽‍♀️", - ["woman_shrugging_medium_skin_tone"] = "🤷🏽‍♀️", - ["woman_shrugging_tone4"] = "🤷🏾‍♀️", - ["woman_shrugging_medium_dark_skin_tone"] = "🤷🏾‍♀️", - ["woman_shrugging_tone5"] = "🤷🏿‍♀️", - ["woman_shrugging_dark_skin_tone"] = "🤷🏿‍♀️", - ["man_shrugging"] = "🤷‍♂️", - ["man_shrugging_tone1"] = "🤷🏻‍♂️", - ["man_shrugging_light_skin_tone"] = "🤷🏻‍♂️", - ["man_shrugging_tone2"] = "🤷🏼‍♂️", - ["man_shrugging_medium_light_skin_tone"] = "🤷🏼‍♂️", - ["man_shrugging_tone3"] = "🤷🏽‍♂️", - ["man_shrugging_medium_skin_tone"] = "🤷🏽‍♂️", - ["man_shrugging_tone4"] = "🤷🏾‍♂️", - ["man_shrugging_medium_dark_skin_tone"] = "🤷🏾‍♂️", - ["man_shrugging_tone5"] = "🤷🏿‍♂️", - ["man_shrugging_dark_skin_tone"] = "🤷🏿‍♂️", - ["person_pouting"] = "🙎", - ["person_with_pouting_face"] = "🙎", - ["person_pouting_tone1"] = "🙎🏻", - ["person_with_pouting_face_tone1"] = "🙎🏻", - ["person_pouting_tone2"] = "🙎🏼", - ["person_with_pouting_face_tone2"] = "🙎🏼", - ["person_pouting_tone3"] = "🙎🏽", - ["person_with_pouting_face_tone3"] = "🙎🏽", - ["person_pouting_tone4"] = "🙎🏾", - ["person_with_pouting_face_tone4"] = "🙎🏾", - ["person_pouting_tone5"] = "🙎🏿", - ["person_with_pouting_face_tone5"] = "🙎🏿", - ["woman_pouting"] = "🙎‍♀️", - ["woman_pouting_tone1"] = "🙎🏻‍♀️", - ["woman_pouting_light_skin_tone"] = "🙎🏻‍♀️", - ["woman_pouting_tone2"] = "🙎🏼‍♀️", - ["woman_pouting_medium_light_skin_tone"] = "🙎🏼‍♀️", - ["woman_pouting_tone3"] = "🙎🏽‍♀️", - ["woman_pouting_medium_skin_tone"] = "🙎🏽‍♀️", - ["woman_pouting_tone4"] = "🙎🏾‍♀️", - ["woman_pouting_medium_dark_skin_tone"] = "🙎🏾‍♀️", - ["woman_pouting_tone5"] = "🙎🏿‍♀️", - ["woman_pouting_dark_skin_tone"] = "🙎🏿‍♀️", - ["man_pouting"] = "🙎‍♂️", - ["man_pouting_tone1"] = "🙎🏻‍♂️", - ["man_pouting_light_skin_tone"] = "🙎🏻‍♂️", - ["man_pouting_tone2"] = "🙎🏼‍♂️", - ["man_pouting_medium_light_skin_tone"] = "🙎🏼‍♂️", - ["man_pouting_tone3"] = "🙎🏽‍♂️", - ["man_pouting_medium_skin_tone"] = "🙎🏽‍♂️", - ["man_pouting_tone4"] = "🙎🏾‍♂️", - ["man_pouting_medium_dark_skin_tone"] = "🙎🏾‍♂️", - ["man_pouting_tone5"] = "🙎🏿‍♂️", - ["man_pouting_dark_skin_tone"] = "🙎🏿‍♂️", - ["person_frowning"] = "🙍", - ["person_frowning_tone1"] = "🙍🏻", - ["person_frowning_tone2"] = "🙍🏼", - ["person_frowning_tone3"] = "🙍🏽", - ["person_frowning_tone4"] = "🙍🏾", - ["person_frowning_tone5"] = "🙍🏿", - ["woman_frowning"] = "🙍‍♀️", - ["woman_frowning_tone1"] = "🙍🏻‍♀️", - ["woman_frowning_light_skin_tone"] = "🙍🏻‍♀️", - ["woman_frowning_tone2"] = "🙍🏼‍♀️", - ["woman_frowning_medium_light_skin_tone"] = "🙍🏼‍♀️", - ["woman_frowning_tone3"] = "🙍🏽‍♀️", - ["woman_frowning_medium_skin_tone"] = "🙍🏽‍♀️", - ["woman_frowning_tone4"] = "🙍🏾‍♀️", - ["woman_frowning_medium_dark_skin_tone"] = "🙍🏾‍♀️", - ["woman_frowning_tone5"] = "🙍🏿‍♀️", - ["woman_frowning_dark_skin_tone"] = "🙍🏿‍♀️", - ["man_frowning"] = "🙍‍♂️", - ["man_frowning_tone1"] = "🙍🏻‍♂️", - ["man_frowning_light_skin_tone"] = "🙍🏻‍♂️", - ["man_frowning_tone2"] = "🙍🏼‍♂️", - ["man_frowning_medium_light_skin_tone"] = "🙍🏼‍♂️", - ["man_frowning_tone3"] = "🙍🏽‍♂️", - ["man_frowning_medium_skin_tone"] = "🙍🏽‍♂️", - ["man_frowning_tone4"] = "🙍🏾‍♂️", - ["man_frowning_medium_dark_skin_tone"] = "🙍🏾‍♂️", - ["man_frowning_tone5"] = "🙍🏿‍♂️", - ["man_frowning_dark_skin_tone"] = "🙍🏿‍♂️", - ["person_getting_haircut"] = "💇", - ["haircut"] = "💇", - ["person_getting_haircut_tone1"] = "💇🏻", - ["haircut_tone1"] = "💇🏻", - ["person_getting_haircut_tone2"] = "💇🏼", - ["haircut_tone2"] = "💇🏼", - ["person_getting_haircut_tone3"] = "💇🏽", - ["haircut_tone3"] = "💇🏽", - ["person_getting_haircut_tone4"] = "💇🏾", - ["haircut_tone4"] = "💇🏾", - ["person_getting_haircut_tone5"] = "💇🏿", - ["haircut_tone5"] = "💇🏿", - ["woman_getting_haircut"] = "💇‍♀️", - ["woman_getting_haircut_tone1"] = "💇🏻‍♀️", - ["woman_getting_haircut_light_skin_tone"] = "💇🏻‍♀️", - ["woman_getting_haircut_tone2"] = "💇🏼‍♀️", - ["woman_getting_haircut_medium_light_skin_tone"] = "💇🏼‍♀️", - ["woman_getting_haircut_tone3"] = "💇🏽‍♀️", - ["woman_getting_haircut_medium_skin_tone"] = "💇🏽‍♀️", - ["woman_getting_haircut_tone4"] = "💇🏾‍♀️", - ["woman_getting_haircut_medium_dark_skin_tone"] = "💇🏾‍♀️", - ["woman_getting_haircut_tone5"] = "💇🏿‍♀️", - ["woman_getting_haircut_dark_skin_tone"] = "💇🏿‍♀️", - ["man_getting_haircut"] = "💇‍♂️", - ["man_getting_haircut_tone1"] = "💇🏻‍♂️", - ["man_getting_haircut_light_skin_tone"] = "💇🏻‍♂️", - ["man_getting_haircut_tone2"] = "💇🏼‍♂️", - ["man_getting_haircut_medium_light_skin_tone"] = "💇🏼‍♂️", - ["man_getting_haircut_tone3"] = "💇🏽‍♂️", - ["man_getting_haircut_medium_skin_tone"] = "💇🏽‍♂️", - ["man_getting_haircut_tone4"] = "💇🏾‍♂️", - ["man_getting_haircut_medium_dark_skin_tone"] = "💇🏾‍♂️", - ["man_getting_haircut_tone5"] = "💇🏿‍♂️", - ["man_getting_haircut_dark_skin_tone"] = "💇🏿‍♂️", - ["person_getting_massage"] = "💆", - ["massage"] = "💆", - ["person_getting_massage_tone1"] = "💆🏻", - ["massage_tone1"] = "💆🏻", - ["person_getting_massage_tone2"] = "💆🏼", - ["massage_tone2"] = "💆🏼", - ["person_getting_massage_tone3"] = "💆🏽", - ["massage_tone3"] = "💆🏽", - ["person_getting_massage_tone4"] = "💆🏾", - ["massage_tone4"] = "💆🏾", - ["person_getting_massage_tone5"] = "💆🏿", - ["massage_tone5"] = "💆🏿", - ["woman_getting_face_massage"] = "💆‍♀️", - ["woman_getting_face_massage_tone1"] = "💆🏻‍♀️", - ["woman_getting_face_massage_light_skin_tone"] = "💆🏻‍♀️", - ["woman_getting_face_massage_tone2"] = "💆🏼‍♀️", - ["woman_getting_face_massage_medium_light_skin_tone"] = "💆🏼‍♀️", - ["woman_getting_face_massage_tone3"] = "💆🏽‍♀️", - ["woman_getting_face_massage_medium_skin_tone"] = "💆🏽‍♀️", - ["woman_getting_face_massage_tone4"] = "💆🏾‍♀️", - ["woman_getting_face_massage_medium_dark_skin_tone"] = "💆🏾‍♀️", - ["woman_getting_face_massage_tone5"] = "💆🏿‍♀️", - ["woman_getting_face_massage_dark_skin_tone"] = "💆🏿‍♀️", - ["man_getting_face_massage"] = "💆‍♂️", - ["man_getting_face_massage_tone1"] = "💆🏻‍♂️", - ["man_getting_face_massage_light_skin_tone"] = "💆🏻‍♂️", - ["man_getting_face_massage_tone2"] = "💆🏼‍♂️", - ["man_getting_face_massage_medium_light_skin_tone"] = "💆🏼‍♂️", - ["man_getting_face_massage_tone3"] = "💆🏽‍♂️", - ["man_getting_face_massage_medium_skin_tone"] = "💆🏽‍♂️", - ["man_getting_face_massage_tone4"] = "💆🏾‍♂️", - ["man_getting_face_massage_medium_dark_skin_tone"] = "💆🏾‍♂️", - ["man_getting_face_massage_tone5"] = "💆🏿‍♂️", - ["man_getting_face_massage_dark_skin_tone"] = "💆🏿‍♂️", - ["person_in_steamy_room"] = "🧖", - ["person_in_steamy_room_tone1"] = "🧖🏻", - ["person_in_steamy_room_light_skin_tone"] = "🧖🏻", - ["person_in_steamy_room_tone2"] = "🧖🏼", - ["person_in_steamy_room_medium_light_skin_tone"] = "🧖🏼", - ["person_in_steamy_room_tone3"] = "🧖🏽", - ["person_in_steamy_room_medium_skin_tone"] = "🧖🏽", - ["person_in_steamy_room_tone4"] = "🧖🏾", - ["person_in_steamy_room_medium_dark_skin_tone"] = "🧖🏾", - ["person_in_steamy_room_tone5"] = "🧖🏿", - ["person_in_steamy_room_dark_skin_tone"] = "🧖🏿", - ["woman_in_steamy_room"] = "🧖‍♀️", - ["woman_in_steamy_room_tone1"] = "🧖🏻‍♀️", - ["woman_in_steamy_room_light_skin_tone"] = "🧖🏻‍♀️", - ["woman_in_steamy_room_tone2"] = "🧖🏼‍♀️", - ["woman_in_steamy_room_medium_light_skin_tone"] = "🧖🏼‍♀️", - ["woman_in_steamy_room_tone3"] = "🧖🏽‍♀️", - ["woman_in_steamy_room_medium_skin_tone"] = "🧖🏽‍♀️", - ["woman_in_steamy_room_tone4"] = "🧖🏾‍♀️", - ["woman_in_steamy_room_medium_dark_skin_tone"] = "🧖🏾‍♀️", - ["woman_in_steamy_room_tone5"] = "🧖🏿‍♀️", - ["woman_in_steamy_room_dark_skin_tone"] = "🧖🏿‍♀️", - ["man_in_steamy_room"] = "🧖‍♂️", - ["man_in_steamy_room_tone1"] = "🧖🏻‍♂️", - ["man_in_steamy_room_light_skin_tone"] = "🧖🏻‍♂️", - ["man_in_steamy_room_tone2"] = "🧖🏼‍♂️", - ["man_in_steamy_room_medium_light_skin_tone"] = "🧖🏼‍♂️", - ["man_in_steamy_room_tone3"] = "🧖🏽‍♂️", - ["man_in_steamy_room_medium_skin_tone"] = "🧖🏽‍♂️", - ["man_in_steamy_room_tone4"] = "🧖🏾‍♂️", - ["man_in_steamy_room_medium_dark_skin_tone"] = "🧖🏾‍♂️", - ["man_in_steamy_room_tone5"] = "🧖🏿‍♂️", - ["man_in_steamy_room_dark_skin_tone"] = "🧖🏿‍♂️", - ["nail_care"] = "💅", - ["nail_care_tone1"] = "💅🏻", - ["nail_care_tone2"] = "💅🏼", - ["nail_care_tone3"] = "💅🏽", - ["nail_care_tone4"] = "💅🏾", - ["nail_care_tone5"] = "💅🏿", - ["selfie"] = "🤳", - ["selfie_tone1"] = "🤳🏻", - ["selfie_tone2"] = "🤳🏼", - ["selfie_tone3"] = "🤳🏽", - ["selfie_tone4"] = "🤳🏾", - ["selfie_tone5"] = "🤳🏿", - ["dancer"] = "💃", - ["dancer_tone1"] = "💃🏻", - ["dancer_tone2"] = "💃🏼", - ["dancer_tone3"] = "💃🏽", - ["dancer_tone4"] = "💃🏾", - ["dancer_tone5"] = "💃🏿", - ["man_dancing"] = "🕺", - ["male_dancer"] = "🕺", - ["man_dancing_tone1"] = "🕺🏻", - ["male_dancer_tone1"] = "🕺🏻", - ["man_dancing_tone2"] = "🕺🏼", - ["male_dancer_tone2"] = "🕺🏼", - ["man_dancing_tone3"] = "🕺🏽", - ["male_dancer_tone3"] = "🕺🏽", - ["man_dancing_tone5"] = "🕺🏿", - ["male_dancer_tone5"] = "🕺🏿", - ["man_dancing_tone4"] = "🕺🏾", - ["male_dancer_tone4"] = "🕺🏾", - ["people_with_bunny_ears_partying"] = "👯", - ["dancers"] = "👯", - ["women_with_bunny_ears_partying"] = "👯‍♀️", - ["men_with_bunny_ears_partying"] = "👯‍♂️", - ["levitate"] = "🕴️", - ["man_in_business_suit_levitating"] = "🕴️", - ["levitate_tone1"] = "🕴🏻", - ["man_in_business_suit_levitating_tone1"] = "🕴🏻", - ["man_in_business_suit_levitating_light_skin_tone"] = "🕴🏻", - ["levitate_tone2"] = "🕴🏼", - ["man_in_business_suit_levitating_tone2"] = "🕴🏼", - ["man_in_business_suit_levitating_medium_light_skin_tone"] = "🕴🏼", - ["levitate_tone3"] = "🕴🏽", - ["man_in_business_suit_levitating_tone3"] = "🕴🏽", - ["man_in_business_suit_levitating_medium_skin_tone"] = "🕴🏽", - ["levitate_tone4"] = "🕴🏾", - ["man_in_business_suit_levitating_tone4"] = "🕴🏾", - ["man_in_business_suit_levitating_medium_dark_skin_tone"] = "🕴🏾", - ["levitate_tone5"] = "🕴🏿", - ["man_in_business_suit_levitating_tone5"] = "🕴🏿", - ["man_in_business_suit_levitating_dark_skin_tone"] = "🕴🏿", - ["person_in_manual_wheelchair"] = "🧑‍🦽", - ["person_in_manual_wheelchair_tone1"] = "🧑🏻‍🦽", - ["person_in_manual_wheelchair_light_skin_tone"] = "🧑🏻‍🦽", - ["person_in_manual_wheelchair_tone2"] = "🧑🏼‍🦽", - ["person_in_manual_wheelchair_medium_light_skin_tone"] = "🧑🏼‍🦽", - ["person_in_manual_wheelchair_tone3"] = "🧑🏽‍🦽", - ["person_in_manual_wheelchair_medium_skin_tone"] = "🧑🏽‍🦽", - ["person_in_manual_wheelchair_tone4"] = "🧑🏾‍🦽", - ["person_in_manual_wheelchair_medium_dark_skin_tone"] = "🧑🏾‍🦽", - ["person_in_manual_wheelchair_tone5"] = "🧑🏿‍🦽", - ["person_in_manual_wheelchair_dark_skin_tone"] = "🧑🏿‍🦽", - ["woman_in_manual_wheelchair"] = "👩‍🦽", - ["woman_in_manual_wheelchair_tone1"] = "👩🏻‍🦽", - ["woman_in_manual_wheelchair_light_skin_tone"] = "👩🏻‍🦽", - ["woman_in_manual_wheelchair_tone2"] = "👩🏼‍🦽", - ["woman_in_manual_wheelchair_medium_light_skin_tone"] = "👩🏼‍🦽", - ["woman_in_manual_wheelchair_tone3"] = "👩🏽‍🦽", - ["woman_in_manual_wheelchair_medium_skin_tone"] = "👩🏽‍🦽", - ["woman_in_manual_wheelchair_tone4"] = "👩🏾‍🦽", - ["woman_in_manual_wheelchair_medium_dark_skin_tone"] = "👩🏾‍🦽", - ["woman_in_manual_wheelchair_tone5"] = "👩🏿‍🦽", - ["woman_in_manual_wheelchair_dark_skin_tone"] = "👩🏿‍🦽", - ["man_in_manual_wheelchair"] = "👨‍🦽", - ["man_in_manual_wheelchair_tone1"] = "👨🏻‍🦽", - ["man_in_manual_wheelchair_light_skin_tone"] = "👨🏻‍🦽", - ["man_in_manual_wheelchair_tone2"] = "👨🏼‍🦽", - ["man_in_manual_wheelchair_medium_light_skin_tone"] = "👨🏼‍🦽", - ["man_in_manual_wheelchair_tone3"] = "👨🏽‍🦽", - ["man_in_manual_wheelchair_medium_skin_tone"] = "👨🏽‍🦽", - ["man_in_manual_wheelchair_tone4"] = "👨🏾‍🦽", - ["man_in_manual_wheelchair_medium_dark_skin_tone"] = "👨🏾‍🦽", - ["man_in_manual_wheelchair_tone5"] = "👨🏿‍🦽", - ["man_in_manual_wheelchair_dark_skin_tone"] = "👨🏿‍🦽", - ["person_in_motorized_wheelchair"] = "🧑‍🦼", - ["person_in_motorized_wheelchair_tone1"] = "🧑🏻‍🦼", - ["person_in_motorized_wheelchair_light_skin_tone"] = "🧑🏻‍🦼", - ["person_in_motorized_wheelchair_tone2"] = "🧑🏼‍🦼", - ["person_in_motorized_wheelchair_medium_light_skin_tone"] = "🧑🏼‍🦼", - ["person_in_motorized_wheelchair_tone3"] = "🧑🏽‍🦼", - ["person_in_motorized_wheelchair_medium_skin_tone"] = "🧑🏽‍🦼", - ["person_in_motorized_wheelchair_tone4"] = "🧑🏾‍🦼", - ["person_in_motorized_wheelchair_medium_dark_skin_tone"] = "🧑🏾‍🦼", - ["person_in_motorized_wheelchair_tone5"] = "🧑🏿‍🦼", - ["person_in_motorized_wheelchair_dark_skin_tone"] = "🧑🏿‍🦼", - ["woman_in_motorized_wheelchair"] = "👩‍🦼", - ["woman_in_motorized_wheelchair_tone1"] = "👩🏻‍🦼", - ["woman_in_motorized_wheelchair_light_skin_tone"] = "👩🏻‍🦼", - ["woman_in_motorized_wheelchair_tone2"] = "👩🏼‍🦼", - ["woman_in_motorized_wheelchair_medium_light_skin_tone"] = "👩🏼‍🦼", - ["woman_in_motorized_wheelchair_tone3"] = "👩🏽‍🦼", - ["woman_in_motorized_wheelchair_medium_skin_tone"] = "👩🏽‍🦼", - ["woman_in_motorized_wheelchair_tone4"] = "👩🏾‍🦼", - ["woman_in_motorized_wheelchair_medium_dark_skin_tone"] = "👩🏾‍🦼", - ["woman_in_motorized_wheelchair_tone5"] = "👩🏿‍🦼", - ["woman_in_motorized_wheelchair_dark_skin_tone"] = "👩🏿‍🦼", - ["man_in_motorized_wheelchair"] = "👨‍🦼", - ["man_in_motorized_wheelchair_tone1"] = "👨🏻‍🦼", - ["man_in_motorized_wheelchair_light_skin_tone"] = "👨🏻‍🦼", - ["man_in_motorized_wheelchair_tone2"] = "👨🏼‍🦼", - ["man_in_motorized_wheelchair_medium_light_skin_tone"] = "👨🏼‍🦼", - ["man_in_motorized_wheelchair_tone3"] = "👨🏽‍🦼", - ["man_in_motorized_wheelchair_medium_skin_tone"] = "👨🏽‍🦼", - ["man_in_motorized_wheelchair_tone4"] = "👨🏾‍🦼", - ["man_in_motorized_wheelchair_medium_dark_skin_tone"] = "👨🏾‍🦼", - ["man_in_motorized_wheelchair_tone5"] = "👨🏿‍🦼", - ["man_in_motorized_wheelchair_dark_skin_tone"] = "👨🏿‍🦼", - ["person_walking"] = "🚶", - ["walking"] = "🚶", - ["person_walking_tone1"] = "🚶🏻", - ["walking_tone1"] = "🚶🏻", - ["person_walking_tone2"] = "🚶🏼", - ["walking_tone2"] = "🚶🏼", - ["person_walking_tone3"] = "🚶🏽", - ["walking_tone3"] = "🚶🏽", - ["person_walking_tone4"] = "🚶🏾", - ["walking_tone4"] = "🚶🏾", - ["person_walking_tone5"] = "🚶🏿", - ["walking_tone5"] = "🚶🏿", - ["woman_walking"] = "🚶‍♀️", - ["woman_walking_tone1"] = "🚶🏻‍♀️", - ["woman_walking_light_skin_tone"] = "🚶🏻‍♀️", - ["woman_walking_tone2"] = "🚶🏼‍♀️", - ["woman_walking_medium_light_skin_tone"] = "🚶🏼‍♀️", - ["woman_walking_tone3"] = "🚶🏽‍♀️", - ["woman_walking_medium_skin_tone"] = "🚶🏽‍♀️", - ["woman_walking_tone4"] = "🚶🏾‍♀️", - ["woman_walking_medium_dark_skin_tone"] = "🚶🏾‍♀️", - ["woman_walking_tone5"] = "🚶🏿‍♀️", - ["woman_walking_dark_skin_tone"] = "🚶🏿‍♀️", - ["man_walking"] = "🚶‍♂️", - ["man_walking_tone1"] = "🚶🏻‍♂️", - ["man_walking_light_skin_tone"] = "🚶🏻‍♂️", - ["man_walking_tone2"] = "🚶🏼‍♂️", - ["man_walking_medium_light_skin_tone"] = "🚶🏼‍♂️", - ["man_walking_tone3"] = "🚶🏽‍♂️", - ["man_walking_medium_skin_tone"] = "🚶🏽‍♂️", - ["man_walking_tone4"] = "🚶🏾‍♂️", - ["man_walking_medium_dark_skin_tone"] = "🚶🏾‍♂️", - ["man_walking_tone5"] = "🚶🏿‍♂️", - ["man_walking_dark_skin_tone"] = "🚶🏿‍♂️", - ["person_with_probing_cane"] = "🧑‍🦯", - ["person_with_probing_cane_tone1"] = "🧑🏻‍🦯", - ["person_with_probing_cane_light_skin_tone"] = "🧑🏻‍🦯", - ["person_with_probing_cane_tone2"] = "🧑🏼‍🦯", - ["person_with_probing_cane_medium_light_skin_tone"] = "🧑🏼‍🦯", - ["person_with_probing_cane_tone3"] = "🧑🏽‍🦯", - ["person_with_probing_cane_medium_skin_tone"] = "🧑🏽‍🦯", - ["person_with_probing_cane_tone4"] = "🧑🏾‍🦯", - ["person_with_probing_cane_medium_dark_skin_tone"] = "🧑🏾‍🦯", - ["person_with_probing_cane_tone5"] = "🧑🏿‍🦯", - ["person_with_probing_cane_dark_skin_tone"] = "🧑🏿‍🦯", - ["woman_with_probing_cane"] = "👩‍🦯", - ["woman_with_probing_cane_tone1"] = "👩🏻‍🦯", - ["woman_with_probing_cane_light_skin_tone"] = "👩🏻‍🦯", - ["woman_with_probing_cane_tone2"] = "👩🏼‍🦯", - ["woman_with_probing_cane_medium_light_skin_tone"] = "👩🏼‍🦯", - ["woman_with_probing_cane_tone3"] = "👩🏽‍🦯", - ["woman_with_probing_cane_medium_skin_tone"] = "👩🏽‍🦯", - ["woman_with_probing_cane_tone4"] = "👩🏾‍🦯", - ["woman_with_probing_cane_medium_dark_skin_tone"] = "👩🏾‍🦯", - ["woman_with_probing_cane_tone5"] = "👩🏿‍🦯", - ["woman_with_probing_cane_dark_skin_tone"] = "👩🏿‍🦯", - ["man_with_probing_cane"] = "👨‍🦯", - ["man_with_probing_cane_tone1"] = "👨🏻‍🦯", - ["man_with_probing_cane_light_skin_tone"] = "👨🏻‍🦯", - ["man_with_probing_cane_tone3"] = "👨🏽‍🦯", - ["man_with_probing_cane_medium_skin_tone"] = "👨🏽‍🦯", - ["man_with_probing_cane_tone2"] = "👨🏼‍🦯", - ["man_with_probing_cane_medium_light_skin_tone"] = "👨🏼‍🦯", - ["man_with_probing_cane_tone4"] = "👨🏾‍🦯", - ["man_with_probing_cane_medium_dark_skin_tone"] = "👨🏾‍🦯", - ["man_with_probing_cane_tone5"] = "👨🏿‍🦯", - ["man_with_probing_cane_dark_skin_tone"] = "👨🏿‍🦯", - ["person_kneeling"] = "🧎", - ["person_kneeling_tone1"] = "🧎🏻", - ["person_kneeling_light_skin_tone"] = "🧎🏻", - ["person_kneeling_tone2"] = "🧎🏼", - ["person_kneeling_medium_light_skin_tone"] = "🧎🏼", - ["person_kneeling_tone3"] = "🧎🏽", - ["person_kneeling_medium_skin_tone"] = "🧎🏽", - ["person_kneeling_tone4"] = "🧎🏾", - ["person_kneeling_medium_dark_skin_tone"] = "🧎🏾", - ["person_kneeling_tone5"] = "🧎🏿", - ["person_kneeling_dark_skin_tone"] = "🧎🏿", - ["woman_kneeling"] = "🧎‍♀️", - ["woman_kneeling_tone1"] = "🧎🏻‍♀️", - ["woman_kneeling_light_skin_tone"] = "🧎🏻‍♀️", - ["woman_kneeling_tone2"] = "🧎🏼‍♀️", - ["woman_kneeling_medium_light_skin_tone"] = "🧎🏼‍♀️", - ["woman_kneeling_tone3"] = "🧎🏽‍♀️", - ["woman_kneeling_medium_skin_tone"] = "🧎🏽‍♀️", - ["woman_kneeling_tone4"] = "🧎🏾‍♀️", - ["woman_kneeling_medium_dark_skin_tone"] = "🧎🏾‍♀️", - ["woman_kneeling_tone5"] = "🧎🏿‍♀️", - ["woman_kneeling_dark_skin_tone"] = "🧎🏿‍♀️", - ["man_kneeling"] = "🧎‍♂️", - ["man_kneeling_tone1"] = "🧎🏻‍♂️", - ["man_kneeling_light_skin_tone"] = "🧎🏻‍♂️", - ["man_kneeling_tone2"] = "🧎🏼‍♂️", - ["man_kneeling_medium_light_skin_tone"] = "🧎🏼‍♂️", - ["man_kneeling_tone3"] = "🧎🏽‍♂️", - ["man_kneeling_medium_skin_tone"] = "🧎🏽‍♂️", - ["man_kneeling_tone4"] = "🧎🏾‍♂️", - ["man_kneeling_medium_dark_skin_tone"] = "🧎🏾‍♂️", - ["man_kneeling_tone5"] = "🧎🏿‍♂️", - ["man_kneeling_dark_skin_tone"] = "🧎🏿‍♂️", - ["person_running"] = "🏃", - ["runner"] = "🏃", - ["person_running_tone1"] = "🏃🏻", - ["runner_tone1"] = "🏃🏻", - ["person_running_tone2"] = "🏃🏼", - ["runner_tone2"] = "🏃🏼", - ["person_running_tone3"] = "🏃🏽", - ["runner_tone3"] = "🏃🏽", - ["person_running_tone4"] = "🏃🏾", - ["runner_tone4"] = "🏃🏾", - ["person_running_tone5"] = "🏃🏿", - ["runner_tone5"] = "🏃🏿", - ["woman_running"] = "🏃‍♀️", - ["woman_running_tone1"] = "🏃🏻‍♀️", - ["woman_running_light_skin_tone"] = "🏃🏻‍♀️", - ["woman_running_tone2"] = "🏃🏼‍♀️", - ["woman_running_medium_light_skin_tone"] = "🏃🏼‍♀️", - ["woman_running_tone3"] = "🏃🏽‍♀️", - ["woman_running_medium_skin_tone"] = "🏃🏽‍♀️", - ["woman_running_tone4"] = "🏃🏾‍♀️", - ["woman_running_medium_dark_skin_tone"] = "🏃🏾‍♀️", - ["woman_running_tone5"] = "🏃🏿‍♀️", - ["woman_running_dark_skin_tone"] = "🏃🏿‍♀️", - ["man_running"] = "🏃‍♂️", - ["man_running_tone1"] = "🏃🏻‍♂️", - ["man_running_light_skin_tone"] = "🏃🏻‍♂️", - ["man_running_tone2"] = "🏃🏼‍♂️", - ["man_running_medium_light_skin_tone"] = "🏃🏼‍♂️", - ["man_running_tone3"] = "🏃🏽‍♂️", - ["man_running_medium_skin_tone"] = "🏃🏽‍♂️", - ["man_running_tone4"] = "🏃🏾‍♂️", - ["man_running_medium_dark_skin_tone"] = "🏃🏾‍♂️", - ["man_running_tone5"] = "🏃🏿‍♂️", - ["man_running_dark_skin_tone"] = "🏃🏿‍♂️", - ["person_standing"] = "🧍", - ["person_standing_tone1"] = "🧍🏻", - ["person_standing_light_skin_tone"] = "🧍🏻", - ["person_standing_tone2"] = "🧍🏼", - ["person_standing_medium_light_skin_tone"] = "🧍🏼", - ["person_standing_tone3"] = "🧍🏽", - ["person_standing_medium_skin_tone"] = "🧍🏽", - ["person_standing_tone4"] = "🧍🏾", - ["person_standing_medium_dark_skin_tone"] = "🧍🏾", - ["person_standing_tone5"] = "🧍🏿", - ["person_standing_dark_skin_tone"] = "🧍🏿", - ["woman_standing"] = "🧍‍♀️", - ["woman_standing_tone1"] = "🧍🏻‍♀️", - ["woman_standing_light_skin_tone"] = "🧍🏻‍♀️", - ["woman_standing_tone2"] = "🧍🏼‍♀️", - ["woman_standing_medium_light_skin_tone"] = "🧍🏼‍♀️", - ["woman_standing_tone3"] = "🧍🏽‍♀️", - ["woman_standing_medium_skin_tone"] = "🧍🏽‍♀️", - ["woman_standing_tone4"] = "🧍🏾‍♀️", - ["woman_standing_medium_dark_skin_tone"] = "🧍🏾‍♀️", - ["woman_standing_tone5"] = "🧍🏿‍♀️", - ["woman_standing_dark_skin_tone"] = "🧍🏿‍♀️", - ["man_standing"] = "🧍‍♂️", - ["man_standing_tone1"] = "🧍🏻‍♂️", - ["man_standing_light_skin_tone"] = "🧍🏻‍♂️", - ["man_standing_tone2"] = "🧍🏼‍♂️", - ["man_standing_medium_light_skin_tone"] = "🧍🏼‍♂️", - ["man_standing_tone3"] = "🧍🏽‍♂️", - ["man_standing_medium_skin_tone"] = "🧍🏽‍♂️", - ["man_standing_tone4"] = "🧍🏾‍♂️", - ["man_standing_medium_dark_skin_tone"] = "🧍🏾‍♂️", - ["man_standing_tone5"] = "🧍🏿‍♂️", - ["man_standing_dark_skin_tone"] = "🧍🏿‍♂️", - ["people_holding_hands"] = "🧑‍🤝‍🧑", - ["people_holding_hands_tone1"] = "🧑🏻‍🤝‍🧑🏻", - ["people_holding_hands_light_skin_tone"] = "🧑🏻‍🤝‍🧑🏻", - ["people_holding_hands_tone1_tone2"] = "🧑🏻‍🤝‍🧑🏼", - ["people_holding_hands_light_skin_tone_medium_light_skin_tone"] = "🧑🏻‍🤝‍🧑🏼", - ["people_holding_hands_tone1_tone3"] = "🧑🏻‍🤝‍🧑🏽", - ["people_holding_hands_light_skin_tone_medium_skin_tone"] = "🧑🏻‍🤝‍🧑🏽", - ["people_holding_hands_tone1_tone4"] = "🧑🏻‍🤝‍🧑🏾", - ["people_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "🧑🏻‍🤝‍🧑🏾", - ["people_holding_hands_tone1_tone5"] = "🧑🏻‍🤝‍🧑🏿", - ["people_holding_hands_light_skin_tone_dark_skin_tone"] = "🧑🏻‍🤝‍🧑🏿", - ["people_holding_hands_tone2_tone1"] = "🧑🏼‍🤝‍🧑🏻", - ["people_holding_hands_medium_light_skin_tone_light_skin_tone"] = "🧑🏼‍🤝‍🧑🏻", - ["people_holding_hands_tone2"] = "🧑🏼‍🤝‍🧑🏼", - ["people_holding_hands_medium_light_skin_tone"] = "🧑🏼‍🤝‍🧑🏼", - ["people_holding_hands_tone2_tone3"] = "🧑🏼‍🤝‍🧑🏽", - ["people_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "🧑🏼‍🤝‍🧑🏽", - ["people_holding_hands_tone2_tone4"] = "🧑🏼‍🤝‍🧑🏾", - ["people_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "🧑🏼‍🤝‍🧑🏾", - ["people_holding_hands_tone2_tone5"] = "🧑🏼‍🤝‍🧑🏿", - ["people_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "🧑🏼‍🤝‍🧑🏿", - ["people_holding_hands_tone3_tone1"] = "🧑🏽‍🤝‍🧑🏻", - ["people_holding_hands_medium_skin_tone_light_skin_tone"] = "🧑🏽‍🤝‍🧑🏻", - ["people_holding_hands_tone3_tone2"] = "🧑🏽‍🤝‍🧑🏼", - ["people_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "🧑🏽‍🤝‍🧑🏼", - ["people_holding_hands_tone3"] = "🧑🏽‍🤝‍🧑🏽", - ["people_holding_hands_medium_skin_tone"] = "🧑🏽‍🤝‍🧑🏽", - ["people_holding_hands_tone3_tone4"] = "🧑🏽‍🤝‍🧑🏾", - ["people_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "🧑🏽‍🤝‍🧑🏾", - ["people_holding_hands_tone3_tone5"] = "🧑🏽‍🤝‍🧑🏿", - ["people_holding_hands_medium_skin_tone_dark_skin_tone"] = "🧑🏽‍🤝‍🧑🏿", - ["people_holding_hands_tone4_tone1"] = "🧑🏾‍🤝‍🧑🏻", - ["people_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "🧑🏾‍🤝‍🧑🏻", - ["people_holding_hands_tone4_tone2"] = "🧑🏾‍🤝‍🧑🏼", - ["people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "🧑🏾‍🤝‍🧑🏼", - ["people_holding_hands_tone4_tone3"] = "🧑🏾‍🤝‍🧑🏽", - ["people_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "🧑🏾‍🤝‍🧑🏽", - ["people_holding_hands_tone4"] = "🧑🏾‍🤝‍🧑🏾", - ["people_holding_hands_medium_dark_skin_tone"] = "🧑🏾‍🤝‍🧑🏾", - ["people_holding_hands_tone4_tone5"] = "🧑🏾‍🤝‍🧑🏿", - ["people_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "🧑🏾‍🤝‍🧑🏿", - ["people_holding_hands_tone5_tone1"] = "🧑🏿‍🤝‍🧑🏻", - ["people_holding_hands_dark_skin_tone_light_skin_tone"] = "🧑🏿‍🤝‍🧑🏻", - ["people_holding_hands_tone5_tone2"] = "🧑🏿‍🤝‍🧑🏼", - ["people_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "🧑🏿‍🤝‍🧑🏼", - ["people_holding_hands_tone5_tone3"] = "🧑🏿‍🤝‍🧑🏽", - ["people_holding_hands_dark_skin_tone_medium_skin_tone"] = "🧑🏿‍🤝‍🧑🏽", - ["people_holding_hands_tone5_tone4"] = "🧑🏿‍🤝‍🧑🏾", - ["people_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "🧑🏿‍🤝‍🧑🏾", - ["people_holding_hands_tone5"] = "🧑🏿‍🤝‍🧑🏿", - ["people_holding_hands_dark_skin_tone"] = "🧑🏿‍🤝‍🧑🏿", - ["couple"] = "👫", - ["woman_and_man_holding_hands_tone1"] = "👫🏻", - ["woman_and_man_holding_hands_light_skin_tone"] = "👫🏻", - ["woman_and_man_holding_hands_tone1_tone2"] = "👩🏻‍🤝‍👨🏼", - ["woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍🤝‍👨🏼", - ["woman_and_man_holding_hands_tone1_tone3"] = "👩🏻‍🤝‍👨🏽", - ["woman_and_man_holding_hands_light_skin_tone_medium_skin_tone"] = "👩🏻‍🤝‍👨🏽", - ["woman_and_man_holding_hands_tone1_tone4"] = "👩🏻‍🤝‍👨🏾", - ["woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍🤝‍👨🏾", - ["woman_and_man_holding_hands_tone1_tone5"] = "👩🏻‍🤝‍👨🏿", - ["woman_and_man_holding_hands_light_skin_tone_dark_skin_tone"] = "👩🏻‍🤝‍👨🏿", - ["woman_and_man_holding_hands_tone2_tone1"] = "👩🏼‍🤝‍👨🏻", - ["woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍🤝‍👨🏻", - ["woman_and_man_holding_hands_tone2"] = "👫🏼", - ["woman_and_man_holding_hands_medium_light_skin_tone"] = "👫🏼", - ["woman_and_man_holding_hands_tone2_tone3"] = "👩🏼‍🤝‍👨🏽", - ["woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍🤝‍👨🏽", - ["woman_and_man_holding_hands_tone2_tone4"] = "👩🏼‍🤝‍👨🏾", - ["woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍🤝‍👨🏾", - ["woman_and_man_holding_hands_tone2_tone5"] = "👩🏼‍🤝‍👨🏿", - ["woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍🤝‍👨🏿", - ["woman_and_man_holding_hands_tone3_tone1"] = "👩🏽‍🤝‍👨🏻", - ["woman_and_man_holding_hands_medium_skin_tone_light_skin_tone"] = "👩🏽‍🤝‍👨🏻", - ["woman_and_man_holding_hands_tone3_tone2"] = "👩🏽‍🤝‍👨🏼", - ["woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍🤝‍👨🏼", - ["woman_and_man_holding_hands_tone3"] = "👫🏽", - ["woman_and_man_holding_hands_medium_skin_tone"] = "👫🏽", - ["woman_and_man_holding_hands_tone3_tone4"] = "👩🏽‍🤝‍👨🏾", - ["woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍🤝‍👨🏾", - ["woman_and_man_holding_hands_tone3_tone5"] = "👩🏽‍🤝‍👨🏿", - ["woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone"] = "👩🏽‍🤝‍👨🏿", - ["woman_and_man_holding_hands_tone4_tone1"] = "👩🏾‍🤝‍👨🏻", - ["woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍🤝‍👨🏻", - ["woman_and_man_holding_hands_tone4_tone2"] = "👩🏾‍🤝‍👨🏼", - ["woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍🤝‍👨🏼", - ["woman_and_man_holding_hands_tone4_tone3"] = "👩🏾‍🤝‍👨🏽", - ["woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍🤝‍👨🏽", - ["woman_and_man_holding_hands_tone4"] = "👫🏾", - ["woman_and_man_holding_hands_medium_dark_skin_tone"] = "👫🏾", - ["woman_and_man_holding_hands_tone4_tone5"] = "👩🏾‍🤝‍👨🏿", - ["woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍🤝‍👨🏿", - ["woman_and_man_holding_hands_tone5_tone1"] = "👩🏿‍🤝‍👨🏻", - ["woman_and_man_holding_hands_dark_skin_tone_light_skin_tone"] = "👩🏿‍🤝‍👨🏻", - ["woman_and_man_holding_hands_tone5_tone2"] = "👩🏿‍🤝‍👨🏼", - ["woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍🤝‍👨🏼", - ["woman_and_man_holding_hands_tone5_tone3"] = "👩🏿‍🤝‍👨🏽", - ["woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone"] = "👩🏿‍🤝‍👨🏽", - ["woman_and_man_holding_hands_tone5_tone4"] = "👩🏿‍🤝‍👨🏾", - ["woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍🤝‍👨🏾", - ["woman_and_man_holding_hands_tone5"] = "👫🏿", - ["woman_and_man_holding_hands_dark_skin_tone"] = "👫🏿", - ["two_women_holding_hands"] = "👭", - ["women_holding_hands_tone1"] = "👭🏻", - ["women_holding_hands_light_skin_tone"] = "👭🏻", - ["women_holding_hands_tone1_tone2"] = "👩🏻‍🤝‍👩🏼", - ["women_holding_hands_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍🤝‍👩🏼", - ["women_holding_hands_tone1_tone3"] = "👩🏻‍🤝‍👩🏽", - ["women_holding_hands_light_skin_tone_medium_skin_tone"] = "👩🏻‍🤝‍👩🏽", - ["women_holding_hands_tone1_tone4"] = "👩🏻‍🤝‍👩🏾", - ["women_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍🤝‍👩🏾", - ["women_holding_hands_tone1_tone5"] = "👩🏻‍🤝‍👩🏿", - ["women_holding_hands_light_skin_tone_dark_skin_tone"] = "👩🏻‍🤝‍👩🏿", - ["women_holding_hands_tone2_tone1"] = "👩🏼‍🤝‍👩🏻", - ["women_holding_hands_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍🤝‍👩🏻", - ["women_holding_hands_tone2"] = "👭🏼", - ["women_holding_hands_medium_light_skin_tone"] = "👭🏼", - ["women_holding_hands_tone2_tone3"] = "👩🏼‍🤝‍👩🏽", - ["women_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍🤝‍👩🏽", - ["women_holding_hands_tone2_tone4"] = "👩🏼‍🤝‍👩🏾", - ["women_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍🤝‍👩🏾", - ["women_holding_hands_tone2_tone5"] = "👩🏼‍🤝‍👩🏿", - ["women_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍🤝‍👩🏿", - ["women_holding_hands_tone3_tone1"] = "👩🏽‍🤝‍👩🏻", - ["women_holding_hands_medium_skin_tone_light_skin_tone"] = "👩🏽‍🤝‍👩🏻", - ["women_holding_hands_tone3_tone2"] = "👩🏽‍🤝‍👩🏼", - ["women_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍🤝‍👩🏼", - ["women_holding_hands_tone3"] = "👭🏽", - ["women_holding_hands_medium_skin_tone"] = "👭🏽", - ["women_holding_hands_tone3_tone4"] = "👩🏽‍🤝‍👩🏾", - ["women_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍🤝‍👩🏾", - ["women_holding_hands_tone3_tone5"] = "👩🏽‍🤝‍👩🏿", - ["women_holding_hands_medium_skin_tone_dark_skin_tone"] = "👩🏽‍🤝‍👩🏿", - ["women_holding_hands_tone4_tone1"] = "👩🏾‍🤝‍👩🏻", - ["women_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍🤝‍👩🏻", - ["women_holding_hands_tone4_tone2"] = "👩🏾‍🤝‍👩🏼", - ["women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍🤝‍👩🏼", - ["women_holding_hands_tone4_tone3"] = "👩🏾‍🤝‍👩🏽", - ["women_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍🤝‍👩🏽", - ["women_holding_hands_tone4"] = "👭🏾", - ["women_holding_hands_medium_dark_skin_tone"] = "👭🏾", - ["women_holding_hands_tone4_tone5"] = "👩🏾‍🤝‍👩🏿", - ["women_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍🤝‍👩🏿", - ["women_holding_hands_tone5_tone1"] = "👩🏿‍🤝‍👩🏻", - ["women_holding_hands_dark_skin_tone_light_skin_tone"] = "👩🏿‍🤝‍👩🏻", - ["women_holding_hands_tone5_tone2"] = "👩🏿‍🤝‍👩🏼", - ["women_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍🤝‍👩🏼", - ["women_holding_hands_tone5_tone3"] = "👩🏿‍🤝‍👩🏽", - ["women_holding_hands_dark_skin_tone_medium_skin_tone"] = "👩🏿‍🤝‍👩🏽", - ["women_holding_hands_tone5_tone4"] = "👩🏿‍🤝‍👩🏾", - ["women_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍🤝‍👩🏾", - ["women_holding_hands_tone5"] = "👭🏿", - ["women_holding_hands_dark_skin_tone"] = "👭🏿", - ["two_men_holding_hands"] = "👬", - ["men_holding_hands_tone1"] = "👬🏻", - ["men_holding_hands_light_skin_tone"] = "👬🏻", - ["men_holding_hands_tone1_tone2"] = "👨🏻‍🤝‍👨🏼", - ["men_holding_hands_light_skin_tone_medium_light_skin_tone"] = "👨🏻‍🤝‍👨🏼", - ["men_holding_hands_tone1_tone3"] = "👨🏻‍🤝‍👨🏽", - ["men_holding_hands_light_skin_tone_medium_skin_tone"] = "👨🏻‍🤝‍👨🏽", - ["men_holding_hands_tone1_tone4"] = "👨🏻‍🤝‍👨🏾", - ["men_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "👨🏻‍🤝‍👨🏾", - ["men_holding_hands_tone1_tone5"] = "👨🏻‍🤝‍👨🏿", - ["men_holding_hands_light_skin_tone_dark_skin_tone"] = "👨🏻‍🤝‍👨🏿", - ["men_holding_hands_tone2_tone1"] = "👨🏼‍🤝‍👨🏻", - ["men_holding_hands_medium_light_skin_tone_light_skin_tone"] = "👨🏼‍🤝‍👨🏻", - ["men_holding_hands_tone2"] = "👬🏼", - ["men_holding_hands_medium_light_skin_tone"] = "👬🏼", - ["men_holding_hands_tone2_tone3"] = "👨🏼‍🤝‍👨🏽", - ["men_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "👨🏼‍🤝‍👨🏽", - ["men_holding_hands_tone2_tone4"] = "👨🏼‍🤝‍👨🏾", - ["men_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "👨🏼‍🤝‍👨🏾", - ["men_holding_hands_tone2_tone5"] = "👨🏼‍🤝‍👨🏿", - ["men_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "👨🏼‍🤝‍👨🏿", - ["men_holding_hands_tone3_tone1"] = "👨🏽‍🤝‍👨🏻", - ["men_holding_hands_medium_skin_tone_light_skin_tone"] = "👨🏽‍🤝‍👨🏻", - ["men_holding_hands_tone3_tone2"] = "👨🏽‍🤝‍👨🏼", - ["men_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "👨🏽‍🤝‍👨🏼", - ["men_holding_hands_tone3"] = "👬🏽", - ["men_holding_hands_medium_skin_tone"] = "👬🏽", - ["men_holding_hands_tone3_tone4"] = "👨🏽‍🤝‍👨🏾", - ["men_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "👨🏽‍🤝‍👨🏾", - ["men_holding_hands_tone3_tone5"] = "👨🏽‍🤝‍👨🏿", - ["men_holding_hands_medium_skin_tone_dark_skin_tone"] = "👨🏽‍🤝‍👨🏿", - ["men_holding_hands_tone4_tone1"] = "👨🏾‍🤝‍👨🏻", - ["men_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "👨🏾‍🤝‍👨🏻", - ["men_holding_hands_tone4_tone2"] = "👨🏾‍🤝‍👨🏼", - ["men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "👨🏾‍🤝‍👨🏼", - ["men_holding_hands_tone4_tone3"] = "👨🏾‍🤝‍👨🏽", - ["men_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "👨🏾‍🤝‍👨🏽", - ["men_holding_hands_tone4"] = "👬🏾", - ["men_holding_hands_medium_dark_skin_tone"] = "👬🏾", - ["men_holding_hands_tone4_tone5"] = "👨🏾‍🤝‍👨🏿", - ["men_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "👨🏾‍🤝‍👨🏿", - ["men_holding_hands_tone5_tone1"] = "👨🏿‍🤝‍👨🏻", - ["men_holding_hands_dark_skin_tone_light_skin_tone"] = "👨🏿‍🤝‍👨🏻", - ["men_holding_hands_tone5_tone2"] = "👨🏿‍🤝‍👨🏼", - ["men_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "👨🏿‍🤝‍👨🏼", - ["men_holding_hands_tone5_tone3"] = "👨🏿‍🤝‍👨🏽", - ["men_holding_hands_dark_skin_tone_medium_skin_tone"] = "👨🏿‍🤝‍👨🏽", - ["men_holding_hands_tone5_tone4"] = "👨🏿‍🤝‍👨🏾", - ["men_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "👨🏿‍🤝‍👨🏾", - ["men_holding_hands_tone5"] = "👬🏿", - ["men_holding_hands_dark_skin_tone"] = "👬🏿", - ["couple_with_heart"] = "💑", - ["couple_with_heart_tone1"] = "💑🏻", - ["couple_with_heart_light_skin_tone"] = "💑🏻", - ["couple_with_heart_person_person_tone1_tone2"] = "🧑🏻‍❤️‍🧑🏼", - ["couple_with_heart_person_person_light_skin_tone_medium_light_skin_tone"] = "🧑🏻‍❤️‍🧑🏼", - ["couple_with_heart_person_person_tone1_tone3"] = "🧑🏻‍❤️‍🧑🏽", - ["couple_with_heart_person_person_light_skin_tone_medium_skin_tone"] = "🧑🏻‍❤️‍🧑🏽", - ["couple_with_heart_person_person_tone1_tone4"] = "🧑🏻‍❤️‍🧑🏾", - ["couple_with_heart_person_person_light_skin_tone_medium_dark_skin_tone"] = "🧑🏻‍❤️‍🧑🏾", - ["couple_with_heart_person_person_tone1_tone5"] = "🧑🏻‍❤️‍🧑🏿", - ["couple_with_heart_person_person_light_skin_tone_dark_skin_tone"] = "🧑🏻‍❤️‍🧑🏿", - ["couple_with_heart_person_person_tone2_tone1"] = "🧑🏼‍❤️‍🧑🏻", - ["couple_with_heart_person_person_medium_light_skin_tone_light_skin_tone"] = "🧑🏼‍❤️‍🧑🏻", - ["couple_with_heart_tone2"] = "💑🏼", - ["couple_with_heart_medium_light_skin_tone"] = "💑🏼", - ["couple_with_heart_person_person_tone2_tone3"] = "🧑🏼‍❤️‍🧑🏽", - ["couple_with_heart_person_person_medium_light_skin_tone_medium_skin_tone"] = "🧑🏼‍❤️‍🧑🏽", - ["couple_with_heart_person_person_tone2_tone4"] = "🧑🏼‍❤️‍🧑🏾", - ["couple_with_heart_person_person_medium_light_skin_tone_medium_dark_skin_tone"] = "🧑🏼‍❤️‍🧑🏾", - ["couple_with_heart_person_person_tone2_tone5"] = "🧑🏼‍❤️‍🧑🏿", - ["couple_with_heart_person_person_medium_light_skin_tone_dark_skin_tone"] = "🧑🏼‍❤️‍🧑🏿", - ["couple_with_heart_person_person_tone3_tone1"] = "🧑🏽‍❤️‍🧑🏻", - ["couple_with_heart_person_person_medium_skin_tone_light_skin_tone"] = "🧑🏽‍❤️‍🧑🏻", - ["couple_with_heart_person_person_tone3_tone2"] = "🧑🏽‍❤️‍🧑🏼", - ["couple_with_heart_person_person_medium_skin_tone_medium_light_skin_tone"] = "🧑🏽‍❤️‍🧑🏼", - ["couple_with_heart_tone3"] = "💑🏽", - ["couple_with_heart_medium_skin_tone"] = "💑🏽", - ["couple_with_heart_person_person_tone3_tone4"] = "🧑🏽‍❤️‍🧑🏾", - ["couple_with_heart_person_person_medium_skin_tone_medium_dark_skin_tone"] = "🧑🏽‍❤️‍🧑🏾", - ["couple_with_heart_person_person_tone3_tone5"] = "🧑🏽‍❤️‍🧑🏿", - ["couple_with_heart_person_person_medium_skin_tone_dark_skin_tone"] = "🧑🏽‍❤️‍🧑🏿", - ["couple_with_heart_person_person_tone4_tone1"] = "🧑🏾‍❤️‍🧑🏻", - ["couple_with_heart_person_person_medium_dark_skin_tone_light_skin_tone"] = "🧑🏾‍❤️‍🧑🏻", - ["couple_with_heart_person_person_tone4_tone2"] = "🧑🏾‍❤️‍🧑🏼", - ["couple_with_heart_person_person_medium_dark_skin_tone_medium_light_skin_tone"] = "🧑🏾‍❤️‍🧑🏼", - ["couple_with_heart_person_person_tone4_tone3"] = "🧑🏾‍❤️‍🧑🏽", - ["couple_with_heart_person_person_medium_dark_skin_tone_medium_skin_tone"] = "🧑🏾‍❤️‍🧑🏽", - ["couple_with_heart_tone4"] = "💑🏾", - ["couple_with_heart_medium_dark_skin_tone"] = "💑🏾", - ["couple_with_heart_person_person_tone4_tone5"] = "🧑🏾‍❤️‍🧑🏿", - ["couple_with_heart_person_person_medium_dark_skin_tone_dark_skin_tone"] = "🧑🏾‍❤️‍🧑🏿", - ["couple_with_heart_person_person_tone5_tone1"] = "🧑🏿‍❤️‍🧑🏻", - ["couple_with_heart_person_person_dark_skin_tone_light_skin_tone"] = "🧑🏿‍❤️‍🧑🏻", - ["couple_with_heart_person_person_tone5_tone2"] = "🧑🏿‍❤️‍🧑🏼", - ["couple_with_heart_person_person_dark_skin_tone_medium_light_skin_tone"] = "🧑🏿‍❤️‍🧑🏼", - ["couple_with_heart_person_person_tone5_tone3"] = "🧑🏿‍❤️‍🧑🏽", - ["couple_with_heart_person_person_dark_skin_tone_medium_skin_tone"] = "🧑🏿‍❤️‍🧑🏽", - ["couple_with_heart_person_person_tone5_tone4"] = "🧑🏿‍❤️‍🧑🏾", - ["couple_with_heart_person_person_dark_skin_tone_medium_dark_skin_tone"] = "🧑🏿‍❤️‍🧑🏾", - ["couple_with_heart_tone5"] = "💑🏿", - ["couple_with_heart_dark_skin_tone"] = "💑🏿", - ["couple_with_heart_woman_man"] = "👩‍❤️‍👨", - ["couple_with_heart_woman_man_tone1"] = "👩🏻‍❤️‍👨🏻", - ["couple_with_heart_woman_man_light_skin_tone"] = "👩🏻‍❤️‍👨🏻", - ["couple_with_heart_woman_man_tone1_tone2"] = "👩🏻‍❤️‍👨🏼", - ["couple_with_heart_woman_man_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍👨🏼", - ["couple_with_heart_woman_man_tone1_tone3"] = "👩🏻‍❤️‍👨🏽", - ["couple_with_heart_woman_man_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍👨🏽", - ["couple_with_heart_woman_man_tone1_tone4"] = "👩🏻‍❤️‍👨🏾", - ["couple_with_heart_woman_man_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍👨🏾", - ["couple_with_heart_woman_man_tone1_tone5"] = "👩🏻‍❤️‍👨🏿", - ["couple_with_heart_woman_man_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍👨🏿", - ["couple_with_heart_woman_man_tone2_tone1"] = "👩🏼‍❤️‍👨🏻", - ["couple_with_heart_woman_man_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍👨🏻", - ["couple_with_heart_woman_man_tone2"] = "👩🏼‍❤️‍👨🏼", - ["couple_with_heart_woman_man_medium_light_skin_tone"] = "👩🏼‍❤️‍👨🏼", - ["couple_with_heart_woman_man_tone2_tone3"] = "👩🏼‍❤️‍👨🏽", - ["couple_with_heart_woman_man_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍❤️‍👨🏽", - ["couple_with_heart_woman_man_tone2_tone4"] = "👩🏼‍❤️‍👨🏾", - ["couple_with_heart_woman_man_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍❤️‍👨🏾", - ["couple_with_heart_woman_man_tone2_tone5"] = "👩🏼‍❤️‍👨🏿", - ["couple_with_heart_woman_man_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍👨🏿", - ["couple_with_heart_woman_man_tone3_tone1"] = "👩🏽‍❤️‍👨🏻", - ["couple_with_heart_woman_man_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍👨🏻", - ["couple_with_heart_woman_man_tone3_tone2"] = "👩🏽‍❤️‍👨🏼", - ["couple_with_heart_woman_man_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍❤️‍👨🏼", - ["couple_with_heart_woman_man_tone3"] = "👩🏽‍❤️‍👨🏽", - ["couple_with_heart_woman_man_medium_skin_tone"] = "👩🏽‍❤️‍👨🏽", - ["couple_with_heart_woman_man_tone3_tone4"] = "👩🏽‍❤️‍👨🏾", - ["couple_with_heart_woman_man_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍👨🏾", - ["couple_with_heart_woman_man_tone3_tone5"] = "👩🏽‍❤️‍👨🏿", - ["couple_with_heart_woman_man_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍👨🏿", - ["couple_with_heart_woman_man_tone4_tone1"] = "👩🏾‍❤️‍👨🏻", - ["couple_with_heart_woman_man_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍👨🏻", - ["couple_with_heart_woman_man_tone4_tone2"] = "👩🏾‍❤️‍👨🏼", - ["couple_with_heart_woman_man_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍❤️‍👨🏼", - ["couple_with_heart_woman_man_tone4_tone3"] = "👩🏾‍❤️‍👨🏽", - ["couple_with_heart_woman_man_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍👨🏽", - ["couple_with_heart_woman_man_tone4"] = "👩🏾‍❤️‍👨🏾", - ["couple_with_heart_woman_man_medium_dark_skin_tone"] = "👩🏾‍❤️‍👨🏾", - ["couple_with_heart_woman_man_tone4_tone5"] = "👩🏾‍❤️‍👨🏿", - ["couple_with_heart_woman_man_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍👨🏿", - ["couple_with_heart_woman_man_tone5_tone1"] = "👩🏿‍❤️‍👨🏻", - ["couple_with_heart_woman_man_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍👨🏻", - ["couple_with_heart_woman_man_tone5_tone2"] = "👩🏿‍❤️‍👨🏼", - ["couple_with_heart_woman_man_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍👨🏼", - ["couple_with_heart_woman_man_tone5_tone3"] = "👩🏿‍❤️‍👨🏽", - ["couple_with_heart_woman_man_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍👨🏽", - ["couple_with_heart_woman_man_tone5_tone4"] = "👩🏿‍❤️‍👨🏾", - ["couple_with_heart_woman_man_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍👨🏾", - ["couple_with_heart_woman_man_tone5"] = "👩🏿‍❤️‍👨🏿", - ["couple_with_heart_woman_man_dark_skin_tone"] = "👩🏿‍❤️‍👨🏿", - ["couple_ww"] = "👩‍❤️‍👩", - ["couple_with_heart_ww"] = "👩‍❤️‍👩", - ["couple_with_heart_woman_woman_tone1"] = "👩🏻‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_light_skin_tone"] = "👩🏻‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_tone1_tone2"] = "👩🏻‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_tone1_tone3"] = "👩🏻‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_tone1_tone4"] = "👩🏻‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_tone1_tone5"] = "👩🏻‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_tone2_tone1"] = "👩🏼‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_tone2"] = "👩🏼‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_medium_light_skin_tone"] = "👩🏼‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_tone2_tone3"] = "👩🏼‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_tone2_tone4"] = "👩🏼‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_tone2_tone5"] = "👩🏼‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_tone3_tone1"] = "👩🏽‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_tone3_tone2"] = "👩🏽‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_tone3"] = "👩🏽‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_medium_skin_tone"] = "👩🏽‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_tone3_tone4"] = "👩🏽‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_tone3_tone5"] = "👩🏽‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_tone4_tone1"] = "👩🏾‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_tone4_tone2"] = "👩🏾‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_tone4_tone3"] = "👩🏾‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_tone4"] = "👩🏾‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_medium_dark_skin_tone"] = "👩🏾‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_tone4_tone5"] = "👩🏾‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_tone5_tone1"] = "👩🏿‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍👩🏻", - ["couple_with_heart_woman_woman_tone5_tone2"] = "👩🏿‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍👩🏼", - ["couple_with_heart_woman_woman_tone5_tone3"] = "👩🏿‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍👩🏽", - ["couple_with_heart_woman_woman_tone5_tone4"] = "👩🏿‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍👩🏾", - ["couple_with_heart_woman_woman_tone5"] = "👩🏿‍❤️‍👩🏿", - ["couple_with_heart_woman_woman_dark_skin_tone"] = "👩🏿‍❤️‍👩🏿", - ["couple_mm"] = "👨‍❤️‍👨", - ["couple_with_heart_mm"] = "👨‍❤️‍👨", - ["couple_with_heart_man_man_tone1"] = "👨🏻‍❤️‍👨🏻", - ["couple_with_heart_man_man_light_skin_tone"] = "👨🏻‍❤️‍👨🏻", - ["couple_with_heart_man_man_tone1_tone2"] = "👨🏻‍❤️‍👨🏼", - ["couple_with_heart_man_man_light_skin_tone_medium_light_skin_tone"] = "👨🏻‍❤️‍👨🏼", - ["couple_with_heart_man_man_tone1_tone3"] = "👨🏻‍❤️‍👨🏽", - ["couple_with_heart_man_man_light_skin_tone_medium_skin_tone"] = "👨🏻‍❤️‍👨🏽", - ["couple_with_heart_man_man_tone1_tone4"] = "👨🏻‍❤️‍👨🏾", - ["couple_with_heart_man_man_light_skin_tone_medium_dark_skin_tone"] = "👨🏻‍❤️‍👨🏾", - ["couple_with_heart_man_man_tone1_tone5"] = "👨🏻‍❤️‍👨🏿", - ["couple_with_heart_man_man_light_skin_tone_dark_skin_tone"] = "👨🏻‍❤️‍👨🏿", - ["couple_with_heart_man_man_tone2_tone1"] = "👨🏼‍❤️‍👨🏻", - ["couple_with_heart_man_man_medium_light_skin_tone_light_skin_tone"] = "👨🏼‍❤️‍👨🏻", - ["couple_with_heart_man_man_tone2"] = "👨🏼‍❤️‍👨🏼", - ["couple_with_heart_man_man_medium_light_skin_tone"] = "👨🏼‍❤️‍👨🏼", - ["couple_with_heart_man_man_tone2_tone3"] = "👨🏼‍❤️‍👨🏽", - ["couple_with_heart_man_man_medium_light_skin_tone_medium_skin_tone"] = "👨🏼‍❤️‍👨🏽", - ["couple_with_heart_man_man_tone2_tone4"] = "👨🏼‍❤️‍👨🏾", - ["couple_with_heart_man_man_medium_light_skin_tone_medium_dark_skin_tone"] = "👨🏼‍❤️‍👨🏾", - ["couple_with_heart_man_man_tone2_tone5"] = "👨🏼‍❤️‍👨🏿", - ["couple_with_heart_man_man_medium_light_skin_tone_dark_skin_tone"] = "👨🏼‍❤️‍👨🏿", - ["couple_with_heart_man_man_tone3_tone1"] = "👨🏽‍❤️‍👨🏻", - ["couple_with_heart_man_man_medium_skin_tone_light_skin_tone"] = "👨🏽‍❤️‍👨🏻", - ["couple_with_heart_man_man_tone3_tone2"] = "👨🏽‍❤️‍👨🏼", - ["couple_with_heart_man_man_medium_skin_tone_medium_light_skin_tone"] = "👨🏽‍❤️‍👨🏼", - ["couple_with_heart_man_man_tone3"] = "👨🏽‍❤️‍👨🏽", - ["couple_with_heart_man_man_medium_skin_tone"] = "👨🏽‍❤️‍👨🏽", - ["couple_with_heart_man_man_tone3_tone4"] = "👨🏽‍❤️‍👨🏾", - ["couple_with_heart_man_man_medium_skin_tone_medium_dark_skin_tone"] = "👨🏽‍❤️‍👨🏾", - ["couple_with_heart_man_man_tone3_tone5"] = "👨🏽‍❤️‍👨🏿", - ["couple_with_heart_man_man_medium_skin_tone_dark_skin_tone"] = "👨🏽‍❤️‍👨🏿", - ["couple_with_heart_man_man_tone4_tone1"] = "👨🏾‍❤️‍👨🏻", - ["couple_with_heart_man_man_medium_dark_skin_tone_light_skin_tone"] = "👨🏾‍❤️‍👨🏻", - ["couple_with_heart_man_man_tone4_tone2"] = "👨🏾‍❤️‍👨🏼", - ["couple_with_heart_man_man_medium_dark_skin_tone_medium_light_skin_tone"] = "👨🏾‍❤️‍👨🏼", - ["couple_with_heart_man_man_tone4_tone3"] = "👨🏾‍❤️‍👨🏽", - ["couple_with_heart_man_man_medium_dark_skin_tone_medium_skin_tone"] = "👨🏾‍❤️‍👨🏽", - ["couple_with_heart_man_man_tone4"] = "👨🏾‍❤️‍👨🏾", - ["couple_with_heart_man_man_medium_dark_skin_tone"] = "👨🏾‍❤️‍👨🏾", - ["couple_with_heart_man_man_tone4_tone5"] = "👨🏾‍❤️‍👨🏿", - ["couple_with_heart_man_man_medium_dark_skin_tone_dark_skin_tone"] = "👨🏾‍❤️‍👨🏿", - ["couple_with_heart_man_man_tone5_tone1"] = "👨🏿‍❤️‍👨🏻", - ["couple_with_heart_man_man_dark_skin_tone_light_skin_tone"] = "👨🏿‍❤️‍👨🏻", - ["couple_with_heart_man_man_tone5_tone2"] = "👨🏿‍❤️‍👨🏼", - ["couple_with_heart_man_man_dark_skin_tone_medium_light_skin_tone"] = "👨🏿‍❤️‍👨🏼", - ["couple_with_heart_man_man_tone5_tone3"] = "👨🏿‍❤️‍👨🏽", - ["couple_with_heart_man_man_dark_skin_tone_medium_skin_tone"] = "👨🏿‍❤️‍👨🏽", - ["couple_with_heart_man_man_tone5_tone4"] = "👨🏿‍❤️‍👨🏾", - ["couple_with_heart_man_man_dark_skin_tone_medium_dark_skin_tone"] = "👨🏿‍❤️‍👨🏾", - ["couple_with_heart_man_man_tone5"] = "👨🏿‍❤️‍👨🏿", - ["couple_with_heart_man_man_dark_skin_tone"] = "👨🏿‍❤️‍👨🏿", - ["couplekiss"] = "💏", - ["kiss_person_person_tone5_tone4"] = "🧑🏿‍❤️‍💋‍🧑🏾", - ["kiss_person_person_dark_skin_tone_medium_dark_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏾", - ["kiss_tone1"] = "💏🏻", - ["kiss_light_skin_tone"] = "💏🏻", - ["kiss_person_person_tone1_tone2"] = "🧑🏻‍❤️‍💋‍🧑🏼", - ["kiss_person_person_light_skin_tone_medium_light_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏼", - ["kiss_person_person_tone1_tone3"] = "🧑🏻‍❤️‍💋‍🧑🏽", - ["kiss_person_person_light_skin_tone_medium_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏽", - ["kiss_person_person_tone1_tone4"] = "🧑🏻‍❤️‍💋‍🧑🏾", - ["kiss_person_person_light_skin_tone_medium_dark_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏾", - ["kiss_person_person_tone1_tone5"] = "🧑🏻‍❤️‍💋‍🧑🏿", - ["kiss_person_person_light_skin_tone_dark_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏿", - ["kiss_person_person_tone2_tone1"] = "🧑🏼‍❤️‍💋‍🧑🏻", - ["kiss_person_person_medium_light_skin_tone_light_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏻", - ["kiss_tone2"] = "💏🏼", - ["kiss_medium_light_skin_tone"] = "💏🏼", - ["kiss_person_person_tone2_tone3"] = "🧑🏼‍❤️‍💋‍🧑🏽", - ["kiss_person_person_medium_light_skin_tone_medium_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏽", - ["kiss_person_person_tone2_tone4"] = "🧑🏼‍❤️‍💋‍🧑🏾", - ["kiss_person_person_medium_light_skin_tone_medium_dark_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏾", - ["kiss_person_person_tone2_tone5"] = "🧑🏼‍❤️‍💋‍🧑🏿", - ["kiss_person_person_medium_light_skin_tone_dark_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏿", - ["kiss_person_person_tone3_tone1"] = "🧑🏽‍❤️‍💋‍🧑🏻", - ["kiss_person_person_medium_skin_tone_light_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏻", - ["kiss_person_person_tone3_tone2"] = "🧑🏽‍❤️‍💋‍🧑🏼", - ["kiss_person_person_medium_skin_tone_medium_light_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏼", - ["kiss_tone3"] = "💏🏽", - ["kiss_medium_skin_tone"] = "💏🏽", - ["kiss_person_person_tone3_tone4"] = "🧑🏽‍❤️‍💋‍🧑🏾", - ["kiss_person_person_medium_skin_tone_medium_dark_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏾", - ["kiss_person_person_tone3_tone5"] = "🧑🏽‍❤️‍💋‍🧑🏿", - ["kiss_person_person_medium_skin_tone_dark_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏿", - ["kiss_person_person_tone4_tone1"] = "🧑🏾‍❤️‍💋‍🧑🏻", - ["kiss_person_person_medium_dark_skin_tone_light_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏻", - ["kiss_person_person_tone4_tone2"] = "🧑🏾‍❤️‍💋‍🧑🏼", - ["kiss_person_person_medium_dark_skin_tone_medium_light_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏼", - ["kiss_person_person_tone4_tone3"] = "🧑🏾‍❤️‍💋‍🧑🏽", - ["kiss_person_person_medium_dark_skin_tone_medium_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏽", - ["kiss_tone4"] = "💏🏾", - ["kiss_medium_dark_skin_tone"] = "💏🏾", - ["kiss_person_person_tone4_tone5"] = "🧑🏾‍❤️‍💋‍🧑🏿", - ["kiss_person_person_medium_dark_skin_tone_dark_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏿", - ["kiss_person_person_tone5_tone1"] = "🧑🏿‍❤️‍💋‍🧑🏻", - ["kiss_person_person_dark_skin_tone_light_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏻", - ["kiss_person_person_tone5_tone2"] = "🧑🏿‍❤️‍💋‍🧑🏼", - ["kiss_person_person_dark_skin_tone_medium_light_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏼", - ["kiss_person_person_tone5_tone3"] = "🧑🏿‍❤️‍💋‍🧑🏽", - ["kiss_person_person_dark_skin_tone_medium_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏽", - ["kiss_tone5"] = "💏🏿", - ["kiss_dark_skin_tone"] = "💏🏿", - ["kiss_woman_man"] = "👩‍❤️‍💋‍👨", - ["kiss_woman_man_tone1"] = "👩🏻‍❤️‍💋‍👨🏻", - ["kiss_woman_man_light_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏻", - ["kiss_woman_man_tone1_tone2"] = "👩🏻‍❤️‍💋‍👨🏼", - ["kiss_woman_man_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏼", - ["kiss_woman_man_tone1_tone3"] = "👩🏻‍❤️‍💋‍👨🏽", - ["kiss_woman_man_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏽", - ["kiss_woman_man_tone1_tone4"] = "👩🏻‍❤️‍💋‍👨🏾", - ["kiss_woman_man_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏾", - ["kiss_woman_man_tone1_tone5"] = "👩🏻‍❤️‍💋‍👨🏿", - ["kiss_woman_man_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏿", - ["kiss_woman_man_tone2_tone1"] = "👩🏼‍❤️‍💋‍👨🏻", - ["kiss_woman_man_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏻", - ["kiss_woman_man_tone2"] = "👩🏼‍❤️‍💋‍👨🏼", - ["kiss_woman_man_medium_light_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏼", - ["kiss_woman_man_tone2_tone3"] = "👩🏼‍❤️‍💋‍👨🏽", - ["kiss_woman_man_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏽", - ["kiss_woman_man_tone2_tone4"] = "👩🏼‍❤️‍💋‍👨🏾", - ["kiss_woman_man_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏾", - ["kiss_woman_man_tone2_tone5"] = "👩🏼‍❤️‍💋‍👨🏿", - ["kiss_woman_man_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏿", - ["kiss_woman_man_tone3_tone1"] = "👩🏽‍❤️‍💋‍👨🏻", - ["kiss_woman_man_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏻", - ["kiss_woman_man_tone3_tone2"] = "👩🏽‍❤️‍💋‍👨🏼", - ["kiss_woman_man_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏼", - ["kiss_woman_man_tone3"] = "👩🏽‍❤️‍💋‍👨🏽", - ["kiss_woman_man_medium_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏽", - ["kiss_woman_man_tone3_tone4"] = "👩🏽‍❤️‍💋‍👨🏾", - ["kiss_woman_man_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏾", - ["kiss_woman_man_tone3_tone5"] = "👩🏽‍❤️‍💋‍👨🏿", - ["kiss_woman_man_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏿", - ["kiss_woman_man_tone4_tone1"] = "👩🏾‍❤️‍💋‍👨🏻", - ["kiss_woman_man_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏻", - ["kiss_woman_man_tone4_tone2"] = "👩🏾‍❤️‍💋‍👨🏼", - ["kiss_woman_man_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏼", - ["kiss_woman_man_tone4_tone3"] = "👩🏾‍❤️‍💋‍👨🏽", - ["kiss_woman_man_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏽", - ["kiss_woman_man_tone4"] = "👩🏾‍❤️‍💋‍👨🏾", - ["kiss_woman_man_medium_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏾", - ["kiss_woman_man_tone4_tone5"] = "👩🏾‍❤️‍💋‍👨🏿", - ["kiss_woman_man_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏿", - ["kiss_woman_man_tone5_tone1"] = "👩🏿‍❤️‍💋‍👨🏻", - ["kiss_woman_man_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏻", - ["kiss_woman_man_tone5_tone2"] = "👩🏿‍❤️‍💋‍👨🏼", - ["kiss_woman_man_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏼", - ["kiss_woman_man_tone5_tone3"] = "👩🏿‍❤️‍💋‍👨🏽", - ["kiss_woman_man_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏽", - ["kiss_woman_man_tone5_tone4"] = "👩🏿‍❤️‍💋‍👨🏾", - ["kiss_woman_man_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏾", - ["kiss_woman_man_tone5"] = "👩🏿‍❤️‍💋‍👨🏿", - ["kiss_woman_man_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏿", - ["kiss_ww"] = "👩‍❤️‍💋‍👩", - ["couplekiss_ww"] = "👩‍❤️‍💋‍👩", - ["kiss_woman_woman_tone1"] = "👩🏻‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_light_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_tone1_tone2"] = "👩🏻‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_tone1_tone3"] = "👩🏻‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_tone1_tone4"] = "👩🏻‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_tone1_tone5"] = "👩🏻‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_tone2_tone1"] = "👩🏼‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_tone2"] = "👩🏼‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_medium_light_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_tone2_tone3"] = "👩🏼‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_tone2_tone4"] = "👩🏼‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_tone2_tone5"] = "👩🏼‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_tone3_tone1"] = "👩🏽‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_tone3_tone2"] = "👩🏽‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_tone3"] = "👩🏽‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_medium_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_tone3_tone4"] = "👩🏽‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_tone3_tone5"] = "👩🏽‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_tone4_tone1"] = "👩🏾‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_tone4_tone2"] = "👩🏾‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_tone4_tone3"] = "👩🏾‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_tone4"] = "👩🏾‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_medium_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_tone4_tone5"] = "👩🏾‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_tone5_tone1"] = "👩🏿‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏻", - ["kiss_woman_woman_tone5_tone2"] = "👩🏿‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏼", - ["kiss_woman_woman_tone5_tone3"] = "👩🏿‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏽", - ["kiss_woman_woman_tone5_tone4"] = "👩🏿‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏾", - ["kiss_woman_woman_tone5"] = "👩🏿‍❤️‍💋‍👩🏿", - ["kiss_woman_woman_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏿", - ["kiss_mm"] = "👨‍❤️‍💋‍👨", - ["couplekiss_mm"] = "👨‍❤️‍💋‍👨", - ["kiss_man_man_tone1"] = "👨🏻‍❤️‍💋‍👨🏻", - ["kiss_man_man_light_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏻", - ["kiss_man_man_tone1_tone2"] = "👨🏻‍❤️‍💋‍👨🏼", - ["kiss_man_man_light_skin_tone_medium_light_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏼", - ["kiss_man_man_tone1_tone3"] = "👨🏻‍❤️‍💋‍👨🏽", - ["kiss_man_man_light_skin_tone_medium_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏽", - ["kiss_man_man_tone1_tone4"] = "👨🏻‍❤️‍💋‍👨🏾", - ["kiss_man_man_light_skin_tone_medium_dark_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏾", - ["kiss_man_man_tone1_tone5"] = "👨🏻‍❤️‍💋‍👨🏿", - ["kiss_man_man_light_skin_tone_dark_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏿", - ["kiss_man_man_tone2_tone1"] = "👨🏼‍❤️‍💋‍👨🏻", - ["kiss_man_man_medium_light_skin_tone_light_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏻", - ["kiss_man_man_tone2"] = "👨🏼‍❤️‍💋‍👨🏼", - ["kiss_man_man_medium_light_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏼", - ["kiss_man_man_tone2_tone3"] = "👨🏼‍❤️‍💋‍👨🏽", - ["kiss_man_man_medium_light_skin_tone_medium_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏽", - ["kiss_man_man_tone2_tone4"] = "👨🏼‍❤️‍💋‍👨🏾", - ["kiss_man_man_medium_light_skin_tone_medium_dark_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏾", - ["kiss_man_man_tone2_tone5"] = "👨🏼‍❤️‍💋‍👨🏿", - ["kiss_man_man_medium_light_skin_tone_dark_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏿", - ["kiss_man_man_tone3_tone1"] = "👨🏽‍❤️‍💋‍👨🏻", - ["kiss_man_man_medium_skin_tone_light_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏻", - ["kiss_man_man_tone3_tone2"] = "👨🏽‍❤️‍💋‍👨🏼", - ["kiss_man_man_medium_skin_tone_medium_light_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏼", - ["kiss_man_man_tone3"] = "👨🏽‍❤️‍💋‍👨🏽", - ["kiss_man_man_medium_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏽", - ["kiss_man_man_tone3_tone4"] = "👨🏽‍❤️‍💋‍👨🏾", - ["kiss_man_man_medium_skin_tone_medium_dark_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏾", - ["kiss_man_man_tone3_tone5"] = "👨🏽‍❤️‍💋‍👨🏿", - ["kiss_man_man_medium_skin_tone_dark_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏿", - ["kiss_man_man_tone4_tone1"] = "👨🏾‍❤️‍💋‍👨🏻", - ["kiss_man_man_medium_dark_skin_tone_light_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏻", - ["kiss_man_man_tone4_tone2"] = "👨🏾‍❤️‍💋‍👨🏼", - ["kiss_man_man_medium_dark_skin_tone_medium_light_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏼", - ["kiss_man_man_tone4_tone3"] = "👨🏾‍❤️‍💋‍👨🏽", - ["kiss_man_man_medium_dark_skin_tone_medium_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏽", - ["kiss_man_man_tone4"] = "👨🏾‍❤️‍💋‍👨🏾", - ["kiss_man_man_medium_dark_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏾", - ["kiss_man_man_tone4_tone5"] = "👨🏾‍❤️‍💋‍👨🏿", - ["kiss_man_man_medium_dark_skin_tone_dark_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏿", - ["kiss_man_man_tone5_tone1"] = "👨🏿‍❤️‍💋‍👨🏻", - ["kiss_man_man_dark_skin_tone_light_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏻", - ["kiss_man_man_tone5_tone2"] = "👨🏿‍❤️‍💋‍👨🏼", - ["kiss_man_man_dark_skin_tone_medium_light_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏼", - ["kiss_man_man_tone5_tone3"] = "👨🏿‍❤️‍💋‍👨🏽", - ["kiss_man_man_dark_skin_tone_medium_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏽", - ["kiss_man_man_tone5_tone4"] = "👨🏿‍❤️‍💋‍👨🏾", - ["kiss_man_man_dark_skin_tone_medium_dark_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏾", - ["kiss_man_man_tone5"] = "👨🏿‍❤️‍💋‍👨🏿", - ["kiss_man_man_dark_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏿", - ["family"] = "👪", - ["family_man_woman_boy"] = "👨‍👩‍👦", - ["family_mwg"] = "👨‍👩‍👧", - ["family_mwgb"] = "👨‍👩‍👧‍👦", - ["family_mwbb"] = "👨‍👩‍👦‍👦", - ["family_mwgg"] = "👨‍👩‍👧‍👧", - ["family_wwb"] = "👩‍👩‍👦", - ["family_wwg"] = "👩‍👩‍👧", - ["family_wwgb"] = "👩‍👩‍👧‍👦", - ["family_wwbb"] = "👩‍👩‍👦‍👦", - ["family_wwgg"] = "👩‍👩‍👧‍👧", - ["family_mmb"] = "👨‍👨‍👦", - ["family_mmg"] = "👨‍👨‍👧", - ["family_mmgb"] = "👨‍👨‍👧‍👦", - ["family_mmbb"] = "👨‍👨‍👦‍👦", - ["family_mmgg"] = "👨‍👨‍👧‍👧", - ["family_woman_boy"] = "👩‍👦", - ["family_woman_girl"] = "👩‍👧", - ["family_woman_girl_boy"] = "👩‍👧‍👦", - ["family_woman_boy_boy"] = "👩‍👦‍👦", - ["family_woman_girl_girl"] = "👩‍👧‍👧", - ["family_man_boy"] = "👨‍👦", - ["family_man_girl"] = "👨‍👧", - ["family_man_girl_boy"] = "👨‍👧‍👦", - ["family_man_boy_boy"] = "👨‍👦‍👦", - ["family_man_girl_girl"] = "👨‍👧‍👧", - ["yarn"] = "🧶", - ["thread"] = "🧵", - ["coat"] = "🧥", - ["lab_coat"] = "🥼", - ["safety_vest"] = "🦺", - ["womans_clothes"] = "👚", - ["shirt"] = "👕", - ["jeans"] = "👖", - ["briefs"] = "🩲", - ["shorts"] = "🩳", - ["necktie"] = "👔", - ["dress"] = "👗", - ["bikini"] = "👙", - ["one_piece_swimsuit"] = "🩱", - ["kimono"] = "👘", - ["sari"] = "🥻", - ["womans_flat_shoe"] = "🥿", - ["high_heel"] = "👠", - ["sandal"] = "👡", - ["boot"] = "👢", - ["mans_shoe"] = "👞", - ["athletic_shoe"] = "👟", - ["hiking_boot"] = "🥾", - ["thong_sandal"] = "🩴", - ["socks"] = "🧦", - ["gloves"] = "🧤", - ["scarf"] = "🧣", - ["tophat"] = "🎩", - ["billed_cap"] = "🧢", - ["womans_hat"] = "👒", - ["mortar_board"] = "🎓", - ["helmet_with_cross"] = "⛑️", - ["helmet_with_white_cross"] = "⛑️", - ["military_helmet"] = "🪖", - ["crown"] = "👑", - ["ring"] = "💍", - ["pouch"] = "👝", - ["purse"] = "👛", - ["handbag"] = "👜", - ["briefcase"] = "💼", - ["school_satchel"] = "🎒", - ["luggage"] = "🧳", - ["eyeglasses"] = "👓", - ["dark_sunglasses"] = "🕶️", - ["goggles"] = "🥽", - ["closed_umbrella"] = "🌂", - ["dog"] = "🐶", - ["cat"] = "🐱", - ["mouse"] = "🐭", - ["hamster"] = "🐹", - ["rabbit"] = "🐰", - ["fox"] = "🦊", - ["fox_face"] = "🦊", - ["bear"] = "🐻", - ["panda_face"] = "🐼", - ["polar_bear"] = "🐻‍❄️", - ["koala"] = "🐨", - ["tiger"] = "🐯", - ["lion_face"] = "🦁", - ["lion"] = "🦁", - ["cow"] = "🐮", - ["pig"] = "🐷", - ["pig_nose"] = "🐽", - ["frog"] = "🐸", - ["monkey_face"] = "🐵", - ["see_no_evil"] = "🙈", - ["hear_no_evil"] = "🙉", - ["speak_no_evil"] = "🙊", - ["monkey"] = "🐒", - ["chicken"] = "🐔", - ["penguin"] = "🐧", - ["bird"] = "🐦", - ["baby_chick"] = "🐤", - ["hatching_chick"] = "🐣", - ["hatched_chick"] = "🐥", - ["duck"] = "🦆", - ["dodo"] = "🦤", - ["eagle"] = "🦅", - ["owl"] = "🦉", - ["bat"] = "🦇", - ["wolf"] = "🐺", - ["boar"] = "🐗", - ["horse"] = "🐴", - ["unicorn"] = "🦄", - ["unicorn_face"] = "🦄", - ["bee"] = "🐝", - ["bug"] = "🐛", - ["butterfly"] = "🦋", - ["snail"] = "🐌", - ["worm"] = "🪱", - ["lady_beetle"] = "🐞", - ["ant"] = "🐜", - ["fly"] = "🪰", - ["mosquito"] = "🦟", - ["cockroach"] = "🪳", - ["beetle"] = "🪲", - ["cricket"] = "🦗", - ["spider"] = "🕷️", - ["spider_web"] = "🕸️", - ["scorpion"] = "🦂", - ["turtle"] = "🐢", - ["snake"] = "🐍", - ["lizard"] = "🦎", - ["t_rex"] = "🦖", - ["sauropod"] = "🦕", - ["octopus"] = "🐙", - ["squid"] = "🦑", - ["shrimp"] = "🦐", - ["lobster"] = "🦞", - ["crab"] = "🦀", - ["blowfish"] = "🐡", - ["tropical_fish"] = "🐠", - ["fish"] = "🐟", - ["seal"] = "🦭", - ["dolphin"] = "🐬", - ["whale"] = "🐳", - ["whale2"] = "🐋", - ["shark"] = "🦈", - ["crocodile"] = "🐊", - ["tiger2"] = "🐅", - ["leopard"] = "🐆", - ["zebra"] = "🦓", - ["gorilla"] = "🦍", - ["orangutan"] = "🦧", - ["elephant"] = "🐘", - ["mammoth"] = "🦣", - ["bison"] = "🦬", - ["hippopotamus"] = "🦛", - ["rhino"] = "🦏", - ["rhinoceros"] = "🦏", - ["dromedary_camel"] = "🐪", - ["camel"] = "🐫", - ["giraffe"] = "🦒", - ["kangaroo"] = "🦘", - ["water_buffalo"] = "🐃", - ["ox"] = "🐂", - ["cow2"] = "🐄", - ["racehorse"] = "🐎", - ["pig2"] = "🐖", - ["ram"] = "🐏", - ["sheep"] = "🐑", - ["llama"] = "🦙", - ["goat"] = "🐐", - ["deer"] = "🦌", - ["dog2"] = "🐕", - ["poodle"] = "🐩", - ["guide_dog"] = "🦮", - ["service_dog"] = "🐕‍🦺", - ["cat2"] = "🐈", - ["black_cat"] = "🐈‍⬛", - ["rooster"] = "🐓", - ["turkey"] = "🦃", - ["peacock"] = "🦚", - ["parrot"] = "🦜", - ["swan"] = "🦢", - ["flamingo"] = "🦩", - ["dove"] = "🕊️", - ["dove_of_peace"] = "🕊️", - ["rabbit2"] = "🐇", - ["raccoon"] = "🦝", - ["skunk"] = "🦨", - ["badger"] = "🦡", - ["beaver"] = "🦫", - ["otter"] = "🦦", - ["sloth"] = "🦥", - ["mouse2"] = "🐁", - ["rat"] = "🐀", - ["chipmunk"] = "🐿️", - ["hedgehog"] = "🦔", - ["feet"] = "🐾", - ["paw_prints"] = "🐾", - ["dragon"] = "🐉", - ["dragon_face"] = "🐲", - ["cactus"] = "🌵", - ["christmas_tree"] = "🎄", - ["evergreen_tree"] = "🌲", - ["deciduous_tree"] = "🌳", - ["palm_tree"] = "🌴", - ["seedling"] = "🌱", - ["herb"] = "🌿", - ["shamrock"] = "☘️", - ["four_leaf_clover"] = "🍀", - ["bamboo"] = "🎍", - ["tanabata_tree"] = "🎋", - ["leaves"] = "🍃", - ["fallen_leaf"] = "🍂", - ["maple_leaf"] = "🍁", - ["feather"] = "🪶", - ["mushroom"] = "🍄", - ["shell"] = "🐚", - ["rock"] = "🪨", - ["wood"] = "🪵", - ["ear_of_rice"] = "🌾", - ["potted_plant"] = "🪴", - ["bouquet"] = "💐", - ["tulip"] = "🌷", - ["rose"] = "🌹", - ["wilted_rose"] = "🥀", - ["wilted_flower"] = "🥀", - ["hibiscus"] = "🌺", - ["cherry_blossom"] = "🌸", - ["blossom"] = "🌼", - ["sunflower"] = "🌻", - ["sun_with_face"] = "🌞", - ["full_moon_with_face"] = "🌝", - ["first_quarter_moon_with_face"] = "🌛", - ["last_quarter_moon_with_face"] = "🌜", - ["new_moon_with_face"] = "🌚", - ["full_moon"] = "🌕", - ["waning_gibbous_moon"] = "🌖", - ["last_quarter_moon"] = "🌗", - ["waning_crescent_moon"] = "🌘", - ["new_moon"] = "🌑", - ["waxing_crescent_moon"] = "🌒", - ["first_quarter_moon"] = "🌓", - ["waxing_gibbous_moon"] = "🌔", - ["crescent_moon"] = "🌙", - ["earth_americas"] = "🌎", - ["earth_africa"] = "🌍", - ["earth_asia"] = "🌏", - ["ringed_planet"] = "🪐", - ["dizzy"] = "💫", - ["star"] = "⭐", - ["star2"] = "🌟", - ["sparkles"] = "✨", - ["zap"] = "⚡", - ["comet"] = "☄️", - ["boom"] = "💥", - ["fire"] = "🔥", - ["flame"] = "🔥", - ["cloud_tornado"] = "🌪️", - ["cloud_with_tornado"] = "🌪️", - ["rainbow"] = "🌈", - ["sunny"] = "☀️", - ["white_sun_small_cloud"] = "🌤️", - ["white_sun_with_small_cloud"] = "🌤️", - ["partly_sunny"] = "⛅", - ["white_sun_cloud"] = "🌥️", - ["white_sun_behind_cloud"] = "🌥️", - ["cloud"] = "☁️", - ["white_sun_rain_cloud"] = "🌦️", - ["white_sun_behind_cloud_with_rain"] = "🌦️", - ["cloud_rain"] = "🌧️", - ["cloud_with_rain"] = "🌧️", - ["thunder_cloud_rain"] = "⛈️", - ["thunder_cloud_and_rain"] = "⛈️", - ["cloud_lightning"] = "🌩️", - ["cloud_with_lightning"] = "🌩️", - ["cloud_snow"] = "🌨️", - ["cloud_with_snow"] = "🌨️", - ["snowflake"] = "❄️", - ["snowman2"] = "☃️", - ["snowman"] = "⛄", - ["wind_blowing_face"] = "🌬️", - ["dash"] = "💨", - ["droplet"] = "💧", - ["sweat_drops"] = "💦", - ["umbrella"] = "☔", - ["umbrella2"] = "☂️", - ["ocean"] = "🌊", - ["fog"] = "🌫️", - ["green_apple"] = "🍏", - ["apple"] = "🍎", - ["pear"] = "🍐", - ["tangerine"] = "🍊", - ["lemon"] = "🍋", - ["banana"] = "🍌", - ["watermelon"] = "🍉", - ["grapes"] = "🍇", - ["blueberries"] = "🫐", - ["strawberry"] = "🍓", - ["melon"] = "🍈", - ["cherries"] = "🍒", - ["peach"] = "🍑", - ["mango"] = "🥭", - ["pineapple"] = "🍍", - ["coconut"] = "🥥", - ["kiwi"] = "🥝", - ["kiwifruit"] = "🥝", - ["tomato"] = "🍅", - ["eggplant"] = "🍆", - ["avocado"] = "🥑", - ["olive"] = "🫒", - ["broccoli"] = "🥦", - ["leafy_green"] = "🥬", - ["bell_pepper"] = "🫑", - ["cucumber"] = "🥒", - ["hot_pepper"] = "🌶️", - ["corn"] = "🌽", - ["carrot"] = "🥕", - ["garlic"] = "🧄", - ["onion"] = "🧅", - ["potato"] = "🥔", - ["sweet_potato"] = "🍠", - ["croissant"] = "🥐", - ["bagel"] = "🥯", - ["bread"] = "🍞", - ["french_bread"] = "🥖", - ["baguette_bread"] = "🥖", - ["flatbread"] = "🫓", - ["pretzel"] = "🥨", - ["cheese"] = "🧀", - ["cheese_wedge"] = "🧀", - ["egg"] = "🥚", - ["cooking"] = "🍳", - ["butter"] = "🧈", - ["pancakes"] = "🥞", - ["waffle"] = "🧇", - ["bacon"] = "🥓", - ["cut_of_meat"] = "🥩", - ["poultry_leg"] = "🍗", - ["meat_on_bone"] = "🍖", - ["hotdog"] = "🌭", - ["hot_dog"] = "🌭", - ["hamburger"] = "🍔", - ["fries"] = "🍟", - ["pizza"] = "🍕", - ["sandwich"] = "🥪", - ["stuffed_flatbread"] = "🥙", - ["stuffed_pita"] = "🥙", - ["falafel"] = "🧆", - ["taco"] = "🌮", - ["burrito"] = "🌯", - ["tamale"] = "🫔", - ["salad"] = "🥗", - ["green_salad"] = "🥗", - ["shallow_pan_of_food"] = "🥘", - ["paella"] = "🥘", - ["fondue"] = "🫕", - ["canned_food"] = "🥫", - ["spaghetti"] = "🍝", - ["ramen"] = "🍜", - ["stew"] = "🍲", - ["curry"] = "🍛", - ["sushi"] = "🍣", - ["bento"] = "🍱", - ["dumpling"] = "🥟", - ["oyster"] = "🦪", - ["fried_shrimp"] = "🍤", - ["rice_ball"] = "🍙", - ["rice"] = "🍚", - ["rice_cracker"] = "🍘", - ["fish_cake"] = "🍥", - ["fortune_cookie"] = "🥠", - ["moon_cake"] = "🥮", - ["oden"] = "🍢", - ["dango"] = "🍡", - ["shaved_ice"] = "🍧", - ["ice_cream"] = "🍨", - ["icecream"] = "🍦", - ["pie"] = "🥧", - ["cupcake"] = "🧁", - ["cake"] = "🍰", - ["birthday"] = "🎂", - ["custard"] = "🍮", - ["pudding"] = "🍮", - ["flan"] = "🍮", - ["lollipop"] = "🍭", - ["candy"] = "🍬", - ["chocolate_bar"] = "🍫", - ["popcorn"] = "🍿", - ["doughnut"] = "🍩", - ["cookie"] = "🍪", - ["chestnut"] = "🌰", - ["peanuts"] = "🥜", - ["shelled_peanut"] = "🥜", - ["honey_pot"] = "🍯", - ["milk"] = "🥛", - ["glass_of_milk"] = "🥛", - ["baby_bottle"] = "🍼", - ["coffee"] = "☕", - ["tea"] = "🍵", - ["teapot"] = "🫖", - ["mate"] = "🧉", - ["bubble_tea"] = "🧋", - ["beverage_box"] = "🧃", - ["cup_with_straw"] = "🥤", - ["sake"] = "🍶", - ["beer"] = "🍺", - ["beers"] = "🍻", - ["champagne_glass"] = "🥂", - ["clinking_glass"] = "🥂", - ["wine_glass"] = "🍷", - ["tumbler_glass"] = "🥃", - ["whisky"] = "🥃", - ["cocktail"] = "🍸", - ["tropical_drink"] = "🍹", - ["champagne"] = "🍾", - ["bottle_with_popping_cork"] = "🍾", - ["ice_cube"] = "🧊", - ["spoon"] = "🥄", - ["fork_and_knife"] = "🍴", - ["fork_knife_plate"] = "🍽️", - ["fork_and_knife_with_plate"] = "🍽️", - ["bowl_with_spoon"] = "🥣", - ["takeout_box"] = "🥡", - ["chopsticks"] = "🥢", - ["salt"] = "🧂", - ["soccer"] = "⚽", - ["basketball"] = "🏀", - ["football"] = "🏈", - ["baseball"] = "⚾", - ["softball"] = "🥎", - ["tennis"] = "🎾", - ["volleyball"] = "🏐", - ["rugby_football"] = "🏉", - ["flying_disc"] = "🥏", - ["boomerang"] = "🪃", - ["8ball"] = "🎱", - ["yo_yo"] = "🪀", - ["ping_pong"] = "🏓", - ["table_tennis"] = "🏓", - ["badminton"] = "🏸", - ["hockey"] = "🏒", - ["field_hockey"] = "🏑", - ["lacrosse"] = "🥍", - ["cricket_game"] = "🏏", - ["cricket_bat_ball"] = "🏏", - ["goal"] = "🥅", - ["goal_net"] = "🥅", - ["golf"] = "⛳", - ["kite"] = "🪁", - ["bow_and_arrow"] = "🏹", - ["archery"] = "🏹", - ["fishing_pole_and_fish"] = "🎣", - ["diving_mask"] = "🤿", - ["boxing_glove"] = "🥊", - ["boxing_gloves"] = "🥊", - ["martial_arts_uniform"] = "🥋", - ["karate_uniform"] = "🥋", - ["running_shirt_with_sash"] = "🎽", - ["skateboard"] = "🛹", - ["roller_skate"] = "🛼", - ["sled"] = "🛷", - ["ice_skate"] = "⛸️", - ["curling_stone"] = "🥌", - ["ski"] = "🎿", - ["skier"] = "⛷️", - ["snowboarder"] = "🏂", - ["snowboarder_tone1"] = "🏂🏻", - ["snowboarder_light_skin_tone"] = "🏂🏻", - ["snowboarder_tone2"] = "🏂🏼", - ["snowboarder_medium_light_skin_tone"] = "🏂🏼", - ["snowboarder_tone3"] = "🏂🏽", - ["snowboarder_medium_skin_tone"] = "🏂🏽", - ["snowboarder_tone4"] = "🏂🏾", - ["snowboarder_medium_dark_skin_tone"] = "🏂🏾", - ["snowboarder_tone5"] = "🏂🏿", - ["snowboarder_dark_skin_tone"] = "🏂🏿", - ["parachute"] = "🪂", - ["person_lifting_weights"] = "🏋️", - ["lifter"] = "🏋️", - ["weight_lifter"] = "🏋️", - ["person_lifting_weights_tone1"] = "🏋🏻", - ["lifter_tone1"] = "🏋🏻", - ["weight_lifter_tone1"] = "🏋🏻", - ["person_lifting_weights_tone2"] = "🏋🏼", - ["lifter_tone2"] = "🏋🏼", - ["weight_lifter_tone2"] = "🏋🏼", - ["person_lifting_weights_tone3"] = "🏋🏽", - ["lifter_tone3"] = "🏋🏽", - ["weight_lifter_tone3"] = "🏋🏽", - ["person_lifting_weights_tone4"] = "🏋🏾", - ["lifter_tone4"] = "🏋🏾", - ["weight_lifter_tone4"] = "🏋🏾", - ["person_lifting_weights_tone5"] = "🏋🏿", - ["lifter_tone5"] = "🏋🏿", - ["weight_lifter_tone5"] = "🏋🏿", - ["woman_lifting_weights"] = "🏋️‍♀️", - ["woman_lifting_weights_tone1"] = "🏋🏻‍♀️", - ["woman_lifting_weights_light_skin_tone"] = "🏋🏻‍♀️", - ["woman_lifting_weights_tone2"] = "🏋🏼‍♀️", - ["woman_lifting_weights_medium_light_skin_tone"] = "🏋🏼‍♀️", - ["woman_lifting_weights_tone3"] = "🏋🏽‍♀️", - ["woman_lifting_weights_medium_skin_tone"] = "🏋🏽‍♀️", - ["woman_lifting_weights_tone4"] = "🏋🏾‍♀️", - ["woman_lifting_weights_medium_dark_skin_tone"] = "🏋🏾‍♀️", - ["woman_lifting_weights_tone5"] = "🏋🏿‍♀️", - ["woman_lifting_weights_dark_skin_tone"] = "🏋🏿‍♀️", - ["man_lifting_weights"] = "🏋️‍♂️", - ["man_lifting_weights_tone1"] = "🏋🏻‍♂️", - ["man_lifting_weights_light_skin_tone"] = "🏋🏻‍♂️", - ["man_lifting_weights_tone2"] = "🏋🏼‍♂️", - ["man_lifting_weights_medium_light_skin_tone"] = "🏋🏼‍♂️", - ["man_lifting_weights_tone3"] = "🏋🏽‍♂️", - ["man_lifting_weights_medium_skin_tone"] = "🏋🏽‍♂️", - ["man_lifting_weights_tone4"] = "🏋🏾‍♂️", - ["man_lifting_weights_medium_dark_skin_tone"] = "🏋🏾‍♂️", - ["man_lifting_weights_tone5"] = "🏋🏿‍♂️", - ["man_lifting_weights_dark_skin_tone"] = "🏋🏿‍♂️", - ["people_wrestling"] = "🤼", - ["wrestlers"] = "🤼", - ["wrestling"] = "🤼", - ["women_wrestling"] = "🤼‍♀️", - ["men_wrestling"] = "🤼‍♂️", - ["person_doing_cartwheel"] = "🤸", - ["cartwheel"] = "🤸", - ["person_doing_cartwheel_tone1"] = "🤸🏻", - ["cartwheel_tone1"] = "🤸🏻", - ["person_doing_cartwheel_tone2"] = "🤸🏼", - ["cartwheel_tone2"] = "🤸🏼", - ["person_doing_cartwheel_tone3"] = "🤸🏽", - ["cartwheel_tone3"] = "🤸🏽", - ["person_doing_cartwheel_tone4"] = "🤸🏾", - ["cartwheel_tone4"] = "🤸🏾", - ["person_doing_cartwheel_tone5"] = "🤸🏿", - ["cartwheel_tone5"] = "🤸🏿", - ["woman_cartwheeling"] = "🤸‍♀️", - ["woman_cartwheeling_tone1"] = "🤸🏻‍♀️", - ["woman_cartwheeling_light_skin_tone"] = "🤸🏻‍♀️", - ["woman_cartwheeling_tone2"] = "🤸🏼‍♀️", - ["woman_cartwheeling_medium_light_skin_tone"] = "🤸🏼‍♀️", - ["woman_cartwheeling_tone3"] = "🤸🏽‍♀️", - ["woman_cartwheeling_medium_skin_tone"] = "🤸🏽‍♀️", - ["woman_cartwheeling_tone4"] = "🤸🏾‍♀️", - ["woman_cartwheeling_medium_dark_skin_tone"] = "🤸🏾‍♀️", - ["woman_cartwheeling_tone5"] = "🤸🏿‍♀️", - ["woman_cartwheeling_dark_skin_tone"] = "🤸🏿‍♀️", - ["man_cartwheeling"] = "🤸‍♂️", - ["man_cartwheeling_tone1"] = "🤸🏻‍♂️", - ["man_cartwheeling_light_skin_tone"] = "🤸🏻‍♂️", - ["man_cartwheeling_tone2"] = "🤸🏼‍♂️", - ["man_cartwheeling_medium_light_skin_tone"] = "🤸🏼‍♂️", - ["man_cartwheeling_tone3"] = "🤸🏽‍♂️", - ["man_cartwheeling_medium_skin_tone"] = "🤸🏽‍♂️", - ["man_cartwheeling_tone4"] = "🤸🏾‍♂️", - ["man_cartwheeling_medium_dark_skin_tone"] = "🤸🏾‍♂️", - ["man_cartwheeling_tone5"] = "🤸🏿‍♂️", - ["man_cartwheeling_dark_skin_tone"] = "🤸🏿‍♂️", - ["person_bouncing_ball"] = "⛹️", - ["basketball_player"] = "⛹️", - ["person_with_ball"] = "⛹️", - ["person_bouncing_ball_tone1"] = "⛹🏻", - ["basketball_player_tone1"] = "⛹🏻", - ["person_with_ball_tone1"] = "⛹🏻", - ["person_bouncing_ball_tone2"] = "⛹🏼", - ["basketball_player_tone2"] = "⛹🏼", - ["person_with_ball_tone2"] = "⛹🏼", - ["person_bouncing_ball_tone3"] = "⛹🏽", - ["basketball_player_tone3"] = "⛹🏽", - ["person_with_ball_tone3"] = "⛹🏽", - ["person_bouncing_ball_tone4"] = "⛹🏾", - ["basketball_player_tone4"] = "⛹🏾", - ["person_with_ball_tone4"] = "⛹🏾", - ["person_bouncing_ball_tone5"] = "⛹🏿", - ["basketball_player_tone5"] = "⛹🏿", - ["person_with_ball_tone5"] = "⛹🏿", - ["woman_bouncing_ball"] = "⛹️‍♀️", - ["woman_bouncing_ball_tone1"] = "⛹🏻‍♀️", - ["woman_bouncing_ball_light_skin_tone"] = "⛹🏻‍♀️", - ["woman_bouncing_ball_tone2"] = "⛹🏼‍♀️", - ["woman_bouncing_ball_medium_light_skin_tone"] = "⛹🏼‍♀️", - ["woman_bouncing_ball_tone3"] = "⛹🏽‍♀️", - ["woman_bouncing_ball_medium_skin_tone"] = "⛹🏽‍♀️", - ["woman_bouncing_ball_tone4"] = "⛹🏾‍♀️", - ["woman_bouncing_ball_medium_dark_skin_tone"] = "⛹🏾‍♀️", - ["woman_bouncing_ball_tone5"] = "⛹🏿‍♀️", - ["woman_bouncing_ball_dark_skin_tone"] = "⛹🏿‍♀️", - ["man_bouncing_ball"] = "⛹️‍♂️", - ["man_bouncing_ball_tone1"] = "⛹🏻‍♂️", - ["man_bouncing_ball_light_skin_tone"] = "⛹🏻‍♂️", - ["man_bouncing_ball_tone2"] = "⛹🏼‍♂️", - ["man_bouncing_ball_medium_light_skin_tone"] = "⛹🏼‍♂️", - ["man_bouncing_ball_tone3"] = "⛹🏽‍♂️", - ["man_bouncing_ball_medium_skin_tone"] = "⛹🏽‍♂️", - ["man_bouncing_ball_tone4"] = "⛹🏾‍♂️", - ["man_bouncing_ball_medium_dark_skin_tone"] = "⛹🏾‍♂️", - ["man_bouncing_ball_tone5"] = "⛹🏿‍♂️", - ["man_bouncing_ball_dark_skin_tone"] = "⛹🏿‍♂️", - ["person_fencing"] = "🤺", - ["fencer"] = "🤺", - ["fencing"] = "🤺", - ["person_playing_handball"] = "🤾", - ["handball"] = "🤾", - ["person_playing_handball_tone1"] = "🤾🏻", - ["handball_tone1"] = "🤾🏻", - ["person_playing_handball_tone2"] = "🤾🏼", - ["handball_tone2"] = "🤾🏼", - ["person_playing_handball_tone3"] = "🤾🏽", - ["handball_tone3"] = "🤾🏽", - ["person_playing_handball_tone4"] = "🤾🏾", - ["handball_tone4"] = "🤾🏾", - ["person_playing_handball_tone5"] = "🤾🏿", - ["handball_tone5"] = "🤾🏿", - ["woman_playing_handball"] = "🤾‍♀️", - ["woman_playing_handball_tone1"] = "🤾🏻‍♀️", - ["woman_playing_handball_light_skin_tone"] = "🤾🏻‍♀️", - ["woman_playing_handball_tone2"] = "🤾🏼‍♀️", - ["woman_playing_handball_medium_light_skin_tone"] = "🤾🏼‍♀️", - ["woman_playing_handball_tone3"] = "🤾🏽‍♀️", - ["woman_playing_handball_medium_skin_tone"] = "🤾🏽‍♀️", - ["woman_playing_handball_tone4"] = "🤾🏾‍♀️", - ["woman_playing_handball_medium_dark_skin_tone"] = "🤾🏾‍♀️", - ["woman_playing_handball_tone5"] = "🤾🏿‍♀️", - ["woman_playing_handball_dark_skin_tone"] = "🤾🏿‍♀️", - ["man_playing_handball"] = "🤾‍♂️", - ["man_playing_handball_tone1"] = "🤾🏻‍♂️", - ["man_playing_handball_light_skin_tone"] = "🤾🏻‍♂️", - ["man_playing_handball_tone2"] = "🤾🏼‍♂️", - ["man_playing_handball_medium_light_skin_tone"] = "🤾🏼‍♂️", - ["man_playing_handball_tone3"] = "🤾🏽‍♂️", - ["man_playing_handball_medium_skin_tone"] = "🤾🏽‍♂️", - ["man_playing_handball_tone4"] = "🤾🏾‍♂️", - ["man_playing_handball_medium_dark_skin_tone"] = "🤾🏾‍♂️", - ["man_playing_handball_tone5"] = "🤾🏿‍♂️", - ["man_playing_handball_dark_skin_tone"] = "🤾🏿‍♂️", - ["person_golfing"] = "🏌️", - ["golfer"] = "🏌️", - ["person_golfing_tone1"] = "🏌🏻", - ["person_golfing_light_skin_tone"] = "🏌🏻", - ["person_golfing_tone2"] = "🏌🏼", - ["person_golfing_medium_light_skin_tone"] = "🏌🏼", - ["person_golfing_tone3"] = "🏌🏽", - ["person_golfing_medium_skin_tone"] = "🏌🏽", - ["person_golfing_tone4"] = "🏌🏾", - ["person_golfing_medium_dark_skin_tone"] = "🏌🏾", - ["person_golfing_tone5"] = "🏌🏿", - ["person_golfing_dark_skin_tone"] = "🏌🏿", - ["woman_golfing"] = "🏌️‍♀️", - ["woman_golfing_tone1"] = "🏌🏻‍♀️", - ["woman_golfing_light_skin_tone"] = "🏌🏻‍♀️", - ["woman_golfing_tone2"] = "🏌🏼‍♀️", - ["woman_golfing_medium_light_skin_tone"] = "🏌🏼‍♀️", - ["woman_golfing_tone3"] = "🏌🏽‍♀️", - ["woman_golfing_medium_skin_tone"] = "🏌🏽‍♀️", - ["woman_golfing_tone4"] = "🏌🏾‍♀️", - ["woman_golfing_medium_dark_skin_tone"] = "🏌🏾‍♀️", - ["woman_golfing_tone5"] = "🏌🏿‍♀️", - ["woman_golfing_dark_skin_tone"] = "🏌🏿‍♀️", - ["man_golfing"] = "🏌️‍♂️", - ["man_golfing_tone1"] = "🏌🏻‍♂️", - ["man_golfing_light_skin_tone"] = "🏌🏻‍♂️", - ["man_golfing_tone2"] = "🏌🏼‍♂️", - ["man_golfing_medium_light_skin_tone"] = "🏌🏼‍♂️", - ["man_golfing_tone3"] = "🏌🏽‍♂️", - ["man_golfing_medium_skin_tone"] = "🏌🏽‍♂️", - ["man_golfing_tone4"] = "🏌🏾‍♂️", - ["man_golfing_medium_dark_skin_tone"] = "🏌🏾‍♂️", - ["man_golfing_tone5"] = "🏌🏿‍♂️", - ["man_golfing_dark_skin_tone"] = "🏌🏿‍♂️", - ["horse_racing"] = "🏇", - ["horse_racing_tone1"] = "🏇🏻", - ["horse_racing_tone2"] = "🏇🏼", - ["horse_racing_tone3"] = "🏇🏽", - ["horse_racing_tone4"] = "🏇🏾", - ["horse_racing_tone5"] = "🏇🏿", - ["person_in_lotus_position"] = "🧘", - ["person_in_lotus_position_tone1"] = "🧘🏻", - ["person_in_lotus_position_light_skin_tone"] = "🧘🏻", - ["person_in_lotus_position_tone2"] = "🧘🏼", - ["person_in_lotus_position_medium_light_skin_tone"] = "🧘🏼", - ["person_in_lotus_position_tone3"] = "🧘🏽", - ["person_in_lotus_position_medium_skin_tone"] = "🧘🏽", - ["person_in_lotus_position_tone4"] = "🧘🏾", - ["person_in_lotus_position_medium_dark_skin_tone"] = "🧘🏾", - ["person_in_lotus_position_tone5"] = "🧘🏿", - ["person_in_lotus_position_dark_skin_tone"] = "🧘🏿", - ["woman_in_lotus_position"] = "🧘‍♀️", - ["woman_in_lotus_position_tone1"] = "🧘🏻‍♀️", - ["woman_in_lotus_position_light_skin_tone"] = "🧘🏻‍♀️", - ["woman_in_lotus_position_tone2"] = "🧘🏼‍♀️", - ["woman_in_lotus_position_medium_light_skin_tone"] = "🧘🏼‍♀️", - ["woman_in_lotus_position_tone3"] = "🧘🏽‍♀️", - ["woman_in_lotus_position_medium_skin_tone"] = "🧘🏽‍♀️", - ["woman_in_lotus_position_tone4"] = "🧘🏾‍♀️", - ["woman_in_lotus_position_medium_dark_skin_tone"] = "🧘🏾‍♀️", - ["woman_in_lotus_position_tone5"] = "🧘🏿‍♀️", - ["woman_in_lotus_position_dark_skin_tone"] = "🧘🏿‍♀️", - ["man_in_lotus_position"] = "🧘‍♂️", - ["man_in_lotus_position_tone1"] = "🧘🏻‍♂️", - ["man_in_lotus_position_light_skin_tone"] = "🧘🏻‍♂️", - ["man_in_lotus_position_tone2"] = "🧘🏼‍♂️", - ["man_in_lotus_position_medium_light_skin_tone"] = "🧘🏼‍♂️", - ["man_in_lotus_position_tone3"] = "🧘🏽‍♂️", - ["man_in_lotus_position_medium_skin_tone"] = "🧘🏽‍♂️", - ["man_in_lotus_position_tone4"] = "🧘🏾‍♂️", - ["man_in_lotus_position_medium_dark_skin_tone"] = "🧘🏾‍♂️", - ["man_in_lotus_position_tone5"] = "🧘🏿‍♂️", - ["man_in_lotus_position_dark_skin_tone"] = "🧘🏿‍♂️", - ["person_surfing"] = "🏄", - ["surfer"] = "🏄", - ["person_surfing_tone1"] = "🏄🏻", - ["surfer_tone1"] = "🏄🏻", - ["person_surfing_tone2"] = "🏄🏼", - ["surfer_tone2"] = "🏄🏼", - ["person_surfing_tone3"] = "🏄🏽", - ["surfer_tone3"] = "🏄🏽", - ["person_surfing_tone4"] = "🏄🏾", - ["surfer_tone4"] = "🏄🏾", - ["person_surfing_tone5"] = "🏄🏿", - ["surfer_tone5"] = "🏄🏿", - ["woman_surfing"] = "🏄‍♀️", - ["woman_surfing_tone1"] = "🏄🏻‍♀️", - ["woman_surfing_light_skin_tone"] = "🏄🏻‍♀️", - ["woman_surfing_tone2"] = "🏄🏼‍♀️", - ["woman_surfing_medium_light_skin_tone"] = "🏄🏼‍♀️", - ["woman_surfing_tone3"] = "🏄🏽‍♀️", - ["woman_surfing_medium_skin_tone"] = "🏄🏽‍♀️", - ["woman_surfing_tone4"] = "🏄🏾‍♀️", - ["woman_surfing_medium_dark_skin_tone"] = "🏄🏾‍♀️", - ["woman_surfing_tone5"] = "🏄🏿‍♀️", - ["woman_surfing_dark_skin_tone"] = "🏄🏿‍♀️", - ["man_surfing"] = "🏄‍♂️", - ["man_surfing_tone1"] = "🏄🏻‍♂️", - ["man_surfing_light_skin_tone"] = "🏄🏻‍♂️", - ["man_surfing_tone2"] = "🏄🏼‍♂️", - ["man_surfing_medium_light_skin_tone"] = "🏄🏼‍♂️", - ["man_surfing_tone3"] = "🏄🏽‍♂️", - ["man_surfing_medium_skin_tone"] = "🏄🏽‍♂️", - ["man_surfing_tone4"] = "🏄🏾‍♂️", - ["man_surfing_medium_dark_skin_tone"] = "🏄🏾‍♂️", - ["man_surfing_tone5"] = "🏄🏿‍♂️", - ["man_surfing_dark_skin_tone"] = "🏄🏿‍♂️", - ["person_swimming"] = "🏊", - ["swimmer"] = "🏊", - ["person_swimming_tone1"] = "🏊🏻", - ["swimmer_tone1"] = "🏊🏻", - ["person_swimming_tone2"] = "🏊🏼", - ["swimmer_tone2"] = "🏊🏼", - ["person_swimming_tone3"] = "🏊🏽", - ["swimmer_tone3"] = "🏊🏽", - ["person_swimming_tone4"] = "🏊🏾", - ["swimmer_tone4"] = "🏊🏾", - ["person_swimming_tone5"] = "🏊🏿", - ["swimmer_tone5"] = "🏊🏿", - ["woman_swimming"] = "🏊‍♀️", - ["woman_swimming_tone1"] = "🏊🏻‍♀️", - ["woman_swimming_light_skin_tone"] = "🏊🏻‍♀️", - ["woman_swimming_tone2"] = "🏊🏼‍♀️", - ["woman_swimming_medium_light_skin_tone"] = "🏊🏼‍♀️", - ["woman_swimming_tone3"] = "🏊🏽‍♀️", - ["woman_swimming_medium_skin_tone"] = "🏊🏽‍♀️", - ["woman_swimming_tone4"] = "🏊🏾‍♀️", - ["woman_swimming_medium_dark_skin_tone"] = "🏊🏾‍♀️", - ["woman_swimming_tone5"] = "🏊🏿‍♀️", - ["woman_swimming_dark_skin_tone"] = "🏊🏿‍♀️", - ["man_swimming"] = "🏊‍♂️", - ["man_swimming_tone1"] = "🏊🏻‍♂️", - ["man_swimming_light_skin_tone"] = "🏊🏻‍♂️", - ["man_swimming_tone2"] = "🏊🏼‍♂️", - ["man_swimming_medium_light_skin_tone"] = "🏊🏼‍♂️", - ["man_swimming_tone3"] = "🏊🏽‍♂️", - ["man_swimming_medium_skin_tone"] = "🏊🏽‍♂️", - ["man_swimming_tone4"] = "🏊🏾‍♂️", - ["man_swimming_medium_dark_skin_tone"] = "🏊🏾‍♂️", - ["man_swimming_tone5"] = "🏊🏿‍♂️", - ["man_swimming_dark_skin_tone"] = "🏊🏿‍♂️", - ["person_playing_water_polo"] = "🤽", - ["water_polo"] = "🤽", - ["person_playing_water_polo_tone1"] = "🤽🏻", - ["water_polo_tone1"] = "🤽🏻", - ["person_playing_water_polo_tone2"] = "🤽🏼", - ["water_polo_tone2"] = "🤽🏼", - ["person_playing_water_polo_tone3"] = "🤽🏽", - ["water_polo_tone3"] = "🤽🏽", - ["person_playing_water_polo_tone4"] = "🤽🏾", - ["water_polo_tone4"] = "🤽🏾", - ["person_playing_water_polo_tone5"] = "🤽🏿", - ["water_polo_tone5"] = "🤽🏿", - ["woman_playing_water_polo"] = "🤽‍♀️", - ["woman_playing_water_polo_tone1"] = "🤽🏻‍♀️", - ["woman_playing_water_polo_light_skin_tone"] = "🤽🏻‍♀️", - ["woman_playing_water_polo_tone2"] = "🤽🏼‍♀️", - ["woman_playing_water_polo_medium_light_skin_tone"] = "🤽🏼‍♀️", - ["woman_playing_water_polo_tone3"] = "🤽🏽‍♀️", - ["woman_playing_water_polo_medium_skin_tone"] = "🤽🏽‍♀️", - ["woman_playing_water_polo_tone4"] = "🤽🏾‍♀️", - ["woman_playing_water_polo_medium_dark_skin_tone"] = "🤽🏾‍♀️", - ["woman_playing_water_polo_tone5"] = "🤽🏿‍♀️", - ["woman_playing_water_polo_dark_skin_tone"] = "🤽🏿‍♀️", - ["man_playing_water_polo"] = "🤽‍♂️", - ["man_playing_water_polo_tone1"] = "🤽🏻‍♂️", - ["man_playing_water_polo_light_skin_tone"] = "🤽🏻‍♂️", - ["man_playing_water_polo_tone2"] = "🤽🏼‍♂️", - ["man_playing_water_polo_medium_light_skin_tone"] = "🤽🏼‍♂️", - ["man_playing_water_polo_tone3"] = "🤽🏽‍♂️", - ["man_playing_water_polo_medium_skin_tone"] = "🤽🏽‍♂️", - ["man_playing_water_polo_tone4"] = "🤽🏾‍♂️", - ["man_playing_water_polo_medium_dark_skin_tone"] = "🤽🏾‍♂️", - ["man_playing_water_polo_tone5"] = "🤽🏿‍♂️", - ["man_playing_water_polo_dark_skin_tone"] = "🤽🏿‍♂️", - ["person_rowing_boat"] = "🚣", - ["rowboat"] = "🚣", - ["person_rowing_boat_tone1"] = "🚣🏻", - ["rowboat_tone1"] = "🚣🏻", - ["person_rowing_boat_tone2"] = "🚣🏼", - ["rowboat_tone2"] = "🚣🏼", - ["person_rowing_boat_tone3"] = "🚣🏽", - ["rowboat_tone3"] = "🚣🏽", - ["person_rowing_boat_tone4"] = "🚣🏾", - ["rowboat_tone4"] = "🚣🏾", - ["person_rowing_boat_tone5"] = "🚣🏿", - ["rowboat_tone5"] = "🚣🏿", - ["woman_rowing_boat"] = "🚣‍♀️", - ["woman_rowing_boat_tone1"] = "🚣🏻‍♀️", - ["woman_rowing_boat_light_skin_tone"] = "🚣🏻‍♀️", - ["woman_rowing_boat_tone2"] = "🚣🏼‍♀️", - ["woman_rowing_boat_medium_light_skin_tone"] = "🚣🏼‍♀️", - ["woman_rowing_boat_tone3"] = "🚣🏽‍♀️", - ["woman_rowing_boat_medium_skin_tone"] = "🚣🏽‍♀️", - ["woman_rowing_boat_tone4"] = "🚣🏾‍♀️", - ["woman_rowing_boat_medium_dark_skin_tone"] = "🚣🏾‍♀️", - ["woman_rowing_boat_tone5"] = "🚣🏿‍♀️", - ["woman_rowing_boat_dark_skin_tone"] = "🚣🏿‍♀️", - ["man_rowing_boat"] = "🚣‍♂️", - ["man_rowing_boat_tone1"] = "🚣🏻‍♂️", - ["man_rowing_boat_light_skin_tone"] = "🚣🏻‍♂️", - ["man_rowing_boat_tone2"] = "🚣🏼‍♂️", - ["man_rowing_boat_medium_light_skin_tone"] = "🚣🏼‍♂️", - ["man_rowing_boat_tone3"] = "🚣🏽‍♂️", - ["man_rowing_boat_medium_skin_tone"] = "🚣🏽‍♂️", - ["man_rowing_boat_tone4"] = "🚣🏾‍♂️", - ["man_rowing_boat_medium_dark_skin_tone"] = "🚣🏾‍♂️", - ["man_rowing_boat_tone5"] = "🚣🏿‍♂️", - ["man_rowing_boat_dark_skin_tone"] = "🚣🏿‍♂️", - ["person_climbing"] = "🧗", - ["person_climbing_tone1"] = "🧗🏻", - ["person_climbing_light_skin_tone"] = "🧗🏻", - ["person_climbing_tone2"] = "🧗🏼", - ["person_climbing_medium_light_skin_tone"] = "🧗🏼", - ["person_climbing_tone3"] = "🧗🏽", - ["person_climbing_medium_skin_tone"] = "🧗🏽", - ["person_climbing_tone4"] = "🧗🏾", - ["person_climbing_medium_dark_skin_tone"] = "🧗🏾", - ["person_climbing_tone5"] = "🧗🏿", - ["person_climbing_dark_skin_tone"] = "🧗🏿", - ["woman_climbing"] = "🧗‍♀️", - ["woman_climbing_tone1"] = "🧗🏻‍♀️", - ["woman_climbing_light_skin_tone"] = "🧗🏻‍♀️", - ["woman_climbing_tone2"] = "🧗🏼‍♀️", - ["woman_climbing_medium_light_skin_tone"] = "🧗🏼‍♀️", - ["woman_climbing_tone3"] = "🧗🏽‍♀️", - ["woman_climbing_medium_skin_tone"] = "🧗🏽‍♀️", - ["woman_climbing_tone4"] = "🧗🏾‍♀️", - ["woman_climbing_medium_dark_skin_tone"] = "🧗🏾‍♀️", - ["woman_climbing_tone5"] = "🧗🏿‍♀️", - ["woman_climbing_dark_skin_tone"] = "🧗🏿‍♀️", - ["man_climbing"] = "🧗‍♂️", - ["man_climbing_tone1"] = "🧗🏻‍♂️", - ["man_climbing_light_skin_tone"] = "🧗🏻‍♂️", - ["man_climbing_tone2"] = "🧗🏼‍♂️", - ["man_climbing_medium_light_skin_tone"] = "🧗🏼‍♂️", - ["man_climbing_tone3"] = "🧗🏽‍♂️", - ["man_climbing_medium_skin_tone"] = "🧗🏽‍♂️", - ["man_climbing_tone4"] = "🧗🏾‍♂️", - ["man_climbing_medium_dark_skin_tone"] = "🧗🏾‍♂️", - ["man_climbing_tone5"] = "🧗🏿‍♂️", - ["man_climbing_dark_skin_tone"] = "🧗🏿‍♂️", - ["person_mountain_biking"] = "🚵", - ["mountain_bicyclist"] = "🚵", - ["person_mountain_biking_tone1"] = "🚵🏻", - ["mountain_bicyclist_tone1"] = "🚵🏻", - ["person_mountain_biking_tone2"] = "🚵🏼", - ["mountain_bicyclist_tone2"] = "🚵🏼", - ["person_mountain_biking_tone3"] = "🚵🏽", - ["mountain_bicyclist_tone3"] = "🚵🏽", - ["person_mountain_biking_tone4"] = "🚵🏾", - ["mountain_bicyclist_tone4"] = "🚵🏾", - ["person_mountain_biking_tone5"] = "🚵🏿", - ["mountain_bicyclist_tone5"] = "🚵🏿", - ["woman_mountain_biking"] = "🚵‍♀️", - ["woman_mountain_biking_tone1"] = "🚵🏻‍♀️", - ["woman_mountain_biking_light_skin_tone"] = "🚵🏻‍♀️", - ["woman_mountain_biking_tone2"] = "🚵🏼‍♀️", - ["woman_mountain_biking_medium_light_skin_tone"] = "🚵🏼‍♀️", - ["woman_mountain_biking_tone3"] = "🚵🏽‍♀️", - ["woman_mountain_biking_medium_skin_tone"] = "🚵🏽‍♀️", - ["woman_mountain_biking_tone4"] = "🚵🏾‍♀️", - ["woman_mountain_biking_medium_dark_skin_tone"] = "🚵🏾‍♀️", - ["woman_mountain_biking_tone5"] = "🚵🏿‍♀️", - ["woman_mountain_biking_dark_skin_tone"] = "🚵🏿‍♀️", - ["man_mountain_biking"] = "🚵‍♂️", - ["man_mountain_biking_tone1"] = "🚵🏻‍♂️", - ["man_mountain_biking_light_skin_tone"] = "🚵🏻‍♂️", - ["man_mountain_biking_tone2"] = "🚵🏼‍♂️", - ["man_mountain_biking_medium_light_skin_tone"] = "🚵🏼‍♂️", - ["man_mountain_biking_tone3"] = "🚵🏽‍♂️", - ["man_mountain_biking_medium_skin_tone"] = "🚵🏽‍♂️", - ["man_mountain_biking_tone4"] = "🚵🏾‍♂️", - ["man_mountain_biking_medium_dark_skin_tone"] = "🚵🏾‍♂️", - ["man_mountain_biking_tone5"] = "🚵🏿‍♂️", - ["man_mountain_biking_dark_skin_tone"] = "🚵🏿‍♂️", - ["person_biking"] = "🚴", - ["bicyclist"] = "🚴", - ["person_biking_tone1"] = "🚴🏻", - ["bicyclist_tone1"] = "🚴🏻", - ["person_biking_tone2"] = "🚴🏼", - ["bicyclist_tone2"] = "🚴🏼", - ["person_biking_tone3"] = "🚴🏽", - ["bicyclist_tone3"] = "🚴🏽", - ["person_biking_tone4"] = "🚴🏾", - ["bicyclist_tone4"] = "🚴🏾", - ["person_biking_tone5"] = "🚴🏿", - ["bicyclist_tone5"] = "🚴🏿", - ["woman_biking"] = "🚴‍♀️", - ["woman_biking_tone1"] = "🚴🏻‍♀️", - ["woman_biking_light_skin_tone"] = "🚴🏻‍♀️", - ["woman_biking_tone2"] = "🚴🏼‍♀️", - ["woman_biking_medium_light_skin_tone"] = "🚴🏼‍♀️", - ["woman_biking_tone3"] = "🚴🏽‍♀️", - ["woman_biking_medium_skin_tone"] = "🚴🏽‍♀️", - ["woman_biking_tone4"] = "🚴🏾‍♀️", - ["woman_biking_medium_dark_skin_tone"] = "🚴🏾‍♀️", - ["woman_biking_tone5"] = "🚴🏿‍♀️", - ["woman_biking_dark_skin_tone"] = "🚴🏿‍♀️", - ["man_biking"] = "🚴‍♂️", - ["man_biking_tone1"] = "🚴🏻‍♂️", - ["man_biking_light_skin_tone"] = "🚴🏻‍♂️", - ["man_biking_tone2"] = "🚴🏼‍♂️", - ["man_biking_medium_light_skin_tone"] = "🚴🏼‍♂️", - ["man_biking_tone3"] = "🚴🏽‍♂️", - ["man_biking_medium_skin_tone"] = "🚴🏽‍♂️", - ["man_biking_tone4"] = "🚴🏾‍♂️", - ["man_biking_medium_dark_skin_tone"] = "🚴🏾‍♂️", - ["man_biking_tone5"] = "🚴🏿‍♂️", - ["man_biking_dark_skin_tone"] = "🚴🏿‍♂️", - ["trophy"] = "🏆", - ["first_place"] = "🥇", - ["first_place_medal"] = "🥇", - ["second_place"] = "🥈", - ["second_place_medal"] = "🥈", - ["third_place"] = "🥉", - ["third_place_medal"] = "🥉", - ["medal"] = "🏅", - ["sports_medal"] = "🏅", - ["military_medal"] = "🎖️", - ["rosette"] = "🏵️", - ["reminder_ribbon"] = "🎗️", - ["ticket"] = "🎫", - ["tickets"] = "🎟️", - ["admission_tickets"] = "🎟️", - ["circus_tent"] = "🎪", - ["person_juggling"] = "🤹", - ["juggling"] = "🤹", - ["juggler"] = "🤹", - ["person_juggling_tone1"] = "🤹🏻", - ["juggling_tone1"] = "🤹🏻", - ["juggler_tone1"] = "🤹🏻", - ["person_juggling_tone2"] = "🤹🏼", - ["juggling_tone2"] = "🤹🏼", - ["juggler_tone2"] = "🤹🏼", - ["person_juggling_tone3"] = "🤹🏽", - ["juggling_tone3"] = "🤹🏽", - ["juggler_tone3"] = "🤹🏽", - ["person_juggling_tone4"] = "🤹🏾", - ["juggling_tone4"] = "🤹🏾", - ["juggler_tone4"] = "🤹🏾", - ["person_juggling_tone5"] = "🤹🏿", - ["juggling_tone5"] = "🤹🏿", - ["juggler_tone5"] = "🤹🏿", - ["woman_juggling"] = "🤹‍♀️", - ["woman_juggling_tone1"] = "🤹🏻‍♀️", - ["woman_juggling_light_skin_tone"] = "🤹🏻‍♀️", - ["woman_juggling_tone2"] = "🤹🏼‍♀️", - ["woman_juggling_medium_light_skin_tone"] = "🤹🏼‍♀️", - ["woman_juggling_tone3"] = "🤹🏽‍♀️", - ["woman_juggling_medium_skin_tone"] = "🤹🏽‍♀️", - ["woman_juggling_tone4"] = "🤹🏾‍♀️", - ["woman_juggling_medium_dark_skin_tone"] = "🤹🏾‍♀️", - ["woman_juggling_tone5"] = "🤹🏿‍♀️", - ["woman_juggling_dark_skin_tone"] = "🤹🏿‍♀️", - ["man_juggling"] = "🤹‍♂️", - ["man_juggling_tone1"] = "🤹🏻‍♂️", - ["man_juggling_light_skin_tone"] = "🤹🏻‍♂️", - ["man_juggling_tone2"] = "🤹🏼‍♂️", - ["man_juggling_medium_light_skin_tone"] = "🤹🏼‍♂️", - ["man_juggling_tone3"] = "🤹🏽‍♂️", - ["man_juggling_medium_skin_tone"] = "🤹🏽‍♂️", - ["man_juggling_tone4"] = "🤹🏾‍♂️", - ["man_juggling_medium_dark_skin_tone"] = "🤹🏾‍♂️", - ["man_juggling_tone5"] = "🤹🏿‍♂️", - ["man_juggling_dark_skin_tone"] = "🤹🏿‍♂️", - ["performing_arts"] = "🎭", - ["ballet_shoes"] = "🩰", - ["art"] = "🎨", - ["clapper"] = "🎬", - ["microphone"] = "🎤", - ["headphones"] = "🎧", - ["musical_score"] = "🎼", - ["musical_keyboard"] = "🎹", - ["drum"] = "🥁", - ["drum_with_drumsticks"] = "🥁", - ["long_drum"] = "🪘", - ["saxophone"] = "🎷", - ["trumpet"] = "🎺", - ["guitar"] = "🎸", - ["banjo"] = "🪕", - ["violin"] = "🎻", - ["accordion"] = "🪗", - ["game_die"] = "🎲", - ["chess_pawn"] = "♟️", - ["dart"] = "🎯", - ["bowling"] = "🎳", - ["video_game"] = "🎮", - ["slot_machine"] = "🎰", - ["jigsaw"] = "🧩", - ["red_car"] = "🚗", - ["taxi"] = "🚕", - ["blue_car"] = "🚙", - ["pickup_truck"] = "🛻", - ["bus"] = "🚌", - ["trolleybus"] = "🚎", - ["race_car"] = "🏎️", - ["racing_car"] = "🏎️", - ["police_car"] = "🚓", - ["ambulance"] = "🚑", - ["fire_engine"] = "🚒", - ["minibus"] = "🚐", - ["truck"] = "🚚", - ["articulated_lorry"] = "🚛", - ["tractor"] = "🚜", - ["probing_cane"] = "🦯", - ["manual_wheelchair"] = "🦽", - ["motorized_wheelchair"] = "🦼", - ["scooter"] = "🛴", - ["bike"] = "🚲", - ["motor_scooter"] = "🛵", - ["motorbike"] = "🛵", - ["motorcycle"] = "🏍️", - ["racing_motorcycle"] = "🏍️", - ["auto_rickshaw"] = "🛺", - ["rotating_light"] = "🚨", - ["oncoming_police_car"] = "🚔", - ["oncoming_bus"] = "🚍", - ["oncoming_automobile"] = "🚘", - ["oncoming_taxi"] = "🚖", - ["aerial_tramway"] = "🚡", - ["mountain_cableway"] = "🚠", - ["suspension_railway"] = "🚟", - ["railway_car"] = "🚃", - ["train"] = "🚋", - ["mountain_railway"] = "🚞", - ["monorail"] = "🚝", - ["bullettrain_side"] = "🚄", - ["bullettrain_front"] = "🚅", - ["light_rail"] = "🚈", - ["steam_locomotive"] = "🚂", - ["train2"] = "🚆", - ["metro"] = "🚇", - ["tram"] = "🚊", - ["station"] = "🚉", - ["airplane"] = "✈️", - ["airplane_departure"] = "🛫", - ["airplane_arriving"] = "🛬", - ["airplane_small"] = "🛩️", - ["small_airplane"] = "🛩️", - ["seat"] = "💺", - ["satellite_orbital"] = "🛰️", - ["rocket"] = "🚀", - ["flying_saucer"] = "🛸", - ["helicopter"] = "🚁", - ["canoe"] = "🛶", - ["kayak"] = "🛶", - ["sailboat"] = "⛵", - ["speedboat"] = "🚤", - ["motorboat"] = "🛥️", - ["cruise_ship"] = "🛳️", - ["passenger_ship"] = "🛳️", - ["ferry"] = "⛴️", - ["ship"] = "🚢", - ["anchor"] = "⚓", - ["fuelpump"] = "⛽", - ["construction"] = "🚧", - ["vertical_traffic_light"] = "🚦", - ["traffic_light"] = "🚥", - ["busstop"] = "🚏", - ["map"] = "🗺️", - ["world_map"] = "🗺️", - ["moyai"] = "🗿", - ["statue_of_liberty"] = "🗽", - ["tokyo_tower"] = "🗼", - ["european_castle"] = "🏰", - ["japanese_castle"] = "🏯", - ["stadium"] = "🏟️", - ["ferris_wheel"] = "🎡", - ["roller_coaster"] = "🎢", - ["carousel_horse"] = "🎠", - ["fountain"] = "⛲", - ["beach_umbrella"] = "⛱️", - ["umbrella_on_ground"] = "⛱️", - ["beach"] = "🏖️", - ["beach_with_umbrella"] = "🏖️", - ["island"] = "🏝️", - ["desert_island"] = "🏝️", - ["desert"] = "🏜️", - ["volcano"] = "🌋", - ["mountain"] = "⛰️", - ["mountain_snow"] = "🏔️", - ["snow_capped_mountain"] = "🏔️", - ["mount_fuji"] = "🗻", - ["camping"] = "🏕️", - ["tent"] = "⛺", - ["house"] = "🏠", - ["house_with_garden"] = "🏡", - ["homes"] = "🏘️", - ["house_buildings"] = "🏘️", - ["house_abandoned"] = "🏚️", - ["derelict_house_building"] = "🏚️", - ["hut"] = "🛖", - ["construction_site"] = "🏗️", - ["building_construction"] = "🏗️", - ["factory"] = "🏭", - ["office"] = "🏢", - ["department_store"] = "🏬", - ["post_office"] = "🏣", - ["european_post_office"] = "🏤", - ["hospital"] = "🏥", - ["bank"] = "🏦", - ["hotel"] = "🏨", - ["convenience_store"] = "🏪", - ["school"] = "🏫", - ["love_hotel"] = "🏩", - ["wedding"] = "💒", - ["classical_building"] = "🏛️", - ["church"] = "⛪", - ["mosque"] = "🕌", - ["synagogue"] = "🕍", - ["hindu_temple"] = "🛕", - ["kaaba"] = "🕋", - ["shinto_shrine"] = "⛩️", - ["railway_track"] = "🛤️", - ["railroad_track"] = "🛤️", - ["motorway"] = "🛣️", - ["japan"] = "🗾", - ["rice_scene"] = "🎑", - ["park"] = "🏞️", - ["national_park"] = "🏞️", - ["sunrise"] = "🌅", - ["sunrise_over_mountains"] = "🌄", - ["stars"] = "🌠", - ["sparkler"] = "🎇", - ["fireworks"] = "🎆", - ["city_sunset"] = "🌇", - ["city_sunrise"] = "🌇", - ["city_dusk"] = "🌆", - ["cityscape"] = "🏙️", - ["night_with_stars"] = "🌃", - ["milky_way"] = "🌌", - ["bridge_at_night"] = "🌉", - ["foggy"] = "🌁", - ["watch"] = "⌚", - ["mobile_phone"] = "📱", - ["iphone"] = "📱", - ["calling"] = "📲", - ["computer"] = "💻", - ["keyboard"] = "⌨️", - ["desktop"] = "🖥️", - ["desktop_computer"] = "🖥️", - ["printer"] = "🖨️", - ["mouse_three_button"] = "🖱️", - ["three_button_mouse"] = "🖱️", - ["trackball"] = "🖲️", - ["joystick"] = "🕹️", - ["compression"] = "🗜️", - ["minidisc"] = "💽", - ["floppy_disk"] = "💾", - ["cd"] = "💿", - ["dvd"] = "📀", - ["vhs"] = "📼", - ["camera"] = "📷", - ["camera_with_flash"] = "📸", - ["video_camera"] = "📹", - ["movie_camera"] = "🎥", - ["projector"] = "📽️", - ["film_projector"] = "📽️", - ["film_frames"] = "🎞️", - ["telephone_receiver"] = "📞", - ["telephone"] = "☎️", - ["pager"] = "📟", - ["fax"] = "📠", - ["tv"] = "📺", - ["radio"] = "📻", - ["microphone2"] = "🎙️", - ["studio_microphone"] = "🎙️", - ["level_slider"] = "🎚️", - ["control_knobs"] = "🎛️", - ["compass"] = "🧭", - ["stopwatch"] = "⏱️", - ["timer"] = "⏲️", - ["timer_clock"] = "⏲️", - ["alarm_clock"] = "⏰", - ["clock"] = "🕰️", - ["mantlepiece_clock"] = "🕰️", - ["hourglass"] = "⌛", - ["hourglass_flowing_sand"] = "⏳", - ["satellite"] = "📡", - ["battery"] = "🔋", - ["electric_plug"] = "🔌", - ["bulb"] = "💡", - ["flashlight"] = "🔦", - ["candle"] = "🕯️", - ["diya_lamp"] = "🪔", - ["fire_extinguisher"] = "🧯", - ["oil"] = "🛢️", - ["oil_drum"] = "🛢️", - ["money_with_wings"] = "💸", - ["dollar"] = "💵", - ["yen"] = "💴", - ["euro"] = "💶", - ["pound"] = "💷", - ["coin"] = "🪙", - ["moneybag"] = "💰", - ["credit_card"] = "💳", - ["gem"] = "💎", - ["scales"] = "⚖️", - ["ladder"] = "🪜", - ["toolbox"] = "🧰", - ["screwdriver"] = "🪛", - ["wrench"] = "🔧", - ["hammer"] = "🔨", - ["hammer_pick"] = "⚒️", - ["hammer_and_pick"] = "⚒️", - ["tools"] = "🛠️", - ["hammer_and_wrench"] = "🛠️", - ["pick"] = "⛏️", - ["nut_and_bolt"] = "🔩", - ["gear"] = "⚙️", - ["bricks"] = "🧱", - ["chains"] = "⛓️", - ["hook"] = "🪝", - ["knot"] = "🪢", - ["magnet"] = "🧲", - ["gun"] = "🔫", - ["bomb"] = "💣", - ["firecracker"] = "🧨", - ["axe"] = "🪓", - ["carpentry_saw"] = "🪚", - ["knife"] = "🔪", - ["dagger"] = "🗡️", - ["dagger_knife"] = "🗡️", - ["crossed_swords"] = "⚔️", - ["shield"] = "🛡️", - ["smoking"] = "🚬", - ["coffin"] = "⚰️", - ["headstone"] = "🪦", - ["urn"] = "⚱️", - ["funeral_urn"] = "⚱️", - ["amphora"] = "🏺", - ["magic_wand"] = "🪄", - ["crystal_ball"] = "🔮", - ["prayer_beads"] = "📿", - ["nazar_amulet"] = "🧿", - ["barber"] = "💈", - ["alembic"] = "⚗️", - ["telescope"] = "🔭", - ["microscope"] = "🔬", - ["hole"] = "🕳️", - ["window"] = "🪟", - ["adhesive_bandage"] = "🩹", - ["stethoscope"] = "🩺", - ["pill"] = "💊", - ["syringe"] = "💉", - ["drop_of_blood"] = "🩸", - ["dna"] = "🧬", - ["microbe"] = "🦠", - ["petri_dish"] = "🧫", - ["test_tube"] = "🧪", - ["thermometer"] = "🌡️", - ["mouse_trap"] = "🪤", - ["broom"] = "🧹", - ["basket"] = "🧺", - ["sewing_needle"] = "🪡", - ["roll_of_paper"] = "🧻", - ["toilet"] = "🚽", - ["plunger"] = "🪠", - ["bucket"] = "🪣", - ["potable_water"] = "🚰", - ["shower"] = "🚿", - ["bathtub"] = "🛁", - ["bath"] = "🛀", - ["bath_tone1"] = "🛀🏻", - ["bath_tone2"] = "🛀🏼", - ["bath_tone3"] = "🛀🏽", - ["bath_tone4"] = "🛀🏾", - ["bath_tone5"] = "🛀🏿", - ["toothbrush"] = "🪥", - ["soap"] = "🧼", - ["razor"] = "🪒", - ["sponge"] = "🧽", - ["squeeze_bottle"] = "🧴", - ["bellhop"] = "🛎️", - ["bellhop_bell"] = "🛎️", - ["key"] = "🔑", - ["key2"] = "🗝️", - ["old_key"] = "🗝️", - ["door"] = "🚪", - ["chair"] = "🪑", - ["mirror"] = "🪞", - ["couch"] = "🛋️", - ["couch_and_lamp"] = "🛋️", - ["bed"] = "🛏️", - ["sleeping_accommodation"] = "🛌", - ["person_in_bed_tone1"] = "🛌🏻", - ["person_in_bed_light_skin_tone"] = "🛌🏻", - ["person_in_bed_tone2"] = "🛌🏼", - ["person_in_bed_medium_light_skin_tone"] = "🛌🏼", - ["person_in_bed_tone3"] = "🛌🏽", - ["person_in_bed_medium_skin_tone"] = "🛌🏽", - ["person_in_bed_tone4"] = "🛌🏾", - ["person_in_bed_medium_dark_skin_tone"] = "🛌🏾", - ["person_in_bed_tone5"] = "🛌🏿", - ["person_in_bed_dark_skin_tone"] = "🛌🏿", - ["teddy_bear"] = "🧸", - ["frame_photo"] = "🖼️", - ["frame_with_picture"] = "🖼️", - ["shopping_bags"] = "🛍️", - ["shopping_cart"] = "🛒", - ["shopping_trolley"] = "🛒", - ["gift"] = "🎁", - ["balloon"] = "🎈", - ["flags"] = "🎏", - ["ribbon"] = "🎀", - ["confetti_ball"] = "🎊", - ["tada"] = "🎉", - ["piñata"] = "🪅", - ["nesting_dolls"] = "🪆", - ["dolls"] = "🎎", - ["izakaya_lantern"] = "🏮", - ["wind_chime"] = "🎐", - ["red_envelope"] = "🧧", - ["envelope"] = "✉️", - ["envelope_with_arrow"] = "📩", - ["incoming_envelope"] = "📨", - ["e_mail"] = "📧", - ["email"] = "📧", - ["love_letter"] = "💌", - ["inbox_tray"] = "📥", - ["outbox_tray"] = "📤", - ["package"] = "📦", - ["label"] = "🏷️", - ["mailbox_closed"] = "📪", - ["mailbox"] = "📫", - ["mailbox_with_mail"] = "📬", - ["mailbox_with_no_mail"] = "📭", - ["postbox"] = "📮", - ["postal_horn"] = "📯", - ["placard"] = "🪧", - ["scroll"] = "📜", - ["page_with_curl"] = "📃", - ["page_facing_up"] = "📄", - ["bookmark_tabs"] = "📑", - ["receipt"] = "🧾", - ["bar_chart"] = "📊", - ["chart_with_upwards_trend"] = "📈", - ["chart_with_downwards_trend"] = "📉", - ["notepad_spiral"] = "🗒️", - ["spiral_note_pad"] = "🗒️", - ["calendar_spiral"] = "🗓️", - ["spiral_calendar_pad"] = "🗓️", - ["calendar"] = "📆", - ["date"] = "📅", - ["wastebasket"] = "🗑️", - ["card_index"] = "📇", - ["card_box"] = "🗃️", - ["card_file_box"] = "🗃️", - ["ballot_box"] = "🗳️", - ["ballot_box_with_ballot"] = "🗳️", - ["file_cabinet"] = "🗄️", - ["clipboard"] = "📋", - ["file_folder"] = "📁", - ["open_file_folder"] = "📂", - ["dividers"] = "🗂️", - ["card_index_dividers"] = "🗂️", - ["newspaper2"] = "🗞️", - ["rolled_up_newspaper"] = "🗞️", - ["newspaper"] = "📰", - ["notebook"] = "📓", - ["notebook_with_decorative_cover"] = "📔", - ["ledger"] = "📒", - ["closed_book"] = "📕", - ["green_book"] = "📗", - ["blue_book"] = "📘", - ["orange_book"] = "📙", - ["books"] = "📚", - ["book"] = "📖", - ["bookmark"] = "🔖", - ["safety_pin"] = "🧷", - ["link"] = "🔗", - ["paperclip"] = "📎", - ["paperclips"] = "🖇️", - ["linked_paperclips"] = "🖇️", - ["triangular_ruler"] = "📐", - ["straight_ruler"] = "📏", - ["abacus"] = "🧮", - ["pushpin"] = "📌", - ["round_pushpin"] = "📍", - ["scissors"] = "✂️", - ["pen_ballpoint"] = "🖊️", - ["lower_left_ballpoint_pen"] = "🖊️", - ["pen_fountain"] = "🖋️", - ["lower_left_fountain_pen"] = "🖋️", - ["black_nib"] = "✒️", - ["paintbrush"] = "🖌️", - ["lower_left_paintbrush"] = "🖌️", - ["crayon"] = "🖍️", - ["lower_left_crayon"] = "🖍️", - ["pencil"] = "📝", - ["memo"] = "📝", - ["pencil2"] = "✏️", - ["mag"] = "🔍", - ["mag_right"] = "🔎", - ["lock_with_ink_pen"] = "🔏", - ["closed_lock_with_key"] = "🔐", - ["lock"] = "🔒", - ["unlock"] = "🔓", - ["heart"] = "❤️", - ["orange_heart"] = "🧡", - ["yellow_heart"] = "💛", - ["green_heart"] = "💚", - ["blue_heart"] = "💙", - ["purple_heart"] = "💜", - ["black_heart"] = "🖤", - ["brown_heart"] = "🤎", - ["white_heart"] = "🤍", - ["broken_heart"] = "💔", - ["heart_exclamation"] = "❣️", - ["heavy_heart_exclamation_mark_ornament"] = "❣️", - ["two_hearts"] = "💕", - ["revolving_hearts"] = "💞", - ["heartbeat"] = "💓", - ["heartpulse"] = "💗", - ["sparkling_heart"] = "💖", - ["cupid"] = "💘", - ["gift_heart"] = "💝", - ["mending_heart"] = "❤️‍🩹", - ["heart_on_fire"] = "❤️‍🔥", - ["heart_decoration"] = "💟", - ["peace"] = "☮️", - ["peace_symbol"] = "☮️", - ["cross"] = "✝️", - ["latin_cross"] = "✝️", - ["star_and_crescent"] = "☪️", - ["om_symbol"] = "🕉️", - ["wheel_of_dharma"] = "☸️", - ["star_of_david"] = "✡️", - ["six_pointed_star"] = "🔯", - ["menorah"] = "🕎", - ["yin_yang"] = "☯️", - ["orthodox_cross"] = "☦️", - ["place_of_worship"] = "🛐", - ["worship_symbol"] = "🛐", - ["ophiuchus"] = "⛎", - ["aries"] = "♈", - ["taurus"] = "♉", - ["gemini"] = "♊", - ["cancer"] = "♋", - ["leo"] = "♌", - ["virgo"] = "♍", - ["libra"] = "♎", - ["scorpius"] = "♏", - ["sagittarius"] = "♐", - ["capricorn"] = "♑", - ["aquarius"] = "♒", - ["pisces"] = "♓", - ["id"] = "🆔", - ["atom"] = "⚛️", - ["atom_symbol"] = "⚛️", - ["accept"] = "🉑", - ["radioactive"] = "☢️", - ["radioactive_sign"] = "☢️", - ["biohazard"] = "☣️", - ["biohazard_sign"] = "☣️", - ["mobile_phone_off"] = "📴", - ["vibration_mode"] = "📳", - ["u6709"] = "🈶", - ["u7121"] = "🈚", - ["u7533"] = "🈸", - ["u55b6"] = "🈺", - ["u6708"] = "🈷️", - ["eight_pointed_black_star"] = "✴️", - ["vs"] = "🆚", - ["white_flower"] = "💮", - ["ideograph_advantage"] = "🉐", - ["secret"] = "㊙️", - ["congratulations"] = "㊗️", - ["u5408"] = "🈴", - ["u6e80"] = "🈵", - ["u5272"] = "🈹", - ["u7981"] = "🈲", - ["a"] = "🅰️", - ["b"] = "🅱️", - ["ab"] = "🆎", - ["cl"] = "🆑", - ["o2"] = "🅾️", - ["sos"] = "🆘", - ["x"] = "❌", - ["o"] = "⭕", - ["octagonal_sign"] = "🛑", - ["stop_sign"] = "🛑", - ["no_entry"] = "⛔", - ["name_badge"] = "📛", - ["no_entry_sign"] = "🚫", - ["100"] = "💯", - ["anger"] = "💢", - ["hotsprings"] = "♨️", - ["no_pedestrians"] = "🚷", - ["do_not_litter"] = "🚯", - ["no_bicycles"] = "🚳", - ["non_potable_water"] = "🚱", - ["underage"] = "🔞", - ["no_mobile_phones"] = "📵", - ["no_smoking"] = "🚭", - ["exclamation"] = "❗", - ["grey_exclamation"] = "❕", - ["question"] = "❓", - ["grey_question"] = "❔", - ["bangbang"] = "‼️", - ["interrobang"] = "⁉️", - ["low_brightness"] = "🔅", - ["high_brightness"] = "🔆", - ["part_alternation_mark"] = "〽️", - ["warning"] = "⚠️", - ["children_crossing"] = "🚸", - ["trident"] = "🔱", - ["fleur_de_lis"] = "⚜️", - ["beginner"] = "🔰", - ["recycle"] = "♻️", - ["white_check_mark"] = "✅", - ["u6307"] = "🈯", - ["chart"] = "💹", - ["sparkle"] = "❇️", - ["eight_spoked_asterisk"] = "✳️", - ["negative_squared_cross_mark"] = "❎", - ["globe_with_meridians"] = "🌐", - ["diamond_shape_with_a_dot_inside"] = "💠", - ["m"] = "Ⓜ️", - ["cyclone"] = "🌀", - ["zzz"] = "💤", - ["atm"] = "🏧", - ["wc"] = "🚾", - ["wheelchair"] = "♿", - ["parking"] = "🅿️", - ["u7a7a"] = "🈳", - ["sa"] = "🈂️", - ["passport_control"] = "🛂", - ["customs"] = "🛃", - ["baggage_claim"] = "🛄", - ["left_luggage"] = "🛅", - ["elevator"] = "🛗", - ["mens"] = "🚹", - ["womens"] = "🚺", - ["baby_symbol"] = "🚼", - ["restroom"] = "🚻", - ["put_litter_in_its_place"] = "🚮", - ["cinema"] = "🎦", - ["signal_strength"] = "📶", - ["koko"] = "🈁", - ["symbols"] = "🔣", - ["information_source"] = "ℹ️", - ["abc"] = "🔤", - ["abcd"] = "🔡", - ["capital_abcd"] = "🔠", - ["ng"] = "🆖", - ["ok"] = "🆗", - ["up"] = "🆙", - ["cool"] = "🆒", - ["new"] = "🆕", - ["free"] = "🆓", - ["zero"] = "0️⃣", - ["one"] = "1️⃣", - ["two"] = "2️⃣", - ["three"] = "3️⃣", - ["four"] = "4️⃣", - ["five"] = "5️⃣", - ["six"] = "6️⃣", - ["seven"] = "7️⃣", - ["eight"] = "8️⃣", - ["nine"] = "9️⃣", - ["keycap_ten"] = "🔟", - ["1234"] = "🔢", - ["hash"] = "#️⃣", - ["asterisk"] = "*️⃣", - ["keycap_asterisk"] = "*️⃣", - ["eject"] = "⏏️", - ["eject_symbol"] = "⏏️", - ["arrow_forward"] = "▶️", - ["pause_button"] = "⏸️", - ["double_vertical_bar"] = "⏸️", - ["play_pause"] = "⏯️", - ["stop_button"] = "⏹️", - ["record_button"] = "⏺️", - ["track_next"] = "⏭️", - ["next_track"] = "⏭️", - ["track_previous"] = "⏮️", - ["previous_track"] = "⏮️", - ["fast_forward"] = "⏩", - ["rewind"] = "⏪", - ["arrow_double_up"] = "⏫", - ["arrow_double_down"] = "⏬", - ["arrow_backward"] = "◀️", - ["arrow_up_small"] = "🔼", - ["arrow_down_small"] = "🔽", - ["arrow_right"] = "➡️", - ["arrow_left"] = "⬅️", - ["arrow_up"] = "⬆️", - ["arrow_down"] = "⬇️", - ["arrow_upper_right"] = "↗️", - ["arrow_lower_right"] = "↘️", - ["arrow_lower_left"] = "↙️", - ["arrow_upper_left"] = "↖️", - ["arrow_up_down"] = "↕️", - ["left_right_arrow"] = "↔️", - ["arrow_right_hook"] = "↪️", - ["leftwards_arrow_with_hook"] = "↩️", - ["arrow_heading_up"] = "⤴️", - ["arrow_heading_down"] = "⤵️", - ["twisted_rightwards_arrows"] = "🔀", - ["repeat"] = "🔁", - ["repeat_one"] = "🔂", - ["arrows_counterclockwise"] = "🔄", - ["arrows_clockwise"] = "🔃", - ["musical_note"] = "🎵", - ["notes"] = "🎶", - ["heavy_plus_sign"] = "➕", - ["heavy_minus_sign"] = "➖", - ["heavy_division_sign"] = "➗", - ["heavy_multiplication_x"] = "✖️", - ["infinity"] = "♾️", - ["heavy_dollar_sign"] = "💲", - ["currency_exchange"] = "💱", - ["tm"] = "™️", - ["copyright"] = "©️", - ["registered"] = "®️", - ["wavy_dash"] = "〰️", - ["curly_loop"] = "➰", - ["loop"] = "➿", - ["end"] = "🔚", - ["back"] = "🔙", - ["on"] = "🔛", - ["top"] = "🔝", - ["soon"] = "🔜", - ["heavy_check_mark"] = "✔️", - ["ballot_box_with_check"] = "☑️", - ["radio_button"] = "🔘", - ["white_circle"] = "⚪", - ["black_circle"] = "⚫", - ["red_circle"] = "🔴", - ["blue_circle"] = "🔵", - ["brown_circle"] = "🟤", - ["purple_circle"] = "🟣", - ["green_circle"] = "🟢", - ["yellow_circle"] = "🟡", - ["orange_circle"] = "🟠", - ["small_red_triangle"] = "🔺", - ["small_red_triangle_down"] = "🔻", - ["small_orange_diamond"] = "🔸", - ["small_blue_diamond"] = "🔹", - ["large_orange_diamond"] = "🔶", - ["large_blue_diamond"] = "🔷", - ["white_square_button"] = "🔳", - ["black_square_button"] = "🔲", - ["black_small_square"] = "▪️", - ["white_small_square"] = "▫️", - ["black_medium_small_square"] = "◾", - ["white_medium_small_square"] = "◽", - ["black_medium_square"] = "◼️", - ["white_medium_square"] = "◻️", - ["black_large_square"] = "⬛", - ["white_large_square"] = "⬜", - ["orange_square"] = "🟧", - ["blue_square"] = "🟦", - ["red_square"] = "🟥", - ["brown_square"] = "🟫", - ["purple_square"] = "🟪", - ["green_square"] = "🟩", - ["yellow_square"] = "🟨", - ["speaker"] = "🔈", - ["mute"] = "🔇", - ["sound"] = "🔉", - ["loud_sound"] = "🔊", - ["bell"] = "🔔", - ["no_bell"] = "🔕", - ["mega"] = "📣", - ["loudspeaker"] = "📢", - ["speech_left"] = "🗨️", - ["left_speech_bubble"] = "🗨️", - ["eye_in_speech_bubble"] = "👁‍🗨", - ["speech_balloon"] = "💬", - ["thought_balloon"] = "💭", - ["anger_right"] = "🗯️", - ["right_anger_bubble"] = "🗯️", - ["spades"] = "♠️", - ["clubs"] = "♣️", - ["hearts"] = "♥️", - ["diamonds"] = "♦️", - ["black_joker"] = "🃏", - ["flower_playing_cards"] = "🎴", - ["mahjong"] = "🀄", - ["clock1"] = "🕐", - ["clock2"] = "🕑", - ["clock3"] = "🕒", - ["clock4"] = "🕓", - ["clock5"] = "🕔", - ["clock6"] = "🕕", - ["clock7"] = "🕖", - ["clock8"] = "🕗", - ["clock9"] = "🕘", - ["clock10"] = "🕙", - ["clock11"] = "🕚", - ["clock12"] = "🕛", - ["clock130"] = "🕜", - ["clock230"] = "🕝", - ["clock330"] = "🕞", - ["clock430"] = "🕟", - ["clock530"] = "🕠", - ["clock630"] = "🕡", - ["clock730"] = "🕢", - ["clock830"] = "🕣", - ["clock930"] = "🕤", - ["clock1030"] = "🕥", - ["clock1130"] = "🕦", - ["clock1230"] = "🕧", - ["female_sign"] = "♀️", - ["male_sign"] = "♂️", - ["transgender_symbol"] = "⚧", - ["medical_symbol"] = "⚕️", - ["regional_indicator_z"] = "🇿", - ["regional_indicator_y"] = "🇾", - ["regional_indicator_x"] = "🇽", - ["regional_indicator_w"] = "🇼", - ["regional_indicator_v"] = "🇻", - ["regional_indicator_u"] = "🇺", - ["regional_indicator_t"] = "🇹", - ["regional_indicator_s"] = "🇸", - ["regional_indicator_r"] = "🇷", - ["regional_indicator_q"] = "🇶", - ["regional_indicator_p"] = "🇵", - ["regional_indicator_o"] = "🇴", - ["regional_indicator_n"] = "🇳", - ["regional_indicator_m"] = "🇲", - ["regional_indicator_l"] = "🇱", - ["regional_indicator_k"] = "🇰", - ["regional_indicator_j"] = "🇯", - ["regional_indicator_i"] = "🇮", - ["regional_indicator_h"] = "🇭", - ["regional_indicator_g"] = "🇬", - ["regional_indicator_f"] = "🇫", - ["regional_indicator_e"] = "🇪", - ["regional_indicator_d"] = "🇩", - ["regional_indicator_c"] = "🇨", - ["regional_indicator_b"] = "🇧", - ["regional_indicator_a"] = "🇦", - ["flag_white"] = "🏳️", - ["flag_black"] = "🏴", - ["checkered_flag"] = "🏁", - ["triangular_flag_on_post"] = "🚩", - ["rainbow_flag"] = "🏳️‍🌈", - ["gay_pride_flag"] = "🏳️‍🌈", - ["transgender_flag"] = "🏳️‍⚧️", - ["pirate_flag"] = "🏴‍☠️", - ["flag_af"] = "🇦🇫", - ["flag_ax"] = "🇦🇽", - ["flag_al"] = "🇦🇱", - ["flag_dz"] = "🇩🇿", - ["flag_as"] = "🇦🇸", - ["flag_ad"] = "🇦🇩", - ["flag_ao"] = "🇦🇴", - ["flag_ai"] = "🇦🇮", - ["flag_aq"] = "🇦🇶", - ["flag_ag"] = "🇦🇬", - ["flag_ar"] = "🇦🇷", - ["flag_am"] = "🇦🇲", - ["flag_aw"] = "🇦🇼", - ["flag_au"] = "🇦🇺", - ["flag_at"] = "🇦🇹", - ["flag_az"] = "🇦🇿", - ["flag_bs"] = "🇧🇸", - ["flag_bh"] = "🇧🇭", - ["flag_bd"] = "🇧🇩", - ["flag_bb"] = "🇧🇧", - ["flag_by"] = "🇧🇾", - ["flag_be"] = "🇧🇪", - ["flag_bz"] = "🇧🇿", - ["flag_bj"] = "🇧🇯", - ["flag_bm"] = "🇧🇲", - ["flag_bt"] = "🇧🇹", - ["flag_bo"] = "🇧🇴", - ["flag_ba"] = "🇧🇦", - ["flag_bw"] = "🇧🇼", - ["flag_br"] = "🇧🇷", - ["flag_io"] = "🇮🇴", - ["flag_vg"] = "🇻🇬", - ["flag_bn"] = "🇧🇳", - ["flag_bg"] = "🇧🇬", - ["flag_bf"] = "🇧🇫", - ["flag_bi"] = "🇧🇮", - ["flag_kh"] = "🇰🇭", - ["flag_cm"] = "🇨🇲", - ["flag_ca"] = "🇨🇦", - ["flag_ic"] = "🇮🇨", - ["flag_cv"] = "🇨🇻", - ["flag_bq"] = "🇧🇶", - ["flag_ky"] = "🇰🇾", - ["flag_cf"] = "🇨🇫", - ["flag_td"] = "🇹🇩", - ["flag_cl"] = "🇨🇱", - ["flag_cn"] = "🇨🇳", - ["flag_cx"] = "🇨🇽", - ["flag_cc"] = "🇨🇨", - ["flag_co"] = "🇨🇴", - ["flag_km"] = "🇰🇲", - ["flag_cg"] = "🇨🇬", - ["flag_cd"] = "🇨🇩", - ["flag_ck"] = "🇨🇰", - ["flag_cr"] = "🇨🇷", - ["flag_ci"] = "🇨🇮", - ["flag_hr"] = "🇭🇷", - ["flag_cu"] = "🇨🇺", - ["flag_cw"] = "🇨🇼", - ["flag_cy"] = "🇨🇾", - ["flag_cz"] = "🇨🇿", - ["flag_dk"] = "🇩🇰", - ["flag_dj"] = "🇩🇯", - ["flag_dm"] = "🇩🇲", - ["flag_do"] = "🇩🇴", - ["flag_ec"] = "🇪🇨", - ["flag_eg"] = "🇪🇬", - ["flag_sv"] = "🇸🇻", - ["flag_gq"] = "🇬🇶", - ["flag_er"] = "🇪🇷", - ["flag_ee"] = "🇪🇪", - ["flag_et"] = "🇪🇹", - ["flag_eu"] = "🇪🇺", - ["flag_fk"] = "🇫🇰", - ["flag_fo"] = "🇫🇴", - ["flag_fj"] = "🇫🇯", - ["flag_fi"] = "🇫🇮", - ["flag_fr"] = "🇫🇷", - ["flag_gf"] = "🇬🇫", - ["flag_pf"] = "🇵🇫", - ["flag_tf"] = "🇹🇫", - ["flag_ga"] = "🇬🇦", - ["flag_gm"] = "🇬🇲", - ["flag_ge"] = "🇬🇪", - ["flag_de"] = "🇩🇪", - ["flag_gh"] = "🇬🇭", - ["flag_gi"] = "🇬🇮", - ["flag_gr"] = "🇬🇷", - ["flag_gl"] = "🇬🇱", - ["flag_gd"] = "🇬🇩", - ["flag_gp"] = "🇬🇵", - ["flag_gu"] = "🇬🇺", - ["flag_gt"] = "🇬🇹", - ["flag_gg"] = "🇬🇬", - ["flag_gn"] = "🇬🇳", - ["flag_gw"] = "🇬🇼", - ["flag_gy"] = "🇬🇾", - ["flag_ht"] = "🇭🇹", - ["flag_hn"] = "🇭🇳", - ["flag_hk"] = "🇭🇰", - ["flag_hu"] = "🇭🇺", - ["flag_is"] = "🇮🇸", - ["flag_in"] = "🇮🇳", - ["flag_id"] = "🇮🇩", - ["flag_ir"] = "🇮🇷", - ["flag_iq"] = "🇮🇶", - ["flag_ie"] = "🇮🇪", - ["flag_im"] = "🇮🇲", - ["flag_il"] = "🇮🇱", - ["flag_it"] = "🇮🇹", - ["flag_jm"] = "🇯🇲", - ["flag_jp"] = "🇯🇵", - ["crossed_flags"] = "🎌", - ["flag_je"] = "🇯🇪", - ["flag_jo"] = "🇯🇴", - ["flag_kz"] = "🇰🇿", - ["flag_ke"] = "🇰🇪", - ["flag_ki"] = "🇰🇮", - ["flag_xk"] = "🇽🇰", - ["flag_kw"] = "🇰🇼", - ["flag_kg"] = "🇰🇬", - ["flag_la"] = "🇱🇦", - ["flag_lv"] = "🇱🇻", - ["flag_lb"] = "🇱🇧", - ["flag_ls"] = "🇱🇸", - ["flag_lr"] = "🇱🇷", - ["flag_ly"] = "🇱🇾", - ["flag_li"] = "🇱🇮", - ["flag_lt"] = "🇱🇹", - ["flag_lu"] = "🇱🇺", - ["flag_mo"] = "🇲🇴", - ["flag_mk"] = "🇲🇰", - ["flag_mg"] = "🇲🇬", - ["flag_mw"] = "🇲🇼", - ["flag_my"] = "🇲🇾", - ["flag_mv"] = "🇲🇻", - ["flag_ml"] = "🇲🇱", - ["flag_mt"] = "🇲🇹", - ["flag_mh"] = "🇲🇭", - ["flag_mq"] = "🇲🇶", - ["flag_mr"] = "🇲🇷", - ["flag_mu"] = "🇲🇺", - ["flag_yt"] = "🇾🇹", - ["flag_mx"] = "🇲🇽", - ["flag_fm"] = "🇫🇲", - ["flag_md"] = "🇲🇩", - ["flag_mc"] = "🇲🇨", - ["flag_mn"] = "🇲🇳", - ["flag_me"] = "🇲🇪", - ["flag_ms"] = "🇲🇸", - ["flag_ma"] = "🇲🇦", - ["flag_mz"] = "🇲🇿", - ["flag_mm"] = "🇲🇲", - ["flag_na"] = "🇳🇦", - ["flag_nr"] = "🇳🇷", - ["flag_np"] = "🇳🇵", - ["flag_nl"] = "🇳🇱", - ["flag_nc"] = "🇳🇨", - ["flag_nz"] = "🇳🇿", - ["flag_ni"] = "🇳🇮", - ["flag_ne"] = "🇳🇪", - ["flag_ng"] = "🇳🇬", - ["flag_nu"] = "🇳🇺", - ["flag_nf"] = "🇳🇫", - ["flag_kp"] = "🇰🇵", - ["flag_mp"] = "🇲🇵", - ["flag_no"] = "🇳🇴", - ["flag_om"] = "🇴🇲", - ["flag_pk"] = "🇵🇰", - ["flag_pw"] = "🇵🇼", - ["flag_ps"] = "🇵🇸", - ["flag_pa"] = "🇵🇦", - ["flag_pg"] = "🇵🇬", - ["flag_py"] = "🇵🇾", - ["flag_pe"] = "🇵🇪", - ["flag_ph"] = "🇵🇭", - ["flag_pn"] = "🇵🇳", - ["flag_pl"] = "🇵🇱", - ["flag_pt"] = "🇵🇹", - ["flag_pr"] = "🇵🇷", - ["flag_qa"] = "🇶🇦", - ["flag_re"] = "🇷🇪", - ["flag_ro"] = "🇷🇴", - ["flag_ru"] = "🇷🇺", - ["flag_rw"] = "🇷🇼", - ["flag_ws"] = "🇼🇸", - ["flag_sm"] = "🇸🇲", - ["flag_st"] = "🇸🇹", - ["flag_sa"] = "🇸🇦", - ["flag_sn"] = "🇸🇳", - ["flag_rs"] = "🇷🇸", - ["flag_sc"] = "🇸🇨", - ["flag_sl"] = "🇸🇱", - ["flag_sg"] = "🇸🇬", - ["flag_sx"] = "🇸🇽", - ["flag_sk"] = "🇸🇰", - ["flag_si"] = "🇸🇮", - ["flag_gs"] = "🇬🇸", - ["flag_sb"] = "🇸🇧", - ["flag_so"] = "🇸🇴", - ["flag_za"] = "🇿🇦", - ["flag_kr"] = "🇰🇷", - ["flag_ss"] = "🇸🇸", - ["flag_es"] = "🇪🇸", - ["flag_lk"] = "🇱🇰", - ["flag_bl"] = "🇧🇱", - ["flag_sh"] = "🇸🇭", - ["flag_kn"] = "🇰🇳", - ["flag_lc"] = "🇱🇨", - ["flag_pm"] = "🇵🇲", - ["flag_vc"] = "🇻🇨", - ["flag_sd"] = "🇸🇩", - ["flag_sr"] = "🇸🇷", - ["flag_sz"] = "🇸🇿", - ["flag_se"] = "🇸🇪", - ["flag_ch"] = "🇨🇭", - ["flag_sy"] = "🇸🇾", - ["flag_tw"] = "🇹🇼", - ["flag_tj"] = "🇹🇯", - ["flag_tz"] = "🇹🇿", - ["flag_th"] = "🇹🇭", - ["flag_tl"] = "🇹🇱", - ["flag_tg"] = "🇹🇬", - ["flag_tk"] = "🇹🇰", - ["flag_to"] = "🇹🇴", - ["flag_tt"] = "🇹🇹", - ["flag_tn"] = "🇹🇳", - ["flag_tr"] = "🇹🇷", - ["flag_tm"] = "🇹🇲", - ["flag_tc"] = "🇹🇨", - ["flag_vi"] = "🇻🇮", - ["flag_tv"] = "🇹🇻", - ["flag_ug"] = "🇺🇬", - ["flag_ua"] = "🇺🇦", - ["flag_ae"] = "🇦🇪", - ["flag_gb"] = "🇬🇧", - ["england"] = "🏴󠁧󠁢󠁥󠁮󠁧󠁿", - ["scotland"] = "🏴󠁧󠁢󠁳󠁣󠁴󠁿", - ["wales"] = "🏴󠁧󠁢󠁷󠁬󠁳󠁿", - ["flag_us"] = "🇺🇸", - ["flag_uy"] = "🇺🇾", - ["flag_uz"] = "🇺🇿", - ["flag_vu"] = "🇻🇺", - ["flag_va"] = "🇻🇦", - ["flag_ve"] = "🇻🇪", - ["flag_vn"] = "🇻🇳", - ["flag_wf"] = "🇼🇫", - ["flag_eh"] = "🇪🇭", - ["flag_ye"] = "🇾🇪", - ["flag_zm"] = "🇿🇲", - ["flag_zw"] = "🇿🇼", - ["flag_ac"] = "🇦🇨", - ["flag_bv"] = "🇧🇻", - ["flag_cp"] = "🇨🇵", - ["flag_ea"] = "🇪🇦", - ["flag_dg"] = "🇩🇬", - ["flag_hm"] = "🇭🇲", - ["flag_mf"] = "🇲🇫", - ["flag_sj"] = "🇸🇯", - ["flag_ta"] = "🇹🇦", - ["flag_um"] = "🇺🇲", - ["united_nations"] = "🇺🇳" - }; + private static Dictionary _fromCodes = + new(5000, StringComparer.Ordinal) + { + ["grinning"] = "😀", + ["smiley"] = "😃", + ["smile"] = "😄", + ["grin"] = "😁", + ["laughing"] = "😆", + ["satisfied"] = "😆", + ["sweat_smile"] = "😅", + ["joy"] = "😂", + ["rofl"] = "🤣", + ["rolling_on_the_floor_laughing"] = "🤣", + ["relaxed"] = "☺️", + ["blush"] = "😊", + ["innocent"] = "😇", + ["slight_smile"] = "🙂", + ["slightly_smiling_face"] = "🙂", + ["upside_down"] = "🙃", + ["upside_down_face"] = "🙃", + ["wink"] = "😉", + ["relieved"] = "😌", + ["smiling_face_with_tear"] = "🥲", + ["heart_eyes"] = "😍", + ["smiling_face_with_3_hearts"] = "🥰", + ["kissing_heart"] = "😘", + ["kissing"] = "😗", + ["kissing_smiling_eyes"] = "😙", + ["kissing_closed_eyes"] = "😚", + ["yum"] = "😋", + ["stuck_out_tongue"] = "😛", + ["stuck_out_tongue_closed_eyes"] = "😝", + ["stuck_out_tongue_winking_eye"] = "😜", + ["zany_face"] = "🤪", + ["face_with_raised_eyebrow"] = "🤨", + ["face_with_monocle"] = "🧐", + ["nerd"] = "🤓", + ["nerd_face"] = "🤓", + ["sunglasses"] = "😎", + ["star_struck"] = "🤩", + ["partying_face"] = "🥳", + ["smirk"] = "😏", + ["unamused"] = "😒", + ["disappointed"] = "😞", + ["pensive"] = "😔", + ["worried"] = "😟", + ["confused"] = "😕", + ["slight_frown"] = "🙁", + ["slightly_frowning_face"] = "🙁", + ["frowning2"] = "☹️", + ["white_frowning_face"] = "☹️", + ["persevere"] = "😣", + ["confounded"] = "😖", + ["tired_face"] = "😫", + ["weary"] = "😩", + ["pleading_face"] = "🥺", + ["cry"] = "😢", + ["sob"] = "😭", + ["triumph"] = "😤", + ["face_exhaling"] = "😮‍💨", + ["angry"] = "😠", + ["rage"] = "😡", + ["face_with_symbols_over_mouth"] = "🤬", + ["exploding_head"] = "🤯", + ["flushed"] = "😳", + ["face_in_clouds"] = "😶‍🌫️", + ["hot_face"] = "🥵", + ["cold_face"] = "🥶", + ["scream"] = "😱", + ["fearful"] = "😨", + ["cold_sweat"] = "😰", + ["disappointed_relieved"] = "😥", + ["sweat"] = "😓", + ["hugging"] = "🤗", + ["hugging_face"] = "🤗", + ["thinking"] = "🤔", + ["thinking_face"] = "🤔", + ["face_with_hand_over_mouth"] = "🤭", + ["yawning_face"] = "🥱", + ["shushing_face"] = "🤫", + ["lying_face"] = "🤥", + ["liar"] = "🤥", + ["no_mouth"] = "😶", + ["neutral_face"] = "😐", + ["expressionless"] = "😑", + ["grimacing"] = "😬", + ["rolling_eyes"] = "🙄", + ["face_with_rolling_eyes"] = "🙄", + ["hushed"] = "😯", + ["frowning"] = "😦", + ["anguished"] = "😧", + ["open_mouth"] = "😮", + ["astonished"] = "😲", + ["sleeping"] = "😴", + ["drooling_face"] = "🤤", + ["drool"] = "🤤", + ["sleepy"] = "😪", + ["dizzy_face"] = "😵", + ["face_with_spiral_eyes"] = "😵‍💫", + ["zipper_mouth"] = "🤐", + ["zipper_mouth_face"] = "🤐", + ["woozy_face"] = "🥴", + ["nauseated_face"] = "🤢", + ["sick"] = "🤢", + ["face_vomiting"] = "🤮", + ["sneezing_face"] = "🤧", + ["sneeze"] = "🤧", + ["mask"] = "😷", + ["thermometer_face"] = "🤒", + ["face_with_thermometer"] = "🤒", + ["head_bandage"] = "🤕", + ["face_with_head_bandage"] = "🤕", + ["money_mouth"] = "🤑", + ["money_mouth_face"] = "🤑", + ["cowboy"] = "🤠", + ["face_with_cowboy_hat"] = "🤠", + ["disguised_face"] = "🥸", + ["smiling_imp"] = "😈", + ["imp"] = "👿", + ["japanese_ogre"] = "👹", + ["japanese_goblin"] = "👺", + ["clown"] = "🤡", + ["clown_face"] = "🤡", + ["poop"] = "💩", + ["shit"] = "💩", + ["hankey"] = "💩", + ["poo"] = "💩", + ["ghost"] = "👻", + ["skull"] = "💀", + ["skeleton"] = "💀", + ["skull_crossbones"] = "☠️", + ["skull_and_crossbones"] = "☠️", + ["alien"] = "👽", + ["space_invader"] = "👾", + ["robot"] = "🤖", + ["robot_face"] = "🤖", + ["jack_o_lantern"] = "🎃", + ["smiley_cat"] = "😺", + ["smile_cat"] = "😸", + ["joy_cat"] = "😹", + ["heart_eyes_cat"] = "😻", + ["smirk_cat"] = "😼", + ["kissing_cat"] = "😽", + ["scream_cat"] = "🙀", + ["crying_cat_face"] = "😿", + ["pouting_cat"] = "😾", + ["palms_up_together"] = "🤲", + ["palms_up_together_tone1"] = "🤲🏻", + ["palms_up_together_light_skin_tone"] = "🤲🏻", + ["palms_up_together_tone2"] = "🤲🏼", + ["palms_up_together_medium_light_skin_tone"] = "🤲🏼", + ["palms_up_together_tone3"] = "🤲🏽", + ["palms_up_together_medium_skin_tone"] = "🤲🏽", + ["palms_up_together_tone4"] = "🤲🏾", + ["palms_up_together_medium_dark_skin_tone"] = "🤲🏾", + ["palms_up_together_tone5"] = "🤲🏿", + ["palms_up_together_dark_skin_tone"] = "🤲🏿", + ["open_hands"] = "👐", + ["open_hands_tone1"] = "👐🏻", + ["open_hands_tone2"] = "👐🏼", + ["open_hands_tone3"] = "👐🏽", + ["open_hands_tone4"] = "👐🏾", + ["open_hands_tone5"] = "👐🏿", + ["raised_hands"] = "🙌", + ["raised_hands_tone1"] = "🙌🏻", + ["raised_hands_tone2"] = "🙌🏼", + ["raised_hands_tone3"] = "🙌🏽", + ["raised_hands_tone4"] = "🙌🏾", + ["raised_hands_tone5"] = "🙌🏿", + ["clap"] = "👏", + ["clap_tone1"] = "👏🏻", + ["clap_tone2"] = "👏🏼", + ["clap_tone3"] = "👏🏽", + ["clap_tone4"] = "👏🏾", + ["clap_tone5"] = "👏🏿", + ["handshake"] = "🤝", + ["shaking_hands"] = "🤝", + ["thumbsup"] = "👍", + ["+1"] = "👍", + ["thumbup"] = "👍", + ["thumbsup_tone1"] = "👍🏻", + ["+1_tone1"] = "👍🏻", + ["thumbup_tone1"] = "👍🏻", + ["thumbsup_tone2"] = "👍🏼", + ["+1_tone2"] = "👍🏼", + ["thumbup_tone2"] = "👍🏼", + ["thumbsup_tone3"] = "👍🏽", + ["+1_tone3"] = "👍🏽", + ["thumbup_tone3"] = "👍🏽", + ["thumbsup_tone4"] = "👍🏾", + ["+1_tone4"] = "👍🏾", + ["thumbup_tone4"] = "👍🏾", + ["thumbsup_tone5"] = "👍🏿", + ["+1_tone5"] = "👍🏿", + ["thumbup_tone5"] = "👍🏿", + ["thumbsdown"] = "👎", + ["-1"] = "👎", + ["thumbdown"] = "👎", + ["thumbsdown_tone1"] = "👎🏻", + ["_1_tone1"] = "👎🏻", + ["thumbdown_tone1"] = "👎🏻", + ["thumbsdown_tone2"] = "👎🏼", + ["_1_tone2"] = "👎🏼", + ["thumbdown_tone2"] = "👎🏼", + ["thumbsdown_tone3"] = "👎🏽", + ["_1_tone3"] = "👎🏽", + ["thumbdown_tone3"] = "👎🏽", + ["thumbsdown_tone4"] = "👎🏾", + ["_1_tone4"] = "👎🏾", + ["thumbdown_tone4"] = "👎🏾", + ["thumbsdown_tone5"] = "👎🏿", + ["_1_tone5"] = "👎🏿", + ["thumbdown_tone5"] = "👎🏿", + ["punch"] = "👊", + ["punch_tone1"] = "👊🏻", + ["punch_tone2"] = "👊🏼", + ["punch_tone3"] = "👊🏽", + ["punch_tone4"] = "👊🏾", + ["punch_tone5"] = "👊🏿", + ["fist"] = "✊", + ["fist_tone1"] = "✊🏻", + ["fist_tone2"] = "✊🏼", + ["fist_tone3"] = "✊🏽", + ["fist_tone4"] = "✊🏾", + ["fist_tone5"] = "✊🏿", + ["left_facing_fist"] = "🤛", + ["left_fist"] = "🤛", + ["left_facing_fist_tone1"] = "🤛🏻", + ["left_fist_tone1"] = "🤛🏻", + ["left_facing_fist_tone2"] = "🤛🏼", + ["left_fist_tone2"] = "🤛🏼", + ["left_facing_fist_tone3"] = "🤛🏽", + ["left_fist_tone3"] = "🤛🏽", + ["left_facing_fist_tone4"] = "🤛🏾", + ["left_fist_tone4"] = "🤛🏾", + ["left_facing_fist_tone5"] = "🤛🏿", + ["left_fist_tone5"] = "🤛🏿", + ["right_facing_fist"] = "🤜", + ["right_fist"] = "🤜", + ["right_facing_fist_tone1"] = "🤜🏻", + ["right_fist_tone1"] = "🤜🏻", + ["right_facing_fist_tone2"] = "🤜🏼", + ["right_fist_tone2"] = "🤜🏼", + ["right_facing_fist_tone3"] = "🤜🏽", + ["right_fist_tone3"] = "🤜🏽", + ["right_facing_fist_tone4"] = "🤜🏾", + ["right_fist_tone4"] = "🤜🏾", + ["right_facing_fist_tone5"] = "🤜🏿", + ["right_fist_tone5"] = "🤜🏿", + ["fingers_crossed"] = "🤞", + ["hand_with_index_and_middle_finger_crossed"] = "🤞", + ["fingers_crossed_tone1"] = "🤞🏻", + ["hand_with_index_and_middle_fingers_crossed_tone1"] = "🤞🏻", + ["fingers_crossed_tone2"] = "🤞🏼", + ["hand_with_index_and_middle_fingers_crossed_tone2"] = "🤞🏼", + ["fingers_crossed_tone3"] = "🤞🏽", + ["hand_with_index_and_middle_fingers_crossed_tone3"] = "🤞🏽", + ["fingers_crossed_tone4"] = "🤞🏾", + ["hand_with_index_and_middle_fingers_crossed_tone4"] = "🤞🏾", + ["fingers_crossed_tone5"] = "🤞🏿", + ["hand_with_index_and_middle_fingers_crossed_tone5"] = "🤞🏿", + ["v"] = "✌️", + ["v_tone1"] = "✌🏻", + ["v_tone2"] = "✌🏼", + ["v_tone3"] = "✌🏽", + ["v_tone4"] = "✌🏾", + ["v_tone5"] = "✌🏿", + ["love_you_gesture"] = "🤟", + ["love_you_gesture_tone1"] = "🤟🏻", + ["love_you_gesture_light_skin_tone"] = "🤟🏻", + ["love_you_gesture_tone2"] = "🤟🏼", + ["love_you_gesture_medium_light_skin_tone"] = "🤟🏼", + ["love_you_gesture_tone3"] = "🤟🏽", + ["love_you_gesture_medium_skin_tone"] = "🤟🏽", + ["love_you_gesture_tone4"] = "🤟🏾", + ["love_you_gesture_medium_dark_skin_tone"] = "🤟🏾", + ["love_you_gesture_tone5"] = "🤟🏿", + ["love_you_gesture_dark_skin_tone"] = "🤟🏿", + ["metal"] = "🤘", + ["sign_of_the_horns"] = "🤘", + ["metal_tone1"] = "🤘🏻", + ["sign_of_the_horns_tone1"] = "🤘🏻", + ["metal_tone2"] = "🤘🏼", + ["sign_of_the_horns_tone2"] = "🤘🏼", + ["metal_tone3"] = "🤘🏽", + ["sign_of_the_horns_tone3"] = "🤘🏽", + ["metal_tone4"] = "🤘🏾", + ["sign_of_the_horns_tone4"] = "🤘🏾", + ["metal_tone5"] = "🤘🏿", + ["sign_of_the_horns_tone5"] = "🤘🏿", + ["ok_hand"] = "👌", + ["ok_hand_tone1"] = "👌🏻", + ["ok_hand_tone2"] = "👌🏼", + ["ok_hand_tone3"] = "👌🏽", + ["ok_hand_tone4"] = "👌🏾", + ["ok_hand_tone5"] = "👌🏿", + ["pinching_hand"] = "🤏", + ["pinching_hand_tone1"] = "🤏🏻", + ["pinching_hand_light_skin_tone"] = "🤏🏻", + ["pinching_hand_tone2"] = "🤏🏼", + ["pinching_hand_medium_light_skin_tone"] = "🤏🏼", + ["pinching_hand_tone3"] = "🤏🏽", + ["pinching_hand_medium_skin_tone"] = "🤏🏽", + ["pinching_hand_tone4"] = "🤏🏾", + ["pinching_hand_medium_dark_skin_tone"] = "🤏🏾", + ["pinching_hand_tone5"] = "🤏🏿", + ["pinching_hand_dark_skin_tone"] = "🤏🏿", + ["pinched_fingers"] = "🤌", + ["pinched_fingers_tone2"] = "🤌🏼", + ["pinched_fingers_medium_light_skin_tone"] = "🤌🏼", + ["pinched_fingers_tone1"] = "🤌🏻", + ["pinched_fingers_light_skin_tone"] = "🤌🏻", + ["pinched_fingers_tone3"] = "🤌🏽", + ["pinched_fingers_medium_skin_tone"] = "🤌🏽", + ["pinched_fingers_tone4"] = "🤌🏾", + ["pinched_fingers_medium_dark_skin_tone"] = "🤌🏾", + ["pinched_fingers_tone5"] = "🤌🏿", + ["pinched_fingers_dark_skin_tone"] = "🤌🏿", + ["point_left"] = "👈", + ["point_left_tone1"] = "👈🏻", + ["point_left_tone2"] = "👈🏼", + ["point_left_tone3"] = "👈🏽", + ["point_left_tone4"] = "👈🏾", + ["point_left_tone5"] = "👈🏿", + ["point_right"] = "👉", + ["point_right_tone1"] = "👉🏻", + ["point_right_tone2"] = "👉🏼", + ["point_right_tone3"] = "👉🏽", + ["point_right_tone4"] = "👉🏾", + ["point_right_tone5"] = "👉🏿", + ["point_up_2"] = "👆", + ["point_up_2_tone1"] = "👆🏻", + ["point_up_2_tone2"] = "👆🏼", + ["point_up_2_tone3"] = "👆🏽", + ["point_up_2_tone4"] = "👆🏾", + ["point_up_2_tone5"] = "👆🏿", + ["point_down"] = "👇", + ["point_down_tone1"] = "👇🏻", + ["point_down_tone2"] = "👇🏼", + ["point_down_tone3"] = "👇🏽", + ["point_down_tone4"] = "👇🏾", + ["point_down_tone5"] = "👇🏿", + ["point_up"] = "☝️", + ["point_up_tone1"] = "☝🏻", + ["point_up_tone2"] = "☝🏼", + ["point_up_tone3"] = "☝🏽", + ["point_up_tone4"] = "☝🏾", + ["point_up_tone5"] = "☝🏿", + ["raised_hand"] = "✋", + ["raised_hand_tone1"] = "✋🏻", + ["raised_hand_tone2"] = "✋🏼", + ["raised_hand_tone3"] = "✋🏽", + ["raised_hand_tone4"] = "✋🏾", + ["raised_hand_tone5"] = "✋🏿", + ["raised_back_of_hand"] = "🤚", + ["back_of_hand"] = "🤚", + ["raised_back_of_hand_tone1"] = "🤚🏻", + ["back_of_hand_tone1"] = "🤚🏻", + ["raised_back_of_hand_tone2"] = "🤚🏼", + ["back_of_hand_tone2"] = "🤚🏼", + ["raised_back_of_hand_tone3"] = "🤚🏽", + ["back_of_hand_tone3"] = "🤚🏽", + ["raised_back_of_hand_tone4"] = "🤚🏾", + ["back_of_hand_tone4"] = "🤚🏾", + ["raised_back_of_hand_tone5"] = "🤚🏿", + ["back_of_hand_tone5"] = "🤚🏿", + ["hand_splayed"] = "🖐️", + ["raised_hand_with_fingers_splayed"] = "🖐️", + ["hand_splayed_tone1"] = "🖐🏻", + ["raised_hand_with_fingers_splayed_tone1"] = "🖐🏻", + ["hand_splayed_tone2"] = "🖐🏼", + ["raised_hand_with_fingers_splayed_tone2"] = "🖐🏼", + ["hand_splayed_tone3"] = "🖐🏽", + ["raised_hand_with_fingers_splayed_tone3"] = "🖐🏽", + ["hand_splayed_tone4"] = "🖐🏾", + ["raised_hand_with_fingers_splayed_tone4"] = "🖐🏾", + ["hand_splayed_tone5"] = "🖐🏿", + ["raised_hand_with_fingers_splayed_tone5"] = "🖐🏿", + ["vulcan"] = "🖖", + ["raised_hand_with_part_between_middle_and_ring_fingers"] = "🖖", + ["vulcan_tone1"] = "🖖🏻", + ["raised_hand_with_part_between_middle_and_ring_fingers_tone1"] = "🖖🏻", + ["vulcan_tone2"] = "🖖🏼", + ["raised_hand_with_part_between_middle_and_ring_fingers_tone2"] = "🖖🏼", + ["vulcan_tone3"] = "🖖🏽", + ["raised_hand_with_part_between_middle_and_ring_fingers_tone3"] = "🖖🏽", + ["vulcan_tone4"] = "🖖🏾", + ["raised_hand_with_part_between_middle_and_ring_fingers_tone4"] = "🖖🏾", + ["vulcan_tone5"] = "🖖🏿", + ["raised_hand_with_part_between_middle_and_ring_fingers_tone5"] = "🖖🏿", + ["wave"] = "👋", + ["wave_tone1"] = "👋🏻", + ["wave_tone2"] = "👋🏼", + ["wave_tone3"] = "👋🏽", + ["wave_tone4"] = "👋🏾", + ["wave_tone5"] = "👋🏿", + ["call_me"] = "🤙", + ["call_me_hand"] = "🤙", + ["call_me_tone1"] = "🤙🏻", + ["call_me_hand_tone1"] = "🤙🏻", + ["call_me_tone2"] = "🤙🏼", + ["call_me_hand_tone2"] = "🤙🏼", + ["call_me_tone3"] = "🤙🏽", + ["call_me_hand_tone3"] = "🤙🏽", + ["call_me_tone4"] = "🤙🏾", + ["call_me_hand_tone4"] = "🤙🏾", + ["call_me_tone5"] = "🤙🏿", + ["call_me_hand_tone5"] = "🤙🏿", + ["muscle"] = "💪", + ["muscle_tone1"] = "💪🏻", + ["muscle_tone2"] = "💪🏼", + ["muscle_tone3"] = "💪🏽", + ["muscle_tone4"] = "💪🏾", + ["muscle_tone5"] = "💪🏿", + ["mechanical_arm"] = "🦾", + ["middle_finger"] = "🖕", + ["reversed_hand_with_middle_finger_extended"] = "🖕", + ["middle_finger_tone1"] = "🖕🏻", + ["reversed_hand_with_middle_finger_extended_tone1"] = "🖕🏻", + ["middle_finger_tone2"] = "🖕🏼", + ["reversed_hand_with_middle_finger_extended_tone2"] = "🖕🏼", + ["middle_finger_tone3"] = "🖕🏽", + ["reversed_hand_with_middle_finger_extended_tone3"] = "🖕🏽", + ["middle_finger_tone4"] = "🖕🏾", + ["reversed_hand_with_middle_finger_extended_tone4"] = "🖕🏾", + ["middle_finger_tone5"] = "🖕🏿", + ["reversed_hand_with_middle_finger_extended_tone5"] = "🖕🏿", + ["writing_hand"] = "✍️", + ["writing_hand_tone1"] = "✍🏻", + ["writing_hand_tone2"] = "✍🏼", + ["writing_hand_tone3"] = "✍🏽", + ["writing_hand_tone4"] = "✍🏾", + ["writing_hand_tone5"] = "✍🏿", + ["pray"] = "🙏", + ["pray_tone1"] = "🙏🏻", + ["pray_tone2"] = "🙏🏼", + ["pray_tone3"] = "🙏🏽", + ["pray_tone4"] = "🙏🏾", + ["pray_tone5"] = "🙏🏿", + ["foot"] = "🦶", + ["foot_tone1"] = "🦶🏻", + ["foot_light_skin_tone"] = "🦶🏻", + ["foot_tone2"] = "🦶🏼", + ["foot_medium_light_skin_tone"] = "🦶🏼", + ["foot_tone3"] = "🦶🏽", + ["foot_medium_skin_tone"] = "🦶🏽", + ["foot_tone4"] = "🦶🏾", + ["foot_medium_dark_skin_tone"] = "🦶🏾", + ["foot_tone5"] = "🦶🏿", + ["foot_dark_skin_tone"] = "🦶🏿", + ["leg"] = "🦵", + ["leg_tone1"] = "🦵🏻", + ["leg_light_skin_tone"] = "🦵🏻", + ["leg_tone2"] = "🦵🏼", + ["leg_medium_light_skin_tone"] = "🦵🏼", + ["leg_tone3"] = "🦵🏽", + ["leg_medium_skin_tone"] = "🦵🏽", + ["leg_tone4"] = "🦵🏾", + ["leg_medium_dark_skin_tone"] = "🦵🏾", + ["leg_tone5"] = "🦵🏿", + ["leg_dark_skin_tone"] = "🦵🏿", + ["mechanical_leg"] = "🦿", + ["lipstick"] = "💄", + ["kiss"] = "💋", + ["lips"] = "👄", + ["tooth"] = "🦷", + ["tongue"] = "👅", + ["ear"] = "👂", + ["ear_tone1"] = "👂🏻", + ["ear_tone2"] = "👂🏼", + ["ear_tone3"] = "👂🏽", + ["ear_tone4"] = "👂🏾", + ["ear_tone5"] = "👂🏿", + ["ear_with_hearing_aid"] = "🦻", + ["ear_with_hearing_aid_tone1"] = "🦻🏻", + ["ear_with_hearing_aid_light_skin_tone"] = "🦻🏻", + ["ear_with_hearing_aid_tone2"] = "🦻🏼", + ["ear_with_hearing_aid_medium_light_skin_tone"] = "🦻🏼", + ["ear_with_hearing_aid_tone3"] = "🦻🏽", + ["ear_with_hearing_aid_medium_skin_tone"] = "🦻🏽", + ["ear_with_hearing_aid_tone4"] = "🦻🏾", + ["ear_with_hearing_aid_medium_dark_skin_tone"] = "🦻🏾", + ["ear_with_hearing_aid_tone5"] = "🦻🏿", + ["ear_with_hearing_aid_dark_skin_tone"] = "🦻🏿", + ["nose"] = "👃", + ["nose_tone1"] = "👃🏻", + ["nose_tone2"] = "👃🏼", + ["nose_tone3"] = "👃🏽", + ["nose_tone4"] = "👃🏾", + ["nose_tone5"] = "👃🏿", + ["footprints"] = "👣", + ["eye"] = "👁️", + ["eyes"] = "👀", + ["brain"] = "🧠", + ["anatomical_heart"] = "🫀", + ["lungs"] = "🫁", + ["bone"] = "🦴", + ["speaking_head"] = "🗣️", + ["speaking_head_in_silhouette"] = "🗣️", + ["bust_in_silhouette"] = "👤", + ["busts_in_silhouette"] = "👥", + ["people_hugging"] = "🫂", + ["baby"] = "👶", + ["baby_tone1"] = "👶🏻", + ["baby_tone2"] = "👶🏼", + ["baby_tone3"] = "👶🏽", + ["baby_tone4"] = "👶🏾", + ["baby_tone5"] = "👶🏿", + ["girl"] = "👧", + ["girl_tone1"] = "👧🏻", + ["girl_tone2"] = "👧🏼", + ["girl_tone3"] = "👧🏽", + ["girl_tone4"] = "👧🏾", + ["girl_tone5"] = "👧🏿", + ["child"] = "🧒", + ["child_tone1"] = "🧒🏻", + ["child_light_skin_tone"] = "🧒🏻", + ["child_tone2"] = "🧒🏼", + ["child_medium_light_skin_tone"] = "🧒🏼", + ["child_tone3"] = "🧒🏽", + ["child_medium_skin_tone"] = "🧒🏽", + ["child_tone4"] = "🧒🏾", + ["child_medium_dark_skin_tone"] = "🧒🏾", + ["child_tone5"] = "🧒🏿", + ["child_dark_skin_tone"] = "🧒🏿", + ["boy"] = "👦", + ["boy_tone1"] = "👦🏻", + ["boy_tone2"] = "👦🏼", + ["boy_tone3"] = "👦🏽", + ["boy_tone4"] = "👦🏾", + ["boy_tone5"] = "👦🏿", + ["woman"] = "👩", + ["woman_tone1"] = "👩🏻", + ["woman_tone2"] = "👩🏼", + ["woman_tone3"] = "👩🏽", + ["woman_tone4"] = "👩🏾", + ["woman_tone5"] = "👩🏿", + ["adult"] = "🧑", + ["adult_tone1"] = "🧑🏻", + ["adult_light_skin_tone"] = "🧑🏻", + ["adult_tone2"] = "🧑🏼", + ["adult_medium_light_skin_tone"] = "🧑🏼", + ["adult_tone3"] = "🧑🏽", + ["adult_medium_skin_tone"] = "🧑🏽", + ["adult_tone4"] = "🧑🏾", + ["adult_medium_dark_skin_tone"] = "🧑🏾", + ["adult_tone5"] = "🧑🏿", + ["adult_dark_skin_tone"] = "🧑🏿", + ["man"] = "👨", + ["man_tone1"] = "👨🏻", + ["man_tone2"] = "👨🏼", + ["man_tone3"] = "👨🏽", + ["man_tone4"] = "👨🏾", + ["man_tone5"] = "👨🏿", + ["person_curly_hair"] = "🧑‍🦱", + ["person_tone1_curly_hair"] = "🧑🏻‍🦱", + ["person_light_skin_tone_curly_hair"] = "🧑🏻‍🦱", + ["person_tone2_curly_hair"] = "🧑🏼‍🦱", + ["person_medium_light_skin_tone_curly_hair"] = "🧑🏼‍🦱", + ["person_tone3_curly_hair"] = "🧑🏽‍🦱", + ["person_medium_skin_tone_curly_hair"] = "🧑🏽‍🦱", + ["person_tone4_curly_hair"] = "🧑🏾‍🦱", + ["person_medium_dark_skin_tone_curly_hair"] = "🧑🏾‍🦱", + ["person_tone5_curly_hair"] = "🧑🏿‍🦱", + ["person_dark_skin_tone_curly_hair"] = "🧑🏿‍🦱", + ["woman_curly_haired"] = "👩‍🦱", + ["woman_curly_haired_tone1"] = "👩🏻‍🦱", + ["woman_curly_haired_light_skin_tone"] = "👩🏻‍🦱", + ["woman_curly_haired_tone2"] = "👩🏼‍🦱", + ["woman_curly_haired_medium_light_skin_tone"] = "👩🏼‍🦱", + ["woman_curly_haired_tone3"] = "👩🏽‍🦱", + ["woman_curly_haired_medium_skin_tone"] = "👩🏽‍🦱", + ["woman_curly_haired_tone4"] = "👩🏾‍🦱", + ["woman_curly_haired_medium_dark_skin_tone"] = "👩🏾‍🦱", + ["woman_curly_haired_tone5"] = "👩🏿‍🦱", + ["woman_curly_haired_dark_skin_tone"] = "👩🏿‍🦱", + ["man_curly_haired"] = "👨‍🦱", + ["man_curly_haired_tone1"] = "👨🏻‍🦱", + ["man_curly_haired_light_skin_tone"] = "👨🏻‍🦱", + ["man_curly_haired_tone2"] = "👨🏼‍🦱", + ["man_curly_haired_medium_light_skin_tone"] = "👨🏼‍🦱", + ["man_curly_haired_tone3"] = "👨🏽‍🦱", + ["man_curly_haired_medium_skin_tone"] = "👨🏽‍🦱", + ["man_curly_haired_tone4"] = "👨🏾‍🦱", + ["man_curly_haired_medium_dark_skin_tone"] = "👨🏾‍🦱", + ["man_curly_haired_tone5"] = "👨🏿‍🦱", + ["man_curly_haired_dark_skin_tone"] = "👨🏿‍🦱", + ["person_red_hair"] = "🧑‍🦰", + ["person_tone1_red_hair"] = "🧑🏻‍🦰", + ["person_light_skin_tone_red_hair"] = "🧑🏻‍🦰", + ["person_tone2_red_hair"] = "🧑🏼‍🦰", + ["person_medium_light_skin_tone_red_hair"] = "🧑🏼‍🦰", + ["person_tone3_red_hair"] = "🧑🏽‍🦰", + ["person_medium_skin_tone_red_hair"] = "🧑🏽‍🦰", + ["person_tone4_red_hair"] = "🧑🏾‍🦰", + ["person_medium_dark_skin_tone_red_hair"] = "🧑🏾‍🦰", + ["person_tone5_red_hair"] = "🧑🏿‍🦰", + ["person_dark_skin_tone_red_hair"] = "🧑🏿‍🦰", + ["woman_red_haired"] = "👩‍🦰", + ["woman_red_haired_tone1"] = "👩🏻‍🦰", + ["woman_red_haired_light_skin_tone"] = "👩🏻‍🦰", + ["woman_red_haired_tone2"] = "👩🏼‍🦰", + ["woman_red_haired_medium_light_skin_tone"] = "👩🏼‍🦰", + ["woman_red_haired_tone3"] = "👩🏽‍🦰", + ["woman_red_haired_medium_skin_tone"] = "👩🏽‍🦰", + ["woman_red_haired_tone4"] = "👩🏾‍🦰", + ["woman_red_haired_medium_dark_skin_tone"] = "👩🏾‍🦰", + ["woman_red_haired_tone5"] = "👩🏿‍🦰", + ["woman_red_haired_dark_skin_tone"] = "👩🏿‍🦰", + ["man_red_haired"] = "👨‍🦰", + ["man_red_haired_tone1"] = "👨🏻‍🦰", + ["man_red_haired_light_skin_tone"] = "👨🏻‍🦰", + ["man_red_haired_tone2"] = "👨🏼‍🦰", + ["man_red_haired_medium_light_skin_tone"] = "👨🏼‍🦰", + ["man_red_haired_tone3"] = "👨🏽‍🦰", + ["man_red_haired_medium_skin_tone"] = "👨🏽‍🦰", + ["man_red_haired_tone4"] = "👨🏾‍🦰", + ["man_red_haired_medium_dark_skin_tone"] = "👨🏾‍🦰", + ["man_red_haired_tone5"] = "👨🏿‍🦰", + ["man_red_haired_dark_skin_tone"] = "👨🏿‍🦰", + ["blond_haired_woman"] = "👱‍♀️", + ["blond_haired_woman_tone1"] = "👱🏻‍♀️", + ["blond_haired_woman_light_skin_tone"] = "👱🏻‍♀️", + ["blond_haired_woman_tone2"] = "👱🏼‍♀️", + ["blond_haired_woman_medium_light_skin_tone"] = "👱🏼‍♀️", + ["blond_haired_woman_tone3"] = "👱🏽‍♀️", + ["blond_haired_woman_medium_skin_tone"] = "👱🏽‍♀️", + ["blond_haired_woman_tone4"] = "👱🏾‍♀️", + ["blond_haired_woman_medium_dark_skin_tone"] = "👱🏾‍♀️", + ["blond_haired_woman_tone5"] = "👱🏿‍♀️", + ["blond_haired_woman_dark_skin_tone"] = "👱🏿‍♀️", + ["blond_haired_person"] = "👱", + ["person_with_blond_hair"] = "👱", + ["blond_haired_person_tone1"] = "👱🏻", + ["person_with_blond_hair_tone1"] = "👱🏻", + ["blond_haired_person_tone2"] = "👱🏼", + ["person_with_blond_hair_tone2"] = "👱🏼", + ["blond_haired_person_tone3"] = "👱🏽", + ["person_with_blond_hair_tone3"] = "👱🏽", + ["blond_haired_person_tone4"] = "👱🏾", + ["person_with_blond_hair_tone4"] = "👱🏾", + ["blond_haired_person_tone5"] = "👱🏿", + ["person_with_blond_hair_tone5"] = "👱🏿", + ["blond_haired_man"] = "👱‍♂️", + ["blond_haired_man_tone1"] = "👱🏻‍♂️", + ["blond_haired_man_light_skin_tone"] = "👱🏻‍♂️", + ["blond_haired_man_tone2"] = "👱🏼‍♂️", + ["blond_haired_man_medium_light_skin_tone"] = "👱🏼‍♂️", + ["blond_haired_man_tone3"] = "👱🏽‍♂️", + ["blond_haired_man_medium_skin_tone"] = "👱🏽‍♂️", + ["blond_haired_man_tone4"] = "👱🏾‍♂️", + ["blond_haired_man_medium_dark_skin_tone"] = "👱🏾‍♂️", + ["blond_haired_man_tone5"] = "👱🏿‍♂️", + ["blond_haired_man_dark_skin_tone"] = "👱🏿‍♂️", + ["person_white_hair"] = "🧑‍🦳", + ["person_tone1_white_hair"] = "🧑🏻‍🦳", + ["person_light_skin_tone_white_hair"] = "🧑🏻‍🦳", + ["person_tone2_white_hair"] = "🧑🏼‍🦳", + ["person_medium_light_skin_tone_white_hair"] = "🧑🏼‍🦳", + ["person_tone3_white_hair"] = "🧑🏽‍🦳", + ["person_medium_skin_tone_white_hair"] = "🧑🏽‍🦳", + ["person_tone4_white_hair"] = "🧑🏾‍🦳", + ["person_medium_dark_skin_tone_white_hair"] = "🧑🏾‍🦳", + ["person_tone5_white_hair"] = "🧑🏿‍🦳", + ["person_dark_skin_tone_white_hair"] = "🧑🏿‍🦳", + ["woman_white_haired"] = "👩‍🦳", + ["woman_white_haired_tone1"] = "👩🏻‍🦳", + ["woman_white_haired_light_skin_tone"] = "👩🏻‍🦳", + ["woman_white_haired_tone2"] = "👩🏼‍🦳", + ["woman_white_haired_medium_light_skin_tone"] = "👩🏼‍🦳", + ["woman_white_haired_tone3"] = "👩🏽‍🦳", + ["woman_white_haired_medium_skin_tone"] = "👩🏽‍🦳", + ["woman_white_haired_tone4"] = "👩🏾‍🦳", + ["woman_white_haired_medium_dark_skin_tone"] = "👩🏾‍🦳", + ["woman_white_haired_tone5"] = "👩🏿‍🦳", + ["woman_white_haired_dark_skin_tone"] = "👩🏿‍🦳", + ["man_white_haired"] = "👨‍🦳", + ["man_white_haired_tone1"] = "👨🏻‍🦳", + ["man_white_haired_light_skin_tone"] = "👨🏻‍🦳", + ["man_white_haired_tone2"] = "👨🏼‍🦳", + ["man_white_haired_medium_light_skin_tone"] = "👨🏼‍🦳", + ["man_white_haired_tone3"] = "👨🏽‍🦳", + ["man_white_haired_medium_skin_tone"] = "👨🏽‍🦳", + ["man_white_haired_tone4"] = "👨🏾‍🦳", + ["man_white_haired_medium_dark_skin_tone"] = "👨🏾‍🦳", + ["man_white_haired_tone5"] = "👨🏿‍🦳", + ["man_white_haired_dark_skin_tone"] = "👨🏿‍🦳", + ["person_bald"] = "🧑‍🦲", + ["person_tone1_bald"] = "🧑🏻‍🦲", + ["person_light_skin_tone_bald"] = "🧑🏻‍🦲", + ["person_tone2_bald"] = "🧑🏼‍🦲", + ["person_medium_light_skin_tone_bald"] = "🧑🏼‍🦲", + ["person_tone3_bald"] = "🧑🏽‍🦲", + ["person_medium_skin_tone_bald"] = "🧑🏽‍🦲", + ["person_tone4_bald"] = "🧑🏾‍🦲", + ["person_medium_dark_skin_tone_bald"] = "🧑🏾‍🦲", + ["person_tone5_bald"] = "🧑🏿‍🦲", + ["person_dark_skin_tone_bald"] = "🧑🏿‍🦲", + ["woman_bald"] = "👩‍🦲", + ["woman_bald_tone1"] = "👩🏻‍🦲", + ["woman_bald_light_skin_tone"] = "👩🏻‍🦲", + ["woman_bald_tone2"] = "👩🏼‍🦲", + ["woman_bald_medium_light_skin_tone"] = "👩🏼‍🦲", + ["woman_bald_tone3"] = "👩🏽‍🦲", + ["woman_bald_medium_skin_tone"] = "👩🏽‍🦲", + ["woman_bald_tone4"] = "👩🏾‍🦲", + ["woman_bald_medium_dark_skin_tone"] = "👩🏾‍🦲", + ["woman_bald_tone5"] = "👩🏿‍🦲", + ["woman_bald_dark_skin_tone"] = "👩🏿‍🦲", + ["man_bald"] = "👨‍🦲", + ["man_bald_tone1"] = "👨🏻‍🦲", + ["man_bald_light_skin_tone"] = "👨🏻‍🦲", + ["man_bald_tone2"] = "👨🏼‍🦲", + ["man_bald_medium_light_skin_tone"] = "👨🏼‍🦲", + ["man_bald_tone3"] = "👨🏽‍🦲", + ["man_bald_medium_skin_tone"] = "👨🏽‍🦲", + ["man_bald_tone4"] = "👨🏾‍🦲", + ["man_bald_medium_dark_skin_tone"] = "👨🏾‍🦲", + ["man_bald_tone5"] = "👨🏿‍🦲", + ["man_bald_dark_skin_tone"] = "👨🏿‍🦲", + ["bearded_person"] = "🧔", + ["bearded_person_tone1"] = "🧔🏻", + ["bearded_person_light_skin_tone"] = "🧔🏻", + ["bearded_person_tone2"] = "🧔🏼", + ["bearded_person_medium_light_skin_tone"] = "🧔🏼", + ["bearded_person_tone3"] = "🧔🏽", + ["bearded_person_medium_skin_tone"] = "🧔🏽", + ["bearded_person_tone4"] = "🧔🏾", + ["bearded_person_medium_dark_skin_tone"] = "🧔🏾", + ["bearded_person_tone5"] = "🧔🏿", + ["bearded_person_dark_skin_tone"] = "🧔🏿", + ["man_beard"] = "🧔‍♂️", + ["man_tone1_beard"] = "🧔🏻‍♂️", + ["man_light_skin_tone_beard"] = "🧔🏻‍♂️", + ["man_tone2_beard"] = "🧔🏼‍♂️", + ["man_medium_light_skin_tone_beard"] = "🧔🏼‍♂️", + ["man_tone3_beard"] = "🧔🏽‍♂️", + ["man_medium_skin_tone_beard"] = "🧔🏽‍♂️", + ["man_tone4_beard"] = "🧔🏾‍♂️", + ["man_medium_dark_skin_tone_beard"] = "🧔🏾‍♂️", + ["man_tone5_beard"] = "🧔🏿‍♂️", + ["man_dark_skin_tone_beard"] = "🧔🏿‍♂️", + ["woman_beard"] = "🧔‍♀️", + ["woman_tone1_beard"] = "🧔🏻‍♀️", + ["woman_light_skin_tone_beard"] = "🧔🏻‍♀️", + ["woman_tone2_beard"] = "🧔🏼‍♀️", + ["woman_medium_light_skin_tone_beard"] = "🧔🏼‍♀️", + ["woman_tone3_beard"] = "🧔🏽‍♀️", + ["woman_medium_skin_tone_beard"] = "🧔🏽‍♀️", + ["woman_tone4_beard"] = "🧔🏾‍♀️", + ["woman_medium_dark_skin_tone_beard"] = "🧔🏾‍♀️", + ["woman_tone5_beard"] = "🧔🏿‍♀️", + ["woman_dark_skin_tone_beard"] = "🧔🏿‍♀️", + ["older_woman"] = "👵", + ["grandma"] = "👵", + ["older_woman_tone1"] = "👵🏻", + ["grandma_tone1"] = "👵🏻", + ["older_woman_tone2"] = "👵🏼", + ["grandma_tone2"] = "👵🏼", + ["older_woman_tone3"] = "👵🏽", + ["grandma_tone3"] = "👵🏽", + ["older_woman_tone4"] = "👵🏾", + ["grandma_tone4"] = "👵🏾", + ["older_woman_tone5"] = "👵🏿", + ["grandma_tone5"] = "👵🏿", + ["older_adult"] = "🧓", + ["older_adult_tone1"] = "🧓🏻", + ["older_adult_light_skin_tone"] = "🧓🏻", + ["older_adult_tone2"] = "🧓🏼", + ["older_adult_medium_light_skin_tone"] = "🧓🏼", + ["older_adult_tone3"] = "🧓🏽", + ["older_adult_medium_skin_tone"] = "🧓🏽", + ["older_adult_tone4"] = "🧓🏾", + ["older_adult_medium_dark_skin_tone"] = "🧓🏾", + ["older_adult_tone5"] = "🧓🏿", + ["older_adult_dark_skin_tone"] = "🧓🏿", + ["older_man"] = "👴", + ["older_man_tone1"] = "👴🏻", + ["older_man_tone2"] = "👴🏼", + ["older_man_tone3"] = "👴🏽", + ["older_man_tone4"] = "👴🏾", + ["older_man_tone5"] = "👴🏿", + ["man_with_chinese_cap"] = "👲", + ["man_with_gua_pi_mao"] = "👲", + ["man_with_chinese_cap_tone1"] = "👲🏻", + ["man_with_gua_pi_mao_tone1"] = "👲🏻", + ["man_with_chinese_cap_tone2"] = "👲🏼", + ["man_with_gua_pi_mao_tone2"] = "👲🏼", + ["man_with_chinese_cap_tone3"] = "👲🏽", + ["man_with_gua_pi_mao_tone3"] = "👲🏽", + ["man_with_chinese_cap_tone4"] = "👲🏾", + ["man_with_gua_pi_mao_tone4"] = "👲🏾", + ["man_with_chinese_cap_tone5"] = "👲🏿", + ["man_with_gua_pi_mao_tone5"] = "👲🏿", + ["person_wearing_turban"] = "👳", + ["man_with_turban"] = "👳", + ["person_wearing_turban_tone1"] = "👳🏻", + ["man_with_turban_tone1"] = "👳🏻", + ["person_wearing_turban_tone2"] = "👳🏼", + ["man_with_turban_tone2"] = "👳🏼", + ["person_wearing_turban_tone3"] = "👳🏽", + ["man_with_turban_tone3"] = "👳🏽", + ["person_wearing_turban_tone4"] = "👳🏾", + ["man_with_turban_tone4"] = "👳🏾", + ["person_wearing_turban_tone5"] = "👳🏿", + ["man_with_turban_tone5"] = "👳🏿", + ["woman_wearing_turban"] = "👳‍♀️", + ["woman_wearing_turban_tone1"] = "👳🏻‍♀️", + ["woman_wearing_turban_light_skin_tone"] = "👳🏻‍♀️", + ["woman_wearing_turban_tone2"] = "👳🏼‍♀️", + ["woman_wearing_turban_medium_light_skin_tone"] = "👳🏼‍♀️", + ["woman_wearing_turban_tone3"] = "👳🏽‍♀️", + ["woman_wearing_turban_medium_skin_tone"] = "👳🏽‍♀️", + ["woman_wearing_turban_tone4"] = "👳🏾‍♀️", + ["woman_wearing_turban_medium_dark_skin_tone"] = "👳🏾‍♀️", + ["woman_wearing_turban_tone5"] = "👳🏿‍♀️", + ["woman_wearing_turban_dark_skin_tone"] = "👳🏿‍♀️", + ["man_wearing_turban"] = "👳‍♂️", + ["man_wearing_turban_tone1"] = "👳🏻‍♂️", + ["man_wearing_turban_light_skin_tone"] = "👳🏻‍♂️", + ["man_wearing_turban_tone2"] = "👳🏼‍♂️", + ["man_wearing_turban_medium_light_skin_tone"] = "👳🏼‍♂️", + ["man_wearing_turban_tone3"] = "👳🏽‍♂️", + ["man_wearing_turban_medium_skin_tone"] = "👳🏽‍♂️", + ["man_wearing_turban_tone4"] = "👳🏾‍♂️", + ["man_wearing_turban_medium_dark_skin_tone"] = "👳🏾‍♂️", + ["man_wearing_turban_tone5"] = "👳🏿‍♂️", + ["man_wearing_turban_dark_skin_tone"] = "👳🏿‍♂️", + ["woman_with_headscarf"] = "🧕", + ["woman_with_headscarf_tone1"] = "🧕🏻", + ["woman_with_headscarf_light_skin_tone"] = "🧕🏻", + ["woman_with_headscarf_tone2"] = "🧕🏼", + ["woman_with_headscarf_medium_light_skin_tone"] = "🧕🏼", + ["woman_with_headscarf_tone3"] = "🧕🏽", + ["woman_with_headscarf_medium_skin_tone"] = "🧕🏽", + ["woman_with_headscarf_tone4"] = "🧕🏾", + ["woman_with_headscarf_medium_dark_skin_tone"] = "🧕🏾", + ["woman_with_headscarf_tone5"] = "🧕🏿", + ["woman_with_headscarf_dark_skin_tone"] = "🧕🏿", + ["police_officer"] = "👮", + ["cop"] = "👮", + ["police_officer_tone1"] = "👮🏻", + ["cop_tone1"] = "👮🏻", + ["police_officer_tone2"] = "👮🏼", + ["cop_tone2"] = "👮🏼", + ["police_officer_tone3"] = "👮🏽", + ["cop_tone3"] = "👮🏽", + ["police_officer_tone4"] = "👮🏾", + ["cop_tone4"] = "👮🏾", + ["police_officer_tone5"] = "👮🏿", + ["cop_tone5"] = "👮🏿", + ["woman_police_officer"] = "👮‍♀️", + ["woman_police_officer_tone1"] = "👮🏻‍♀️", + ["woman_police_officer_light_skin_tone"] = "👮🏻‍♀️", + ["woman_police_officer_tone2"] = "👮🏼‍♀️", + ["woman_police_officer_medium_light_skin_tone"] = "👮🏼‍♀️", + ["woman_police_officer_tone3"] = "👮🏽‍♀️", + ["woman_police_officer_medium_skin_tone"] = "👮🏽‍♀️", + ["woman_police_officer_tone4"] = "👮🏾‍♀️", + ["woman_police_officer_medium_dark_skin_tone"] = "👮🏾‍♀️", + ["woman_police_officer_tone5"] = "👮🏿‍♀️", + ["woman_police_officer_dark_skin_tone"] = "👮🏿‍♀️", + ["man_police_officer"] = "👮‍♂️", + ["man_police_officer_tone1"] = "👮🏻‍♂️", + ["man_police_officer_light_skin_tone"] = "👮🏻‍♂️", + ["man_police_officer_tone2"] = "👮🏼‍♂️", + ["man_police_officer_medium_light_skin_tone"] = "👮🏼‍♂️", + ["man_police_officer_tone3"] = "👮🏽‍♂️", + ["man_police_officer_medium_skin_tone"] = "👮🏽‍♂️", + ["man_police_officer_tone4"] = "👮🏾‍♂️", + ["man_police_officer_medium_dark_skin_tone"] = "👮🏾‍♂️", + ["man_police_officer_tone5"] = "👮🏿‍♂️", + ["man_police_officer_dark_skin_tone"] = "👮🏿‍♂️", + ["construction_worker"] = "👷", + ["construction_worker_tone1"] = "👷🏻", + ["construction_worker_tone2"] = "👷🏼", + ["construction_worker_tone3"] = "👷🏽", + ["construction_worker_tone4"] = "👷🏾", + ["construction_worker_tone5"] = "👷🏿", + ["woman_construction_worker"] = "👷‍♀️", + ["woman_construction_worker_tone1"] = "👷🏻‍♀️", + ["woman_construction_worker_light_skin_tone"] = "👷🏻‍♀️", + ["woman_construction_worker_tone2"] = "👷🏼‍♀️", + ["woman_construction_worker_medium_light_skin_tone"] = "👷🏼‍♀️", + ["woman_construction_worker_tone3"] = "👷🏽‍♀️", + ["woman_construction_worker_medium_skin_tone"] = "👷🏽‍♀️", + ["woman_construction_worker_tone4"] = "👷🏾‍♀️", + ["woman_construction_worker_medium_dark_skin_tone"] = "👷🏾‍♀️", + ["woman_construction_worker_tone5"] = "👷🏿‍♀️", + ["woman_construction_worker_dark_skin_tone"] = "👷🏿‍♀️", + ["man_construction_worker"] = "👷‍♂️", + ["man_construction_worker_tone1"] = "👷🏻‍♂️", + ["man_construction_worker_light_skin_tone"] = "👷🏻‍♂️", + ["man_construction_worker_tone2"] = "👷🏼‍♂️", + ["man_construction_worker_medium_light_skin_tone"] = "👷🏼‍♂️", + ["man_construction_worker_tone3"] = "👷🏽‍♂️", + ["man_construction_worker_medium_skin_tone"] = "👷🏽‍♂️", + ["man_construction_worker_tone4"] = "👷🏾‍♂️", + ["man_construction_worker_medium_dark_skin_tone"] = "👷🏾‍♂️", + ["man_construction_worker_tone5"] = "👷🏿‍♂️", + ["man_construction_worker_dark_skin_tone"] = "👷🏿‍♂️", + ["guard"] = "💂", + ["guardsman"] = "💂", + ["guard_tone1"] = "💂🏻", + ["guardsman_tone1"] = "💂🏻", + ["guard_tone2"] = "💂🏼", + ["guardsman_tone2"] = "💂🏼", + ["guard_tone3"] = "💂🏽", + ["guardsman_tone3"] = "💂🏽", + ["guard_tone4"] = "💂🏾", + ["guardsman_tone4"] = "💂🏾", + ["guard_tone5"] = "💂🏿", + ["guardsman_tone5"] = "💂🏿", + ["woman_guard"] = "💂‍♀️", + ["woman_guard_tone1"] = "💂🏻‍♀️", + ["woman_guard_light_skin_tone"] = "💂🏻‍♀️", + ["woman_guard_tone2"] = "💂🏼‍♀️", + ["woman_guard_medium_light_skin_tone"] = "💂🏼‍♀️", + ["woman_guard_tone3"] = "💂🏽‍♀️", + ["woman_guard_medium_skin_tone"] = "💂🏽‍♀️", + ["woman_guard_tone4"] = "💂🏾‍♀️", + ["woman_guard_medium_dark_skin_tone"] = "💂🏾‍♀️", + ["woman_guard_tone5"] = "💂🏿‍♀️", + ["woman_guard_dark_skin_tone"] = "💂🏿‍♀️", + ["man_guard"] = "💂‍♂️", + ["man_guard_tone1"] = "💂🏻‍♂️", + ["man_guard_light_skin_tone"] = "💂🏻‍♂️", + ["man_guard_tone2"] = "💂🏼‍♂️", + ["man_guard_medium_light_skin_tone"] = "💂🏼‍♂️", + ["man_guard_tone3"] = "💂🏽‍♂️", + ["man_guard_medium_skin_tone"] = "💂🏽‍♂️", + ["man_guard_tone4"] = "💂🏾‍♂️", + ["man_guard_medium_dark_skin_tone"] = "💂🏾‍♂️", + ["man_guard_tone5"] = "💂🏿‍♂️", + ["man_guard_dark_skin_tone"] = "💂🏿‍♂️", + ["detective"] = "🕵️", + ["spy"] = "🕵️", + ["sleuth_or_spy"] = "🕵️", + ["detective_tone1"] = "🕵🏻", + ["spy_tone1"] = "🕵🏻", + ["sleuth_or_spy_tone1"] = "🕵🏻", + ["detective_tone2"] = "🕵🏼", + ["spy_tone2"] = "🕵🏼", + ["sleuth_or_spy_tone2"] = "🕵🏼", + ["detective_tone3"] = "🕵🏽", + ["spy_tone3"] = "🕵🏽", + ["sleuth_or_spy_tone3"] = "🕵🏽", + ["detective_tone4"] = "🕵🏾", + ["spy_tone4"] = "🕵🏾", + ["sleuth_or_spy_tone4"] = "🕵🏾", + ["detective_tone5"] = "🕵🏿", + ["spy_tone5"] = "🕵🏿", + ["sleuth_or_spy_tone5"] = "🕵🏿", + ["woman_detective"] = "🕵️‍♀️", + ["woman_detective_tone1"] = "🕵🏻‍♀️", + ["woman_detective_light_skin_tone"] = "🕵🏻‍♀️", + ["woman_detective_tone2"] = "🕵🏼‍♀️", + ["woman_detective_medium_light_skin_tone"] = "🕵🏼‍♀️", + ["woman_detective_tone3"] = "🕵🏽‍♀️", + ["woman_detective_medium_skin_tone"] = "🕵🏽‍♀️", + ["woman_detective_tone4"] = "🕵🏾‍♀️", + ["woman_detective_medium_dark_skin_tone"] = "🕵🏾‍♀️", + ["woman_detective_tone5"] = "🕵🏿‍♀️", + ["woman_detective_dark_skin_tone"] = "🕵🏿‍♀️", + ["man_detective"] = "🕵️‍♂️", + ["man_detective_tone1"] = "🕵🏻‍♂️", + ["man_detective_light_skin_tone"] = "🕵🏻‍♂️", + ["man_detective_tone2"] = "🕵🏼‍♂️", + ["man_detective_medium_light_skin_tone"] = "🕵🏼‍♂️", + ["man_detective_tone3"] = "🕵🏽‍♂️", + ["man_detective_medium_skin_tone"] = "🕵🏽‍♂️", + ["man_detective_tone4"] = "🕵🏾‍♂️", + ["man_detective_medium_dark_skin_tone"] = "🕵🏾‍♂️", + ["man_detective_tone5"] = "🕵🏿‍♂️", + ["man_detective_dark_skin_tone"] = "🕵🏿‍♂️", + ["health_worker"] = "🧑‍⚕️", + ["health_worker_tone1"] = "🧑🏻‍⚕️", + ["health_worker_light_skin_tone"] = "🧑🏻‍⚕️", + ["health_worker_tone2"] = "🧑🏼‍⚕️", + ["health_worker_medium_light_skin_tone"] = "🧑🏼‍⚕️", + ["health_worker_tone3"] = "🧑🏽‍⚕️", + ["health_worker_medium_skin_tone"] = "🧑🏽‍⚕️", + ["health_worker_tone4"] = "🧑🏾‍⚕️", + ["health_worker_medium_dark_skin_tone"] = "🧑🏾‍⚕️", + ["health_worker_tone5"] = "🧑🏿‍⚕️", + ["health_worker_dark_skin_tone"] = "🧑🏿‍⚕️", + ["woman_health_worker"] = "👩‍⚕️", + ["woman_health_worker_tone1"] = "👩🏻‍⚕️", + ["woman_health_worker_light_skin_tone"] = "👩🏻‍⚕️", + ["woman_health_worker_tone2"] = "👩🏼‍⚕️", + ["woman_health_worker_medium_light_skin_tone"] = "👩🏼‍⚕️", + ["woman_health_worker_tone3"] = "👩🏽‍⚕️", + ["woman_health_worker_medium_skin_tone"] = "👩🏽‍⚕️", + ["woman_health_worker_tone4"] = "👩🏾‍⚕️", + ["woman_health_worker_medium_dark_skin_tone"] = "👩🏾‍⚕️", + ["woman_health_worker_tone5"] = "👩🏿‍⚕️", + ["woman_health_worker_dark_skin_tone"] = "👩🏿‍⚕️", + ["man_health_worker"] = "👨‍⚕️", + ["man_health_worker_tone1"] = "👨🏻‍⚕️", + ["man_health_worker_light_skin_tone"] = "👨🏻‍⚕️", + ["man_health_worker_tone2"] = "👨🏼‍⚕️", + ["man_health_worker_medium_light_skin_tone"] = "👨🏼‍⚕️", + ["man_health_worker_tone3"] = "👨🏽‍⚕️", + ["man_health_worker_medium_skin_tone"] = "👨🏽‍⚕️", + ["man_health_worker_tone4"] = "👨🏾‍⚕️", + ["man_health_worker_medium_dark_skin_tone"] = "👨🏾‍⚕️", + ["man_health_worker_tone5"] = "👨🏿‍⚕️", + ["man_health_worker_dark_skin_tone"] = "👨🏿‍⚕️", + ["farmer"] = "🧑‍🌾", + ["farmer_tone1"] = "🧑🏻‍🌾", + ["farmer_light_skin_tone"] = "🧑🏻‍🌾", + ["farmer_tone2"] = "🧑🏼‍🌾", + ["farmer_medium_light_skin_tone"] = "🧑🏼‍🌾", + ["farmer_tone3"] = "🧑🏽‍🌾", + ["farmer_medium_skin_tone"] = "🧑🏽‍🌾", + ["farmer_tone4"] = "🧑🏾‍🌾", + ["farmer_medium_dark_skin_tone"] = "🧑🏾‍🌾", + ["farmer_tone5"] = "🧑🏿‍🌾", + ["farmer_dark_skin_tone"] = "🧑🏿‍🌾", + ["woman_farmer"] = "👩‍🌾", + ["woman_farmer_tone1"] = "👩🏻‍🌾", + ["woman_farmer_light_skin_tone"] = "👩🏻‍🌾", + ["woman_farmer_tone2"] = "👩🏼‍🌾", + ["woman_farmer_medium_light_skin_tone"] = "👩🏼‍🌾", + ["woman_farmer_tone3"] = "👩🏽‍🌾", + ["woman_farmer_medium_skin_tone"] = "👩🏽‍🌾", + ["woman_farmer_tone4"] = "👩🏾‍🌾", + ["woman_farmer_medium_dark_skin_tone"] = "👩🏾‍🌾", + ["woman_farmer_tone5"] = "👩🏿‍🌾", + ["woman_farmer_dark_skin_tone"] = "👩🏿‍🌾", + ["man_farmer"] = "👨‍🌾", + ["man_farmer_tone1"] = "👨🏻‍🌾", + ["man_farmer_light_skin_tone"] = "👨🏻‍🌾", + ["man_farmer_tone2"] = "👨🏼‍🌾", + ["man_farmer_medium_light_skin_tone"] = "👨🏼‍🌾", + ["man_farmer_tone3"] = "👨🏽‍🌾", + ["man_farmer_medium_skin_tone"] = "👨🏽‍🌾", + ["man_farmer_tone4"] = "👨🏾‍🌾", + ["man_farmer_medium_dark_skin_tone"] = "👨🏾‍🌾", + ["man_farmer_tone5"] = "👨🏿‍🌾", + ["man_farmer_dark_skin_tone"] = "👨🏿‍🌾", + ["cook"] = "🧑‍🍳", + ["cook_tone1"] = "🧑🏻‍🍳", + ["cook_light_skin_tone"] = "🧑🏻‍🍳", + ["cook_tone2"] = "🧑🏼‍🍳", + ["cook_medium_light_skin_tone"] = "🧑🏼‍🍳", + ["cook_tone3"] = "🧑🏽‍🍳", + ["cook_medium_skin_tone"] = "🧑🏽‍🍳", + ["cook_tone4"] = "🧑🏾‍🍳", + ["cook_medium_dark_skin_tone"] = "🧑🏾‍🍳", + ["cook_tone5"] = "🧑🏿‍🍳", + ["cook_dark_skin_tone"] = "🧑🏿‍🍳", + ["woman_cook"] = "👩‍🍳", + ["woman_cook_tone1"] = "👩🏻‍🍳", + ["woman_cook_light_skin_tone"] = "👩🏻‍🍳", + ["woman_cook_tone2"] = "👩🏼‍🍳", + ["woman_cook_medium_light_skin_tone"] = "👩🏼‍🍳", + ["woman_cook_tone3"] = "👩🏽‍🍳", + ["woman_cook_medium_skin_tone"] = "👩🏽‍🍳", + ["woman_cook_tone4"] = "👩🏾‍🍳", + ["woman_cook_medium_dark_skin_tone"] = "👩🏾‍🍳", + ["woman_cook_tone5"] = "👩🏿‍🍳", + ["woman_cook_dark_skin_tone"] = "👩🏿‍🍳", + ["man_cook"] = "👨‍🍳", + ["man_cook_tone1"] = "👨🏻‍🍳", + ["man_cook_light_skin_tone"] = "👨🏻‍🍳", + ["man_cook_tone2"] = "👨🏼‍🍳", + ["man_cook_medium_light_skin_tone"] = "👨🏼‍🍳", + ["man_cook_tone3"] = "👨🏽‍🍳", + ["man_cook_medium_skin_tone"] = "👨🏽‍🍳", + ["man_cook_tone4"] = "👨🏾‍🍳", + ["man_cook_medium_dark_skin_tone"] = "👨🏾‍🍳", + ["man_cook_tone5"] = "👨🏿‍🍳", + ["man_cook_dark_skin_tone"] = "👨🏿‍🍳", + ["student"] = "🧑‍🎓", + ["student_tone1"] = "🧑🏻‍🎓", + ["student_light_skin_tone"] = "🧑🏻‍🎓", + ["student_tone2"] = "🧑🏼‍🎓", + ["student_medium_light_skin_tone"] = "🧑🏼‍🎓", + ["student_tone3"] = "🧑🏽‍🎓", + ["student_medium_skin_tone"] = "🧑🏽‍🎓", + ["student_tone4"] = "🧑🏾‍🎓", + ["student_medium_dark_skin_tone"] = "🧑🏾‍🎓", + ["student_tone5"] = "🧑🏿‍🎓", + ["student_dark_skin_tone"] = "🧑🏿‍🎓", + ["woman_student"] = "👩‍🎓", + ["woman_student_tone1"] = "👩🏻‍🎓", + ["woman_student_light_skin_tone"] = "👩🏻‍🎓", + ["woman_student_tone2"] = "👩🏼‍🎓", + ["woman_student_medium_light_skin_tone"] = "👩🏼‍🎓", + ["woman_student_tone3"] = "👩🏽‍🎓", + ["woman_student_medium_skin_tone"] = "👩🏽‍🎓", + ["woman_student_tone4"] = "👩🏾‍🎓", + ["woman_student_medium_dark_skin_tone"] = "👩🏾‍🎓", + ["woman_student_tone5"] = "👩🏿‍🎓", + ["woman_student_dark_skin_tone"] = "👩🏿‍🎓", + ["man_student"] = "👨‍🎓", + ["man_student_tone1"] = "👨🏻‍🎓", + ["man_student_light_skin_tone"] = "👨🏻‍🎓", + ["man_student_tone2"] = "👨🏼‍🎓", + ["man_student_medium_light_skin_tone"] = "👨🏼‍🎓", + ["man_student_tone3"] = "👨🏽‍🎓", + ["man_student_medium_skin_tone"] = "👨🏽‍🎓", + ["man_student_tone4"] = "👨🏾‍🎓", + ["man_student_medium_dark_skin_tone"] = "👨🏾‍🎓", + ["man_student_tone5"] = "👨🏿‍🎓", + ["man_student_dark_skin_tone"] = "👨🏿‍🎓", + ["singer"] = "🧑‍🎤", + ["singer_tone1"] = "🧑🏻‍🎤", + ["singer_light_skin_tone"] = "🧑🏻‍🎤", + ["singer_tone2"] = "🧑🏼‍🎤", + ["singer_medium_light_skin_tone"] = "🧑🏼‍🎤", + ["singer_tone3"] = "🧑🏽‍🎤", + ["singer_medium_skin_tone"] = "🧑🏽‍🎤", + ["singer_tone4"] = "🧑🏾‍🎤", + ["singer_medium_dark_skin_tone"] = "🧑🏾‍🎤", + ["singer_tone5"] = "🧑🏿‍🎤", + ["singer_dark_skin_tone"] = "🧑🏿‍🎤", + ["woman_singer"] = "👩‍🎤", + ["woman_singer_tone1"] = "👩🏻‍🎤", + ["woman_singer_light_skin_tone"] = "👩🏻‍🎤", + ["woman_singer_tone2"] = "👩🏼‍🎤", + ["woman_singer_medium_light_skin_tone"] = "👩🏼‍🎤", + ["woman_singer_tone3"] = "👩🏽‍🎤", + ["woman_singer_medium_skin_tone"] = "👩🏽‍🎤", + ["woman_singer_tone4"] = "👩🏾‍🎤", + ["woman_singer_medium_dark_skin_tone"] = "👩🏾‍🎤", + ["woman_singer_tone5"] = "👩🏿‍🎤", + ["woman_singer_dark_skin_tone"] = "👩🏿‍🎤", + ["man_singer"] = "👨‍🎤", + ["man_singer_tone1"] = "👨🏻‍🎤", + ["man_singer_light_skin_tone"] = "👨🏻‍🎤", + ["man_singer_tone2"] = "👨🏼‍🎤", + ["man_singer_medium_light_skin_tone"] = "👨🏼‍🎤", + ["man_singer_tone3"] = "👨🏽‍🎤", + ["man_singer_medium_skin_tone"] = "👨🏽‍🎤", + ["man_singer_tone4"] = "👨🏾‍🎤", + ["man_singer_medium_dark_skin_tone"] = "👨🏾‍🎤", + ["man_singer_tone5"] = "👨🏿‍🎤", + ["man_singer_dark_skin_tone"] = "👨🏿‍🎤", + ["teacher"] = "🧑‍🏫", + ["teacher_tone1"] = "🧑🏻‍🏫", + ["teacher_light_skin_tone"] = "🧑🏻‍🏫", + ["teacher_tone2"] = "🧑🏼‍🏫", + ["teacher_medium_light_skin_tone"] = "🧑🏼‍🏫", + ["teacher_tone3"] = "🧑🏽‍🏫", + ["teacher_medium_skin_tone"] = "🧑🏽‍🏫", + ["teacher_tone4"] = "🧑🏾‍🏫", + ["teacher_medium_dark_skin_tone"] = "🧑🏾‍🏫", + ["teacher_tone5"] = "🧑🏿‍🏫", + ["teacher_dark_skin_tone"] = "🧑🏿‍🏫", + ["woman_teacher"] = "👩‍🏫", + ["woman_teacher_tone1"] = "👩🏻‍🏫", + ["woman_teacher_light_skin_tone"] = "👩🏻‍🏫", + ["woman_teacher_tone2"] = "👩🏼‍🏫", + ["woman_teacher_medium_light_skin_tone"] = "👩🏼‍🏫", + ["woman_teacher_tone3"] = "👩🏽‍🏫", + ["woman_teacher_medium_skin_tone"] = "👩🏽‍🏫", + ["woman_teacher_tone4"] = "👩🏾‍🏫", + ["woman_teacher_medium_dark_skin_tone"] = "👩🏾‍🏫", + ["woman_teacher_tone5"] = "👩🏿‍🏫", + ["woman_teacher_dark_skin_tone"] = "👩🏿‍🏫", + ["man_teacher"] = "👨‍🏫", + ["man_teacher_tone1"] = "👨🏻‍🏫", + ["man_teacher_light_skin_tone"] = "👨🏻‍🏫", + ["man_teacher_tone2"] = "👨🏼‍🏫", + ["man_teacher_medium_light_skin_tone"] = "👨🏼‍🏫", + ["man_teacher_tone3"] = "👨🏽‍🏫", + ["man_teacher_medium_skin_tone"] = "👨🏽‍🏫", + ["man_teacher_tone4"] = "👨🏾‍🏫", + ["man_teacher_medium_dark_skin_tone"] = "👨🏾‍🏫", + ["man_teacher_tone5"] = "👨🏿‍🏫", + ["man_teacher_dark_skin_tone"] = "👨🏿‍🏫", + ["factory_worker"] = "🧑‍🏭", + ["factory_worker_tone1"] = "🧑🏻‍🏭", + ["factory_worker_light_skin_tone"] = "🧑🏻‍🏭", + ["factory_worker_tone2"] = "🧑🏼‍🏭", + ["factory_worker_medium_light_skin_tone"] = "🧑🏼‍🏭", + ["factory_worker_tone3"] = "🧑🏽‍🏭", + ["factory_worker_medium_skin_tone"] = "🧑🏽‍🏭", + ["factory_worker_tone4"] = "🧑🏾‍🏭", + ["factory_worker_medium_dark_skin_tone"] = "🧑🏾‍🏭", + ["factory_worker_tone5"] = "🧑🏿‍🏭", + ["factory_worker_dark_skin_tone"] = "🧑🏿‍🏭", + ["woman_factory_worker"] = "👩‍🏭", + ["woman_factory_worker_tone1"] = "👩🏻‍🏭", + ["woman_factory_worker_light_skin_tone"] = "👩🏻‍🏭", + ["woman_factory_worker_tone2"] = "👩🏼‍🏭", + ["woman_factory_worker_medium_light_skin_tone"] = "👩🏼‍🏭", + ["woman_factory_worker_tone3"] = "👩🏽‍🏭", + ["woman_factory_worker_medium_skin_tone"] = "👩🏽‍🏭", + ["woman_factory_worker_tone4"] = "👩🏾‍🏭", + ["woman_factory_worker_medium_dark_skin_tone"] = "👩🏾‍🏭", + ["woman_factory_worker_tone5"] = "👩🏿‍🏭", + ["woman_factory_worker_dark_skin_tone"] = "👩🏿‍🏭", + ["man_factory_worker"] = "👨‍🏭", + ["man_factory_worker_tone1"] = "👨🏻‍🏭", + ["man_factory_worker_light_skin_tone"] = "👨🏻‍🏭", + ["man_factory_worker_tone2"] = "👨🏼‍🏭", + ["man_factory_worker_medium_light_skin_tone"] = "👨🏼‍🏭", + ["man_factory_worker_tone3"] = "👨🏽‍🏭", + ["man_factory_worker_medium_skin_tone"] = "👨🏽‍🏭", + ["man_factory_worker_tone4"] = "👨🏾‍🏭", + ["man_factory_worker_medium_dark_skin_tone"] = "👨🏾‍🏭", + ["man_factory_worker_tone5"] = "👨🏿‍🏭", + ["man_factory_worker_dark_skin_tone"] = "👨🏿‍🏭", + ["technologist"] = "🧑‍💻", + ["technologist_tone1"] = "🧑🏻‍💻", + ["technologist_light_skin_tone"] = "🧑🏻‍💻", + ["technologist_tone2"] = "🧑🏼‍💻", + ["technologist_medium_light_skin_tone"] = "🧑🏼‍💻", + ["technologist_tone3"] = "🧑🏽‍💻", + ["technologist_medium_skin_tone"] = "🧑🏽‍💻", + ["technologist_tone4"] = "🧑🏾‍💻", + ["technologist_medium_dark_skin_tone"] = "🧑🏾‍💻", + ["technologist_tone5"] = "🧑🏿‍💻", + ["technologist_dark_skin_tone"] = "🧑🏿‍💻", + ["woman_technologist"] = "👩‍💻", + ["woman_technologist_tone1"] = "👩🏻‍💻", + ["woman_technologist_light_skin_tone"] = "👩🏻‍💻", + ["woman_technologist_tone2"] = "👩🏼‍💻", + ["woman_technologist_medium_light_skin_tone"] = "👩🏼‍💻", + ["woman_technologist_tone3"] = "👩🏽‍💻", + ["woman_technologist_medium_skin_tone"] = "👩🏽‍💻", + ["woman_technologist_tone4"] = "👩🏾‍💻", + ["woman_technologist_medium_dark_skin_tone"] = "👩🏾‍💻", + ["woman_technologist_tone5"] = "👩🏿‍💻", + ["woman_technologist_dark_skin_tone"] = "👩🏿‍💻", + ["man_technologist"] = "👨‍💻", + ["man_technologist_tone1"] = "👨🏻‍💻", + ["man_technologist_light_skin_tone"] = "👨🏻‍💻", + ["man_technologist_tone2"] = "👨🏼‍💻", + ["man_technologist_medium_light_skin_tone"] = "👨🏼‍💻", + ["man_technologist_tone3"] = "👨🏽‍💻", + ["man_technologist_medium_skin_tone"] = "👨🏽‍💻", + ["man_technologist_tone4"] = "👨🏾‍💻", + ["man_technologist_medium_dark_skin_tone"] = "👨🏾‍💻", + ["man_technologist_tone5"] = "👨🏿‍💻", + ["man_technologist_dark_skin_tone"] = "👨🏿‍💻", + ["office_worker"] = "🧑‍💼", + ["office_worker_tone1"] = "🧑🏻‍💼", + ["office_worker_light_skin_tone"] = "🧑🏻‍💼", + ["office_worker_tone2"] = "🧑🏼‍💼", + ["office_worker_medium_light_skin_tone"] = "🧑🏼‍💼", + ["office_worker_tone3"] = "🧑🏽‍💼", + ["office_worker_medium_skin_tone"] = "🧑🏽‍💼", + ["office_worker_tone4"] = "🧑🏾‍💼", + ["office_worker_medium_dark_skin_tone"] = "🧑🏾‍💼", + ["office_worker_tone5"] = "🧑🏿‍💼", + ["office_worker_dark_skin_tone"] = "🧑🏿‍💼", + ["woman_office_worker"] = "👩‍💼", + ["woman_office_worker_tone1"] = "👩🏻‍💼", + ["woman_office_worker_light_skin_tone"] = "👩🏻‍💼", + ["woman_office_worker_tone2"] = "👩🏼‍💼", + ["woman_office_worker_medium_light_skin_tone"] = "👩🏼‍💼", + ["woman_office_worker_tone3"] = "👩🏽‍💼", + ["woman_office_worker_medium_skin_tone"] = "👩🏽‍💼", + ["woman_office_worker_tone4"] = "👩🏾‍💼", + ["woman_office_worker_medium_dark_skin_tone"] = "👩🏾‍💼", + ["woman_office_worker_tone5"] = "👩🏿‍💼", + ["woman_office_worker_dark_skin_tone"] = "👩🏿‍💼", + ["man_office_worker"] = "👨‍💼", + ["man_office_worker_tone1"] = "👨🏻‍💼", + ["man_office_worker_light_skin_tone"] = "👨🏻‍💼", + ["man_office_worker_tone2"] = "👨🏼‍💼", + ["man_office_worker_medium_light_skin_tone"] = "👨🏼‍💼", + ["man_office_worker_tone3"] = "👨🏽‍💼", + ["man_office_worker_medium_skin_tone"] = "👨🏽‍💼", + ["man_office_worker_tone4"] = "👨🏾‍💼", + ["man_office_worker_medium_dark_skin_tone"] = "👨🏾‍💼", + ["man_office_worker_tone5"] = "👨🏿‍💼", + ["man_office_worker_dark_skin_tone"] = "👨🏿‍💼", + ["mechanic"] = "🧑‍🔧", + ["mechanic_tone1"] = "🧑🏻‍🔧", + ["mechanic_light_skin_tone"] = "🧑🏻‍🔧", + ["mechanic_tone2"] = "🧑🏼‍🔧", + ["mechanic_medium_light_skin_tone"] = "🧑🏼‍🔧", + ["mechanic_tone3"] = "🧑🏽‍🔧", + ["mechanic_medium_skin_tone"] = "🧑🏽‍🔧", + ["mechanic_tone4"] = "🧑🏾‍🔧", + ["mechanic_medium_dark_skin_tone"] = "🧑🏾‍🔧", + ["mechanic_tone5"] = "🧑🏿‍🔧", + ["mechanic_dark_skin_tone"] = "🧑🏿‍🔧", + ["woman_mechanic"] = "👩‍🔧", + ["woman_mechanic_tone1"] = "👩🏻‍🔧", + ["woman_mechanic_light_skin_tone"] = "👩🏻‍🔧", + ["woman_mechanic_tone2"] = "👩🏼‍🔧", + ["woman_mechanic_medium_light_skin_tone"] = "👩🏼‍🔧", + ["woman_mechanic_tone3"] = "👩🏽‍🔧", + ["woman_mechanic_medium_skin_tone"] = "👩🏽‍🔧", + ["woman_mechanic_tone4"] = "👩🏾‍🔧", + ["woman_mechanic_medium_dark_skin_tone"] = "👩🏾‍🔧", + ["woman_mechanic_tone5"] = "👩🏿‍🔧", + ["woman_mechanic_dark_skin_tone"] = "👩🏿‍🔧", + ["man_mechanic"] = "👨‍🔧", + ["man_mechanic_tone1"] = "👨🏻‍🔧", + ["man_mechanic_light_skin_tone"] = "👨🏻‍🔧", + ["man_mechanic_tone2"] = "👨🏼‍🔧", + ["man_mechanic_medium_light_skin_tone"] = "👨🏼‍🔧", + ["man_mechanic_tone3"] = "👨🏽‍🔧", + ["man_mechanic_medium_skin_tone"] = "👨🏽‍🔧", + ["man_mechanic_tone4"] = "👨🏾‍🔧", + ["man_mechanic_medium_dark_skin_tone"] = "👨🏾‍🔧", + ["man_mechanic_tone5"] = "👨🏿‍🔧", + ["man_mechanic_dark_skin_tone"] = "👨🏿‍🔧", + ["scientist"] = "🧑‍🔬", + ["scientist_tone1"] = "🧑🏻‍🔬", + ["scientist_light_skin_tone"] = "🧑🏻‍🔬", + ["scientist_tone2"] = "🧑🏼‍🔬", + ["scientist_medium_light_skin_tone"] = "🧑🏼‍🔬", + ["scientist_tone3"] = "🧑🏽‍🔬", + ["scientist_medium_skin_tone"] = "🧑🏽‍🔬", + ["scientist_tone4"] = "🧑🏾‍🔬", + ["scientist_medium_dark_skin_tone"] = "🧑🏾‍🔬", + ["scientist_tone5"] = "🧑🏿‍🔬", + ["scientist_dark_skin_tone"] = "🧑🏿‍🔬", + ["woman_scientist"] = "👩‍🔬", + ["woman_scientist_tone1"] = "👩🏻‍🔬", + ["woman_scientist_light_skin_tone"] = "👩🏻‍🔬", + ["woman_scientist_tone2"] = "👩🏼‍🔬", + ["woman_scientist_medium_light_skin_tone"] = "👩🏼‍🔬", + ["woman_scientist_tone3"] = "👩🏽‍🔬", + ["woman_scientist_medium_skin_tone"] = "👩🏽‍🔬", + ["woman_scientist_tone4"] = "👩🏾‍🔬", + ["woman_scientist_medium_dark_skin_tone"] = "👩🏾‍🔬", + ["woman_scientist_tone5"] = "👩🏿‍🔬", + ["woman_scientist_dark_skin_tone"] = "👩🏿‍🔬", + ["man_scientist"] = "👨‍🔬", + ["man_scientist_tone1"] = "👨🏻‍🔬", + ["man_scientist_light_skin_tone"] = "👨🏻‍🔬", + ["man_scientist_tone2"] = "👨🏼‍🔬", + ["man_scientist_medium_light_skin_tone"] = "👨🏼‍🔬", + ["man_scientist_tone3"] = "👨🏽‍🔬", + ["man_scientist_medium_skin_tone"] = "👨🏽‍🔬", + ["man_scientist_tone4"] = "👨🏾‍🔬", + ["man_scientist_medium_dark_skin_tone"] = "👨🏾‍🔬", + ["man_scientist_tone5"] = "👨🏿‍🔬", + ["man_scientist_dark_skin_tone"] = "👨🏿‍🔬", + ["artist"] = "🧑‍🎨", + ["artist_tone1"] = "🧑🏻‍🎨", + ["artist_light_skin_tone"] = "🧑🏻‍🎨", + ["artist_tone2"] = "🧑🏼‍🎨", + ["artist_medium_light_skin_tone"] = "🧑🏼‍🎨", + ["artist_tone3"] = "🧑🏽‍🎨", + ["artist_medium_skin_tone"] = "🧑🏽‍🎨", + ["artist_tone4"] = "🧑🏾‍🎨", + ["artist_medium_dark_skin_tone"] = "🧑🏾‍🎨", + ["artist_tone5"] = "🧑🏿‍🎨", + ["artist_dark_skin_tone"] = "🧑🏿‍🎨", + ["woman_artist"] = "👩‍🎨", + ["woman_artist_tone1"] = "👩🏻‍🎨", + ["woman_artist_light_skin_tone"] = "👩🏻‍🎨", + ["woman_artist_tone2"] = "👩🏼‍🎨", + ["woman_artist_medium_light_skin_tone"] = "👩🏼‍🎨", + ["woman_artist_tone3"] = "👩🏽‍🎨", + ["woman_artist_medium_skin_tone"] = "👩🏽‍🎨", + ["woman_artist_tone4"] = "👩🏾‍🎨", + ["woman_artist_medium_dark_skin_tone"] = "👩🏾‍🎨", + ["woman_artist_tone5"] = "👩🏿‍🎨", + ["woman_artist_dark_skin_tone"] = "👩🏿‍🎨", + ["man_artist"] = "👨‍🎨", + ["man_artist_tone1"] = "👨🏻‍🎨", + ["man_artist_light_skin_tone"] = "👨🏻‍🎨", + ["man_artist_tone2"] = "👨🏼‍🎨", + ["man_artist_medium_light_skin_tone"] = "👨🏼‍🎨", + ["man_artist_tone3"] = "👨🏽‍🎨", + ["man_artist_medium_skin_tone"] = "👨🏽‍🎨", + ["man_artist_tone4"] = "👨🏾‍🎨", + ["man_artist_medium_dark_skin_tone"] = "👨🏾‍🎨", + ["man_artist_tone5"] = "👨🏿‍🎨", + ["man_artist_dark_skin_tone"] = "👨🏿‍🎨", + ["firefighter"] = "🧑‍🚒", + ["firefighter_tone1"] = "🧑🏻‍🚒", + ["firefighter_light_skin_tone"] = "🧑🏻‍🚒", + ["firefighter_tone2"] = "🧑🏼‍🚒", + ["firefighter_medium_light_skin_tone"] = "🧑🏼‍🚒", + ["firefighter_tone3"] = "🧑🏽‍🚒", + ["firefighter_medium_skin_tone"] = "🧑🏽‍🚒", + ["firefighter_tone4"] = "🧑🏾‍🚒", + ["firefighter_medium_dark_skin_tone"] = "🧑🏾‍🚒", + ["firefighter_tone5"] = "🧑🏿‍🚒", + ["firefighter_dark_skin_tone"] = "🧑🏿‍🚒", + ["woman_firefighter"] = "👩‍🚒", + ["woman_firefighter_tone1"] = "👩🏻‍🚒", + ["woman_firefighter_light_skin_tone"] = "👩🏻‍🚒", + ["woman_firefighter_tone2"] = "👩🏼‍🚒", + ["woman_firefighter_medium_light_skin_tone"] = "👩🏼‍🚒", + ["woman_firefighter_tone3"] = "👩🏽‍🚒", + ["woman_firefighter_medium_skin_tone"] = "👩🏽‍🚒", + ["woman_firefighter_tone4"] = "👩🏾‍🚒", + ["woman_firefighter_medium_dark_skin_tone"] = "👩🏾‍🚒", + ["woman_firefighter_tone5"] = "👩🏿‍🚒", + ["woman_firefighter_dark_skin_tone"] = "👩🏿‍🚒", + ["man_firefighter"] = "👨‍🚒", + ["man_firefighter_tone1"] = "👨🏻‍🚒", + ["man_firefighter_light_skin_tone"] = "👨🏻‍🚒", + ["man_firefighter_tone2"] = "👨🏼‍🚒", + ["man_firefighter_medium_light_skin_tone"] = "👨🏼‍🚒", + ["man_firefighter_tone3"] = "👨🏽‍🚒", + ["man_firefighter_medium_skin_tone"] = "👨🏽‍🚒", + ["man_firefighter_tone4"] = "👨🏾‍🚒", + ["man_firefighter_medium_dark_skin_tone"] = "👨🏾‍🚒", + ["man_firefighter_tone5"] = "👨🏿‍🚒", + ["man_firefighter_dark_skin_tone"] = "👨🏿‍🚒", + ["pilot"] = "🧑‍✈️", + ["pilot_tone1"] = "🧑🏻‍✈️", + ["pilot_light_skin_tone"] = "🧑🏻‍✈️", + ["pilot_tone2"] = "🧑🏼‍✈️", + ["pilot_medium_light_skin_tone"] = "🧑🏼‍✈️", + ["pilot_tone3"] = "🧑🏽‍✈️", + ["pilot_medium_skin_tone"] = "🧑🏽‍✈️", + ["pilot_tone4"] = "🧑🏾‍✈️", + ["pilot_medium_dark_skin_tone"] = "🧑🏾‍✈️", + ["pilot_tone5"] = "🧑🏿‍✈️", + ["pilot_dark_skin_tone"] = "🧑🏿‍✈️", + ["woman_pilot"] = "👩‍✈️", + ["woman_pilot_tone1"] = "👩🏻‍✈️", + ["woman_pilot_light_skin_tone"] = "👩🏻‍✈️", + ["woman_pilot_tone2"] = "👩🏼‍✈️", + ["woman_pilot_medium_light_skin_tone"] = "👩🏼‍✈️", + ["woman_pilot_tone3"] = "👩🏽‍✈️", + ["woman_pilot_medium_skin_tone"] = "👩🏽‍✈️", + ["woman_pilot_tone4"] = "👩🏾‍✈️", + ["woman_pilot_medium_dark_skin_tone"] = "👩🏾‍✈️", + ["woman_pilot_tone5"] = "👩🏿‍✈️", + ["woman_pilot_dark_skin_tone"] = "👩🏿‍✈️", + ["man_pilot"] = "👨‍✈️", + ["man_pilot_tone1"] = "👨🏻‍✈️", + ["man_pilot_light_skin_tone"] = "👨🏻‍✈️", + ["man_pilot_tone2"] = "👨🏼‍✈️", + ["man_pilot_medium_light_skin_tone"] = "👨🏼‍✈️", + ["man_pilot_tone3"] = "👨🏽‍✈️", + ["man_pilot_medium_skin_tone"] = "👨🏽‍✈️", + ["man_pilot_tone4"] = "👨🏾‍✈️", + ["man_pilot_medium_dark_skin_tone"] = "👨🏾‍✈️", + ["man_pilot_tone5"] = "👨🏿‍✈️", + ["man_pilot_dark_skin_tone"] = "👨🏿‍✈️", + ["astronaut"] = "🧑‍🚀", + ["astronaut_tone1"] = "🧑🏻‍🚀", + ["astronaut_light_skin_tone"] = "🧑🏻‍🚀", + ["astronaut_tone2"] = "🧑🏼‍🚀", + ["astronaut_medium_light_skin_tone"] = "🧑🏼‍🚀", + ["astronaut_tone3"] = "🧑🏽‍🚀", + ["astronaut_medium_skin_tone"] = "🧑🏽‍🚀", + ["astronaut_tone4"] = "🧑🏾‍🚀", + ["astronaut_medium_dark_skin_tone"] = "🧑🏾‍🚀", + ["astronaut_tone5"] = "🧑🏿‍🚀", + ["astronaut_dark_skin_tone"] = "🧑🏿‍🚀", + ["woman_astronaut"] = "👩‍🚀", + ["woman_astronaut_tone1"] = "👩🏻‍🚀", + ["woman_astronaut_light_skin_tone"] = "👩🏻‍🚀", + ["woman_astronaut_tone2"] = "👩🏼‍🚀", + ["woman_astronaut_medium_light_skin_tone"] = "👩🏼‍🚀", + ["woman_astronaut_tone3"] = "👩🏽‍🚀", + ["woman_astronaut_medium_skin_tone"] = "👩🏽‍🚀", + ["woman_astronaut_tone4"] = "👩🏾‍🚀", + ["woman_astronaut_medium_dark_skin_tone"] = "👩🏾‍🚀", + ["woman_astronaut_tone5"] = "👩🏿‍🚀", + ["woman_astronaut_dark_skin_tone"] = "👩🏿‍🚀", + ["man_astronaut"] = "👨‍🚀", + ["man_astronaut_tone1"] = "👨🏻‍🚀", + ["man_astronaut_light_skin_tone"] = "👨🏻‍🚀", + ["man_astronaut_tone2"] = "👨🏼‍🚀", + ["man_astronaut_medium_light_skin_tone"] = "👨🏼‍🚀", + ["man_astronaut_tone3"] = "👨🏽‍🚀", + ["man_astronaut_medium_skin_tone"] = "👨🏽‍🚀", + ["man_astronaut_tone4"] = "👨🏾‍🚀", + ["man_astronaut_medium_dark_skin_tone"] = "👨🏾‍🚀", + ["man_astronaut_tone5"] = "👨🏿‍🚀", + ["man_astronaut_dark_skin_tone"] = "👨🏿‍🚀", + ["judge"] = "🧑‍⚖️", + ["judge_tone1"] = "🧑🏻‍⚖️", + ["judge_light_skin_tone"] = "🧑🏻‍⚖️", + ["judge_tone2"] = "🧑🏼‍⚖️", + ["judge_medium_light_skin_tone"] = "🧑🏼‍⚖️", + ["judge_tone3"] = "🧑🏽‍⚖️", + ["judge_medium_skin_tone"] = "🧑🏽‍⚖️", + ["judge_tone4"] = "🧑🏾‍⚖️", + ["judge_medium_dark_skin_tone"] = "🧑🏾‍⚖️", + ["judge_tone5"] = "🧑🏿‍⚖️", + ["judge_dark_skin_tone"] = "🧑🏿‍⚖️", + ["woman_judge"] = "👩‍⚖️", + ["woman_judge_tone1"] = "👩🏻‍⚖️", + ["woman_judge_light_skin_tone"] = "👩🏻‍⚖️", + ["woman_judge_tone2"] = "👩🏼‍⚖️", + ["woman_judge_medium_light_skin_tone"] = "👩🏼‍⚖️", + ["woman_judge_tone3"] = "👩🏽‍⚖️", + ["woman_judge_medium_skin_tone"] = "👩🏽‍⚖️", + ["woman_judge_tone4"] = "👩🏾‍⚖️", + ["woman_judge_medium_dark_skin_tone"] = "👩🏾‍⚖️", + ["woman_judge_tone5"] = "👩🏿‍⚖️", + ["woman_judge_dark_skin_tone"] = "👩🏿‍⚖️", + ["man_judge"] = "👨‍⚖️", + ["man_judge_tone1"] = "👨🏻‍⚖️", + ["man_judge_light_skin_tone"] = "👨🏻‍⚖️", + ["man_judge_tone2"] = "👨🏼‍⚖️", + ["man_judge_medium_light_skin_tone"] = "👨🏼‍⚖️", + ["man_judge_tone3"] = "👨🏽‍⚖️", + ["man_judge_medium_skin_tone"] = "👨🏽‍⚖️", + ["man_judge_tone4"] = "👨🏾‍⚖️", + ["man_judge_medium_dark_skin_tone"] = "👨🏾‍⚖️", + ["man_judge_tone5"] = "👨🏿‍⚖️", + ["man_judge_dark_skin_tone"] = "👨🏿‍⚖️", + ["person_with_veil"] = "👰", + ["person_with_veil_tone1"] = "👰🏻", + ["person_with_veil_tone2"] = "👰🏼", + ["person_with_veil_tone3"] = "👰🏽", + ["person_with_veil_tone4"] = "👰🏾", + ["person_with_veil_tone5"] = "👰🏿", + ["woman_with_veil"] = "👰‍♀️", + ["bride_with_veil"] = "👰‍♀️", + ["woman_with_veil_tone1"] = "👰🏻‍♀️", + ["woman_with_veil_light_skin_tone"] = "👰🏻‍♀️", + ["woman_with_veil_tone2"] = "👰🏼‍♀️", + ["woman_with_veil_medium_light_skin_tone"] = "👰🏼‍♀️", + ["woman_with_veil_tone3"] = "👰🏽‍♀️", + ["woman_with_veil_medium_skin_tone"] = "👰🏽‍♀️", + ["woman_with_veil_tone4"] = "👰🏾‍♀️", + ["woman_with_veil_medium_dark_skin_tone"] = "👰🏾‍♀️", + ["woman_with_veil_tone5"] = "👰🏿‍♀️", + ["woman_with_veil_dark_skin_tone"] = "👰🏿‍♀️", + ["man_with_veil"] = "👰‍♂️", + ["man_with_veil_tone1"] = "👰🏻‍♂️", + ["man_with_veil_light_skin_tone"] = "👰🏻‍♂️", + ["man_with_veil_tone2"] = "👰🏼‍♂️", + ["man_with_veil_medium_light_skin_tone"] = "👰🏼‍♂️", + ["man_with_veil_tone3"] = "👰🏽‍♂️", + ["man_with_veil_medium_skin_tone"] = "👰🏽‍♂️", + ["man_with_veil_tone4"] = "👰🏾‍♂️", + ["man_with_veil_medium_dark_skin_tone"] = "👰🏾‍♂️", + ["man_with_veil_tone5"] = "👰🏿‍♂️", + ["man_with_veil_dark_skin_tone"] = "👰🏿‍♂️", + ["person_in_tuxedo"] = "🤵", + ["person_in_tuxedo_tone1"] = "🤵🏻", + ["tuxedo_tone1"] = "🤵🏻", + ["person_in_tuxedo_tone2"] = "🤵🏼", + ["tuxedo_tone2"] = "🤵🏼", + ["person_in_tuxedo_tone3"] = "🤵🏽", + ["tuxedo_tone3"] = "🤵🏽", + ["person_in_tuxedo_tone4"] = "🤵🏾", + ["tuxedo_tone4"] = "🤵🏾", + ["person_in_tuxedo_tone5"] = "🤵🏿", + ["tuxedo_tone5"] = "🤵🏿", + ["woman_in_tuxedo"] = "🤵‍♀️", + ["woman_in_tuxedo_tone1"] = "🤵🏻‍♀️", + ["woman_in_tuxedo_light_skin_tone"] = "🤵🏻‍♀️", + ["woman_in_tuxedo_tone2"] = "🤵🏼‍♀️", + ["woman_in_tuxedo_medium_light_skin_tone"] = "🤵🏼‍♀️", + ["woman_in_tuxedo_tone3"] = "🤵🏽‍♀️", + ["woman_in_tuxedo_medium_skin_tone"] = "🤵🏽‍♀️", + ["woman_in_tuxedo_tone4"] = "🤵🏾‍♀️", + ["woman_in_tuxedo_medium_dark_skin_tone"] = "🤵🏾‍♀️", + ["woman_in_tuxedo_tone5"] = "🤵🏿‍♀️", + ["woman_in_tuxedo_dark_skin_tone"] = "🤵🏿‍♀️", + ["man_in_tuxedo"] = "🤵‍♂️", + ["man_in_tuxedo_tone1"] = "🤵🏻‍♂️", + ["man_in_tuxedo_light_skin_tone"] = "🤵🏻‍♂️", + ["man_in_tuxedo_tone2"] = "🤵🏼‍♂️", + ["man_in_tuxedo_medium_light_skin_tone"] = "🤵🏼‍♂️", + ["man_in_tuxedo_tone3"] = "🤵🏽‍♂️", + ["man_in_tuxedo_medium_skin_tone"] = "🤵🏽‍♂️", + ["man_in_tuxedo_tone4"] = "🤵🏾‍♂️", + ["man_in_tuxedo_medium_dark_skin_tone"] = "🤵🏾‍♂️", + ["man_in_tuxedo_tone5"] = "🤵🏿‍♂️", + ["man_in_tuxedo_dark_skin_tone"] = "🤵🏿‍♂️", + ["princess"] = "👸", + ["princess_tone1"] = "👸🏻", + ["princess_tone2"] = "👸🏼", + ["princess_tone3"] = "👸🏽", + ["princess_tone4"] = "👸🏾", + ["princess_tone5"] = "👸🏿", + ["prince"] = "🤴", + ["prince_tone1"] = "🤴🏻", + ["prince_tone2"] = "🤴🏼", + ["prince_tone3"] = "🤴🏽", + ["prince_tone4"] = "🤴🏾", + ["prince_tone5"] = "🤴🏿", + ["superhero"] = "🦸", + ["superhero_tone1"] = "🦸🏻", + ["superhero_light_skin_tone"] = "🦸🏻", + ["superhero_tone2"] = "🦸🏼", + ["superhero_medium_light_skin_tone"] = "🦸🏼", + ["superhero_tone3"] = "🦸🏽", + ["superhero_medium_skin_tone"] = "🦸🏽", + ["superhero_tone4"] = "🦸🏾", + ["superhero_medium_dark_skin_tone"] = "🦸🏾", + ["superhero_tone5"] = "🦸🏿", + ["superhero_dark_skin_tone"] = "🦸🏿", + ["woman_superhero"] = "🦸‍♀️", + ["woman_superhero_tone1"] = "🦸🏻‍♀️", + ["woman_superhero_light_skin_tone"] = "🦸🏻‍♀️", + ["woman_superhero_tone2"] = "🦸🏼‍♀️", + ["woman_superhero_medium_light_skin_tone"] = "🦸🏼‍♀️", + ["woman_superhero_tone3"] = "🦸🏽‍♀️", + ["woman_superhero_medium_skin_tone"] = "🦸🏽‍♀️", + ["woman_superhero_tone4"] = "🦸🏾‍♀️", + ["woman_superhero_medium_dark_skin_tone"] = "🦸🏾‍♀️", + ["woman_superhero_tone5"] = "🦸🏿‍♀️", + ["woman_superhero_dark_skin_tone"] = "🦸🏿‍♀️", + ["man_superhero"] = "🦸‍♂️", + ["man_superhero_tone1"] = "🦸🏻‍♂️", + ["man_superhero_light_skin_tone"] = "🦸🏻‍♂️", + ["man_superhero_tone2"] = "🦸🏼‍♂️", + ["man_superhero_medium_light_skin_tone"] = "🦸🏼‍♂️", + ["man_superhero_tone3"] = "🦸🏽‍♂️", + ["man_superhero_medium_skin_tone"] = "🦸🏽‍♂️", + ["man_superhero_tone4"] = "🦸🏾‍♂️", + ["man_superhero_medium_dark_skin_tone"] = "🦸🏾‍♂️", + ["man_superhero_tone5"] = "🦸🏿‍♂️", + ["man_superhero_dark_skin_tone"] = "🦸🏿‍♂️", + ["supervillain"] = "🦹", + ["supervillain_tone1"] = "🦹🏻", + ["supervillain_light_skin_tone"] = "🦹🏻", + ["supervillain_tone2"] = "🦹🏼", + ["supervillain_medium_light_skin_tone"] = "🦹🏼", + ["supervillain_tone3"] = "🦹🏽", + ["supervillain_medium_skin_tone"] = "🦹🏽", + ["supervillain_tone4"] = "🦹🏾", + ["supervillain_medium_dark_skin_tone"] = "🦹🏾", + ["supervillain_tone5"] = "🦹🏿", + ["supervillain_dark_skin_tone"] = "🦹🏿", + ["woman_supervillain"] = "🦹‍♀️", + ["woman_supervillain_tone1"] = "🦹🏻‍♀️", + ["woman_supervillain_light_skin_tone"] = "🦹🏻‍♀️", + ["woman_supervillain_tone2"] = "🦹🏼‍♀️", + ["woman_supervillain_medium_light_skin_tone"] = "🦹🏼‍♀️", + ["woman_supervillain_tone3"] = "🦹🏽‍♀️", + ["woman_supervillain_medium_skin_tone"] = "🦹🏽‍♀️", + ["woman_supervillain_tone4"] = "🦹🏾‍♀️", + ["woman_supervillain_medium_dark_skin_tone"] = "🦹🏾‍♀️", + ["woman_supervillain_tone5"] = "🦹🏿‍♀️", + ["woman_supervillain_dark_skin_tone"] = "🦹🏿‍♀️", + ["man_supervillain"] = "🦹‍♂️", + ["man_supervillain_tone1"] = "🦹🏻‍♂️", + ["man_supervillain_light_skin_tone"] = "🦹🏻‍♂️", + ["man_supervillain_tone2"] = "🦹🏼‍♂️", + ["man_supervillain_medium_light_skin_tone"] = "🦹🏼‍♂️", + ["man_supervillain_tone3"] = "🦹🏽‍♂️", + ["man_supervillain_medium_skin_tone"] = "🦹🏽‍♂️", + ["man_supervillain_tone4"] = "🦹🏾‍♂️", + ["man_supervillain_medium_dark_skin_tone"] = "🦹🏾‍♂️", + ["man_supervillain_tone5"] = "🦹🏿‍♂️", + ["man_supervillain_dark_skin_tone"] = "🦹🏿‍♂️", + ["ninja"] = "🥷", + ["ninja_tone1"] = "🥷🏻", + ["ninja_light_skin_tone"] = "🥷🏻", + ["ninja_tone2"] = "🥷🏼", + ["ninja_medium_light_skin_tone"] = "🥷🏼", + ["ninja_tone3"] = "🥷🏽", + ["ninja_medium_skin_tone"] = "🥷🏽", + ["ninja_tone4"] = "🥷🏾", + ["ninja_medium_dark_skin_tone"] = "🥷🏾", + ["ninja_tone5"] = "🥷🏿", + ["ninja_dark_skin_tone"] = "🥷🏿", + ["mx_claus"] = "🧑‍🎄", + ["mx_claus_tone1"] = "🧑🏻‍🎄", + ["mx_claus_light_skin_tone"] = "🧑🏻‍🎄", + ["mx_claus_tone2"] = "🧑🏼‍🎄", + ["mx_claus_medium_light_skin_tone"] = "🧑🏼‍🎄", + ["mx_claus_tone3"] = "🧑🏽‍🎄", + ["mx_claus_medium_skin_tone"] = "🧑🏽‍🎄", + ["mx_claus_tone4"] = "🧑🏾‍🎄", + ["mx_claus_medium_dark_skin_tone"] = "🧑🏾‍🎄", + ["mx_claus_tone5"] = "🧑🏿‍🎄", + ["mx_claus_dark_skin_tone"] = "🧑🏿‍🎄", + ["mrs_claus"] = "🤶", + ["mother_christmas"] = "🤶", + ["mrs_claus_tone1"] = "🤶🏻", + ["mother_christmas_tone1"] = "🤶🏻", + ["mrs_claus_tone2"] = "🤶🏼", + ["mother_christmas_tone2"] = "🤶🏼", + ["mrs_claus_tone3"] = "🤶🏽", + ["mother_christmas_tone3"] = "🤶🏽", + ["mrs_claus_tone4"] = "🤶🏾", + ["mother_christmas_tone4"] = "🤶🏾", + ["mrs_claus_tone5"] = "🤶🏿", + ["mother_christmas_tone5"] = "🤶🏿", + ["santa"] = "🎅", + ["santa_tone1"] = "🎅🏻", + ["santa_tone2"] = "🎅🏼", + ["santa_tone3"] = "🎅🏽", + ["santa_tone4"] = "🎅🏾", + ["santa_tone5"] = "🎅🏿", + ["mage"] = "🧙", + ["mage_tone1"] = "🧙🏻", + ["mage_light_skin_tone"] = "🧙🏻", + ["mage_tone2"] = "🧙🏼", + ["mage_medium_light_skin_tone"] = "🧙🏼", + ["mage_tone3"] = "🧙🏽", + ["mage_medium_skin_tone"] = "🧙🏽", + ["mage_tone4"] = "🧙🏾", + ["mage_medium_dark_skin_tone"] = "🧙🏾", + ["mage_tone5"] = "🧙🏿", + ["mage_dark_skin_tone"] = "🧙🏿", + ["woman_mage"] = "🧙‍♀️", + ["woman_mage_tone1"] = "🧙🏻‍♀️", + ["woman_mage_light_skin_tone"] = "🧙🏻‍♀️", + ["woman_mage_tone2"] = "🧙🏼‍♀️", + ["woman_mage_medium_light_skin_tone"] = "🧙🏼‍♀️", + ["woman_mage_tone3"] = "🧙🏽‍♀️", + ["woman_mage_medium_skin_tone"] = "🧙🏽‍♀️", + ["woman_mage_tone4"] = "🧙🏾‍♀️", + ["woman_mage_medium_dark_skin_tone"] = "🧙🏾‍♀️", + ["woman_mage_tone5"] = "🧙🏿‍♀️", + ["woman_mage_dark_skin_tone"] = "🧙🏿‍♀️", + ["man_mage"] = "🧙‍♂️", + ["man_mage_tone1"] = "🧙🏻‍♂️", + ["man_mage_light_skin_tone"] = "🧙🏻‍♂️", + ["man_mage_tone2"] = "🧙🏼‍♂️", + ["man_mage_medium_light_skin_tone"] = "🧙🏼‍♂️", + ["man_mage_tone3"] = "🧙🏽‍♂️", + ["man_mage_medium_skin_tone"] = "🧙🏽‍♂️", + ["man_mage_tone4"] = "🧙🏾‍♂️", + ["man_mage_medium_dark_skin_tone"] = "🧙🏾‍♂️", + ["man_mage_tone5"] = "🧙🏿‍♂️", + ["man_mage_dark_skin_tone"] = "🧙🏿‍♂️", + ["elf"] = "🧝", + ["elf_tone1"] = "🧝🏻", + ["elf_light_skin_tone"] = "🧝🏻", + ["elf_tone2"] = "🧝🏼", + ["elf_medium_light_skin_tone"] = "🧝🏼", + ["elf_tone3"] = "🧝🏽", + ["elf_medium_skin_tone"] = "🧝🏽", + ["elf_tone4"] = "🧝🏾", + ["elf_medium_dark_skin_tone"] = "🧝🏾", + ["elf_tone5"] = "🧝🏿", + ["elf_dark_skin_tone"] = "🧝🏿", + ["woman_elf"] = "🧝‍♀️", + ["woman_elf_tone1"] = "🧝🏻‍♀️", + ["woman_elf_light_skin_tone"] = "🧝🏻‍♀️", + ["woman_elf_tone2"] = "🧝🏼‍♀️", + ["woman_elf_medium_light_skin_tone"] = "🧝🏼‍♀️", + ["woman_elf_tone3"] = "🧝🏽‍♀️", + ["woman_elf_medium_skin_tone"] = "🧝🏽‍♀️", + ["woman_elf_tone4"] = "🧝🏾‍♀️", + ["woman_elf_medium_dark_skin_tone"] = "🧝🏾‍♀️", + ["woman_elf_tone5"] = "🧝🏿‍♀️", + ["woman_elf_dark_skin_tone"] = "🧝🏿‍♀️", + ["man_elf"] = "🧝‍♂️", + ["man_elf_tone1"] = "🧝🏻‍♂️", + ["man_elf_light_skin_tone"] = "🧝🏻‍♂️", + ["man_elf_tone2"] = "🧝🏼‍♂️", + ["man_elf_medium_light_skin_tone"] = "🧝🏼‍♂️", + ["man_elf_tone3"] = "🧝🏽‍♂️", + ["man_elf_medium_skin_tone"] = "🧝🏽‍♂️", + ["man_elf_tone4"] = "🧝🏾‍♂️", + ["man_elf_medium_dark_skin_tone"] = "🧝🏾‍♂️", + ["man_elf_tone5"] = "🧝🏿‍♂️", + ["man_elf_dark_skin_tone"] = "🧝🏿‍♂️", + ["vampire"] = "🧛", + ["vampire_tone1"] = "🧛🏻", + ["vampire_light_skin_tone"] = "🧛🏻", + ["vampire_tone2"] = "🧛🏼", + ["vampire_medium_light_skin_tone"] = "🧛🏼", + ["vampire_tone3"] = "🧛🏽", + ["vampire_medium_skin_tone"] = "🧛🏽", + ["vampire_tone4"] = "🧛🏾", + ["vampire_medium_dark_skin_tone"] = "🧛🏾", + ["vampire_tone5"] = "🧛🏿", + ["vampire_dark_skin_tone"] = "🧛🏿", + ["woman_vampire"] = "🧛‍♀️", + ["woman_vampire_tone1"] = "🧛🏻‍♀️", + ["woman_vampire_light_skin_tone"] = "🧛🏻‍♀️", + ["woman_vampire_tone2"] = "🧛🏼‍♀️", + ["woman_vampire_medium_light_skin_tone"] = "🧛🏼‍♀️", + ["woman_vampire_tone3"] = "🧛🏽‍♀️", + ["woman_vampire_medium_skin_tone"] = "🧛🏽‍♀️", + ["woman_vampire_tone4"] = "🧛🏾‍♀️", + ["woman_vampire_medium_dark_skin_tone"] = "🧛🏾‍♀️", + ["woman_vampire_tone5"] = "🧛🏿‍♀️", + ["woman_vampire_dark_skin_tone"] = "🧛🏿‍♀️", + ["man_vampire"] = "🧛‍♂️", + ["man_vampire_tone1"] = "🧛🏻‍♂️", + ["man_vampire_light_skin_tone"] = "🧛🏻‍♂️", + ["man_vampire_tone2"] = "🧛🏼‍♂️", + ["man_vampire_medium_light_skin_tone"] = "🧛🏼‍♂️", + ["man_vampire_tone3"] = "🧛🏽‍♂️", + ["man_vampire_medium_skin_tone"] = "🧛🏽‍♂️", + ["man_vampire_tone4"] = "🧛🏾‍♂️", + ["man_vampire_medium_dark_skin_tone"] = "🧛🏾‍♂️", + ["man_vampire_tone5"] = "🧛🏿‍♂️", + ["man_vampire_dark_skin_tone"] = "🧛🏿‍♂️", + ["zombie"] = "🧟", + ["woman_zombie"] = "🧟‍♀️", + ["man_zombie"] = "🧟‍♂️", + ["genie"] = "🧞", + ["woman_genie"] = "🧞‍♀️", + ["man_genie"] = "🧞‍♂️", + ["merperson"] = "🧜", + ["merperson_tone1"] = "🧜🏻", + ["merperson_light_skin_tone"] = "🧜🏻", + ["merperson_tone2"] = "🧜🏼", + ["merperson_medium_light_skin_tone"] = "🧜🏼", + ["merperson_tone3"] = "🧜🏽", + ["merperson_medium_skin_tone"] = "🧜🏽", + ["merperson_tone4"] = "🧜🏾", + ["merperson_medium_dark_skin_tone"] = "🧜🏾", + ["merperson_tone5"] = "🧜🏿", + ["merperson_dark_skin_tone"] = "🧜🏿", + ["mermaid"] = "🧜‍♀️", + ["mermaid_tone1"] = "🧜🏻‍♀️", + ["mermaid_light_skin_tone"] = "🧜🏻‍♀️", + ["mermaid_tone2"] = "🧜🏼‍♀️", + ["mermaid_medium_light_skin_tone"] = "🧜🏼‍♀️", + ["mermaid_tone3"] = "🧜🏽‍♀️", + ["mermaid_medium_skin_tone"] = "🧜🏽‍♀️", + ["mermaid_tone4"] = "🧜🏾‍♀️", + ["mermaid_medium_dark_skin_tone"] = "🧜🏾‍♀️", + ["mermaid_tone5"] = "🧜🏿‍♀️", + ["mermaid_dark_skin_tone"] = "🧜🏿‍♀️", + ["merman"] = "🧜‍♂️", + ["merman_tone1"] = "🧜🏻‍♂️", + ["merman_light_skin_tone"] = "🧜🏻‍♂️", + ["merman_tone2"] = "🧜🏼‍♂️", + ["merman_medium_light_skin_tone"] = "🧜🏼‍♂️", + ["merman_tone3"] = "🧜🏽‍♂️", + ["merman_medium_skin_tone"] = "🧜🏽‍♂️", + ["merman_tone4"] = "🧜🏾‍♂️", + ["merman_medium_dark_skin_tone"] = "🧜🏾‍♂️", + ["merman_tone5"] = "🧜🏿‍♂️", + ["merman_dark_skin_tone"] = "🧜🏿‍♂️", + ["fairy"] = "🧚", + ["fairy_tone1"] = "🧚🏻", + ["fairy_light_skin_tone"] = "🧚🏻", + ["fairy_tone2"] = "🧚🏼", + ["fairy_medium_light_skin_tone"] = "🧚🏼", + ["fairy_tone3"] = "🧚🏽", + ["fairy_medium_skin_tone"] = "🧚🏽", + ["fairy_tone4"] = "🧚🏾", + ["fairy_medium_dark_skin_tone"] = "🧚🏾", + ["fairy_tone5"] = "🧚🏿", + ["fairy_dark_skin_tone"] = "🧚🏿", + ["woman_fairy"] = "🧚‍♀️", + ["woman_fairy_tone1"] = "🧚🏻‍♀️", + ["woman_fairy_light_skin_tone"] = "🧚🏻‍♀️", + ["woman_fairy_tone2"] = "🧚🏼‍♀️", + ["woman_fairy_medium_light_skin_tone"] = "🧚🏼‍♀️", + ["woman_fairy_tone3"] = "🧚🏽‍♀️", + ["woman_fairy_medium_skin_tone"] = "🧚🏽‍♀️", + ["woman_fairy_tone4"] = "🧚🏾‍♀️", + ["woman_fairy_medium_dark_skin_tone"] = "🧚🏾‍♀️", + ["woman_fairy_tone5"] = "🧚🏿‍♀️", + ["woman_fairy_dark_skin_tone"] = "🧚🏿‍♀️", + ["man_fairy"] = "🧚‍♂️", + ["man_fairy_tone1"] = "🧚🏻‍♂️", + ["man_fairy_light_skin_tone"] = "🧚🏻‍♂️", + ["man_fairy_tone2"] = "🧚🏼‍♂️", + ["man_fairy_medium_light_skin_tone"] = "🧚🏼‍♂️", + ["man_fairy_tone3"] = "🧚🏽‍♂️", + ["man_fairy_medium_skin_tone"] = "🧚🏽‍♂️", + ["man_fairy_tone4"] = "🧚🏾‍♂️", + ["man_fairy_medium_dark_skin_tone"] = "🧚🏾‍♂️", + ["man_fairy_tone5"] = "🧚🏿‍♂️", + ["man_fairy_dark_skin_tone"] = "🧚🏿‍♂️", + ["angel"] = "👼", + ["angel_tone1"] = "👼🏻", + ["angel_tone2"] = "👼🏼", + ["angel_tone3"] = "👼🏽", + ["angel_tone4"] = "👼🏾", + ["angel_tone5"] = "👼🏿", + ["pregnant_woman"] = "🤰", + ["expecting_woman"] = "🤰", + ["pregnant_woman_tone1"] = "🤰🏻", + ["expecting_woman_tone1"] = "🤰🏻", + ["pregnant_woman_tone2"] = "🤰🏼", + ["expecting_woman_tone2"] = "🤰🏼", + ["pregnant_woman_tone3"] = "🤰🏽", + ["expecting_woman_tone3"] = "🤰🏽", + ["pregnant_woman_tone4"] = "🤰🏾", + ["expecting_woman_tone4"] = "🤰🏾", + ["pregnant_woman_tone5"] = "🤰🏿", + ["expecting_woman_tone5"] = "🤰🏿", + ["breast_feeding"] = "🤱", + ["breast_feeding_tone1"] = "🤱🏻", + ["breast_feeding_light_skin_tone"] = "🤱🏻", + ["breast_feeding_tone2"] = "🤱🏼", + ["breast_feeding_medium_light_skin_tone"] = "🤱🏼", + ["breast_feeding_tone3"] = "🤱🏽", + ["breast_feeding_medium_skin_tone"] = "🤱🏽", + ["breast_feeding_tone4"] = "🤱🏾", + ["breast_feeding_medium_dark_skin_tone"] = "🤱🏾", + ["breast_feeding_tone5"] = "🤱🏿", + ["breast_feeding_dark_skin_tone"] = "🤱🏿", + ["person_feeding_baby"] = "🧑‍🍼", + ["person_feeding_baby_tone1"] = "🧑🏻‍🍼", + ["person_feeding_baby_light_skin_tone"] = "🧑🏻‍🍼", + ["person_feeding_baby_tone2"] = "🧑🏼‍🍼", + ["person_feeding_baby_medium_light_skin_tone"] = "🧑🏼‍🍼", + ["person_feeding_baby_tone3"] = "🧑🏽‍🍼", + ["person_feeding_baby_medium_skin_tone"] = "🧑🏽‍🍼", + ["person_feeding_baby_tone4"] = "🧑🏾‍🍼", + ["person_feeding_baby_medium_dark_skin_tone"] = "🧑🏾‍🍼", + ["person_feeding_baby_tone5"] = "🧑🏿‍🍼", + ["person_feeding_baby_dark_skin_tone"] = "🧑🏿‍🍼", + ["woman_feeding_baby"] = "👩‍🍼", + ["woman_feeding_baby_tone1"] = "👩🏻‍🍼", + ["woman_feeding_baby_light_skin_tone"] = "👩🏻‍🍼", + ["woman_feeding_baby_tone2"] = "👩🏼‍🍼", + ["woman_feeding_baby_medium_light_skin_tone"] = "👩🏼‍🍼", + ["woman_feeding_baby_tone3"] = "👩🏽‍🍼", + ["woman_feeding_baby_medium_skin_tone"] = "👩🏽‍🍼", + ["woman_feeding_baby_tone4"] = "👩🏾‍🍼", + ["woman_feeding_baby_medium_dark_skin_tone"] = "👩🏾‍🍼", + ["woman_feeding_baby_tone5"] = "👩🏿‍🍼", + ["woman_feeding_baby_dark_skin_tone"] = "👩🏿‍🍼", + ["man_feeding_baby"] = "👨‍🍼", + ["man_feeding_baby_tone1"] = "👨🏻‍🍼", + ["man_feeding_baby_light_skin_tone"] = "👨🏻‍🍼", + ["man_feeding_baby_tone2"] = "👨🏼‍🍼", + ["man_feeding_baby_medium_light_skin_tone"] = "👨🏼‍🍼", + ["man_feeding_baby_tone3"] = "👨🏽‍🍼", + ["man_feeding_baby_medium_skin_tone"] = "👨🏽‍🍼", + ["man_feeding_baby_tone4"] = "👨🏾‍🍼", + ["man_feeding_baby_medium_dark_skin_tone"] = "👨🏾‍🍼", + ["man_feeding_baby_tone5"] = "👨🏿‍🍼", + ["man_feeding_baby_dark_skin_tone"] = "👨🏿‍🍼", + ["person_bowing"] = "🙇", + ["bow"] = "🙇", + ["person_bowing_tone1"] = "🙇🏻", + ["bow_tone1"] = "🙇🏻", + ["person_bowing_tone2"] = "🙇🏼", + ["bow_tone2"] = "🙇🏼", + ["person_bowing_tone3"] = "🙇🏽", + ["bow_tone3"] = "🙇🏽", + ["person_bowing_tone4"] = "🙇🏾", + ["bow_tone4"] = "🙇🏾", + ["person_bowing_tone5"] = "🙇🏿", + ["bow_tone5"] = "🙇🏿", + ["woman_bowing"] = "🙇‍♀️", + ["woman_bowing_tone1"] = "🙇🏻‍♀️", + ["woman_bowing_light_skin_tone"] = "🙇🏻‍♀️", + ["woman_bowing_tone2"] = "🙇🏼‍♀️", + ["woman_bowing_medium_light_skin_tone"] = "🙇🏼‍♀️", + ["woman_bowing_tone3"] = "🙇🏽‍♀️", + ["woman_bowing_medium_skin_tone"] = "🙇🏽‍♀️", + ["woman_bowing_tone4"] = "🙇🏾‍♀️", + ["woman_bowing_medium_dark_skin_tone"] = "🙇🏾‍♀️", + ["woman_bowing_tone5"] = "🙇🏿‍♀️", + ["woman_bowing_dark_skin_tone"] = "🙇🏿‍♀️", + ["man_bowing"] = "🙇‍♂️", + ["man_bowing_tone1"] = "🙇🏻‍♂️", + ["man_bowing_light_skin_tone"] = "🙇🏻‍♂️", + ["man_bowing_tone2"] = "🙇🏼‍♂️", + ["man_bowing_medium_light_skin_tone"] = "🙇🏼‍♂️", + ["man_bowing_tone3"] = "🙇🏽‍♂️", + ["man_bowing_medium_skin_tone"] = "🙇🏽‍♂️", + ["man_bowing_tone4"] = "🙇🏾‍♂️", + ["man_bowing_medium_dark_skin_tone"] = "🙇🏾‍♂️", + ["man_bowing_tone5"] = "🙇🏿‍♂️", + ["man_bowing_dark_skin_tone"] = "🙇🏿‍♂️", + ["person_tipping_hand"] = "💁", + ["information_desk_person"] = "💁", + ["person_tipping_hand_tone1"] = "💁🏻", + ["information_desk_person_tone1"] = "💁🏻", + ["person_tipping_hand_tone2"] = "💁🏼", + ["information_desk_person_tone2"] = "💁🏼", + ["person_tipping_hand_tone3"] = "💁🏽", + ["information_desk_person_tone3"] = "💁🏽", + ["person_tipping_hand_tone4"] = "💁🏾", + ["information_desk_person_tone4"] = "💁🏾", + ["person_tipping_hand_tone5"] = "💁🏿", + ["information_desk_person_tone5"] = "💁🏿", + ["woman_tipping_hand"] = "💁‍♀️", + ["woman_tipping_hand_tone1"] = "💁🏻‍♀️", + ["woman_tipping_hand_light_skin_tone"] = "💁🏻‍♀️", + ["woman_tipping_hand_tone2"] = "💁🏼‍♀️", + ["woman_tipping_hand_medium_light_skin_tone"] = "💁🏼‍♀️", + ["woman_tipping_hand_tone3"] = "💁🏽‍♀️", + ["woman_tipping_hand_medium_skin_tone"] = "💁🏽‍♀️", + ["woman_tipping_hand_tone4"] = "💁🏾‍♀️", + ["woman_tipping_hand_medium_dark_skin_tone"] = "💁🏾‍♀️", + ["woman_tipping_hand_tone5"] = "💁🏿‍♀️", + ["woman_tipping_hand_dark_skin_tone"] = "💁🏿‍♀️", + ["man_tipping_hand"] = "💁‍♂️", + ["man_tipping_hand_tone1"] = "💁🏻‍♂️", + ["man_tipping_hand_light_skin_tone"] = "💁🏻‍♂️", + ["man_tipping_hand_tone2"] = "💁🏼‍♂️", + ["man_tipping_hand_medium_light_skin_tone"] = "💁🏼‍♂️", + ["man_tipping_hand_tone3"] = "💁🏽‍♂️", + ["man_tipping_hand_medium_skin_tone"] = "💁🏽‍♂️", + ["man_tipping_hand_tone4"] = "💁🏾‍♂️", + ["man_tipping_hand_medium_dark_skin_tone"] = "💁🏾‍♂️", + ["man_tipping_hand_tone5"] = "💁🏿‍♂️", + ["man_tipping_hand_dark_skin_tone"] = "💁🏿‍♂️", + ["person_gesturing_no"] = "🙅", + ["no_good"] = "🙅", + ["person_gesturing_no_tone1"] = "🙅🏻", + ["no_good_tone1"] = "🙅🏻", + ["person_gesturing_no_tone2"] = "🙅🏼", + ["no_good_tone2"] = "🙅🏼", + ["person_gesturing_no_tone3"] = "🙅🏽", + ["no_good_tone3"] = "🙅🏽", + ["person_gesturing_no_tone4"] = "🙅🏾", + ["no_good_tone4"] = "🙅🏾", + ["person_gesturing_no_tone5"] = "🙅🏿", + ["no_good_tone5"] = "🙅🏿", + ["woman_gesturing_no"] = "🙅‍♀️", + ["woman_gesturing_no_tone1"] = "🙅🏻‍♀️", + ["woman_gesturing_no_light_skin_tone"] = "🙅🏻‍♀️", + ["woman_gesturing_no_tone2"] = "🙅🏼‍♀️", + ["woman_gesturing_no_medium_light_skin_tone"] = "🙅🏼‍♀️", + ["woman_gesturing_no_tone3"] = "🙅🏽‍♀️", + ["woman_gesturing_no_medium_skin_tone"] = "🙅🏽‍♀️", + ["woman_gesturing_no_tone4"] = "🙅🏾‍♀️", + ["woman_gesturing_no_medium_dark_skin_tone"] = "🙅🏾‍♀️", + ["woman_gesturing_no_tone5"] = "🙅🏿‍♀️", + ["woman_gesturing_no_dark_skin_tone"] = "🙅🏿‍♀️", + ["man_gesturing_no"] = "🙅‍♂️", + ["man_gesturing_no_tone1"] = "🙅🏻‍♂️", + ["man_gesturing_no_light_skin_tone"] = "🙅🏻‍♂️", + ["man_gesturing_no_tone2"] = "🙅🏼‍♂️", + ["man_gesturing_no_medium_light_skin_tone"] = "🙅🏼‍♂️", + ["man_gesturing_no_tone3"] = "🙅🏽‍♂️", + ["man_gesturing_no_medium_skin_tone"] = "🙅🏽‍♂️", + ["man_gesturing_no_tone4"] = "🙅🏾‍♂️", + ["man_gesturing_no_medium_dark_skin_tone"] = "🙅🏾‍♂️", + ["man_gesturing_no_tone5"] = "🙅🏿‍♂️", + ["man_gesturing_no_dark_skin_tone"] = "🙅🏿‍♂️", + ["person_gesturing_ok"] = "🙆", + ["ok_woman"] = "🙆", + ["person_gesturing_ok_tone1"] = "🙆🏻", + ["ok_woman_tone1"] = "🙆🏻", + ["person_gesturing_ok_tone2"] = "🙆🏼", + ["ok_woman_tone2"] = "🙆🏼", + ["person_gesturing_ok_tone3"] = "🙆🏽", + ["ok_woman_tone3"] = "🙆🏽", + ["person_gesturing_ok_tone4"] = "🙆🏾", + ["ok_woman_tone4"] = "🙆🏾", + ["person_gesturing_ok_tone5"] = "🙆🏿", + ["ok_woman_tone5"] = "🙆🏿", + ["woman_gesturing_ok"] = "🙆‍♀️", + ["woman_gesturing_ok_tone1"] = "🙆🏻‍♀️", + ["woman_gesturing_ok_light_skin_tone"] = "🙆🏻‍♀️", + ["woman_gesturing_ok_tone2"] = "🙆🏼‍♀️", + ["woman_gesturing_ok_medium_light_skin_tone"] = "🙆🏼‍♀️", + ["woman_gesturing_ok_tone3"] = "🙆🏽‍♀️", + ["woman_gesturing_ok_medium_skin_tone"] = "🙆🏽‍♀️", + ["woman_gesturing_ok_tone4"] = "🙆🏾‍♀️", + ["woman_gesturing_ok_medium_dark_skin_tone"] = "🙆🏾‍♀️", + ["woman_gesturing_ok_tone5"] = "🙆🏿‍♀️", + ["woman_gesturing_ok_dark_skin_tone"] = "🙆🏿‍♀️", + ["man_gesturing_ok"] = "🙆‍♂️", + ["man_gesturing_ok_tone1"] = "🙆🏻‍♂️", + ["man_gesturing_ok_light_skin_tone"] = "🙆🏻‍♂️", + ["man_gesturing_ok_tone2"] = "🙆🏼‍♂️", + ["man_gesturing_ok_medium_light_skin_tone"] = "🙆🏼‍♂️", + ["man_gesturing_ok_tone3"] = "🙆🏽‍♂️", + ["man_gesturing_ok_medium_skin_tone"] = "🙆🏽‍♂️", + ["man_gesturing_ok_tone4"] = "🙆🏾‍♂️", + ["man_gesturing_ok_medium_dark_skin_tone"] = "🙆🏾‍♂️", + ["man_gesturing_ok_tone5"] = "🙆🏿‍♂️", + ["man_gesturing_ok_dark_skin_tone"] = "🙆🏿‍♂️", + ["person_raising_hand"] = "🙋", + ["raising_hand"] = "🙋", + ["person_raising_hand_tone1"] = "🙋🏻", + ["raising_hand_tone1"] = "🙋🏻", + ["person_raising_hand_tone2"] = "🙋🏼", + ["raising_hand_tone2"] = "🙋🏼", + ["person_raising_hand_tone3"] = "🙋🏽", + ["raising_hand_tone3"] = "🙋🏽", + ["person_raising_hand_tone4"] = "🙋🏾", + ["raising_hand_tone4"] = "🙋🏾", + ["person_raising_hand_tone5"] = "🙋🏿", + ["raising_hand_tone5"] = "🙋🏿", + ["woman_raising_hand"] = "🙋‍♀️", + ["woman_raising_hand_tone1"] = "🙋🏻‍♀️", + ["woman_raising_hand_light_skin_tone"] = "🙋🏻‍♀️", + ["woman_raising_hand_tone2"] = "🙋🏼‍♀️", + ["woman_raising_hand_medium_light_skin_tone"] = "🙋🏼‍♀️", + ["woman_raising_hand_tone3"] = "🙋🏽‍♀️", + ["woman_raising_hand_medium_skin_tone"] = "🙋🏽‍♀️", + ["woman_raising_hand_tone4"] = "🙋🏾‍♀️", + ["woman_raising_hand_medium_dark_skin_tone"] = "🙋🏾‍♀️", + ["woman_raising_hand_tone5"] = "🙋🏿‍♀️", + ["woman_raising_hand_dark_skin_tone"] = "🙋🏿‍♀️", + ["man_raising_hand"] = "🙋‍♂️", + ["man_raising_hand_tone1"] = "🙋🏻‍♂️", + ["man_raising_hand_light_skin_tone"] = "🙋🏻‍♂️", + ["man_raising_hand_tone2"] = "🙋🏼‍♂️", + ["man_raising_hand_medium_light_skin_tone"] = "🙋🏼‍♂️", + ["man_raising_hand_tone3"] = "🙋🏽‍♂️", + ["man_raising_hand_medium_skin_tone"] = "🙋🏽‍♂️", + ["man_raising_hand_tone4"] = "🙋🏾‍♂️", + ["man_raising_hand_medium_dark_skin_tone"] = "🙋🏾‍♂️", + ["man_raising_hand_tone5"] = "🙋🏿‍♂️", + ["man_raising_hand_dark_skin_tone"] = "🙋🏿‍♂️", + ["deaf_person"] = "🧏", + ["deaf_person_tone1"] = "🧏🏻", + ["deaf_person_light_skin_tone"] = "🧏🏻", + ["deaf_person_tone2"] = "🧏🏼", + ["deaf_person_medium_light_skin_tone"] = "🧏🏼", + ["deaf_person_tone3"] = "🧏🏽", + ["deaf_person_medium_skin_tone"] = "🧏🏽", + ["deaf_person_tone4"] = "🧏🏾", + ["deaf_person_medium_dark_skin_tone"] = "🧏🏾", + ["deaf_person_tone5"] = "🧏🏿", + ["deaf_person_dark_skin_tone"] = "🧏🏿", + ["deaf_woman"] = "🧏‍♀️", + ["deaf_woman_tone1"] = "🧏🏻‍♀️", + ["deaf_woman_light_skin_tone"] = "🧏🏻‍♀️", + ["deaf_woman_tone2"] = "🧏🏼‍♀️", + ["deaf_woman_medium_light_skin_tone"] = "🧏🏼‍♀️", + ["deaf_woman_tone3"] = "🧏🏽‍♀️", + ["deaf_woman_medium_skin_tone"] = "🧏🏽‍♀️", + ["deaf_woman_tone4"] = "🧏🏾‍♀️", + ["deaf_woman_medium_dark_skin_tone"] = "🧏🏾‍♀️", + ["deaf_woman_tone5"] = "🧏🏿‍♀️", + ["deaf_woman_dark_skin_tone"] = "🧏🏿‍♀️", + ["deaf_man"] = "🧏‍♂️", + ["deaf_man_tone1"] = "🧏🏻‍♂️", + ["deaf_man_light_skin_tone"] = "🧏🏻‍♂️", + ["deaf_man_tone2"] = "🧏🏼‍♂️", + ["deaf_man_medium_light_skin_tone"] = "🧏🏼‍♂️", + ["deaf_man_tone3"] = "🧏🏽‍♂️", + ["deaf_man_medium_skin_tone"] = "🧏🏽‍♂️", + ["deaf_man_tone4"] = "🧏🏾‍♂️", + ["deaf_man_medium_dark_skin_tone"] = "🧏🏾‍♂️", + ["deaf_man_tone5"] = "🧏🏿‍♂️", + ["deaf_man_dark_skin_tone"] = "🧏🏿‍♂️", + ["person_facepalming"] = "🤦", + ["face_palm"] = "🤦", + ["facepalm"] = "🤦", + ["person_facepalming_tone1"] = "🤦🏻", + ["face_palm_tone1"] = "🤦🏻", + ["facepalm_tone1"] = "🤦🏻", + ["person_facepalming_tone2"] = "🤦🏼", + ["face_palm_tone2"] = "🤦🏼", + ["facepalm_tone2"] = "🤦🏼", + ["person_facepalming_tone3"] = "🤦🏽", + ["face_palm_tone3"] = "🤦🏽", + ["facepalm_tone3"] = "🤦🏽", + ["person_facepalming_tone4"] = "🤦🏾", + ["face_palm_tone4"] = "🤦🏾", + ["facepalm_tone4"] = "🤦🏾", + ["person_facepalming_tone5"] = "🤦🏿", + ["face_palm_tone5"] = "🤦🏿", + ["facepalm_tone5"] = "🤦🏿", + ["woman_facepalming"] = "🤦‍♀️", + ["woman_facepalming_tone1"] = "🤦🏻‍♀️", + ["woman_facepalming_light_skin_tone"] = "🤦🏻‍♀️", + ["woman_facepalming_tone2"] = "🤦🏼‍♀️", + ["woman_facepalming_medium_light_skin_tone"] = "🤦🏼‍♀️", + ["woman_facepalming_tone3"] = "🤦🏽‍♀️", + ["woman_facepalming_medium_skin_tone"] = "🤦🏽‍♀️", + ["woman_facepalming_tone4"] = "🤦🏾‍♀️", + ["woman_facepalming_medium_dark_skin_tone"] = "🤦🏾‍♀️", + ["woman_facepalming_tone5"] = "🤦🏿‍♀️", + ["woman_facepalming_dark_skin_tone"] = "🤦🏿‍♀️", + ["man_facepalming"] = "🤦‍♂️", + ["man_facepalming_tone1"] = "🤦🏻‍♂️", + ["man_facepalming_light_skin_tone"] = "🤦🏻‍♂️", + ["man_facepalming_tone2"] = "🤦🏼‍♂️", + ["man_facepalming_medium_light_skin_tone"] = "🤦🏼‍♂️", + ["man_facepalming_tone3"] = "🤦🏽‍♂️", + ["man_facepalming_medium_skin_tone"] = "🤦🏽‍♂️", + ["man_facepalming_tone4"] = "🤦🏾‍♂️", + ["man_facepalming_medium_dark_skin_tone"] = "🤦🏾‍♂️", + ["man_facepalming_tone5"] = "🤦🏿‍♂️", + ["man_facepalming_dark_skin_tone"] = "🤦🏿‍♂️", + ["person_shrugging"] = "🤷", + ["shrug"] = "🤷", + ["person_shrugging_tone1"] = "🤷🏻", + ["shrug_tone1"] = "🤷🏻", + ["person_shrugging_tone2"] = "🤷🏼", + ["shrug_tone2"] = "🤷🏼", + ["person_shrugging_tone3"] = "🤷🏽", + ["shrug_tone3"] = "🤷🏽", + ["person_shrugging_tone4"] = "🤷🏾", + ["shrug_tone4"] = "🤷🏾", + ["person_shrugging_tone5"] = "🤷🏿", + ["shrug_tone5"] = "🤷🏿", + ["woman_shrugging"] = "🤷‍♀️", + ["woman_shrugging_tone1"] = "🤷🏻‍♀️", + ["woman_shrugging_light_skin_tone"] = "🤷🏻‍♀️", + ["woman_shrugging_tone2"] = "🤷🏼‍♀️", + ["woman_shrugging_medium_light_skin_tone"] = "🤷🏼‍♀️", + ["woman_shrugging_tone3"] = "🤷🏽‍♀️", + ["woman_shrugging_medium_skin_tone"] = "🤷🏽‍♀️", + ["woman_shrugging_tone4"] = "🤷🏾‍♀️", + ["woman_shrugging_medium_dark_skin_tone"] = "🤷🏾‍♀️", + ["woman_shrugging_tone5"] = "🤷🏿‍♀️", + ["woman_shrugging_dark_skin_tone"] = "🤷🏿‍♀️", + ["man_shrugging"] = "🤷‍♂️", + ["man_shrugging_tone1"] = "🤷🏻‍♂️", + ["man_shrugging_light_skin_tone"] = "🤷🏻‍♂️", + ["man_shrugging_tone2"] = "🤷🏼‍♂️", + ["man_shrugging_medium_light_skin_tone"] = "🤷🏼‍♂️", + ["man_shrugging_tone3"] = "🤷🏽‍♂️", + ["man_shrugging_medium_skin_tone"] = "🤷🏽‍♂️", + ["man_shrugging_tone4"] = "🤷🏾‍♂️", + ["man_shrugging_medium_dark_skin_tone"] = "🤷🏾‍♂️", + ["man_shrugging_tone5"] = "🤷🏿‍♂️", + ["man_shrugging_dark_skin_tone"] = "🤷🏿‍♂️", + ["person_pouting"] = "🙎", + ["person_with_pouting_face"] = "🙎", + ["person_pouting_tone1"] = "🙎🏻", + ["person_with_pouting_face_tone1"] = "🙎🏻", + ["person_pouting_tone2"] = "🙎🏼", + ["person_with_pouting_face_tone2"] = "🙎🏼", + ["person_pouting_tone3"] = "🙎🏽", + ["person_with_pouting_face_tone3"] = "🙎🏽", + ["person_pouting_tone4"] = "🙎🏾", + ["person_with_pouting_face_tone4"] = "🙎🏾", + ["person_pouting_tone5"] = "🙎🏿", + ["person_with_pouting_face_tone5"] = "🙎🏿", + ["woman_pouting"] = "🙎‍♀️", + ["woman_pouting_tone1"] = "🙎🏻‍♀️", + ["woman_pouting_light_skin_tone"] = "🙎🏻‍♀️", + ["woman_pouting_tone2"] = "🙎🏼‍♀️", + ["woman_pouting_medium_light_skin_tone"] = "🙎🏼‍♀️", + ["woman_pouting_tone3"] = "🙎🏽‍♀️", + ["woman_pouting_medium_skin_tone"] = "🙎🏽‍♀️", + ["woman_pouting_tone4"] = "🙎🏾‍♀️", + ["woman_pouting_medium_dark_skin_tone"] = "🙎🏾‍♀️", + ["woman_pouting_tone5"] = "🙎🏿‍♀️", + ["woman_pouting_dark_skin_tone"] = "🙎🏿‍♀️", + ["man_pouting"] = "🙎‍♂️", + ["man_pouting_tone1"] = "🙎🏻‍♂️", + ["man_pouting_light_skin_tone"] = "🙎🏻‍♂️", + ["man_pouting_tone2"] = "🙎🏼‍♂️", + ["man_pouting_medium_light_skin_tone"] = "🙎🏼‍♂️", + ["man_pouting_tone3"] = "🙎🏽‍♂️", + ["man_pouting_medium_skin_tone"] = "🙎🏽‍♂️", + ["man_pouting_tone4"] = "🙎🏾‍♂️", + ["man_pouting_medium_dark_skin_tone"] = "🙎🏾‍♂️", + ["man_pouting_tone5"] = "🙎🏿‍♂️", + ["man_pouting_dark_skin_tone"] = "🙎🏿‍♂️", + ["person_frowning"] = "🙍", + ["person_frowning_tone1"] = "🙍🏻", + ["person_frowning_tone2"] = "🙍🏼", + ["person_frowning_tone3"] = "🙍🏽", + ["person_frowning_tone4"] = "🙍🏾", + ["person_frowning_tone5"] = "🙍🏿", + ["woman_frowning"] = "🙍‍♀️", + ["woman_frowning_tone1"] = "🙍🏻‍♀️", + ["woman_frowning_light_skin_tone"] = "🙍🏻‍♀️", + ["woman_frowning_tone2"] = "🙍🏼‍♀️", + ["woman_frowning_medium_light_skin_tone"] = "🙍🏼‍♀️", + ["woman_frowning_tone3"] = "🙍🏽‍♀️", + ["woman_frowning_medium_skin_tone"] = "🙍🏽‍♀️", + ["woman_frowning_tone4"] = "🙍🏾‍♀️", + ["woman_frowning_medium_dark_skin_tone"] = "🙍🏾‍♀️", + ["woman_frowning_tone5"] = "🙍🏿‍♀️", + ["woman_frowning_dark_skin_tone"] = "🙍🏿‍♀️", + ["man_frowning"] = "🙍‍♂️", + ["man_frowning_tone1"] = "🙍🏻‍♂️", + ["man_frowning_light_skin_tone"] = "🙍🏻‍♂️", + ["man_frowning_tone2"] = "🙍🏼‍♂️", + ["man_frowning_medium_light_skin_tone"] = "🙍🏼‍♂️", + ["man_frowning_tone3"] = "🙍🏽‍♂️", + ["man_frowning_medium_skin_tone"] = "🙍🏽‍♂️", + ["man_frowning_tone4"] = "🙍🏾‍♂️", + ["man_frowning_medium_dark_skin_tone"] = "🙍🏾‍♂️", + ["man_frowning_tone5"] = "🙍🏿‍♂️", + ["man_frowning_dark_skin_tone"] = "🙍🏿‍♂️", + ["person_getting_haircut"] = "💇", + ["haircut"] = "💇", + ["person_getting_haircut_tone1"] = "💇🏻", + ["haircut_tone1"] = "💇🏻", + ["person_getting_haircut_tone2"] = "💇🏼", + ["haircut_tone2"] = "💇🏼", + ["person_getting_haircut_tone3"] = "💇🏽", + ["haircut_tone3"] = "💇🏽", + ["person_getting_haircut_tone4"] = "💇🏾", + ["haircut_tone4"] = "💇🏾", + ["person_getting_haircut_tone5"] = "💇🏿", + ["haircut_tone5"] = "💇🏿", + ["woman_getting_haircut"] = "💇‍♀️", + ["woman_getting_haircut_tone1"] = "💇🏻‍♀️", + ["woman_getting_haircut_light_skin_tone"] = "💇🏻‍♀️", + ["woman_getting_haircut_tone2"] = "💇🏼‍♀️", + ["woman_getting_haircut_medium_light_skin_tone"] = "💇🏼‍♀️", + ["woman_getting_haircut_tone3"] = "💇🏽‍♀️", + ["woman_getting_haircut_medium_skin_tone"] = "💇🏽‍♀️", + ["woman_getting_haircut_tone4"] = "💇🏾‍♀️", + ["woman_getting_haircut_medium_dark_skin_tone"] = "💇🏾‍♀️", + ["woman_getting_haircut_tone5"] = "💇🏿‍♀️", + ["woman_getting_haircut_dark_skin_tone"] = "💇🏿‍♀️", + ["man_getting_haircut"] = "💇‍♂️", + ["man_getting_haircut_tone1"] = "💇🏻‍♂️", + ["man_getting_haircut_light_skin_tone"] = "💇🏻‍♂️", + ["man_getting_haircut_tone2"] = "💇🏼‍♂️", + ["man_getting_haircut_medium_light_skin_tone"] = "💇🏼‍♂️", + ["man_getting_haircut_tone3"] = "💇🏽‍♂️", + ["man_getting_haircut_medium_skin_tone"] = "💇🏽‍♂️", + ["man_getting_haircut_tone4"] = "💇🏾‍♂️", + ["man_getting_haircut_medium_dark_skin_tone"] = "💇🏾‍♂️", + ["man_getting_haircut_tone5"] = "💇🏿‍♂️", + ["man_getting_haircut_dark_skin_tone"] = "💇🏿‍♂️", + ["person_getting_massage"] = "💆", + ["massage"] = "💆", + ["person_getting_massage_tone1"] = "💆🏻", + ["massage_tone1"] = "💆🏻", + ["person_getting_massage_tone2"] = "💆🏼", + ["massage_tone2"] = "💆🏼", + ["person_getting_massage_tone3"] = "💆🏽", + ["massage_tone3"] = "💆🏽", + ["person_getting_massage_tone4"] = "💆🏾", + ["massage_tone4"] = "💆🏾", + ["person_getting_massage_tone5"] = "💆🏿", + ["massage_tone5"] = "💆🏿", + ["woman_getting_face_massage"] = "💆‍♀️", + ["woman_getting_face_massage_tone1"] = "💆🏻‍♀️", + ["woman_getting_face_massage_light_skin_tone"] = "💆🏻‍♀️", + ["woman_getting_face_massage_tone2"] = "💆🏼‍♀️", + ["woman_getting_face_massage_medium_light_skin_tone"] = "💆🏼‍♀️", + ["woman_getting_face_massage_tone3"] = "💆🏽‍♀️", + ["woman_getting_face_massage_medium_skin_tone"] = "💆🏽‍♀️", + ["woman_getting_face_massage_tone4"] = "💆🏾‍♀️", + ["woman_getting_face_massage_medium_dark_skin_tone"] = "💆🏾‍♀️", + ["woman_getting_face_massage_tone5"] = "💆🏿‍♀️", + ["woman_getting_face_massage_dark_skin_tone"] = "💆🏿‍♀️", + ["man_getting_face_massage"] = "💆‍♂️", + ["man_getting_face_massage_tone1"] = "💆🏻‍♂️", + ["man_getting_face_massage_light_skin_tone"] = "💆🏻‍♂️", + ["man_getting_face_massage_tone2"] = "💆🏼‍♂️", + ["man_getting_face_massage_medium_light_skin_tone"] = "💆🏼‍♂️", + ["man_getting_face_massage_tone3"] = "💆🏽‍♂️", + ["man_getting_face_massage_medium_skin_tone"] = "💆🏽‍♂️", + ["man_getting_face_massage_tone4"] = "💆🏾‍♂️", + ["man_getting_face_massage_medium_dark_skin_tone"] = "💆🏾‍♂️", + ["man_getting_face_massage_tone5"] = "💆🏿‍♂️", + ["man_getting_face_massage_dark_skin_tone"] = "💆🏿‍♂️", + ["person_in_steamy_room"] = "🧖", + ["person_in_steamy_room_tone1"] = "🧖🏻", + ["person_in_steamy_room_light_skin_tone"] = "🧖🏻", + ["person_in_steamy_room_tone2"] = "🧖🏼", + ["person_in_steamy_room_medium_light_skin_tone"] = "🧖🏼", + ["person_in_steamy_room_tone3"] = "🧖🏽", + ["person_in_steamy_room_medium_skin_tone"] = "🧖🏽", + ["person_in_steamy_room_tone4"] = "🧖🏾", + ["person_in_steamy_room_medium_dark_skin_tone"] = "🧖🏾", + ["person_in_steamy_room_tone5"] = "🧖🏿", + ["person_in_steamy_room_dark_skin_tone"] = "🧖🏿", + ["woman_in_steamy_room"] = "🧖‍♀️", + ["woman_in_steamy_room_tone1"] = "🧖🏻‍♀️", + ["woman_in_steamy_room_light_skin_tone"] = "🧖🏻‍♀️", + ["woman_in_steamy_room_tone2"] = "🧖🏼‍♀️", + ["woman_in_steamy_room_medium_light_skin_tone"] = "🧖🏼‍♀️", + ["woman_in_steamy_room_tone3"] = "🧖🏽‍♀️", + ["woman_in_steamy_room_medium_skin_tone"] = "🧖🏽‍♀️", + ["woman_in_steamy_room_tone4"] = "🧖🏾‍♀️", + ["woman_in_steamy_room_medium_dark_skin_tone"] = "🧖🏾‍♀️", + ["woman_in_steamy_room_tone5"] = "🧖🏿‍♀️", + ["woman_in_steamy_room_dark_skin_tone"] = "🧖🏿‍♀️", + ["man_in_steamy_room"] = "🧖‍♂️", + ["man_in_steamy_room_tone1"] = "🧖🏻‍♂️", + ["man_in_steamy_room_light_skin_tone"] = "🧖🏻‍♂️", + ["man_in_steamy_room_tone2"] = "🧖🏼‍♂️", + ["man_in_steamy_room_medium_light_skin_tone"] = "🧖🏼‍♂️", + ["man_in_steamy_room_tone3"] = "🧖🏽‍♂️", + ["man_in_steamy_room_medium_skin_tone"] = "🧖🏽‍♂️", + ["man_in_steamy_room_tone4"] = "🧖🏾‍♂️", + ["man_in_steamy_room_medium_dark_skin_tone"] = "🧖🏾‍♂️", + ["man_in_steamy_room_tone5"] = "🧖🏿‍♂️", + ["man_in_steamy_room_dark_skin_tone"] = "🧖🏿‍♂️", + ["nail_care"] = "💅", + ["nail_care_tone1"] = "💅🏻", + ["nail_care_tone2"] = "💅🏼", + ["nail_care_tone3"] = "💅🏽", + ["nail_care_tone4"] = "💅🏾", + ["nail_care_tone5"] = "💅🏿", + ["selfie"] = "🤳", + ["selfie_tone1"] = "🤳🏻", + ["selfie_tone2"] = "🤳🏼", + ["selfie_tone3"] = "🤳🏽", + ["selfie_tone4"] = "🤳🏾", + ["selfie_tone5"] = "🤳🏿", + ["dancer"] = "💃", + ["dancer_tone1"] = "💃🏻", + ["dancer_tone2"] = "💃🏼", + ["dancer_tone3"] = "💃🏽", + ["dancer_tone4"] = "💃🏾", + ["dancer_tone5"] = "💃🏿", + ["man_dancing"] = "🕺", + ["male_dancer"] = "🕺", + ["man_dancing_tone1"] = "🕺🏻", + ["male_dancer_tone1"] = "🕺🏻", + ["man_dancing_tone2"] = "🕺🏼", + ["male_dancer_tone2"] = "🕺🏼", + ["man_dancing_tone3"] = "🕺🏽", + ["male_dancer_tone3"] = "🕺🏽", + ["man_dancing_tone5"] = "🕺🏿", + ["male_dancer_tone5"] = "🕺🏿", + ["man_dancing_tone4"] = "🕺🏾", + ["male_dancer_tone4"] = "🕺🏾", + ["people_with_bunny_ears_partying"] = "👯", + ["dancers"] = "👯", + ["women_with_bunny_ears_partying"] = "👯‍♀️", + ["men_with_bunny_ears_partying"] = "👯‍♂️", + ["levitate"] = "🕴️", + ["man_in_business_suit_levitating"] = "🕴️", + ["levitate_tone1"] = "🕴🏻", + ["man_in_business_suit_levitating_tone1"] = "🕴🏻", + ["man_in_business_suit_levitating_light_skin_tone"] = "🕴🏻", + ["levitate_tone2"] = "🕴🏼", + ["man_in_business_suit_levitating_tone2"] = "🕴🏼", + ["man_in_business_suit_levitating_medium_light_skin_tone"] = "🕴🏼", + ["levitate_tone3"] = "🕴🏽", + ["man_in_business_suit_levitating_tone3"] = "🕴🏽", + ["man_in_business_suit_levitating_medium_skin_tone"] = "🕴🏽", + ["levitate_tone4"] = "🕴🏾", + ["man_in_business_suit_levitating_tone4"] = "🕴🏾", + ["man_in_business_suit_levitating_medium_dark_skin_tone"] = "🕴🏾", + ["levitate_tone5"] = "🕴🏿", + ["man_in_business_suit_levitating_tone5"] = "🕴🏿", + ["man_in_business_suit_levitating_dark_skin_tone"] = "🕴🏿", + ["person_in_manual_wheelchair"] = "🧑‍🦽", + ["person_in_manual_wheelchair_tone1"] = "🧑🏻‍🦽", + ["person_in_manual_wheelchair_light_skin_tone"] = "🧑🏻‍🦽", + ["person_in_manual_wheelchair_tone2"] = "🧑🏼‍🦽", + ["person_in_manual_wheelchair_medium_light_skin_tone"] = "🧑🏼‍🦽", + ["person_in_manual_wheelchair_tone3"] = "🧑🏽‍🦽", + ["person_in_manual_wheelchair_medium_skin_tone"] = "🧑🏽‍🦽", + ["person_in_manual_wheelchair_tone4"] = "🧑🏾‍🦽", + ["person_in_manual_wheelchair_medium_dark_skin_tone"] = "🧑🏾‍🦽", + ["person_in_manual_wheelchair_tone5"] = "🧑🏿‍🦽", + ["person_in_manual_wheelchair_dark_skin_tone"] = "🧑🏿‍🦽", + ["woman_in_manual_wheelchair"] = "👩‍🦽", + ["woman_in_manual_wheelchair_tone1"] = "👩🏻‍🦽", + ["woman_in_manual_wheelchair_light_skin_tone"] = "👩🏻‍🦽", + ["woman_in_manual_wheelchair_tone2"] = "👩🏼‍🦽", + ["woman_in_manual_wheelchair_medium_light_skin_tone"] = "👩🏼‍🦽", + ["woman_in_manual_wheelchair_tone3"] = "👩🏽‍🦽", + ["woman_in_manual_wheelchair_medium_skin_tone"] = "👩🏽‍🦽", + ["woman_in_manual_wheelchair_tone4"] = "👩🏾‍🦽", + ["woman_in_manual_wheelchair_medium_dark_skin_tone"] = "👩🏾‍🦽", + ["woman_in_manual_wheelchair_tone5"] = "👩🏿‍🦽", + ["woman_in_manual_wheelchair_dark_skin_tone"] = "👩🏿‍🦽", + ["man_in_manual_wheelchair"] = "👨‍🦽", + ["man_in_manual_wheelchair_tone1"] = "👨🏻‍🦽", + ["man_in_manual_wheelchair_light_skin_tone"] = "👨🏻‍🦽", + ["man_in_manual_wheelchair_tone2"] = "👨🏼‍🦽", + ["man_in_manual_wheelchair_medium_light_skin_tone"] = "👨🏼‍🦽", + ["man_in_manual_wheelchair_tone3"] = "👨🏽‍🦽", + ["man_in_manual_wheelchair_medium_skin_tone"] = "👨🏽‍🦽", + ["man_in_manual_wheelchair_tone4"] = "👨🏾‍🦽", + ["man_in_manual_wheelchair_medium_dark_skin_tone"] = "👨🏾‍🦽", + ["man_in_manual_wheelchair_tone5"] = "👨🏿‍🦽", + ["man_in_manual_wheelchair_dark_skin_tone"] = "👨🏿‍🦽", + ["person_in_motorized_wheelchair"] = "🧑‍🦼", + ["person_in_motorized_wheelchair_tone1"] = "🧑🏻‍🦼", + ["person_in_motorized_wheelchair_light_skin_tone"] = "🧑🏻‍🦼", + ["person_in_motorized_wheelchair_tone2"] = "🧑🏼‍🦼", + ["person_in_motorized_wheelchair_medium_light_skin_tone"] = "🧑🏼‍🦼", + ["person_in_motorized_wheelchair_tone3"] = "🧑🏽‍🦼", + ["person_in_motorized_wheelchair_medium_skin_tone"] = "🧑🏽‍🦼", + ["person_in_motorized_wheelchair_tone4"] = "🧑🏾‍🦼", + ["person_in_motorized_wheelchair_medium_dark_skin_tone"] = "🧑🏾‍🦼", + ["person_in_motorized_wheelchair_tone5"] = "🧑🏿‍🦼", + ["person_in_motorized_wheelchair_dark_skin_tone"] = "🧑🏿‍🦼", + ["woman_in_motorized_wheelchair"] = "👩‍🦼", + ["woman_in_motorized_wheelchair_tone1"] = "👩🏻‍🦼", + ["woman_in_motorized_wheelchair_light_skin_tone"] = "👩🏻‍🦼", + ["woman_in_motorized_wheelchair_tone2"] = "👩🏼‍🦼", + ["woman_in_motorized_wheelchair_medium_light_skin_tone"] = "👩🏼‍🦼", + ["woman_in_motorized_wheelchair_tone3"] = "👩🏽‍🦼", + ["woman_in_motorized_wheelchair_medium_skin_tone"] = "👩🏽‍🦼", + ["woman_in_motorized_wheelchair_tone4"] = "👩🏾‍🦼", + ["woman_in_motorized_wheelchair_medium_dark_skin_tone"] = "👩🏾‍🦼", + ["woman_in_motorized_wheelchair_tone5"] = "👩🏿‍🦼", + ["woman_in_motorized_wheelchair_dark_skin_tone"] = "👩🏿‍🦼", + ["man_in_motorized_wheelchair"] = "👨‍🦼", + ["man_in_motorized_wheelchair_tone1"] = "👨🏻‍🦼", + ["man_in_motorized_wheelchair_light_skin_tone"] = "👨🏻‍🦼", + ["man_in_motorized_wheelchair_tone2"] = "👨🏼‍🦼", + ["man_in_motorized_wheelchair_medium_light_skin_tone"] = "👨🏼‍🦼", + ["man_in_motorized_wheelchair_tone3"] = "👨🏽‍🦼", + ["man_in_motorized_wheelchair_medium_skin_tone"] = "👨🏽‍🦼", + ["man_in_motorized_wheelchair_tone4"] = "👨🏾‍🦼", + ["man_in_motorized_wheelchair_medium_dark_skin_tone"] = "👨🏾‍🦼", + ["man_in_motorized_wheelchair_tone5"] = "👨🏿‍🦼", + ["man_in_motorized_wheelchair_dark_skin_tone"] = "👨🏿‍🦼", + ["person_walking"] = "🚶", + ["walking"] = "🚶", + ["person_walking_tone1"] = "🚶🏻", + ["walking_tone1"] = "🚶🏻", + ["person_walking_tone2"] = "🚶🏼", + ["walking_tone2"] = "🚶🏼", + ["person_walking_tone3"] = "🚶🏽", + ["walking_tone3"] = "🚶🏽", + ["person_walking_tone4"] = "🚶🏾", + ["walking_tone4"] = "🚶🏾", + ["person_walking_tone5"] = "🚶🏿", + ["walking_tone5"] = "🚶🏿", + ["woman_walking"] = "🚶‍♀️", + ["woman_walking_tone1"] = "🚶🏻‍♀️", + ["woman_walking_light_skin_tone"] = "🚶🏻‍♀️", + ["woman_walking_tone2"] = "🚶🏼‍♀️", + ["woman_walking_medium_light_skin_tone"] = "🚶🏼‍♀️", + ["woman_walking_tone3"] = "🚶🏽‍♀️", + ["woman_walking_medium_skin_tone"] = "🚶🏽‍♀️", + ["woman_walking_tone4"] = "🚶🏾‍♀️", + ["woman_walking_medium_dark_skin_tone"] = "🚶🏾‍♀️", + ["woman_walking_tone5"] = "🚶🏿‍♀️", + ["woman_walking_dark_skin_tone"] = "🚶🏿‍♀️", + ["man_walking"] = "🚶‍♂️", + ["man_walking_tone1"] = "🚶🏻‍♂️", + ["man_walking_light_skin_tone"] = "🚶🏻‍♂️", + ["man_walking_tone2"] = "🚶🏼‍♂️", + ["man_walking_medium_light_skin_tone"] = "🚶🏼‍♂️", + ["man_walking_tone3"] = "🚶🏽‍♂️", + ["man_walking_medium_skin_tone"] = "🚶🏽‍♂️", + ["man_walking_tone4"] = "🚶🏾‍♂️", + ["man_walking_medium_dark_skin_tone"] = "🚶🏾‍♂️", + ["man_walking_tone5"] = "🚶🏿‍♂️", + ["man_walking_dark_skin_tone"] = "🚶🏿‍♂️", + ["person_with_probing_cane"] = "🧑‍🦯", + ["person_with_probing_cane_tone1"] = "🧑🏻‍🦯", + ["person_with_probing_cane_light_skin_tone"] = "🧑🏻‍🦯", + ["person_with_probing_cane_tone2"] = "🧑🏼‍🦯", + ["person_with_probing_cane_medium_light_skin_tone"] = "🧑🏼‍🦯", + ["person_with_probing_cane_tone3"] = "🧑🏽‍🦯", + ["person_with_probing_cane_medium_skin_tone"] = "🧑🏽‍🦯", + ["person_with_probing_cane_tone4"] = "🧑🏾‍🦯", + ["person_with_probing_cane_medium_dark_skin_tone"] = "🧑🏾‍🦯", + ["person_with_probing_cane_tone5"] = "🧑🏿‍🦯", + ["person_with_probing_cane_dark_skin_tone"] = "🧑🏿‍🦯", + ["woman_with_probing_cane"] = "👩‍🦯", + ["woman_with_probing_cane_tone1"] = "👩🏻‍🦯", + ["woman_with_probing_cane_light_skin_tone"] = "👩🏻‍🦯", + ["woman_with_probing_cane_tone2"] = "👩🏼‍🦯", + ["woman_with_probing_cane_medium_light_skin_tone"] = "👩🏼‍🦯", + ["woman_with_probing_cane_tone3"] = "👩🏽‍🦯", + ["woman_with_probing_cane_medium_skin_tone"] = "👩🏽‍🦯", + ["woman_with_probing_cane_tone4"] = "👩🏾‍🦯", + ["woman_with_probing_cane_medium_dark_skin_tone"] = "👩🏾‍🦯", + ["woman_with_probing_cane_tone5"] = "👩🏿‍🦯", + ["woman_with_probing_cane_dark_skin_tone"] = "👩🏿‍🦯", + ["man_with_probing_cane"] = "👨‍🦯", + ["man_with_probing_cane_tone1"] = "👨🏻‍🦯", + ["man_with_probing_cane_light_skin_tone"] = "👨🏻‍🦯", + ["man_with_probing_cane_tone3"] = "👨🏽‍🦯", + ["man_with_probing_cane_medium_skin_tone"] = "👨🏽‍🦯", + ["man_with_probing_cane_tone2"] = "👨🏼‍🦯", + ["man_with_probing_cane_medium_light_skin_tone"] = "👨🏼‍🦯", + ["man_with_probing_cane_tone4"] = "👨🏾‍🦯", + ["man_with_probing_cane_medium_dark_skin_tone"] = "👨🏾‍🦯", + ["man_with_probing_cane_tone5"] = "👨🏿‍🦯", + ["man_with_probing_cane_dark_skin_tone"] = "👨🏿‍🦯", + ["person_kneeling"] = "🧎", + ["person_kneeling_tone1"] = "🧎🏻", + ["person_kneeling_light_skin_tone"] = "🧎🏻", + ["person_kneeling_tone2"] = "🧎🏼", + ["person_kneeling_medium_light_skin_tone"] = "🧎🏼", + ["person_kneeling_tone3"] = "🧎🏽", + ["person_kneeling_medium_skin_tone"] = "🧎🏽", + ["person_kneeling_tone4"] = "🧎🏾", + ["person_kneeling_medium_dark_skin_tone"] = "🧎🏾", + ["person_kneeling_tone5"] = "🧎🏿", + ["person_kneeling_dark_skin_tone"] = "🧎🏿", + ["woman_kneeling"] = "🧎‍♀️", + ["woman_kneeling_tone1"] = "🧎🏻‍♀️", + ["woman_kneeling_light_skin_tone"] = "🧎🏻‍♀️", + ["woman_kneeling_tone2"] = "🧎🏼‍♀️", + ["woman_kneeling_medium_light_skin_tone"] = "🧎🏼‍♀️", + ["woman_kneeling_tone3"] = "🧎🏽‍♀️", + ["woman_kneeling_medium_skin_tone"] = "🧎🏽‍♀️", + ["woman_kneeling_tone4"] = "🧎🏾‍♀️", + ["woman_kneeling_medium_dark_skin_tone"] = "🧎🏾‍♀️", + ["woman_kneeling_tone5"] = "🧎🏿‍♀️", + ["woman_kneeling_dark_skin_tone"] = "🧎🏿‍♀️", + ["man_kneeling"] = "🧎‍♂️", + ["man_kneeling_tone1"] = "🧎🏻‍♂️", + ["man_kneeling_light_skin_tone"] = "🧎🏻‍♂️", + ["man_kneeling_tone2"] = "🧎🏼‍♂️", + ["man_kneeling_medium_light_skin_tone"] = "🧎🏼‍♂️", + ["man_kneeling_tone3"] = "🧎🏽‍♂️", + ["man_kneeling_medium_skin_tone"] = "🧎🏽‍♂️", + ["man_kneeling_tone4"] = "🧎🏾‍♂️", + ["man_kneeling_medium_dark_skin_tone"] = "🧎🏾‍♂️", + ["man_kneeling_tone5"] = "🧎🏿‍♂️", + ["man_kneeling_dark_skin_tone"] = "🧎🏿‍♂️", + ["person_running"] = "🏃", + ["runner"] = "🏃", + ["person_running_tone1"] = "🏃🏻", + ["runner_tone1"] = "🏃🏻", + ["person_running_tone2"] = "🏃🏼", + ["runner_tone2"] = "🏃🏼", + ["person_running_tone3"] = "🏃🏽", + ["runner_tone3"] = "🏃🏽", + ["person_running_tone4"] = "🏃🏾", + ["runner_tone4"] = "🏃🏾", + ["person_running_tone5"] = "🏃🏿", + ["runner_tone5"] = "🏃🏿", + ["woman_running"] = "🏃‍♀️", + ["woman_running_tone1"] = "🏃🏻‍♀️", + ["woman_running_light_skin_tone"] = "🏃🏻‍♀️", + ["woman_running_tone2"] = "🏃🏼‍♀️", + ["woman_running_medium_light_skin_tone"] = "🏃🏼‍♀️", + ["woman_running_tone3"] = "🏃🏽‍♀️", + ["woman_running_medium_skin_tone"] = "🏃🏽‍♀️", + ["woman_running_tone4"] = "🏃🏾‍♀️", + ["woman_running_medium_dark_skin_tone"] = "🏃🏾‍♀️", + ["woman_running_tone5"] = "🏃🏿‍♀️", + ["woman_running_dark_skin_tone"] = "🏃🏿‍♀️", + ["man_running"] = "🏃‍♂️", + ["man_running_tone1"] = "🏃🏻‍♂️", + ["man_running_light_skin_tone"] = "🏃🏻‍♂️", + ["man_running_tone2"] = "🏃🏼‍♂️", + ["man_running_medium_light_skin_tone"] = "🏃🏼‍♂️", + ["man_running_tone3"] = "🏃🏽‍♂️", + ["man_running_medium_skin_tone"] = "🏃🏽‍♂️", + ["man_running_tone4"] = "🏃🏾‍♂️", + ["man_running_medium_dark_skin_tone"] = "🏃🏾‍♂️", + ["man_running_tone5"] = "🏃🏿‍♂️", + ["man_running_dark_skin_tone"] = "🏃🏿‍♂️", + ["person_standing"] = "🧍", + ["person_standing_tone1"] = "🧍🏻", + ["person_standing_light_skin_tone"] = "🧍🏻", + ["person_standing_tone2"] = "🧍🏼", + ["person_standing_medium_light_skin_tone"] = "🧍🏼", + ["person_standing_tone3"] = "🧍🏽", + ["person_standing_medium_skin_tone"] = "🧍🏽", + ["person_standing_tone4"] = "🧍🏾", + ["person_standing_medium_dark_skin_tone"] = "🧍🏾", + ["person_standing_tone5"] = "🧍🏿", + ["person_standing_dark_skin_tone"] = "🧍🏿", + ["woman_standing"] = "🧍‍♀️", + ["woman_standing_tone1"] = "🧍🏻‍♀️", + ["woman_standing_light_skin_tone"] = "🧍🏻‍♀️", + ["woman_standing_tone2"] = "🧍🏼‍♀️", + ["woman_standing_medium_light_skin_tone"] = "🧍🏼‍♀️", + ["woman_standing_tone3"] = "🧍🏽‍♀️", + ["woman_standing_medium_skin_tone"] = "🧍🏽‍♀️", + ["woman_standing_tone4"] = "🧍🏾‍♀️", + ["woman_standing_medium_dark_skin_tone"] = "🧍🏾‍♀️", + ["woman_standing_tone5"] = "🧍🏿‍♀️", + ["woman_standing_dark_skin_tone"] = "🧍🏿‍♀️", + ["man_standing"] = "🧍‍♂️", + ["man_standing_tone1"] = "🧍🏻‍♂️", + ["man_standing_light_skin_tone"] = "🧍🏻‍♂️", + ["man_standing_tone2"] = "🧍🏼‍♂️", + ["man_standing_medium_light_skin_tone"] = "🧍🏼‍♂️", + ["man_standing_tone3"] = "🧍🏽‍♂️", + ["man_standing_medium_skin_tone"] = "🧍🏽‍♂️", + ["man_standing_tone4"] = "🧍🏾‍♂️", + ["man_standing_medium_dark_skin_tone"] = "🧍🏾‍♂️", + ["man_standing_tone5"] = "🧍🏿‍♂️", + ["man_standing_dark_skin_tone"] = "🧍🏿‍♂️", + ["people_holding_hands"] = "🧑‍🤝‍🧑", + ["people_holding_hands_tone1"] = "🧑🏻‍🤝‍🧑🏻", + ["people_holding_hands_light_skin_tone"] = "🧑🏻‍🤝‍🧑🏻", + ["people_holding_hands_tone1_tone2"] = "🧑🏻‍🤝‍🧑🏼", + ["people_holding_hands_light_skin_tone_medium_light_skin_tone"] = "🧑🏻‍🤝‍🧑🏼", + ["people_holding_hands_tone1_tone3"] = "🧑🏻‍🤝‍🧑🏽", + ["people_holding_hands_light_skin_tone_medium_skin_tone"] = "🧑🏻‍🤝‍🧑🏽", + ["people_holding_hands_tone1_tone4"] = "🧑🏻‍🤝‍🧑🏾", + ["people_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "🧑🏻‍🤝‍🧑🏾", + ["people_holding_hands_tone1_tone5"] = "🧑🏻‍🤝‍🧑🏿", + ["people_holding_hands_light_skin_tone_dark_skin_tone"] = "🧑🏻‍🤝‍🧑🏿", + ["people_holding_hands_tone2_tone1"] = "🧑🏼‍🤝‍🧑🏻", + ["people_holding_hands_medium_light_skin_tone_light_skin_tone"] = "🧑🏼‍🤝‍🧑🏻", + ["people_holding_hands_tone2"] = "🧑🏼‍🤝‍🧑🏼", + ["people_holding_hands_medium_light_skin_tone"] = "🧑🏼‍🤝‍🧑🏼", + ["people_holding_hands_tone2_tone3"] = "🧑🏼‍🤝‍🧑🏽", + ["people_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "🧑🏼‍🤝‍🧑🏽", + ["people_holding_hands_tone2_tone4"] = "🧑🏼‍🤝‍🧑🏾", + ["people_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "🧑🏼‍🤝‍🧑🏾", + ["people_holding_hands_tone2_tone5"] = "🧑🏼‍🤝‍🧑🏿", + ["people_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "🧑🏼‍🤝‍🧑🏿", + ["people_holding_hands_tone3_tone1"] = "🧑🏽‍🤝‍🧑🏻", + ["people_holding_hands_medium_skin_tone_light_skin_tone"] = "🧑🏽‍🤝‍🧑🏻", + ["people_holding_hands_tone3_tone2"] = "🧑🏽‍🤝‍🧑🏼", + ["people_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "🧑🏽‍🤝‍🧑🏼", + ["people_holding_hands_tone3"] = "🧑🏽‍🤝‍🧑🏽", + ["people_holding_hands_medium_skin_tone"] = "🧑🏽‍🤝‍🧑🏽", + ["people_holding_hands_tone3_tone4"] = "🧑🏽‍🤝‍🧑🏾", + ["people_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "🧑🏽‍🤝‍🧑🏾", + ["people_holding_hands_tone3_tone5"] = "🧑🏽‍🤝‍🧑🏿", + ["people_holding_hands_medium_skin_tone_dark_skin_tone"] = "🧑🏽‍🤝‍🧑🏿", + ["people_holding_hands_tone4_tone1"] = "🧑🏾‍🤝‍🧑🏻", + ["people_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "🧑🏾‍🤝‍🧑🏻", + ["people_holding_hands_tone4_tone2"] = "🧑🏾‍🤝‍🧑🏼", + ["people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "🧑🏾‍🤝‍🧑🏼", + ["people_holding_hands_tone4_tone3"] = "🧑🏾‍🤝‍🧑🏽", + ["people_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "🧑🏾‍🤝‍🧑🏽", + ["people_holding_hands_tone4"] = "🧑🏾‍🤝‍🧑🏾", + ["people_holding_hands_medium_dark_skin_tone"] = "🧑🏾‍🤝‍🧑🏾", + ["people_holding_hands_tone4_tone5"] = "🧑🏾‍🤝‍🧑🏿", + ["people_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "🧑🏾‍🤝‍🧑🏿", + ["people_holding_hands_tone5_tone1"] = "🧑🏿‍🤝‍🧑🏻", + ["people_holding_hands_dark_skin_tone_light_skin_tone"] = "🧑🏿‍🤝‍🧑🏻", + ["people_holding_hands_tone5_tone2"] = "🧑🏿‍🤝‍🧑🏼", + ["people_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "🧑🏿‍🤝‍🧑🏼", + ["people_holding_hands_tone5_tone3"] = "🧑🏿‍🤝‍🧑🏽", + ["people_holding_hands_dark_skin_tone_medium_skin_tone"] = "🧑🏿‍🤝‍🧑🏽", + ["people_holding_hands_tone5_tone4"] = "🧑🏿‍🤝‍🧑🏾", + ["people_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "🧑🏿‍🤝‍🧑🏾", + ["people_holding_hands_tone5"] = "🧑🏿‍🤝‍🧑🏿", + ["people_holding_hands_dark_skin_tone"] = "🧑🏿‍🤝‍🧑🏿", + ["couple"] = "👫", + ["woman_and_man_holding_hands_tone1"] = "👫🏻", + ["woman_and_man_holding_hands_light_skin_tone"] = "👫🏻", + ["woman_and_man_holding_hands_tone1_tone2"] = "👩🏻‍🤝‍👨🏼", + ["woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍🤝‍👨🏼", + ["woman_and_man_holding_hands_tone1_tone3"] = "👩🏻‍🤝‍👨🏽", + ["woman_and_man_holding_hands_light_skin_tone_medium_skin_tone"] = "👩🏻‍🤝‍👨🏽", + ["woman_and_man_holding_hands_tone1_tone4"] = "👩🏻‍🤝‍👨🏾", + ["woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍🤝‍👨🏾", + ["woman_and_man_holding_hands_tone1_tone5"] = "👩🏻‍🤝‍👨🏿", + ["woman_and_man_holding_hands_light_skin_tone_dark_skin_tone"] = "👩🏻‍🤝‍👨🏿", + ["woman_and_man_holding_hands_tone2_tone1"] = "👩🏼‍🤝‍👨🏻", + ["woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍🤝‍👨🏻", + ["woman_and_man_holding_hands_tone2"] = "👫🏼", + ["woman_and_man_holding_hands_medium_light_skin_tone"] = "👫🏼", + ["woman_and_man_holding_hands_tone2_tone3"] = "👩🏼‍🤝‍👨🏽", + ["woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone"] = + "👩🏼‍🤝‍👨🏽", + ["woman_and_man_holding_hands_tone2_tone4"] = "👩🏼‍🤝‍👨🏾", + ["woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = + "👩🏼‍🤝‍👨🏾", + ["woman_and_man_holding_hands_tone2_tone5"] = "👩🏼‍🤝‍👨🏿", + ["woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍🤝‍👨🏿", + ["woman_and_man_holding_hands_tone3_tone1"] = "👩🏽‍🤝‍👨🏻", + ["woman_and_man_holding_hands_medium_skin_tone_light_skin_tone"] = "👩🏽‍🤝‍👨🏻", + ["woman_and_man_holding_hands_tone3_tone2"] = "👩🏽‍🤝‍👨🏼", + ["woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone"] = + "👩🏽‍🤝‍👨🏼", + ["woman_and_man_holding_hands_tone3"] = "👫🏽", + ["woman_and_man_holding_hands_medium_skin_tone"] = "👫🏽", + ["woman_and_man_holding_hands_tone3_tone4"] = "👩🏽‍🤝‍👨🏾", + ["woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍🤝‍👨🏾", + ["woman_and_man_holding_hands_tone3_tone5"] = "👩🏽‍🤝‍👨🏿", + ["woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone"] = "👩🏽‍🤝‍👨🏿", + ["woman_and_man_holding_hands_tone4_tone1"] = "👩🏾‍🤝‍👨🏻", + ["woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍🤝‍👨🏻", + ["woman_and_man_holding_hands_tone4_tone2"] = "👩🏾‍🤝‍👨🏼", + ["woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = + "👩🏾‍🤝‍👨🏼", + ["woman_and_man_holding_hands_tone4_tone3"] = "👩🏾‍🤝‍👨🏽", + ["woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍🤝‍👨🏽", + ["woman_and_man_holding_hands_tone4"] = "👫🏾", + ["woman_and_man_holding_hands_medium_dark_skin_tone"] = "👫🏾", + ["woman_and_man_holding_hands_tone4_tone5"] = "👩🏾‍🤝‍👨🏿", + ["woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍🤝‍👨🏿", + ["woman_and_man_holding_hands_tone5_tone1"] = "👩🏿‍🤝‍👨🏻", + ["woman_and_man_holding_hands_dark_skin_tone_light_skin_tone"] = "👩🏿‍🤝‍👨🏻", + ["woman_and_man_holding_hands_tone5_tone2"] = "👩🏿‍🤝‍👨🏼", + ["woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍🤝‍👨🏼", + ["woman_and_man_holding_hands_tone5_tone3"] = "👩🏿‍🤝‍👨🏽", + ["woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone"] = "👩🏿‍🤝‍👨🏽", + ["woman_and_man_holding_hands_tone5_tone4"] = "👩🏿‍🤝‍👨🏾", + ["woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍🤝‍👨🏾", + ["woman_and_man_holding_hands_tone5"] = "👫🏿", + ["woman_and_man_holding_hands_dark_skin_tone"] = "👫🏿", + ["two_women_holding_hands"] = "👭", + ["women_holding_hands_tone1"] = "👭🏻", + ["women_holding_hands_light_skin_tone"] = "👭🏻", + ["women_holding_hands_tone1_tone2"] = "👩🏻‍🤝‍👩🏼", + ["women_holding_hands_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍🤝‍👩🏼", + ["women_holding_hands_tone1_tone3"] = "👩🏻‍🤝‍👩🏽", + ["women_holding_hands_light_skin_tone_medium_skin_tone"] = "👩🏻‍🤝‍👩🏽", + ["women_holding_hands_tone1_tone4"] = "👩🏻‍🤝‍👩🏾", + ["women_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍🤝‍👩🏾", + ["women_holding_hands_tone1_tone5"] = "👩🏻‍🤝‍👩🏿", + ["women_holding_hands_light_skin_tone_dark_skin_tone"] = "👩🏻‍🤝‍👩🏿", + ["women_holding_hands_tone2_tone1"] = "👩🏼‍🤝‍👩🏻", + ["women_holding_hands_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍🤝‍👩🏻", + ["women_holding_hands_tone2"] = "👭🏼", + ["women_holding_hands_medium_light_skin_tone"] = "👭🏼", + ["women_holding_hands_tone2_tone3"] = "👩🏼‍🤝‍👩🏽", + ["women_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍🤝‍👩🏽", + ["women_holding_hands_tone2_tone4"] = "👩🏼‍🤝‍👩🏾", + ["women_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍🤝‍👩🏾", + ["women_holding_hands_tone2_tone5"] = "👩🏼‍🤝‍👩🏿", + ["women_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍🤝‍👩🏿", + ["women_holding_hands_tone3_tone1"] = "👩🏽‍🤝‍👩🏻", + ["women_holding_hands_medium_skin_tone_light_skin_tone"] = "👩🏽‍🤝‍👩🏻", + ["women_holding_hands_tone3_tone2"] = "👩🏽‍🤝‍👩🏼", + ["women_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍🤝‍👩🏼", + ["women_holding_hands_tone3"] = "👭🏽", + ["women_holding_hands_medium_skin_tone"] = "👭🏽", + ["women_holding_hands_tone3_tone4"] = "👩🏽‍🤝‍👩🏾", + ["women_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍🤝‍👩🏾", + ["women_holding_hands_tone3_tone5"] = "👩🏽‍🤝‍👩🏿", + ["women_holding_hands_medium_skin_tone_dark_skin_tone"] = "👩🏽‍🤝‍👩🏿", + ["women_holding_hands_tone4_tone1"] = "👩🏾‍🤝‍👩🏻", + ["women_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍🤝‍👩🏻", + ["women_holding_hands_tone4_tone2"] = "👩🏾‍🤝‍👩🏼", + ["women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍🤝‍👩🏼", + ["women_holding_hands_tone4_tone3"] = "👩🏾‍🤝‍👩🏽", + ["women_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍🤝‍👩🏽", + ["women_holding_hands_tone4"] = "👭🏾", + ["women_holding_hands_medium_dark_skin_tone"] = "👭🏾", + ["women_holding_hands_tone4_tone5"] = "👩🏾‍🤝‍👩🏿", + ["women_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍🤝‍👩🏿", + ["women_holding_hands_tone5_tone1"] = "👩🏿‍🤝‍👩🏻", + ["women_holding_hands_dark_skin_tone_light_skin_tone"] = "👩🏿‍🤝‍👩🏻", + ["women_holding_hands_tone5_tone2"] = "👩🏿‍🤝‍👩🏼", + ["women_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍🤝‍👩🏼", + ["women_holding_hands_tone5_tone3"] = "👩🏿‍🤝‍👩🏽", + ["women_holding_hands_dark_skin_tone_medium_skin_tone"] = "👩🏿‍🤝‍👩🏽", + ["women_holding_hands_tone5_tone4"] = "👩🏿‍🤝‍👩🏾", + ["women_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍🤝‍👩🏾", + ["women_holding_hands_tone5"] = "👭🏿", + ["women_holding_hands_dark_skin_tone"] = "👭🏿", + ["two_men_holding_hands"] = "👬", + ["men_holding_hands_tone1"] = "👬🏻", + ["men_holding_hands_light_skin_tone"] = "👬🏻", + ["men_holding_hands_tone1_tone2"] = "👨🏻‍🤝‍👨🏼", + ["men_holding_hands_light_skin_tone_medium_light_skin_tone"] = "👨🏻‍🤝‍👨🏼", + ["men_holding_hands_tone1_tone3"] = "👨🏻‍🤝‍👨🏽", + ["men_holding_hands_light_skin_tone_medium_skin_tone"] = "👨🏻‍🤝‍👨🏽", + ["men_holding_hands_tone1_tone4"] = "👨🏻‍🤝‍👨🏾", + ["men_holding_hands_light_skin_tone_medium_dark_skin_tone"] = "👨🏻‍🤝‍👨🏾", + ["men_holding_hands_tone1_tone5"] = "👨🏻‍🤝‍👨🏿", + ["men_holding_hands_light_skin_tone_dark_skin_tone"] = "👨🏻‍🤝‍👨🏿", + ["men_holding_hands_tone2_tone1"] = "👨🏼‍🤝‍👨🏻", + ["men_holding_hands_medium_light_skin_tone_light_skin_tone"] = "👨🏼‍🤝‍👨🏻", + ["men_holding_hands_tone2"] = "👬🏼", + ["men_holding_hands_medium_light_skin_tone"] = "👬🏼", + ["men_holding_hands_tone2_tone3"] = "👨🏼‍🤝‍👨🏽", + ["men_holding_hands_medium_light_skin_tone_medium_skin_tone"] = "👨🏼‍🤝‍👨🏽", + ["men_holding_hands_tone2_tone4"] = "👨🏼‍🤝‍👨🏾", + ["men_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"] = "👨🏼‍🤝‍👨🏾", + ["men_holding_hands_tone2_tone5"] = "👨🏼‍🤝‍👨🏿", + ["men_holding_hands_medium_light_skin_tone_dark_skin_tone"] = "👨🏼‍🤝‍👨🏿", + ["men_holding_hands_tone3_tone1"] = "👨🏽‍🤝‍👨🏻", + ["men_holding_hands_medium_skin_tone_light_skin_tone"] = "👨🏽‍🤝‍👨🏻", + ["men_holding_hands_tone3_tone2"] = "👨🏽‍🤝‍👨🏼", + ["men_holding_hands_medium_skin_tone_medium_light_skin_tone"] = "👨🏽‍🤝‍👨🏼", + ["men_holding_hands_tone3"] = "👬🏽", + ["men_holding_hands_medium_skin_tone"] = "👬🏽", + ["men_holding_hands_tone3_tone4"] = "👨🏽‍🤝‍👨🏾", + ["men_holding_hands_medium_skin_tone_medium_dark_skin_tone"] = "👨🏽‍🤝‍👨🏾", + ["men_holding_hands_tone3_tone5"] = "👨🏽‍🤝‍👨🏿", + ["men_holding_hands_medium_skin_tone_dark_skin_tone"] = "👨🏽‍🤝‍👨🏿", + ["men_holding_hands_tone4_tone1"] = "👨🏾‍🤝‍👨🏻", + ["men_holding_hands_medium_dark_skin_tone_light_skin_tone"] = "👨🏾‍🤝‍👨🏻", + ["men_holding_hands_tone4_tone2"] = "👨🏾‍🤝‍👨🏼", + ["men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"] = "👨🏾‍🤝‍👨🏼", + ["men_holding_hands_tone4_tone3"] = "👨🏾‍🤝‍👨🏽", + ["men_holding_hands_medium_dark_skin_tone_medium_skin_tone"] = "👨🏾‍🤝‍👨🏽", + ["men_holding_hands_tone4"] = "👬🏾", + ["men_holding_hands_medium_dark_skin_tone"] = "👬🏾", + ["men_holding_hands_tone4_tone5"] = "👨🏾‍🤝‍👨🏿", + ["men_holding_hands_medium_dark_skin_tone_dark_skin_tone"] = "👨🏾‍🤝‍👨🏿", + ["men_holding_hands_tone5_tone1"] = "👨🏿‍🤝‍👨🏻", + ["men_holding_hands_dark_skin_tone_light_skin_tone"] = "👨🏿‍🤝‍👨🏻", + ["men_holding_hands_tone5_tone2"] = "👨🏿‍🤝‍👨🏼", + ["men_holding_hands_dark_skin_tone_medium_light_skin_tone"] = "👨🏿‍🤝‍👨🏼", + ["men_holding_hands_tone5_tone3"] = "👨🏿‍🤝‍👨🏽", + ["men_holding_hands_dark_skin_tone_medium_skin_tone"] = "👨🏿‍🤝‍👨🏽", + ["men_holding_hands_tone5_tone4"] = "👨🏿‍🤝‍👨🏾", + ["men_holding_hands_dark_skin_tone_medium_dark_skin_tone"] = "👨🏿‍🤝‍👨🏾", + ["men_holding_hands_tone5"] = "👬🏿", + ["men_holding_hands_dark_skin_tone"] = "👬🏿", + ["couple_with_heart"] = "💑", + ["couple_with_heart_tone1"] = "💑🏻", + ["couple_with_heart_light_skin_tone"] = "💑🏻", + ["couple_with_heart_person_person_tone1_tone2"] = "🧑🏻‍❤️‍🧑🏼", + ["couple_with_heart_person_person_light_skin_tone_medium_light_skin_tone"] = + "🧑🏻‍❤️‍🧑🏼", + ["couple_with_heart_person_person_tone1_tone3"] = "🧑🏻‍❤️‍🧑🏽", + ["couple_with_heart_person_person_light_skin_tone_medium_skin_tone"] = "🧑🏻‍❤️‍🧑🏽", + ["couple_with_heart_person_person_tone1_tone4"] = "🧑🏻‍❤️‍🧑🏾", + ["couple_with_heart_person_person_light_skin_tone_medium_dark_skin_tone"] = + "🧑🏻‍❤️‍🧑🏾", + ["couple_with_heart_person_person_tone1_tone5"] = "🧑🏻‍❤️‍🧑🏿", + ["couple_with_heart_person_person_light_skin_tone_dark_skin_tone"] = "🧑🏻‍❤️‍🧑🏿", + ["couple_with_heart_person_person_tone2_tone1"] = "🧑🏼‍❤️‍🧑🏻", + ["couple_with_heart_person_person_medium_light_skin_tone_light_skin_tone"] = + "🧑🏼‍❤️‍🧑🏻", + ["couple_with_heart_tone2"] = "💑🏼", + ["couple_with_heart_medium_light_skin_tone"] = "💑🏼", + ["couple_with_heart_person_person_tone2_tone3"] = "🧑🏼‍❤️‍🧑🏽", + ["couple_with_heart_person_person_medium_light_skin_tone_medium_skin_tone"] = + "🧑🏼‍❤️‍🧑🏽", + ["couple_with_heart_person_person_tone2_tone4"] = "🧑🏼‍❤️‍🧑🏾", + ["couple_with_heart_person_person_medium_light_skin_tone_medium_dark_skin_tone"] = + "🧑🏼‍❤️‍🧑🏾", + ["couple_with_heart_person_person_tone2_tone5"] = "🧑🏼‍❤️‍🧑🏿", + ["couple_with_heart_person_person_medium_light_skin_tone_dark_skin_tone"] = + "🧑🏼‍❤️‍🧑🏿", + ["couple_with_heart_person_person_tone3_tone1"] = "🧑🏽‍❤️‍🧑🏻", + ["couple_with_heart_person_person_medium_skin_tone_light_skin_tone"] = "🧑🏽‍❤️‍🧑🏻", + ["couple_with_heart_person_person_tone3_tone2"] = "🧑🏽‍❤️‍🧑🏼", + ["couple_with_heart_person_person_medium_skin_tone_medium_light_skin_tone"] = + "🧑🏽‍❤️‍🧑🏼", + ["couple_with_heart_tone3"] = "💑🏽", + ["couple_with_heart_medium_skin_tone"] = "💑🏽", + ["couple_with_heart_person_person_tone3_tone4"] = "🧑🏽‍❤️‍🧑🏾", + ["couple_with_heart_person_person_medium_skin_tone_medium_dark_skin_tone"] = + "🧑🏽‍❤️‍🧑🏾", + ["couple_with_heart_person_person_tone3_tone5"] = "🧑🏽‍❤️‍🧑🏿", + ["couple_with_heart_person_person_medium_skin_tone_dark_skin_tone"] = "🧑🏽‍❤️‍🧑🏿", + ["couple_with_heart_person_person_tone4_tone1"] = "🧑🏾‍❤️‍🧑🏻", + ["couple_with_heart_person_person_medium_dark_skin_tone_light_skin_tone"] = + "🧑🏾‍❤️‍🧑🏻", + ["couple_with_heart_person_person_tone4_tone2"] = "🧑🏾‍❤️‍🧑🏼", + ["couple_with_heart_person_person_medium_dark_skin_tone_medium_light_skin_tone"] = + "🧑🏾‍❤️‍🧑🏼", + ["couple_with_heart_person_person_tone4_tone3"] = "🧑🏾‍❤️‍🧑🏽", + ["couple_with_heart_person_person_medium_dark_skin_tone_medium_skin_tone"] = + "🧑🏾‍❤️‍🧑🏽", + ["couple_with_heart_tone4"] = "💑🏾", + ["couple_with_heart_medium_dark_skin_tone"] = "💑🏾", + ["couple_with_heart_person_person_tone4_tone5"] = "🧑🏾‍❤️‍🧑🏿", + ["couple_with_heart_person_person_medium_dark_skin_tone_dark_skin_tone"] = + "🧑🏾‍❤️‍🧑🏿", + ["couple_with_heart_person_person_tone5_tone1"] = "🧑🏿‍❤️‍🧑🏻", + ["couple_with_heart_person_person_dark_skin_tone_light_skin_tone"] = "🧑🏿‍❤️‍🧑🏻", + ["couple_with_heart_person_person_tone5_tone2"] = "🧑🏿‍❤️‍🧑🏼", + ["couple_with_heart_person_person_dark_skin_tone_medium_light_skin_tone"] = + "🧑🏿‍❤️‍🧑🏼", + ["couple_with_heart_person_person_tone5_tone3"] = "🧑🏿‍❤️‍🧑🏽", + ["couple_with_heart_person_person_dark_skin_tone_medium_skin_tone"] = "🧑🏿‍❤️‍🧑🏽", + ["couple_with_heart_person_person_tone5_tone4"] = "🧑🏿‍❤️‍🧑🏾", + ["couple_with_heart_person_person_dark_skin_tone_medium_dark_skin_tone"] = + "🧑🏿‍❤️‍🧑🏾", + ["couple_with_heart_tone5"] = "💑🏿", + ["couple_with_heart_dark_skin_tone"] = "💑🏿", + ["couple_with_heart_woman_man"] = "👩‍❤️‍👨", + ["couple_with_heart_woman_man_tone1"] = "👩🏻‍❤️‍👨🏻", + ["couple_with_heart_woman_man_light_skin_tone"] = "👩🏻‍❤️‍👨🏻", + ["couple_with_heart_woman_man_tone1_tone2"] = "👩🏻‍❤️‍👨🏼", + ["couple_with_heart_woman_man_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍👨🏼", + ["couple_with_heart_woman_man_tone1_tone3"] = "👩🏻‍❤️‍👨🏽", + ["couple_with_heart_woman_man_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍👨🏽", + ["couple_with_heart_woman_man_tone1_tone4"] = "👩🏻‍❤️‍👨🏾", + ["couple_with_heart_woman_man_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍👨🏾", + ["couple_with_heart_woman_man_tone1_tone5"] = "👩🏻‍❤️‍👨🏿", + ["couple_with_heart_woman_man_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍👨🏿", + ["couple_with_heart_woman_man_tone2_tone1"] = "👩🏼‍❤️‍👨🏻", + ["couple_with_heart_woman_man_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍👨🏻", + ["couple_with_heart_woman_man_tone2"] = "👩🏼‍❤️‍👨🏼", + ["couple_with_heart_woman_man_medium_light_skin_tone"] = "👩🏼‍❤️‍👨🏼", + ["couple_with_heart_woman_man_tone2_tone3"] = "👩🏼‍❤️‍👨🏽", + ["couple_with_heart_woman_man_medium_light_skin_tone_medium_skin_tone"] = + "👩🏼‍❤️‍👨🏽", + ["couple_with_heart_woman_man_tone2_tone4"] = "👩🏼‍❤️‍👨🏾", + ["couple_with_heart_woman_man_medium_light_skin_tone_medium_dark_skin_tone"] = + "👩🏼‍❤️‍👨🏾", + ["couple_with_heart_woman_man_tone2_tone5"] = "👩🏼‍❤️‍👨🏿", + ["couple_with_heart_woman_man_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍👨🏿", + ["couple_with_heart_woman_man_tone3_tone1"] = "👩🏽‍❤️‍👨🏻", + ["couple_with_heart_woman_man_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍👨🏻", + ["couple_with_heart_woman_man_tone3_tone2"] = "👩🏽‍❤️‍👨🏼", + ["couple_with_heart_woman_man_medium_skin_tone_medium_light_skin_tone"] = + "👩🏽‍❤️‍👨🏼", + ["couple_with_heart_woman_man_tone3"] = "👩🏽‍❤️‍👨🏽", + ["couple_with_heart_woman_man_medium_skin_tone"] = "👩🏽‍❤️‍👨🏽", + ["couple_with_heart_woman_man_tone3_tone4"] = "👩🏽‍❤️‍👨🏾", + ["couple_with_heart_woman_man_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍👨🏾", + ["couple_with_heart_woman_man_tone3_tone5"] = "👩🏽‍❤️‍👨🏿", + ["couple_with_heart_woman_man_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍👨🏿", + ["couple_with_heart_woman_man_tone4_tone1"] = "👩🏾‍❤️‍👨🏻", + ["couple_with_heart_woman_man_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍👨🏻", + ["couple_with_heart_woman_man_tone4_tone2"] = "👩🏾‍❤️‍👨🏼", + ["couple_with_heart_woman_man_medium_dark_skin_tone_medium_light_skin_tone"] = + "👩🏾‍❤️‍👨🏼", + ["couple_with_heart_woman_man_tone4_tone3"] = "👩🏾‍❤️‍👨🏽", + ["couple_with_heart_woman_man_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍👨🏽", + ["couple_with_heart_woman_man_tone4"] = "👩🏾‍❤️‍👨🏾", + ["couple_with_heart_woman_man_medium_dark_skin_tone"] = "👩🏾‍❤️‍👨🏾", + ["couple_with_heart_woman_man_tone4_tone5"] = "👩🏾‍❤️‍👨🏿", + ["couple_with_heart_woman_man_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍👨🏿", + ["couple_with_heart_woman_man_tone5_tone1"] = "👩🏿‍❤️‍👨🏻", + ["couple_with_heart_woman_man_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍👨🏻", + ["couple_with_heart_woman_man_tone5_tone2"] = "👩🏿‍❤️‍👨🏼", + ["couple_with_heart_woman_man_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍👨🏼", + ["couple_with_heart_woman_man_tone5_tone3"] = "👩🏿‍❤️‍👨🏽", + ["couple_with_heart_woman_man_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍👨🏽", + ["couple_with_heart_woman_man_tone5_tone4"] = "👩🏿‍❤️‍👨🏾", + ["couple_with_heart_woman_man_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍👨🏾", + ["couple_with_heart_woman_man_tone5"] = "👩🏿‍❤️‍👨🏿", + ["couple_with_heart_woman_man_dark_skin_tone"] = "👩🏿‍❤️‍👨🏿", + ["couple_ww"] = "👩‍❤️‍👩", + ["couple_with_heart_ww"] = "👩‍❤️‍👩", + ["couple_with_heart_woman_woman_tone1"] = "👩🏻‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_light_skin_tone"] = "👩🏻‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_tone1_tone2"] = "👩🏻‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_light_skin_tone_medium_light_skin_tone"] = + "👩🏻‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_tone1_tone3"] = "👩🏻‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_tone1_tone4"] = "👩🏻‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_light_skin_tone_medium_dark_skin_tone"] = + "👩🏻‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_tone1_tone5"] = "👩🏻‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_tone2_tone1"] = "👩🏼‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_medium_light_skin_tone_light_skin_tone"] = + "👩🏼‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_tone2"] = "👩🏼‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_medium_light_skin_tone"] = "👩🏼‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_tone2_tone3"] = "👩🏼‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_medium_light_skin_tone_medium_skin_tone"] = + "👩🏼‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_tone2_tone4"] = "👩🏼‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"] = + "👩🏼‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_tone2_tone5"] = "👩🏼‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_medium_light_skin_tone_dark_skin_tone"] = + "👩🏼‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_tone3_tone1"] = "👩🏽‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_tone3_tone2"] = "👩🏽‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_medium_skin_tone_medium_light_skin_tone"] = + "👩🏽‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_tone3"] = "👩🏽‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_medium_skin_tone"] = "👩🏽‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_tone3_tone4"] = "👩🏽‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_medium_skin_tone_medium_dark_skin_tone"] = + "👩🏽‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_tone3_tone5"] = "👩🏽‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_tone4_tone1"] = "👩🏾‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_medium_dark_skin_tone_light_skin_tone"] = + "👩🏾‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_tone4_tone2"] = "👩🏾‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"] = + "👩🏾‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_tone4_tone3"] = "👩🏾‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_medium_dark_skin_tone_medium_skin_tone"] = + "👩🏾‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_tone4"] = "👩🏾‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_medium_dark_skin_tone"] = "👩🏾‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_tone4_tone5"] = "👩🏾‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_tone5_tone1"] = "👩🏿‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍👩🏻", + ["couple_with_heart_woman_woman_tone5_tone2"] = "👩🏿‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_dark_skin_tone_medium_light_skin_tone"] = + "👩🏿‍❤️‍👩🏼", + ["couple_with_heart_woman_woman_tone5_tone3"] = "👩🏿‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍👩🏽", + ["couple_with_heart_woman_woman_tone5_tone4"] = "👩🏿‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍👩🏾", + ["couple_with_heart_woman_woman_tone5"] = "👩🏿‍❤️‍👩🏿", + ["couple_with_heart_woman_woman_dark_skin_tone"] = "👩🏿‍❤️‍👩🏿", + ["couple_mm"] = "👨‍❤️‍👨", + ["couple_with_heart_mm"] = "👨‍❤️‍👨", + ["couple_with_heart_man_man_tone1"] = "👨🏻‍❤️‍👨🏻", + ["couple_with_heart_man_man_light_skin_tone"] = "👨🏻‍❤️‍👨🏻", + ["couple_with_heart_man_man_tone1_tone2"] = "👨🏻‍❤️‍👨🏼", + ["couple_with_heart_man_man_light_skin_tone_medium_light_skin_tone"] = "👨🏻‍❤️‍👨🏼", + ["couple_with_heart_man_man_tone1_tone3"] = "👨🏻‍❤️‍👨🏽", + ["couple_with_heart_man_man_light_skin_tone_medium_skin_tone"] = "👨🏻‍❤️‍👨🏽", + ["couple_with_heart_man_man_tone1_tone4"] = "👨🏻‍❤️‍👨🏾", + ["couple_with_heart_man_man_light_skin_tone_medium_dark_skin_tone"] = "👨🏻‍❤️‍👨🏾", + ["couple_with_heart_man_man_tone1_tone5"] = "👨🏻‍❤️‍👨🏿", + ["couple_with_heart_man_man_light_skin_tone_dark_skin_tone"] = "👨🏻‍❤️‍👨🏿", + ["couple_with_heart_man_man_tone2_tone1"] = "👨🏼‍❤️‍👨🏻", + ["couple_with_heart_man_man_medium_light_skin_tone_light_skin_tone"] = "👨🏼‍❤️‍👨🏻", + ["couple_with_heart_man_man_tone2"] = "👨🏼‍❤️‍👨🏼", + ["couple_with_heart_man_man_medium_light_skin_tone"] = "👨🏼‍❤️‍👨🏼", + ["couple_with_heart_man_man_tone2_tone3"] = "👨🏼‍❤️‍👨🏽", + ["couple_with_heart_man_man_medium_light_skin_tone_medium_skin_tone"] = "👨🏼‍❤️‍👨🏽", + ["couple_with_heart_man_man_tone2_tone4"] = "👨🏼‍❤️‍👨🏾", + ["couple_with_heart_man_man_medium_light_skin_tone_medium_dark_skin_tone"] = + "👨🏼‍❤️‍👨🏾", + ["couple_with_heart_man_man_tone2_tone5"] = "👨🏼‍❤️‍👨🏿", + ["couple_with_heart_man_man_medium_light_skin_tone_dark_skin_tone"] = "👨🏼‍❤️‍👨🏿", + ["couple_with_heart_man_man_tone3_tone1"] = "👨🏽‍❤️‍👨🏻", + ["couple_with_heart_man_man_medium_skin_tone_light_skin_tone"] = "👨🏽‍❤️‍👨🏻", + ["couple_with_heart_man_man_tone3_tone2"] = "👨🏽‍❤️‍👨🏼", + ["couple_with_heart_man_man_medium_skin_tone_medium_light_skin_tone"] = "👨🏽‍❤️‍👨🏼", + ["couple_with_heart_man_man_tone3"] = "👨🏽‍❤️‍👨🏽", + ["couple_with_heart_man_man_medium_skin_tone"] = "👨🏽‍❤️‍👨🏽", + ["couple_with_heart_man_man_tone3_tone4"] = "👨🏽‍❤️‍👨🏾", + ["couple_with_heart_man_man_medium_skin_tone_medium_dark_skin_tone"] = "👨🏽‍❤️‍👨🏾", + ["couple_with_heart_man_man_tone3_tone5"] = "👨🏽‍❤️‍👨🏿", + ["couple_with_heart_man_man_medium_skin_tone_dark_skin_tone"] = "👨🏽‍❤️‍👨🏿", + ["couple_with_heart_man_man_tone4_tone1"] = "👨🏾‍❤️‍👨🏻", + ["couple_with_heart_man_man_medium_dark_skin_tone_light_skin_tone"] = "👨🏾‍❤️‍👨🏻", + ["couple_with_heart_man_man_tone4_tone2"] = "👨🏾‍❤️‍👨🏼", + ["couple_with_heart_man_man_medium_dark_skin_tone_medium_light_skin_tone"] = + "👨🏾‍❤️‍👨🏼", + ["couple_with_heart_man_man_tone4_tone3"] = "👨🏾‍❤️‍👨🏽", + ["couple_with_heart_man_man_medium_dark_skin_tone_medium_skin_tone"] = "👨🏾‍❤️‍👨🏽", + ["couple_with_heart_man_man_tone4"] = "👨🏾‍❤️‍👨🏾", + ["couple_with_heart_man_man_medium_dark_skin_tone"] = "👨🏾‍❤️‍👨🏾", + ["couple_with_heart_man_man_tone4_tone5"] = "👨🏾‍❤️‍👨🏿", + ["couple_with_heart_man_man_medium_dark_skin_tone_dark_skin_tone"] = "👨🏾‍❤️‍👨🏿", + ["couple_with_heart_man_man_tone5_tone1"] = "👨🏿‍❤️‍👨🏻", + ["couple_with_heart_man_man_dark_skin_tone_light_skin_tone"] = "👨🏿‍❤️‍👨🏻", + ["couple_with_heart_man_man_tone5_tone2"] = "👨🏿‍❤️‍👨🏼", + ["couple_with_heart_man_man_dark_skin_tone_medium_light_skin_tone"] = "👨🏿‍❤️‍👨🏼", + ["couple_with_heart_man_man_tone5_tone3"] = "👨🏿‍❤️‍👨🏽", + ["couple_with_heart_man_man_dark_skin_tone_medium_skin_tone"] = "👨🏿‍❤️‍👨🏽", + ["couple_with_heart_man_man_tone5_tone4"] = "👨🏿‍❤️‍👨🏾", + ["couple_with_heart_man_man_dark_skin_tone_medium_dark_skin_tone"] = "👨🏿‍❤️‍👨🏾", + ["couple_with_heart_man_man_tone5"] = "👨🏿‍❤️‍👨🏿", + ["couple_with_heart_man_man_dark_skin_tone"] = "👨🏿‍❤️‍👨🏿", + ["couplekiss"] = "💏", + ["kiss_person_person_tone5_tone4"] = "🧑🏿‍❤️‍💋‍🧑🏾", + ["kiss_person_person_dark_skin_tone_medium_dark_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏾", + ["kiss_tone1"] = "💏🏻", + ["kiss_light_skin_tone"] = "💏🏻", + ["kiss_person_person_tone1_tone2"] = "🧑🏻‍❤️‍💋‍🧑🏼", + ["kiss_person_person_light_skin_tone_medium_light_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏼", + ["kiss_person_person_tone1_tone3"] = "🧑🏻‍❤️‍💋‍🧑🏽", + ["kiss_person_person_light_skin_tone_medium_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏽", + ["kiss_person_person_tone1_tone4"] = "🧑🏻‍❤️‍💋‍🧑🏾", + ["kiss_person_person_light_skin_tone_medium_dark_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏾", + ["kiss_person_person_tone1_tone5"] = "🧑🏻‍❤️‍💋‍🧑🏿", + ["kiss_person_person_light_skin_tone_dark_skin_tone"] = "🧑🏻‍❤️‍💋‍🧑🏿", + ["kiss_person_person_tone2_tone1"] = "🧑🏼‍❤️‍💋‍🧑🏻", + ["kiss_person_person_medium_light_skin_tone_light_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏻", + ["kiss_tone2"] = "💏🏼", + ["kiss_medium_light_skin_tone"] = "💏🏼", + ["kiss_person_person_tone2_tone3"] = "🧑🏼‍❤️‍💋‍🧑🏽", + ["kiss_person_person_medium_light_skin_tone_medium_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏽", + ["kiss_person_person_tone2_tone4"] = "🧑🏼‍❤️‍💋‍🧑🏾", + ["kiss_person_person_medium_light_skin_tone_medium_dark_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏾", + ["kiss_person_person_tone2_tone5"] = "🧑🏼‍❤️‍💋‍🧑🏿", + ["kiss_person_person_medium_light_skin_tone_dark_skin_tone"] = "🧑🏼‍❤️‍💋‍🧑🏿", + ["kiss_person_person_tone3_tone1"] = "🧑🏽‍❤️‍💋‍🧑🏻", + ["kiss_person_person_medium_skin_tone_light_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏻", + ["kiss_person_person_tone3_tone2"] = "🧑🏽‍❤️‍💋‍🧑🏼", + ["kiss_person_person_medium_skin_tone_medium_light_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏼", + ["kiss_tone3"] = "💏🏽", + ["kiss_medium_skin_tone"] = "💏🏽", + ["kiss_person_person_tone3_tone4"] = "🧑🏽‍❤️‍💋‍🧑🏾", + ["kiss_person_person_medium_skin_tone_medium_dark_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏾", + ["kiss_person_person_tone3_tone5"] = "🧑🏽‍❤️‍💋‍🧑🏿", + ["kiss_person_person_medium_skin_tone_dark_skin_tone"] = "🧑🏽‍❤️‍💋‍🧑🏿", + ["kiss_person_person_tone4_tone1"] = "🧑🏾‍❤️‍💋‍🧑🏻", + ["kiss_person_person_medium_dark_skin_tone_light_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏻", + ["kiss_person_person_tone4_tone2"] = "🧑🏾‍❤️‍💋‍🧑🏼", + ["kiss_person_person_medium_dark_skin_tone_medium_light_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏼", + ["kiss_person_person_tone4_tone3"] = "🧑🏾‍❤️‍💋‍🧑🏽", + ["kiss_person_person_medium_dark_skin_tone_medium_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏽", + ["kiss_tone4"] = "💏🏾", + ["kiss_medium_dark_skin_tone"] = "💏🏾", + ["kiss_person_person_tone4_tone5"] = "🧑🏾‍❤️‍💋‍🧑🏿", + ["kiss_person_person_medium_dark_skin_tone_dark_skin_tone"] = "🧑🏾‍❤️‍💋‍🧑🏿", + ["kiss_person_person_tone5_tone1"] = "🧑🏿‍❤️‍💋‍🧑🏻", + ["kiss_person_person_dark_skin_tone_light_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏻", + ["kiss_person_person_tone5_tone2"] = "🧑🏿‍❤️‍💋‍🧑🏼", + ["kiss_person_person_dark_skin_tone_medium_light_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏼", + ["kiss_person_person_tone5_tone3"] = "🧑🏿‍❤️‍💋‍🧑🏽", + ["kiss_person_person_dark_skin_tone_medium_skin_tone"] = "🧑🏿‍❤️‍💋‍🧑🏽", + ["kiss_tone5"] = "💏🏿", + ["kiss_dark_skin_tone"] = "💏🏿", + ["kiss_woman_man"] = "👩‍❤️‍💋‍👨", + ["kiss_woman_man_tone1"] = "👩🏻‍❤️‍💋‍👨🏻", + ["kiss_woman_man_light_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏻", + ["kiss_woman_man_tone1_tone2"] = "👩🏻‍❤️‍💋‍👨🏼", + ["kiss_woman_man_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏼", + ["kiss_woman_man_tone1_tone3"] = "👩🏻‍❤️‍💋‍👨🏽", + ["kiss_woman_man_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏽", + ["kiss_woman_man_tone1_tone4"] = "👩🏻‍❤️‍💋‍👨🏾", + ["kiss_woman_man_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏾", + ["kiss_woman_man_tone1_tone5"] = "👩🏻‍❤️‍💋‍👨🏿", + ["kiss_woman_man_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👨🏿", + ["kiss_woman_man_tone2_tone1"] = "👩🏼‍❤️‍💋‍👨🏻", + ["kiss_woman_man_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏻", + ["kiss_woman_man_tone2"] = "👩🏼‍❤️‍💋‍👨🏼", + ["kiss_woman_man_medium_light_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏼", + ["kiss_woman_man_tone2_tone3"] = "👩🏼‍❤️‍💋‍👨🏽", + ["kiss_woman_man_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏽", + ["kiss_woman_man_tone2_tone4"] = "👩🏼‍❤️‍💋‍👨🏾", + ["kiss_woman_man_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏾", + ["kiss_woman_man_tone2_tone5"] = "👩🏼‍❤️‍💋‍👨🏿", + ["kiss_woman_man_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👨🏿", + ["kiss_woman_man_tone3_tone1"] = "👩🏽‍❤️‍💋‍👨🏻", + ["kiss_woman_man_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏻", + ["kiss_woman_man_tone3_tone2"] = "👩🏽‍❤️‍💋‍👨🏼", + ["kiss_woman_man_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏼", + ["kiss_woman_man_tone3"] = "👩🏽‍❤️‍💋‍👨🏽", + ["kiss_woman_man_medium_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏽", + ["kiss_woman_man_tone3_tone4"] = "👩🏽‍❤️‍💋‍👨🏾", + ["kiss_woman_man_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏾", + ["kiss_woman_man_tone3_tone5"] = "👩🏽‍❤️‍💋‍👨🏿", + ["kiss_woman_man_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👨🏿", + ["kiss_woman_man_tone4_tone1"] = "👩🏾‍❤️‍💋‍👨🏻", + ["kiss_woman_man_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏻", + ["kiss_woman_man_tone4_tone2"] = "👩🏾‍❤️‍💋‍👨🏼", + ["kiss_woman_man_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏼", + ["kiss_woman_man_tone4_tone3"] = "👩🏾‍❤️‍💋‍👨🏽", + ["kiss_woman_man_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏽", + ["kiss_woman_man_tone4"] = "👩🏾‍❤️‍💋‍👨🏾", + ["kiss_woman_man_medium_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏾", + ["kiss_woman_man_tone4_tone5"] = "👩🏾‍❤️‍💋‍👨🏿", + ["kiss_woman_man_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👨🏿", + ["kiss_woman_man_tone5_tone1"] = "👩🏿‍❤️‍💋‍👨🏻", + ["kiss_woman_man_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏻", + ["kiss_woman_man_tone5_tone2"] = "👩🏿‍❤️‍💋‍👨🏼", + ["kiss_woman_man_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏼", + ["kiss_woman_man_tone5_tone3"] = "👩🏿‍❤️‍💋‍👨🏽", + ["kiss_woman_man_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏽", + ["kiss_woman_man_tone5_tone4"] = "👩🏿‍❤️‍💋‍👨🏾", + ["kiss_woman_man_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏾", + ["kiss_woman_man_tone5"] = "👩🏿‍❤️‍💋‍👨🏿", + ["kiss_woman_man_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👨🏿", + ["kiss_ww"] = "👩‍❤️‍💋‍👩", + ["couplekiss_ww"] = "👩‍❤️‍💋‍👩", + ["kiss_woman_woman_tone1"] = "👩🏻‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_light_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_tone1_tone2"] = "👩🏻‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_light_skin_tone_medium_light_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_tone1_tone3"] = "👩🏻‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_light_skin_tone_medium_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_tone1_tone4"] = "👩🏻‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_light_skin_tone_medium_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_tone1_tone5"] = "👩🏻‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_light_skin_tone_dark_skin_tone"] = "👩🏻‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_tone2_tone1"] = "👩🏼‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_medium_light_skin_tone_light_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_tone2"] = "👩🏼‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_medium_light_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_tone2_tone3"] = "👩🏼‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_medium_light_skin_tone_medium_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_tone2_tone4"] = "👩🏼‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_tone2_tone5"] = "👩🏼‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_medium_light_skin_tone_dark_skin_tone"] = "👩🏼‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_tone3_tone1"] = "👩🏽‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_medium_skin_tone_light_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_tone3_tone2"] = "👩🏽‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_medium_skin_tone_medium_light_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_tone3"] = "👩🏽‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_medium_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_tone3_tone4"] = "👩🏽‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_medium_skin_tone_medium_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_tone3_tone5"] = "👩🏽‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_medium_skin_tone_dark_skin_tone"] = "👩🏽‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_tone4_tone1"] = "👩🏾‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_medium_dark_skin_tone_light_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_tone4_tone2"] = "👩🏾‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_tone4_tone3"] = "👩🏾‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_medium_dark_skin_tone_medium_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_tone4"] = "👩🏾‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_medium_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_tone4_tone5"] = "👩🏾‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_medium_dark_skin_tone_dark_skin_tone"] = "👩🏾‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_tone5_tone1"] = "👩🏿‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_dark_skin_tone_light_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏻", + ["kiss_woman_woman_tone5_tone2"] = "👩🏿‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_dark_skin_tone_medium_light_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏼", + ["kiss_woman_woman_tone5_tone3"] = "👩🏿‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_dark_skin_tone_medium_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏽", + ["kiss_woman_woman_tone5_tone4"] = "👩🏿‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_dark_skin_tone_medium_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏾", + ["kiss_woman_woman_tone5"] = "👩🏿‍❤️‍💋‍👩🏿", + ["kiss_woman_woman_dark_skin_tone"] = "👩🏿‍❤️‍💋‍👩🏿", + ["kiss_mm"] = "👨‍❤️‍💋‍👨", + ["couplekiss_mm"] = "👨‍❤️‍💋‍👨", + ["kiss_man_man_tone1"] = "👨🏻‍❤️‍💋‍👨🏻", + ["kiss_man_man_light_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏻", + ["kiss_man_man_tone1_tone2"] = "👨🏻‍❤️‍💋‍👨🏼", + ["kiss_man_man_light_skin_tone_medium_light_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏼", + ["kiss_man_man_tone1_tone3"] = "👨🏻‍❤️‍💋‍👨🏽", + ["kiss_man_man_light_skin_tone_medium_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏽", + ["kiss_man_man_tone1_tone4"] = "👨🏻‍❤️‍💋‍👨🏾", + ["kiss_man_man_light_skin_tone_medium_dark_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏾", + ["kiss_man_man_tone1_tone5"] = "👨🏻‍❤️‍💋‍👨🏿", + ["kiss_man_man_light_skin_tone_dark_skin_tone"] = "👨🏻‍❤️‍💋‍👨🏿", + ["kiss_man_man_tone2_tone1"] = "👨🏼‍❤️‍💋‍👨🏻", + ["kiss_man_man_medium_light_skin_tone_light_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏻", + ["kiss_man_man_tone2"] = "👨🏼‍❤️‍💋‍👨🏼", + ["kiss_man_man_medium_light_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏼", + ["kiss_man_man_tone2_tone3"] = "👨🏼‍❤️‍💋‍👨🏽", + ["kiss_man_man_medium_light_skin_tone_medium_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏽", + ["kiss_man_man_tone2_tone4"] = "👨🏼‍❤️‍💋‍👨🏾", + ["kiss_man_man_medium_light_skin_tone_medium_dark_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏾", + ["kiss_man_man_tone2_tone5"] = "👨🏼‍❤️‍💋‍👨🏿", + ["kiss_man_man_medium_light_skin_tone_dark_skin_tone"] = "👨🏼‍❤️‍💋‍👨🏿", + ["kiss_man_man_tone3_tone1"] = "👨🏽‍❤️‍💋‍👨🏻", + ["kiss_man_man_medium_skin_tone_light_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏻", + ["kiss_man_man_tone3_tone2"] = "👨🏽‍❤️‍💋‍👨🏼", + ["kiss_man_man_medium_skin_tone_medium_light_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏼", + ["kiss_man_man_tone3"] = "👨🏽‍❤️‍💋‍👨🏽", + ["kiss_man_man_medium_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏽", + ["kiss_man_man_tone3_tone4"] = "👨🏽‍❤️‍💋‍👨🏾", + ["kiss_man_man_medium_skin_tone_medium_dark_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏾", + ["kiss_man_man_tone3_tone5"] = "👨🏽‍❤️‍💋‍👨🏿", + ["kiss_man_man_medium_skin_tone_dark_skin_tone"] = "👨🏽‍❤️‍💋‍👨🏿", + ["kiss_man_man_tone4_tone1"] = "👨🏾‍❤️‍💋‍👨🏻", + ["kiss_man_man_medium_dark_skin_tone_light_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏻", + ["kiss_man_man_tone4_tone2"] = "👨🏾‍❤️‍💋‍👨🏼", + ["kiss_man_man_medium_dark_skin_tone_medium_light_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏼", + ["kiss_man_man_tone4_tone3"] = "👨🏾‍❤️‍💋‍👨🏽", + ["kiss_man_man_medium_dark_skin_tone_medium_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏽", + ["kiss_man_man_tone4"] = "👨🏾‍❤️‍💋‍👨🏾", + ["kiss_man_man_medium_dark_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏾", + ["kiss_man_man_tone4_tone5"] = "👨🏾‍❤️‍💋‍👨🏿", + ["kiss_man_man_medium_dark_skin_tone_dark_skin_tone"] = "👨🏾‍❤️‍💋‍👨🏿", + ["kiss_man_man_tone5_tone1"] = "👨🏿‍❤️‍💋‍👨🏻", + ["kiss_man_man_dark_skin_tone_light_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏻", + ["kiss_man_man_tone5_tone2"] = "👨🏿‍❤️‍💋‍👨🏼", + ["kiss_man_man_dark_skin_tone_medium_light_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏼", + ["kiss_man_man_tone5_tone3"] = "👨🏿‍❤️‍💋‍👨🏽", + ["kiss_man_man_dark_skin_tone_medium_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏽", + ["kiss_man_man_tone5_tone4"] = "👨🏿‍❤️‍💋‍👨🏾", + ["kiss_man_man_dark_skin_tone_medium_dark_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏾", + ["kiss_man_man_tone5"] = "👨🏿‍❤️‍💋‍👨🏿", + ["kiss_man_man_dark_skin_tone"] = "👨🏿‍❤️‍💋‍👨🏿", + ["family"] = "👪", + ["family_man_woman_boy"] = "👨‍👩‍👦", + ["family_mwg"] = "👨‍👩‍👧", + ["family_mwgb"] = "👨‍👩‍👧‍👦", + ["family_mwbb"] = "👨‍👩‍👦‍👦", + ["family_mwgg"] = "👨‍👩‍👧‍👧", + ["family_wwb"] = "👩‍👩‍👦", + ["family_wwg"] = "👩‍👩‍👧", + ["family_wwgb"] = "👩‍👩‍👧‍👦", + ["family_wwbb"] = "👩‍👩‍👦‍👦", + ["family_wwgg"] = "👩‍👩‍👧‍👧", + ["family_mmb"] = "👨‍👨‍👦", + ["family_mmg"] = "👨‍👨‍👧", + ["family_mmgb"] = "👨‍👨‍👧‍👦", + ["family_mmbb"] = "👨‍👨‍👦‍👦", + ["family_mmgg"] = "👨‍👨‍👧‍👧", + ["family_woman_boy"] = "👩‍👦", + ["family_woman_girl"] = "👩‍👧", + ["family_woman_girl_boy"] = "👩‍👧‍👦", + ["family_woman_boy_boy"] = "👩‍👦‍👦", + ["family_woman_girl_girl"] = "👩‍👧‍👧", + ["family_man_boy"] = "👨‍👦", + ["family_man_girl"] = "👨‍👧", + ["family_man_girl_boy"] = "👨‍👧‍👦", + ["family_man_boy_boy"] = "👨‍👦‍👦", + ["family_man_girl_girl"] = "👨‍👧‍👧", + ["yarn"] = "🧶", + ["thread"] = "🧵", + ["coat"] = "🧥", + ["lab_coat"] = "🥼", + ["safety_vest"] = "🦺", + ["womans_clothes"] = "👚", + ["shirt"] = "👕", + ["jeans"] = "👖", + ["briefs"] = "🩲", + ["shorts"] = "🩳", + ["necktie"] = "👔", + ["dress"] = "👗", + ["bikini"] = "👙", + ["one_piece_swimsuit"] = "🩱", + ["kimono"] = "👘", + ["sari"] = "🥻", + ["womans_flat_shoe"] = "🥿", + ["high_heel"] = "👠", + ["sandal"] = "👡", + ["boot"] = "👢", + ["mans_shoe"] = "👞", + ["athletic_shoe"] = "👟", + ["hiking_boot"] = "🥾", + ["thong_sandal"] = "🩴", + ["socks"] = "🧦", + ["gloves"] = "🧤", + ["scarf"] = "🧣", + ["tophat"] = "🎩", + ["billed_cap"] = "🧢", + ["womans_hat"] = "👒", + ["mortar_board"] = "🎓", + ["helmet_with_cross"] = "⛑️", + ["helmet_with_white_cross"] = "⛑️", + ["military_helmet"] = "🪖", + ["crown"] = "👑", + ["ring"] = "💍", + ["pouch"] = "👝", + ["purse"] = "👛", + ["handbag"] = "👜", + ["briefcase"] = "💼", + ["school_satchel"] = "🎒", + ["luggage"] = "🧳", + ["eyeglasses"] = "👓", + ["dark_sunglasses"] = "🕶️", + ["goggles"] = "🥽", + ["closed_umbrella"] = "🌂", + ["dog"] = "🐶", + ["cat"] = "🐱", + ["mouse"] = "🐭", + ["hamster"] = "🐹", + ["rabbit"] = "🐰", + ["fox"] = "🦊", + ["fox_face"] = "🦊", + ["bear"] = "🐻", + ["panda_face"] = "🐼", + ["polar_bear"] = "🐻‍❄️", + ["koala"] = "🐨", + ["tiger"] = "🐯", + ["lion_face"] = "🦁", + ["lion"] = "🦁", + ["cow"] = "🐮", + ["pig"] = "🐷", + ["pig_nose"] = "🐽", + ["frog"] = "🐸", + ["monkey_face"] = "🐵", + ["see_no_evil"] = "🙈", + ["hear_no_evil"] = "🙉", + ["speak_no_evil"] = "🙊", + ["monkey"] = "🐒", + ["chicken"] = "🐔", + ["penguin"] = "🐧", + ["bird"] = "🐦", + ["baby_chick"] = "🐤", + ["hatching_chick"] = "🐣", + ["hatched_chick"] = "🐥", + ["duck"] = "🦆", + ["dodo"] = "🦤", + ["eagle"] = "🦅", + ["owl"] = "🦉", + ["bat"] = "🦇", + ["wolf"] = "🐺", + ["boar"] = "🐗", + ["horse"] = "🐴", + ["unicorn"] = "🦄", + ["unicorn_face"] = "🦄", + ["bee"] = "🐝", + ["bug"] = "🐛", + ["butterfly"] = "🦋", + ["snail"] = "🐌", + ["worm"] = "🪱", + ["lady_beetle"] = "🐞", + ["ant"] = "🐜", + ["fly"] = "🪰", + ["mosquito"] = "🦟", + ["cockroach"] = "🪳", + ["beetle"] = "🪲", + ["cricket"] = "🦗", + ["spider"] = "🕷️", + ["spider_web"] = "🕸️", + ["scorpion"] = "🦂", + ["turtle"] = "🐢", + ["snake"] = "🐍", + ["lizard"] = "🦎", + ["t_rex"] = "🦖", + ["sauropod"] = "🦕", + ["octopus"] = "🐙", + ["squid"] = "🦑", + ["shrimp"] = "🦐", + ["lobster"] = "🦞", + ["crab"] = "🦀", + ["blowfish"] = "🐡", + ["tropical_fish"] = "🐠", + ["fish"] = "🐟", + ["seal"] = "🦭", + ["dolphin"] = "🐬", + ["whale"] = "🐳", + ["whale2"] = "🐋", + ["shark"] = "🦈", + ["crocodile"] = "🐊", + ["tiger2"] = "🐅", + ["leopard"] = "🐆", + ["zebra"] = "🦓", + ["gorilla"] = "🦍", + ["orangutan"] = "🦧", + ["elephant"] = "🐘", + ["mammoth"] = "🦣", + ["bison"] = "🦬", + ["hippopotamus"] = "🦛", + ["rhino"] = "🦏", + ["rhinoceros"] = "🦏", + ["dromedary_camel"] = "🐪", + ["camel"] = "🐫", + ["giraffe"] = "🦒", + ["kangaroo"] = "🦘", + ["water_buffalo"] = "🐃", + ["ox"] = "🐂", + ["cow2"] = "🐄", + ["racehorse"] = "🐎", + ["pig2"] = "🐖", + ["ram"] = "🐏", + ["sheep"] = "🐑", + ["llama"] = "🦙", + ["goat"] = "🐐", + ["deer"] = "🦌", + ["dog2"] = "🐕", + ["poodle"] = "🐩", + ["guide_dog"] = "🦮", + ["service_dog"] = "🐕‍🦺", + ["cat2"] = "🐈", + ["black_cat"] = "🐈‍⬛", + ["rooster"] = "🐓", + ["turkey"] = "🦃", + ["peacock"] = "🦚", + ["parrot"] = "🦜", + ["swan"] = "🦢", + ["flamingo"] = "🦩", + ["dove"] = "🕊️", + ["dove_of_peace"] = "🕊️", + ["rabbit2"] = "🐇", + ["raccoon"] = "🦝", + ["skunk"] = "🦨", + ["badger"] = "🦡", + ["beaver"] = "🦫", + ["otter"] = "🦦", + ["sloth"] = "🦥", + ["mouse2"] = "🐁", + ["rat"] = "🐀", + ["chipmunk"] = "🐿️", + ["hedgehog"] = "🦔", + ["feet"] = "🐾", + ["paw_prints"] = "🐾", + ["dragon"] = "🐉", + ["dragon_face"] = "🐲", + ["cactus"] = "🌵", + ["christmas_tree"] = "🎄", + ["evergreen_tree"] = "🌲", + ["deciduous_tree"] = "🌳", + ["palm_tree"] = "🌴", + ["seedling"] = "🌱", + ["herb"] = "🌿", + ["shamrock"] = "☘️", + ["four_leaf_clover"] = "🍀", + ["bamboo"] = "🎍", + ["tanabata_tree"] = "🎋", + ["leaves"] = "🍃", + ["fallen_leaf"] = "🍂", + ["maple_leaf"] = "🍁", + ["feather"] = "🪶", + ["mushroom"] = "🍄", + ["shell"] = "🐚", + ["rock"] = "🪨", + ["wood"] = "🪵", + ["ear_of_rice"] = "🌾", + ["potted_plant"] = "🪴", + ["bouquet"] = "💐", + ["tulip"] = "🌷", + ["rose"] = "🌹", + ["wilted_rose"] = "🥀", + ["wilted_flower"] = "🥀", + ["hibiscus"] = "🌺", + ["cherry_blossom"] = "🌸", + ["blossom"] = "🌼", + ["sunflower"] = "🌻", + ["sun_with_face"] = "🌞", + ["full_moon_with_face"] = "🌝", + ["first_quarter_moon_with_face"] = "🌛", + ["last_quarter_moon_with_face"] = "🌜", + ["new_moon_with_face"] = "🌚", + ["full_moon"] = "🌕", + ["waning_gibbous_moon"] = "🌖", + ["last_quarter_moon"] = "🌗", + ["waning_crescent_moon"] = "🌘", + ["new_moon"] = "🌑", + ["waxing_crescent_moon"] = "🌒", + ["first_quarter_moon"] = "🌓", + ["waxing_gibbous_moon"] = "🌔", + ["crescent_moon"] = "🌙", + ["earth_americas"] = "🌎", + ["earth_africa"] = "🌍", + ["earth_asia"] = "🌏", + ["ringed_planet"] = "🪐", + ["dizzy"] = "💫", + ["star"] = "⭐", + ["star2"] = "🌟", + ["sparkles"] = "✨", + ["zap"] = "⚡", + ["comet"] = "☄️", + ["boom"] = "💥", + ["fire"] = "🔥", + ["flame"] = "🔥", + ["cloud_tornado"] = "🌪️", + ["cloud_with_tornado"] = "🌪️", + ["rainbow"] = "🌈", + ["sunny"] = "☀️", + ["white_sun_small_cloud"] = "🌤️", + ["white_sun_with_small_cloud"] = "🌤️", + ["partly_sunny"] = "⛅", + ["white_sun_cloud"] = "🌥️", + ["white_sun_behind_cloud"] = "🌥️", + ["cloud"] = "☁️", + ["white_sun_rain_cloud"] = "🌦️", + ["white_sun_behind_cloud_with_rain"] = "🌦️", + ["cloud_rain"] = "🌧️", + ["cloud_with_rain"] = "🌧️", + ["thunder_cloud_rain"] = "⛈️", + ["thunder_cloud_and_rain"] = "⛈️", + ["cloud_lightning"] = "🌩️", + ["cloud_with_lightning"] = "🌩️", + ["cloud_snow"] = "🌨️", + ["cloud_with_snow"] = "🌨️", + ["snowflake"] = "❄️", + ["snowman2"] = "☃️", + ["snowman"] = "⛄", + ["wind_blowing_face"] = "🌬️", + ["dash"] = "💨", + ["droplet"] = "💧", + ["sweat_drops"] = "💦", + ["umbrella"] = "☔", + ["umbrella2"] = "☂️", + ["ocean"] = "🌊", + ["fog"] = "🌫️", + ["green_apple"] = "🍏", + ["apple"] = "🍎", + ["pear"] = "🍐", + ["tangerine"] = "🍊", + ["lemon"] = "🍋", + ["banana"] = "🍌", + ["watermelon"] = "🍉", + ["grapes"] = "🍇", + ["blueberries"] = "🫐", + ["strawberry"] = "🍓", + ["melon"] = "🍈", + ["cherries"] = "🍒", + ["peach"] = "🍑", + ["mango"] = "🥭", + ["pineapple"] = "🍍", + ["coconut"] = "🥥", + ["kiwi"] = "🥝", + ["kiwifruit"] = "🥝", + ["tomato"] = "🍅", + ["eggplant"] = "🍆", + ["avocado"] = "🥑", + ["olive"] = "🫒", + ["broccoli"] = "🥦", + ["leafy_green"] = "🥬", + ["bell_pepper"] = "🫑", + ["cucumber"] = "🥒", + ["hot_pepper"] = "🌶️", + ["corn"] = "🌽", + ["carrot"] = "🥕", + ["garlic"] = "🧄", + ["onion"] = "🧅", + ["potato"] = "🥔", + ["sweet_potato"] = "🍠", + ["croissant"] = "🥐", + ["bagel"] = "🥯", + ["bread"] = "🍞", + ["french_bread"] = "🥖", + ["baguette_bread"] = "🥖", + ["flatbread"] = "🫓", + ["pretzel"] = "🥨", + ["cheese"] = "🧀", + ["cheese_wedge"] = "🧀", + ["egg"] = "🥚", + ["cooking"] = "🍳", + ["butter"] = "🧈", + ["pancakes"] = "🥞", + ["waffle"] = "🧇", + ["bacon"] = "🥓", + ["cut_of_meat"] = "🥩", + ["poultry_leg"] = "🍗", + ["meat_on_bone"] = "🍖", + ["hotdog"] = "🌭", + ["hot_dog"] = "🌭", + ["hamburger"] = "🍔", + ["fries"] = "🍟", + ["pizza"] = "🍕", + ["sandwich"] = "🥪", + ["stuffed_flatbread"] = "🥙", + ["stuffed_pita"] = "🥙", + ["falafel"] = "🧆", + ["taco"] = "🌮", + ["burrito"] = "🌯", + ["tamale"] = "🫔", + ["salad"] = "🥗", + ["green_salad"] = "🥗", + ["shallow_pan_of_food"] = "🥘", + ["paella"] = "🥘", + ["fondue"] = "🫕", + ["canned_food"] = "🥫", + ["spaghetti"] = "🍝", + ["ramen"] = "🍜", + ["stew"] = "🍲", + ["curry"] = "🍛", + ["sushi"] = "🍣", + ["bento"] = "🍱", + ["dumpling"] = "🥟", + ["oyster"] = "🦪", + ["fried_shrimp"] = "🍤", + ["rice_ball"] = "🍙", + ["rice"] = "🍚", + ["rice_cracker"] = "🍘", + ["fish_cake"] = "🍥", + ["fortune_cookie"] = "🥠", + ["moon_cake"] = "🥮", + ["oden"] = "🍢", + ["dango"] = "🍡", + ["shaved_ice"] = "🍧", + ["ice_cream"] = "🍨", + ["icecream"] = "🍦", + ["pie"] = "🥧", + ["cupcake"] = "🧁", + ["cake"] = "🍰", + ["birthday"] = "🎂", + ["custard"] = "🍮", + ["pudding"] = "🍮", + ["flan"] = "🍮", + ["lollipop"] = "🍭", + ["candy"] = "🍬", + ["chocolate_bar"] = "🍫", + ["popcorn"] = "🍿", + ["doughnut"] = "🍩", + ["cookie"] = "🍪", + ["chestnut"] = "🌰", + ["peanuts"] = "🥜", + ["shelled_peanut"] = "🥜", + ["honey_pot"] = "🍯", + ["milk"] = "🥛", + ["glass_of_milk"] = "🥛", + ["baby_bottle"] = "🍼", + ["coffee"] = "☕", + ["tea"] = "🍵", + ["teapot"] = "🫖", + ["mate"] = "🧉", + ["bubble_tea"] = "🧋", + ["beverage_box"] = "🧃", + ["cup_with_straw"] = "🥤", + ["sake"] = "🍶", + ["beer"] = "🍺", + ["beers"] = "🍻", + ["champagne_glass"] = "🥂", + ["clinking_glass"] = "🥂", + ["wine_glass"] = "🍷", + ["tumbler_glass"] = "🥃", + ["whisky"] = "🥃", + ["cocktail"] = "🍸", + ["tropical_drink"] = "🍹", + ["champagne"] = "🍾", + ["bottle_with_popping_cork"] = "🍾", + ["ice_cube"] = "🧊", + ["spoon"] = "🥄", + ["fork_and_knife"] = "🍴", + ["fork_knife_plate"] = "🍽️", + ["fork_and_knife_with_plate"] = "🍽️", + ["bowl_with_spoon"] = "🥣", + ["takeout_box"] = "🥡", + ["chopsticks"] = "🥢", + ["salt"] = "🧂", + ["soccer"] = "⚽", + ["basketball"] = "🏀", + ["football"] = "🏈", + ["baseball"] = "⚾", + ["softball"] = "🥎", + ["tennis"] = "🎾", + ["volleyball"] = "🏐", + ["rugby_football"] = "🏉", + ["flying_disc"] = "🥏", + ["boomerang"] = "🪃", + ["8ball"] = "🎱", + ["yo_yo"] = "🪀", + ["ping_pong"] = "🏓", + ["table_tennis"] = "🏓", + ["badminton"] = "🏸", + ["hockey"] = "🏒", + ["field_hockey"] = "🏑", + ["lacrosse"] = "🥍", + ["cricket_game"] = "🏏", + ["cricket_bat_ball"] = "🏏", + ["goal"] = "🥅", + ["goal_net"] = "🥅", + ["golf"] = "⛳", + ["kite"] = "🪁", + ["bow_and_arrow"] = "🏹", + ["archery"] = "🏹", + ["fishing_pole_and_fish"] = "🎣", + ["diving_mask"] = "🤿", + ["boxing_glove"] = "🥊", + ["boxing_gloves"] = "🥊", + ["martial_arts_uniform"] = "🥋", + ["karate_uniform"] = "🥋", + ["running_shirt_with_sash"] = "🎽", + ["skateboard"] = "🛹", + ["roller_skate"] = "🛼", + ["sled"] = "🛷", + ["ice_skate"] = "⛸️", + ["curling_stone"] = "🥌", + ["ski"] = "🎿", + ["skier"] = "⛷️", + ["snowboarder"] = "🏂", + ["snowboarder_tone1"] = "🏂🏻", + ["snowboarder_light_skin_tone"] = "🏂🏻", + ["snowboarder_tone2"] = "🏂🏼", + ["snowboarder_medium_light_skin_tone"] = "🏂🏼", + ["snowboarder_tone3"] = "🏂🏽", + ["snowboarder_medium_skin_tone"] = "🏂🏽", + ["snowboarder_tone4"] = "🏂🏾", + ["snowboarder_medium_dark_skin_tone"] = "🏂🏾", + ["snowboarder_tone5"] = "🏂🏿", + ["snowboarder_dark_skin_tone"] = "🏂🏿", + ["parachute"] = "🪂", + ["person_lifting_weights"] = "🏋️", + ["lifter"] = "🏋️", + ["weight_lifter"] = "🏋️", + ["person_lifting_weights_tone1"] = "🏋🏻", + ["lifter_tone1"] = "🏋🏻", + ["weight_lifter_tone1"] = "🏋🏻", + ["person_lifting_weights_tone2"] = "🏋🏼", + ["lifter_tone2"] = "🏋🏼", + ["weight_lifter_tone2"] = "🏋🏼", + ["person_lifting_weights_tone3"] = "🏋🏽", + ["lifter_tone3"] = "🏋🏽", + ["weight_lifter_tone3"] = "🏋🏽", + ["person_lifting_weights_tone4"] = "🏋🏾", + ["lifter_tone4"] = "🏋🏾", + ["weight_lifter_tone4"] = "🏋🏾", + ["person_lifting_weights_tone5"] = "🏋🏿", + ["lifter_tone5"] = "🏋🏿", + ["weight_lifter_tone5"] = "🏋🏿", + ["woman_lifting_weights"] = "🏋️‍♀️", + ["woman_lifting_weights_tone1"] = "🏋🏻‍♀️", + ["woman_lifting_weights_light_skin_tone"] = "🏋🏻‍♀️", + ["woman_lifting_weights_tone2"] = "🏋🏼‍♀️", + ["woman_lifting_weights_medium_light_skin_tone"] = "🏋🏼‍♀️", + ["woman_lifting_weights_tone3"] = "🏋🏽‍♀️", + ["woman_lifting_weights_medium_skin_tone"] = "🏋🏽‍♀️", + ["woman_lifting_weights_tone4"] = "🏋🏾‍♀️", + ["woman_lifting_weights_medium_dark_skin_tone"] = "🏋🏾‍♀️", + ["woman_lifting_weights_tone5"] = "🏋🏿‍♀️", + ["woman_lifting_weights_dark_skin_tone"] = "🏋🏿‍♀️", + ["man_lifting_weights"] = "🏋️‍♂️", + ["man_lifting_weights_tone1"] = "🏋🏻‍♂️", + ["man_lifting_weights_light_skin_tone"] = "🏋🏻‍♂️", + ["man_lifting_weights_tone2"] = "🏋🏼‍♂️", + ["man_lifting_weights_medium_light_skin_tone"] = "🏋🏼‍♂️", + ["man_lifting_weights_tone3"] = "🏋🏽‍♂️", + ["man_lifting_weights_medium_skin_tone"] = "🏋🏽‍♂️", + ["man_lifting_weights_tone4"] = "🏋🏾‍♂️", + ["man_lifting_weights_medium_dark_skin_tone"] = "🏋🏾‍♂️", + ["man_lifting_weights_tone5"] = "🏋🏿‍♂️", + ["man_lifting_weights_dark_skin_tone"] = "🏋🏿‍♂️", + ["people_wrestling"] = "🤼", + ["wrestlers"] = "🤼", + ["wrestling"] = "🤼", + ["women_wrestling"] = "🤼‍♀️", + ["men_wrestling"] = "🤼‍♂️", + ["person_doing_cartwheel"] = "🤸", + ["cartwheel"] = "🤸", + ["person_doing_cartwheel_tone1"] = "🤸🏻", + ["cartwheel_tone1"] = "🤸🏻", + ["person_doing_cartwheel_tone2"] = "🤸🏼", + ["cartwheel_tone2"] = "🤸🏼", + ["person_doing_cartwheel_tone3"] = "🤸🏽", + ["cartwheel_tone3"] = "🤸🏽", + ["person_doing_cartwheel_tone4"] = "🤸🏾", + ["cartwheel_tone4"] = "🤸🏾", + ["person_doing_cartwheel_tone5"] = "🤸🏿", + ["cartwheel_tone5"] = "🤸🏿", + ["woman_cartwheeling"] = "🤸‍♀️", + ["woman_cartwheeling_tone1"] = "🤸🏻‍♀️", + ["woman_cartwheeling_light_skin_tone"] = "🤸🏻‍♀️", + ["woman_cartwheeling_tone2"] = "🤸🏼‍♀️", + ["woman_cartwheeling_medium_light_skin_tone"] = "🤸🏼‍♀️", + ["woman_cartwheeling_tone3"] = "🤸🏽‍♀️", + ["woman_cartwheeling_medium_skin_tone"] = "🤸🏽‍♀️", + ["woman_cartwheeling_tone4"] = "🤸🏾‍♀️", + ["woman_cartwheeling_medium_dark_skin_tone"] = "🤸🏾‍♀️", + ["woman_cartwheeling_tone5"] = "🤸🏿‍♀️", + ["woman_cartwheeling_dark_skin_tone"] = "🤸🏿‍♀️", + ["man_cartwheeling"] = "🤸‍♂️", + ["man_cartwheeling_tone1"] = "🤸🏻‍♂️", + ["man_cartwheeling_light_skin_tone"] = "🤸🏻‍♂️", + ["man_cartwheeling_tone2"] = "🤸🏼‍♂️", + ["man_cartwheeling_medium_light_skin_tone"] = "🤸🏼‍♂️", + ["man_cartwheeling_tone3"] = "🤸🏽‍♂️", + ["man_cartwheeling_medium_skin_tone"] = "🤸🏽‍♂️", + ["man_cartwheeling_tone4"] = "🤸🏾‍♂️", + ["man_cartwheeling_medium_dark_skin_tone"] = "🤸🏾‍♂️", + ["man_cartwheeling_tone5"] = "🤸🏿‍♂️", + ["man_cartwheeling_dark_skin_tone"] = "🤸🏿‍♂️", + ["person_bouncing_ball"] = "⛹️", + ["basketball_player"] = "⛹️", + ["person_with_ball"] = "⛹️", + ["person_bouncing_ball_tone1"] = "⛹🏻", + ["basketball_player_tone1"] = "⛹🏻", + ["person_with_ball_tone1"] = "⛹🏻", + ["person_bouncing_ball_tone2"] = "⛹🏼", + ["basketball_player_tone2"] = "⛹🏼", + ["person_with_ball_tone2"] = "⛹🏼", + ["person_bouncing_ball_tone3"] = "⛹🏽", + ["basketball_player_tone3"] = "⛹🏽", + ["person_with_ball_tone3"] = "⛹🏽", + ["person_bouncing_ball_tone4"] = "⛹🏾", + ["basketball_player_tone4"] = "⛹🏾", + ["person_with_ball_tone4"] = "⛹🏾", + ["person_bouncing_ball_tone5"] = "⛹🏿", + ["basketball_player_tone5"] = "⛹🏿", + ["person_with_ball_tone5"] = "⛹🏿", + ["woman_bouncing_ball"] = "⛹️‍♀️", + ["woman_bouncing_ball_tone1"] = "⛹🏻‍♀️", + ["woman_bouncing_ball_light_skin_tone"] = "⛹🏻‍♀️", + ["woman_bouncing_ball_tone2"] = "⛹🏼‍♀️", + ["woman_bouncing_ball_medium_light_skin_tone"] = "⛹🏼‍♀️", + ["woman_bouncing_ball_tone3"] = "⛹🏽‍♀️", + ["woman_bouncing_ball_medium_skin_tone"] = "⛹🏽‍♀️", + ["woman_bouncing_ball_tone4"] = "⛹🏾‍♀️", + ["woman_bouncing_ball_medium_dark_skin_tone"] = "⛹🏾‍♀️", + ["woman_bouncing_ball_tone5"] = "⛹🏿‍♀️", + ["woman_bouncing_ball_dark_skin_tone"] = "⛹🏿‍♀️", + ["man_bouncing_ball"] = "⛹️‍♂️", + ["man_bouncing_ball_tone1"] = "⛹🏻‍♂️", + ["man_bouncing_ball_light_skin_tone"] = "⛹🏻‍♂️", + ["man_bouncing_ball_tone2"] = "⛹🏼‍♂️", + ["man_bouncing_ball_medium_light_skin_tone"] = "⛹🏼‍♂️", + ["man_bouncing_ball_tone3"] = "⛹🏽‍♂️", + ["man_bouncing_ball_medium_skin_tone"] = "⛹🏽‍♂️", + ["man_bouncing_ball_tone4"] = "⛹🏾‍♂️", + ["man_bouncing_ball_medium_dark_skin_tone"] = "⛹🏾‍♂️", + ["man_bouncing_ball_tone5"] = "⛹🏿‍♂️", + ["man_bouncing_ball_dark_skin_tone"] = "⛹🏿‍♂️", + ["person_fencing"] = "🤺", + ["fencer"] = "🤺", + ["fencing"] = "🤺", + ["person_playing_handball"] = "🤾", + ["handball"] = "🤾", + ["person_playing_handball_tone1"] = "🤾🏻", + ["handball_tone1"] = "🤾🏻", + ["person_playing_handball_tone2"] = "🤾🏼", + ["handball_tone2"] = "🤾🏼", + ["person_playing_handball_tone3"] = "🤾🏽", + ["handball_tone3"] = "🤾🏽", + ["person_playing_handball_tone4"] = "🤾🏾", + ["handball_tone4"] = "🤾🏾", + ["person_playing_handball_tone5"] = "🤾🏿", + ["handball_tone5"] = "🤾🏿", + ["woman_playing_handball"] = "🤾‍♀️", + ["woman_playing_handball_tone1"] = "🤾🏻‍♀️", + ["woman_playing_handball_light_skin_tone"] = "🤾🏻‍♀️", + ["woman_playing_handball_tone2"] = "🤾🏼‍♀️", + ["woman_playing_handball_medium_light_skin_tone"] = "🤾🏼‍♀️", + ["woman_playing_handball_tone3"] = "🤾🏽‍♀️", + ["woman_playing_handball_medium_skin_tone"] = "🤾🏽‍♀️", + ["woman_playing_handball_tone4"] = "🤾🏾‍♀️", + ["woman_playing_handball_medium_dark_skin_tone"] = "🤾🏾‍♀️", + ["woman_playing_handball_tone5"] = "🤾🏿‍♀️", + ["woman_playing_handball_dark_skin_tone"] = "🤾🏿‍♀️", + ["man_playing_handball"] = "🤾‍♂️", + ["man_playing_handball_tone1"] = "🤾🏻‍♂️", + ["man_playing_handball_light_skin_tone"] = "🤾🏻‍♂️", + ["man_playing_handball_tone2"] = "🤾🏼‍♂️", + ["man_playing_handball_medium_light_skin_tone"] = "🤾🏼‍♂️", + ["man_playing_handball_tone3"] = "🤾🏽‍♂️", + ["man_playing_handball_medium_skin_tone"] = "🤾🏽‍♂️", + ["man_playing_handball_tone4"] = "🤾🏾‍♂️", + ["man_playing_handball_medium_dark_skin_tone"] = "🤾🏾‍♂️", + ["man_playing_handball_tone5"] = "🤾🏿‍♂️", + ["man_playing_handball_dark_skin_tone"] = "🤾🏿‍♂️", + ["person_golfing"] = "🏌️", + ["golfer"] = "🏌️", + ["person_golfing_tone1"] = "🏌🏻", + ["person_golfing_light_skin_tone"] = "🏌🏻", + ["person_golfing_tone2"] = "🏌🏼", + ["person_golfing_medium_light_skin_tone"] = "🏌🏼", + ["person_golfing_tone3"] = "🏌🏽", + ["person_golfing_medium_skin_tone"] = "🏌🏽", + ["person_golfing_tone4"] = "🏌🏾", + ["person_golfing_medium_dark_skin_tone"] = "🏌🏾", + ["person_golfing_tone5"] = "🏌🏿", + ["person_golfing_dark_skin_tone"] = "🏌🏿", + ["woman_golfing"] = "🏌️‍♀️", + ["woman_golfing_tone1"] = "🏌🏻‍♀️", + ["woman_golfing_light_skin_tone"] = "🏌🏻‍♀️", + ["woman_golfing_tone2"] = "🏌🏼‍♀️", + ["woman_golfing_medium_light_skin_tone"] = "🏌🏼‍♀️", + ["woman_golfing_tone3"] = "🏌🏽‍♀️", + ["woman_golfing_medium_skin_tone"] = "🏌🏽‍♀️", + ["woman_golfing_tone4"] = "🏌🏾‍♀️", + ["woman_golfing_medium_dark_skin_tone"] = "🏌🏾‍♀️", + ["woman_golfing_tone5"] = "🏌🏿‍♀️", + ["woman_golfing_dark_skin_tone"] = "🏌🏿‍♀️", + ["man_golfing"] = "🏌️‍♂️", + ["man_golfing_tone1"] = "🏌🏻‍♂️", + ["man_golfing_light_skin_tone"] = "🏌🏻‍♂️", + ["man_golfing_tone2"] = "🏌🏼‍♂️", + ["man_golfing_medium_light_skin_tone"] = "🏌🏼‍♂️", + ["man_golfing_tone3"] = "🏌🏽‍♂️", + ["man_golfing_medium_skin_tone"] = "🏌🏽‍♂️", + ["man_golfing_tone4"] = "🏌🏾‍♂️", + ["man_golfing_medium_dark_skin_tone"] = "🏌🏾‍♂️", + ["man_golfing_tone5"] = "🏌🏿‍♂️", + ["man_golfing_dark_skin_tone"] = "🏌🏿‍♂️", + ["horse_racing"] = "🏇", + ["horse_racing_tone1"] = "🏇🏻", + ["horse_racing_tone2"] = "🏇🏼", + ["horse_racing_tone3"] = "🏇🏽", + ["horse_racing_tone4"] = "🏇🏾", + ["horse_racing_tone5"] = "🏇🏿", + ["person_in_lotus_position"] = "🧘", + ["person_in_lotus_position_tone1"] = "🧘🏻", + ["person_in_lotus_position_light_skin_tone"] = "🧘🏻", + ["person_in_lotus_position_tone2"] = "🧘🏼", + ["person_in_lotus_position_medium_light_skin_tone"] = "🧘🏼", + ["person_in_lotus_position_tone3"] = "🧘🏽", + ["person_in_lotus_position_medium_skin_tone"] = "🧘🏽", + ["person_in_lotus_position_tone4"] = "🧘🏾", + ["person_in_lotus_position_medium_dark_skin_tone"] = "🧘🏾", + ["person_in_lotus_position_tone5"] = "🧘🏿", + ["person_in_lotus_position_dark_skin_tone"] = "🧘🏿", + ["woman_in_lotus_position"] = "🧘‍♀️", + ["woman_in_lotus_position_tone1"] = "🧘🏻‍♀️", + ["woman_in_lotus_position_light_skin_tone"] = "🧘🏻‍♀️", + ["woman_in_lotus_position_tone2"] = "🧘🏼‍♀️", + ["woman_in_lotus_position_medium_light_skin_tone"] = "🧘🏼‍♀️", + ["woman_in_lotus_position_tone3"] = "🧘🏽‍♀️", + ["woman_in_lotus_position_medium_skin_tone"] = "🧘🏽‍♀️", + ["woman_in_lotus_position_tone4"] = "🧘🏾‍♀️", + ["woman_in_lotus_position_medium_dark_skin_tone"] = "🧘🏾‍♀️", + ["woman_in_lotus_position_tone5"] = "🧘🏿‍♀️", + ["woman_in_lotus_position_dark_skin_tone"] = "🧘🏿‍♀️", + ["man_in_lotus_position"] = "🧘‍♂️", + ["man_in_lotus_position_tone1"] = "🧘🏻‍♂️", + ["man_in_lotus_position_light_skin_tone"] = "🧘🏻‍♂️", + ["man_in_lotus_position_tone2"] = "🧘🏼‍♂️", + ["man_in_lotus_position_medium_light_skin_tone"] = "🧘🏼‍♂️", + ["man_in_lotus_position_tone3"] = "🧘🏽‍♂️", + ["man_in_lotus_position_medium_skin_tone"] = "🧘🏽‍♂️", + ["man_in_lotus_position_tone4"] = "🧘🏾‍♂️", + ["man_in_lotus_position_medium_dark_skin_tone"] = "🧘🏾‍♂️", + ["man_in_lotus_position_tone5"] = "🧘🏿‍♂️", + ["man_in_lotus_position_dark_skin_tone"] = "🧘🏿‍♂️", + ["person_surfing"] = "🏄", + ["surfer"] = "🏄", + ["person_surfing_tone1"] = "🏄🏻", + ["surfer_tone1"] = "🏄🏻", + ["person_surfing_tone2"] = "🏄🏼", + ["surfer_tone2"] = "🏄🏼", + ["person_surfing_tone3"] = "🏄🏽", + ["surfer_tone3"] = "🏄🏽", + ["person_surfing_tone4"] = "🏄🏾", + ["surfer_tone4"] = "🏄🏾", + ["person_surfing_tone5"] = "🏄🏿", + ["surfer_tone5"] = "🏄🏿", + ["woman_surfing"] = "🏄‍♀️", + ["woman_surfing_tone1"] = "🏄🏻‍♀️", + ["woman_surfing_light_skin_tone"] = "🏄🏻‍♀️", + ["woman_surfing_tone2"] = "🏄🏼‍♀️", + ["woman_surfing_medium_light_skin_tone"] = "🏄🏼‍♀️", + ["woman_surfing_tone3"] = "🏄🏽‍♀️", + ["woman_surfing_medium_skin_tone"] = "🏄🏽‍♀️", + ["woman_surfing_tone4"] = "🏄🏾‍♀️", + ["woman_surfing_medium_dark_skin_tone"] = "🏄🏾‍♀️", + ["woman_surfing_tone5"] = "🏄🏿‍♀️", + ["woman_surfing_dark_skin_tone"] = "🏄🏿‍♀️", + ["man_surfing"] = "🏄‍♂️", + ["man_surfing_tone1"] = "🏄🏻‍♂️", + ["man_surfing_light_skin_tone"] = "🏄🏻‍♂️", + ["man_surfing_tone2"] = "🏄🏼‍♂️", + ["man_surfing_medium_light_skin_tone"] = "🏄🏼‍♂️", + ["man_surfing_tone3"] = "🏄🏽‍♂️", + ["man_surfing_medium_skin_tone"] = "🏄🏽‍♂️", + ["man_surfing_tone4"] = "🏄🏾‍♂️", + ["man_surfing_medium_dark_skin_tone"] = "🏄🏾‍♂️", + ["man_surfing_tone5"] = "🏄🏿‍♂️", + ["man_surfing_dark_skin_tone"] = "🏄🏿‍♂️", + ["person_swimming"] = "🏊", + ["swimmer"] = "🏊", + ["person_swimming_tone1"] = "🏊🏻", + ["swimmer_tone1"] = "🏊🏻", + ["person_swimming_tone2"] = "🏊🏼", + ["swimmer_tone2"] = "🏊🏼", + ["person_swimming_tone3"] = "🏊🏽", + ["swimmer_tone3"] = "🏊🏽", + ["person_swimming_tone4"] = "🏊🏾", + ["swimmer_tone4"] = "🏊🏾", + ["person_swimming_tone5"] = "🏊🏿", + ["swimmer_tone5"] = "🏊🏿", + ["woman_swimming"] = "🏊‍♀️", + ["woman_swimming_tone1"] = "🏊🏻‍♀️", + ["woman_swimming_light_skin_tone"] = "🏊🏻‍♀️", + ["woman_swimming_tone2"] = "🏊🏼‍♀️", + ["woman_swimming_medium_light_skin_tone"] = "🏊🏼‍♀️", + ["woman_swimming_tone3"] = "🏊🏽‍♀️", + ["woman_swimming_medium_skin_tone"] = "🏊🏽‍♀️", + ["woman_swimming_tone4"] = "🏊🏾‍♀️", + ["woman_swimming_medium_dark_skin_tone"] = "🏊🏾‍♀️", + ["woman_swimming_tone5"] = "🏊🏿‍♀️", + ["woman_swimming_dark_skin_tone"] = "🏊🏿‍♀️", + ["man_swimming"] = "🏊‍♂️", + ["man_swimming_tone1"] = "🏊🏻‍♂️", + ["man_swimming_light_skin_tone"] = "🏊🏻‍♂️", + ["man_swimming_tone2"] = "🏊🏼‍♂️", + ["man_swimming_medium_light_skin_tone"] = "🏊🏼‍♂️", + ["man_swimming_tone3"] = "🏊🏽‍♂️", + ["man_swimming_medium_skin_tone"] = "🏊🏽‍♂️", + ["man_swimming_tone4"] = "🏊🏾‍♂️", + ["man_swimming_medium_dark_skin_tone"] = "🏊🏾‍♂️", + ["man_swimming_tone5"] = "🏊🏿‍♂️", + ["man_swimming_dark_skin_tone"] = "🏊🏿‍♂️", + ["person_playing_water_polo"] = "🤽", + ["water_polo"] = "🤽", + ["person_playing_water_polo_tone1"] = "🤽🏻", + ["water_polo_tone1"] = "🤽🏻", + ["person_playing_water_polo_tone2"] = "🤽🏼", + ["water_polo_tone2"] = "🤽🏼", + ["person_playing_water_polo_tone3"] = "🤽🏽", + ["water_polo_tone3"] = "🤽🏽", + ["person_playing_water_polo_tone4"] = "🤽🏾", + ["water_polo_tone4"] = "🤽🏾", + ["person_playing_water_polo_tone5"] = "🤽🏿", + ["water_polo_tone5"] = "🤽🏿", + ["woman_playing_water_polo"] = "🤽‍♀️", + ["woman_playing_water_polo_tone1"] = "🤽🏻‍♀️", + ["woman_playing_water_polo_light_skin_tone"] = "🤽🏻‍♀️", + ["woman_playing_water_polo_tone2"] = "🤽🏼‍♀️", + ["woman_playing_water_polo_medium_light_skin_tone"] = "🤽🏼‍♀️", + ["woman_playing_water_polo_tone3"] = "🤽🏽‍♀️", + ["woman_playing_water_polo_medium_skin_tone"] = "🤽🏽‍♀️", + ["woman_playing_water_polo_tone4"] = "🤽🏾‍♀️", + ["woman_playing_water_polo_medium_dark_skin_tone"] = "🤽🏾‍♀️", + ["woman_playing_water_polo_tone5"] = "🤽🏿‍♀️", + ["woman_playing_water_polo_dark_skin_tone"] = "🤽🏿‍♀️", + ["man_playing_water_polo"] = "🤽‍♂️", + ["man_playing_water_polo_tone1"] = "🤽🏻‍♂️", + ["man_playing_water_polo_light_skin_tone"] = "🤽🏻‍♂️", + ["man_playing_water_polo_tone2"] = "🤽🏼‍♂️", + ["man_playing_water_polo_medium_light_skin_tone"] = "🤽🏼‍♂️", + ["man_playing_water_polo_tone3"] = "🤽🏽‍♂️", + ["man_playing_water_polo_medium_skin_tone"] = "🤽🏽‍♂️", + ["man_playing_water_polo_tone4"] = "🤽🏾‍♂️", + ["man_playing_water_polo_medium_dark_skin_tone"] = "🤽🏾‍♂️", + ["man_playing_water_polo_tone5"] = "🤽🏿‍♂️", + ["man_playing_water_polo_dark_skin_tone"] = "🤽🏿‍♂️", + ["person_rowing_boat"] = "🚣", + ["rowboat"] = "🚣", + ["person_rowing_boat_tone1"] = "🚣🏻", + ["rowboat_tone1"] = "🚣🏻", + ["person_rowing_boat_tone2"] = "🚣🏼", + ["rowboat_tone2"] = "🚣🏼", + ["person_rowing_boat_tone3"] = "🚣🏽", + ["rowboat_tone3"] = "🚣🏽", + ["person_rowing_boat_tone4"] = "🚣🏾", + ["rowboat_tone4"] = "🚣🏾", + ["person_rowing_boat_tone5"] = "🚣🏿", + ["rowboat_tone5"] = "🚣🏿", + ["woman_rowing_boat"] = "🚣‍♀️", + ["woman_rowing_boat_tone1"] = "🚣🏻‍♀️", + ["woman_rowing_boat_light_skin_tone"] = "🚣🏻‍♀️", + ["woman_rowing_boat_tone2"] = "🚣🏼‍♀️", + ["woman_rowing_boat_medium_light_skin_tone"] = "🚣🏼‍♀️", + ["woman_rowing_boat_tone3"] = "🚣🏽‍♀️", + ["woman_rowing_boat_medium_skin_tone"] = "🚣🏽‍♀️", + ["woman_rowing_boat_tone4"] = "🚣🏾‍♀️", + ["woman_rowing_boat_medium_dark_skin_tone"] = "🚣🏾‍♀️", + ["woman_rowing_boat_tone5"] = "🚣🏿‍♀️", + ["woman_rowing_boat_dark_skin_tone"] = "🚣🏿‍♀️", + ["man_rowing_boat"] = "🚣‍♂️", + ["man_rowing_boat_tone1"] = "🚣🏻‍♂️", + ["man_rowing_boat_light_skin_tone"] = "🚣🏻‍♂️", + ["man_rowing_boat_tone2"] = "🚣🏼‍♂️", + ["man_rowing_boat_medium_light_skin_tone"] = "🚣🏼‍♂️", + ["man_rowing_boat_tone3"] = "🚣🏽‍♂️", + ["man_rowing_boat_medium_skin_tone"] = "🚣🏽‍♂️", + ["man_rowing_boat_tone4"] = "🚣🏾‍♂️", + ["man_rowing_boat_medium_dark_skin_tone"] = "🚣🏾‍♂️", + ["man_rowing_boat_tone5"] = "🚣🏿‍♂️", + ["man_rowing_boat_dark_skin_tone"] = "🚣🏿‍♂️", + ["person_climbing"] = "🧗", + ["person_climbing_tone1"] = "🧗🏻", + ["person_climbing_light_skin_tone"] = "🧗🏻", + ["person_climbing_tone2"] = "🧗🏼", + ["person_climbing_medium_light_skin_tone"] = "🧗🏼", + ["person_climbing_tone3"] = "🧗🏽", + ["person_climbing_medium_skin_tone"] = "🧗🏽", + ["person_climbing_tone4"] = "🧗🏾", + ["person_climbing_medium_dark_skin_tone"] = "🧗🏾", + ["person_climbing_tone5"] = "🧗🏿", + ["person_climbing_dark_skin_tone"] = "🧗🏿", + ["woman_climbing"] = "🧗‍♀️", + ["woman_climbing_tone1"] = "🧗🏻‍♀️", + ["woman_climbing_light_skin_tone"] = "🧗🏻‍♀️", + ["woman_climbing_tone2"] = "🧗🏼‍♀️", + ["woman_climbing_medium_light_skin_tone"] = "🧗🏼‍♀️", + ["woman_climbing_tone3"] = "🧗🏽‍♀️", + ["woman_climbing_medium_skin_tone"] = "🧗🏽‍♀️", + ["woman_climbing_tone4"] = "🧗🏾‍♀️", + ["woman_climbing_medium_dark_skin_tone"] = "🧗🏾‍♀️", + ["woman_climbing_tone5"] = "🧗🏿‍♀️", + ["woman_climbing_dark_skin_tone"] = "🧗🏿‍♀️", + ["man_climbing"] = "🧗‍♂️", + ["man_climbing_tone1"] = "🧗🏻‍♂️", + ["man_climbing_light_skin_tone"] = "🧗🏻‍♂️", + ["man_climbing_tone2"] = "🧗🏼‍♂️", + ["man_climbing_medium_light_skin_tone"] = "🧗🏼‍♂️", + ["man_climbing_tone3"] = "🧗🏽‍♂️", + ["man_climbing_medium_skin_tone"] = "🧗🏽‍♂️", + ["man_climbing_tone4"] = "🧗🏾‍♂️", + ["man_climbing_medium_dark_skin_tone"] = "🧗🏾‍♂️", + ["man_climbing_tone5"] = "🧗🏿‍♂️", + ["man_climbing_dark_skin_tone"] = "🧗🏿‍♂️", + ["person_mountain_biking"] = "🚵", + ["mountain_bicyclist"] = "🚵", + ["person_mountain_biking_tone1"] = "🚵🏻", + ["mountain_bicyclist_tone1"] = "🚵🏻", + ["person_mountain_biking_tone2"] = "🚵🏼", + ["mountain_bicyclist_tone2"] = "🚵🏼", + ["person_mountain_biking_tone3"] = "🚵🏽", + ["mountain_bicyclist_tone3"] = "🚵🏽", + ["person_mountain_biking_tone4"] = "🚵🏾", + ["mountain_bicyclist_tone4"] = "🚵🏾", + ["person_mountain_biking_tone5"] = "🚵🏿", + ["mountain_bicyclist_tone5"] = "🚵🏿", + ["woman_mountain_biking"] = "🚵‍♀️", + ["woman_mountain_biking_tone1"] = "🚵🏻‍♀️", + ["woman_mountain_biking_light_skin_tone"] = "🚵🏻‍♀️", + ["woman_mountain_biking_tone2"] = "🚵🏼‍♀️", + ["woman_mountain_biking_medium_light_skin_tone"] = "🚵🏼‍♀️", + ["woman_mountain_biking_tone3"] = "🚵🏽‍♀️", + ["woman_mountain_biking_medium_skin_tone"] = "🚵🏽‍♀️", + ["woman_mountain_biking_tone4"] = "🚵🏾‍♀️", + ["woman_mountain_biking_medium_dark_skin_tone"] = "🚵🏾‍♀️", + ["woman_mountain_biking_tone5"] = "🚵🏿‍♀️", + ["woman_mountain_biking_dark_skin_tone"] = "🚵🏿‍♀️", + ["man_mountain_biking"] = "🚵‍♂️", + ["man_mountain_biking_tone1"] = "🚵🏻‍♂️", + ["man_mountain_biking_light_skin_tone"] = "🚵🏻‍♂️", + ["man_mountain_biking_tone2"] = "🚵🏼‍♂️", + ["man_mountain_biking_medium_light_skin_tone"] = "🚵🏼‍♂️", + ["man_mountain_biking_tone3"] = "🚵🏽‍♂️", + ["man_mountain_biking_medium_skin_tone"] = "🚵🏽‍♂️", + ["man_mountain_biking_tone4"] = "🚵🏾‍♂️", + ["man_mountain_biking_medium_dark_skin_tone"] = "🚵🏾‍♂️", + ["man_mountain_biking_tone5"] = "🚵🏿‍♂️", + ["man_mountain_biking_dark_skin_tone"] = "🚵🏿‍♂️", + ["person_biking"] = "🚴", + ["bicyclist"] = "🚴", + ["person_biking_tone1"] = "🚴🏻", + ["bicyclist_tone1"] = "🚴🏻", + ["person_biking_tone2"] = "🚴🏼", + ["bicyclist_tone2"] = "🚴🏼", + ["person_biking_tone3"] = "🚴🏽", + ["bicyclist_tone3"] = "🚴🏽", + ["person_biking_tone4"] = "🚴🏾", + ["bicyclist_tone4"] = "🚴🏾", + ["person_biking_tone5"] = "🚴🏿", + ["bicyclist_tone5"] = "🚴🏿", + ["woman_biking"] = "🚴‍♀️", + ["woman_biking_tone1"] = "🚴🏻‍♀️", + ["woman_biking_light_skin_tone"] = "🚴🏻‍♀️", + ["woman_biking_tone2"] = "🚴🏼‍♀️", + ["woman_biking_medium_light_skin_tone"] = "🚴🏼‍♀️", + ["woman_biking_tone3"] = "🚴🏽‍♀️", + ["woman_biking_medium_skin_tone"] = "🚴🏽‍♀️", + ["woman_biking_tone4"] = "🚴🏾‍♀️", + ["woman_biking_medium_dark_skin_tone"] = "🚴🏾‍♀️", + ["woman_biking_tone5"] = "🚴🏿‍♀️", + ["woman_biking_dark_skin_tone"] = "🚴🏿‍♀️", + ["man_biking"] = "🚴‍♂️", + ["man_biking_tone1"] = "🚴🏻‍♂️", + ["man_biking_light_skin_tone"] = "🚴🏻‍♂️", + ["man_biking_tone2"] = "🚴🏼‍♂️", + ["man_biking_medium_light_skin_tone"] = "🚴🏼‍♂️", + ["man_biking_tone3"] = "🚴🏽‍♂️", + ["man_biking_medium_skin_tone"] = "🚴🏽‍♂️", + ["man_biking_tone4"] = "🚴🏾‍♂️", + ["man_biking_medium_dark_skin_tone"] = "🚴🏾‍♂️", + ["man_biking_tone5"] = "🚴🏿‍♂️", + ["man_biking_dark_skin_tone"] = "🚴🏿‍♂️", + ["trophy"] = "🏆", + ["first_place"] = "🥇", + ["first_place_medal"] = "🥇", + ["second_place"] = "🥈", + ["second_place_medal"] = "🥈", + ["third_place"] = "🥉", + ["third_place_medal"] = "🥉", + ["medal"] = "🏅", + ["sports_medal"] = "🏅", + ["military_medal"] = "🎖️", + ["rosette"] = "🏵️", + ["reminder_ribbon"] = "🎗️", + ["ticket"] = "🎫", + ["tickets"] = "🎟️", + ["admission_tickets"] = "🎟️", + ["circus_tent"] = "🎪", + ["person_juggling"] = "🤹", + ["juggling"] = "🤹", + ["juggler"] = "🤹", + ["person_juggling_tone1"] = "🤹🏻", + ["juggling_tone1"] = "🤹🏻", + ["juggler_tone1"] = "🤹🏻", + ["person_juggling_tone2"] = "🤹🏼", + ["juggling_tone2"] = "🤹🏼", + ["juggler_tone2"] = "🤹🏼", + ["person_juggling_tone3"] = "🤹🏽", + ["juggling_tone3"] = "🤹🏽", + ["juggler_tone3"] = "🤹🏽", + ["person_juggling_tone4"] = "🤹🏾", + ["juggling_tone4"] = "🤹🏾", + ["juggler_tone4"] = "🤹🏾", + ["person_juggling_tone5"] = "🤹🏿", + ["juggling_tone5"] = "🤹🏿", + ["juggler_tone5"] = "🤹🏿", + ["woman_juggling"] = "🤹‍♀️", + ["woman_juggling_tone1"] = "🤹🏻‍♀️", + ["woman_juggling_light_skin_tone"] = "🤹🏻‍♀️", + ["woman_juggling_tone2"] = "🤹🏼‍♀️", + ["woman_juggling_medium_light_skin_tone"] = "🤹🏼‍♀️", + ["woman_juggling_tone3"] = "🤹🏽‍♀️", + ["woman_juggling_medium_skin_tone"] = "🤹🏽‍♀️", + ["woman_juggling_tone4"] = "🤹🏾‍♀️", + ["woman_juggling_medium_dark_skin_tone"] = "🤹🏾‍♀️", + ["woman_juggling_tone5"] = "🤹🏿‍♀️", + ["woman_juggling_dark_skin_tone"] = "🤹🏿‍♀️", + ["man_juggling"] = "🤹‍♂️", + ["man_juggling_tone1"] = "🤹🏻‍♂️", + ["man_juggling_light_skin_tone"] = "🤹🏻‍♂️", + ["man_juggling_tone2"] = "🤹🏼‍♂️", + ["man_juggling_medium_light_skin_tone"] = "🤹🏼‍♂️", + ["man_juggling_tone3"] = "🤹🏽‍♂️", + ["man_juggling_medium_skin_tone"] = "🤹🏽‍♂️", + ["man_juggling_tone4"] = "🤹🏾‍♂️", + ["man_juggling_medium_dark_skin_tone"] = "🤹🏾‍♂️", + ["man_juggling_tone5"] = "🤹🏿‍♂️", + ["man_juggling_dark_skin_tone"] = "🤹🏿‍♂️", + ["performing_arts"] = "🎭", + ["ballet_shoes"] = "🩰", + ["art"] = "🎨", + ["clapper"] = "🎬", + ["microphone"] = "🎤", + ["headphones"] = "🎧", + ["musical_score"] = "🎼", + ["musical_keyboard"] = "🎹", + ["drum"] = "🥁", + ["drum_with_drumsticks"] = "🥁", + ["long_drum"] = "🪘", + ["saxophone"] = "🎷", + ["trumpet"] = "🎺", + ["guitar"] = "🎸", + ["banjo"] = "🪕", + ["violin"] = "🎻", + ["accordion"] = "🪗", + ["game_die"] = "🎲", + ["chess_pawn"] = "♟️", + ["dart"] = "🎯", + ["bowling"] = "🎳", + ["video_game"] = "🎮", + ["slot_machine"] = "🎰", + ["jigsaw"] = "🧩", + ["red_car"] = "🚗", + ["taxi"] = "🚕", + ["blue_car"] = "🚙", + ["pickup_truck"] = "🛻", + ["bus"] = "🚌", + ["trolleybus"] = "🚎", + ["race_car"] = "🏎️", + ["racing_car"] = "🏎️", + ["police_car"] = "🚓", + ["ambulance"] = "🚑", + ["fire_engine"] = "🚒", + ["minibus"] = "🚐", + ["truck"] = "🚚", + ["articulated_lorry"] = "🚛", + ["tractor"] = "🚜", + ["probing_cane"] = "🦯", + ["manual_wheelchair"] = "🦽", + ["motorized_wheelchair"] = "🦼", + ["scooter"] = "🛴", + ["bike"] = "🚲", + ["motor_scooter"] = "🛵", + ["motorbike"] = "🛵", + ["motorcycle"] = "🏍️", + ["racing_motorcycle"] = "🏍️", + ["auto_rickshaw"] = "🛺", + ["rotating_light"] = "🚨", + ["oncoming_police_car"] = "🚔", + ["oncoming_bus"] = "🚍", + ["oncoming_automobile"] = "🚘", + ["oncoming_taxi"] = "🚖", + ["aerial_tramway"] = "🚡", + ["mountain_cableway"] = "🚠", + ["suspension_railway"] = "🚟", + ["railway_car"] = "🚃", + ["train"] = "🚋", + ["mountain_railway"] = "🚞", + ["monorail"] = "🚝", + ["bullettrain_side"] = "🚄", + ["bullettrain_front"] = "🚅", + ["light_rail"] = "🚈", + ["steam_locomotive"] = "🚂", + ["train2"] = "🚆", + ["metro"] = "🚇", + ["tram"] = "🚊", + ["station"] = "🚉", + ["airplane"] = "✈️", + ["airplane_departure"] = "🛫", + ["airplane_arriving"] = "🛬", + ["airplane_small"] = "🛩️", + ["small_airplane"] = "🛩️", + ["seat"] = "💺", + ["satellite_orbital"] = "🛰️", + ["rocket"] = "🚀", + ["flying_saucer"] = "🛸", + ["helicopter"] = "🚁", + ["canoe"] = "🛶", + ["kayak"] = "🛶", + ["sailboat"] = "⛵", + ["speedboat"] = "🚤", + ["motorboat"] = "🛥️", + ["cruise_ship"] = "🛳️", + ["passenger_ship"] = "🛳️", + ["ferry"] = "⛴️", + ["ship"] = "🚢", + ["anchor"] = "⚓", + ["fuelpump"] = "⛽", + ["construction"] = "🚧", + ["vertical_traffic_light"] = "🚦", + ["traffic_light"] = "🚥", + ["busstop"] = "🚏", + ["map"] = "🗺️", + ["world_map"] = "🗺️", + ["moyai"] = "🗿", + ["statue_of_liberty"] = "🗽", + ["tokyo_tower"] = "🗼", + ["european_castle"] = "🏰", + ["japanese_castle"] = "🏯", + ["stadium"] = "🏟️", + ["ferris_wheel"] = "🎡", + ["roller_coaster"] = "🎢", + ["carousel_horse"] = "🎠", + ["fountain"] = "⛲", + ["beach_umbrella"] = "⛱️", + ["umbrella_on_ground"] = "⛱️", + ["beach"] = "🏖️", + ["beach_with_umbrella"] = "🏖️", + ["island"] = "🏝️", + ["desert_island"] = "🏝️", + ["desert"] = "🏜️", + ["volcano"] = "🌋", + ["mountain"] = "⛰️", + ["mountain_snow"] = "🏔️", + ["snow_capped_mountain"] = "🏔️", + ["mount_fuji"] = "🗻", + ["camping"] = "🏕️", + ["tent"] = "⛺", + ["house"] = "🏠", + ["house_with_garden"] = "🏡", + ["homes"] = "🏘️", + ["house_buildings"] = "🏘️", + ["house_abandoned"] = "🏚️", + ["derelict_house_building"] = "🏚️", + ["hut"] = "🛖", + ["construction_site"] = "🏗️", + ["building_construction"] = "🏗️", + ["factory"] = "🏭", + ["office"] = "🏢", + ["department_store"] = "🏬", + ["post_office"] = "🏣", + ["european_post_office"] = "🏤", + ["hospital"] = "🏥", + ["bank"] = "🏦", + ["hotel"] = "🏨", + ["convenience_store"] = "🏪", + ["school"] = "🏫", + ["love_hotel"] = "🏩", + ["wedding"] = "💒", + ["classical_building"] = "🏛️", + ["church"] = "⛪", + ["mosque"] = "🕌", + ["synagogue"] = "🕍", + ["hindu_temple"] = "🛕", + ["kaaba"] = "🕋", + ["shinto_shrine"] = "⛩️", + ["railway_track"] = "🛤️", + ["railroad_track"] = "🛤️", + ["motorway"] = "🛣️", + ["japan"] = "🗾", + ["rice_scene"] = "🎑", + ["park"] = "🏞️", + ["national_park"] = "🏞️", + ["sunrise"] = "🌅", + ["sunrise_over_mountains"] = "🌄", + ["stars"] = "🌠", + ["sparkler"] = "🎇", + ["fireworks"] = "🎆", + ["city_sunset"] = "🌇", + ["city_sunrise"] = "🌇", + ["city_dusk"] = "🌆", + ["cityscape"] = "🏙️", + ["night_with_stars"] = "🌃", + ["milky_way"] = "🌌", + ["bridge_at_night"] = "🌉", + ["foggy"] = "🌁", + ["watch"] = "⌚", + ["mobile_phone"] = "📱", + ["iphone"] = "📱", + ["calling"] = "📲", + ["computer"] = "💻", + ["keyboard"] = "⌨️", + ["desktop"] = "🖥️", + ["desktop_computer"] = "🖥️", + ["printer"] = "🖨️", + ["mouse_three_button"] = "🖱️", + ["three_button_mouse"] = "🖱️", + ["trackball"] = "🖲️", + ["joystick"] = "🕹️", + ["compression"] = "🗜️", + ["minidisc"] = "💽", + ["floppy_disk"] = "💾", + ["cd"] = "💿", + ["dvd"] = "📀", + ["vhs"] = "📼", + ["camera"] = "📷", + ["camera_with_flash"] = "📸", + ["video_camera"] = "📹", + ["movie_camera"] = "🎥", + ["projector"] = "📽️", + ["film_projector"] = "📽️", + ["film_frames"] = "🎞️", + ["telephone_receiver"] = "📞", + ["telephone"] = "☎️", + ["pager"] = "📟", + ["fax"] = "📠", + ["tv"] = "📺", + ["radio"] = "📻", + ["microphone2"] = "🎙️", + ["studio_microphone"] = "🎙️", + ["level_slider"] = "🎚️", + ["control_knobs"] = "🎛️", + ["compass"] = "🧭", + ["stopwatch"] = "⏱️", + ["timer"] = "⏲️", + ["timer_clock"] = "⏲️", + ["alarm_clock"] = "⏰", + ["clock"] = "🕰️", + ["mantlepiece_clock"] = "🕰️", + ["hourglass"] = "⌛", + ["hourglass_flowing_sand"] = "⏳", + ["satellite"] = "📡", + ["battery"] = "🔋", + ["electric_plug"] = "🔌", + ["bulb"] = "💡", + ["flashlight"] = "🔦", + ["candle"] = "🕯️", + ["diya_lamp"] = "🪔", + ["fire_extinguisher"] = "🧯", + ["oil"] = "🛢️", + ["oil_drum"] = "🛢️", + ["money_with_wings"] = "💸", + ["dollar"] = "💵", + ["yen"] = "💴", + ["euro"] = "💶", + ["pound"] = "💷", + ["coin"] = "🪙", + ["moneybag"] = "💰", + ["credit_card"] = "💳", + ["gem"] = "💎", + ["scales"] = "⚖️", + ["ladder"] = "🪜", + ["toolbox"] = "🧰", + ["screwdriver"] = "🪛", + ["wrench"] = "🔧", + ["hammer"] = "🔨", + ["hammer_pick"] = "⚒️", + ["hammer_and_pick"] = "⚒️", + ["tools"] = "🛠️", + ["hammer_and_wrench"] = "🛠️", + ["pick"] = "⛏️", + ["nut_and_bolt"] = "🔩", + ["gear"] = "⚙️", + ["bricks"] = "🧱", + ["chains"] = "⛓️", + ["hook"] = "🪝", + ["knot"] = "🪢", + ["magnet"] = "🧲", + ["gun"] = "🔫", + ["bomb"] = "💣", + ["firecracker"] = "🧨", + ["axe"] = "🪓", + ["carpentry_saw"] = "🪚", + ["knife"] = "🔪", + ["dagger"] = "🗡️", + ["dagger_knife"] = "🗡️", + ["crossed_swords"] = "⚔️", + ["shield"] = "🛡️", + ["smoking"] = "🚬", + ["coffin"] = "⚰️", + ["headstone"] = "🪦", + ["urn"] = "⚱️", + ["funeral_urn"] = "⚱️", + ["amphora"] = "🏺", + ["magic_wand"] = "🪄", + ["crystal_ball"] = "🔮", + ["prayer_beads"] = "📿", + ["nazar_amulet"] = "🧿", + ["barber"] = "💈", + ["alembic"] = "⚗️", + ["telescope"] = "🔭", + ["microscope"] = "🔬", + ["hole"] = "🕳️", + ["window"] = "🪟", + ["adhesive_bandage"] = "🩹", + ["stethoscope"] = "🩺", + ["pill"] = "💊", + ["syringe"] = "💉", + ["drop_of_blood"] = "🩸", + ["dna"] = "🧬", + ["microbe"] = "🦠", + ["petri_dish"] = "🧫", + ["test_tube"] = "🧪", + ["thermometer"] = "🌡️", + ["mouse_trap"] = "🪤", + ["broom"] = "🧹", + ["basket"] = "🧺", + ["sewing_needle"] = "🪡", + ["roll_of_paper"] = "🧻", + ["toilet"] = "🚽", + ["plunger"] = "🪠", + ["bucket"] = "🪣", + ["potable_water"] = "🚰", + ["shower"] = "🚿", + ["bathtub"] = "🛁", + ["bath"] = "🛀", + ["bath_tone1"] = "🛀🏻", + ["bath_tone2"] = "🛀🏼", + ["bath_tone3"] = "🛀🏽", + ["bath_tone4"] = "🛀🏾", + ["bath_tone5"] = "🛀🏿", + ["toothbrush"] = "🪥", + ["soap"] = "🧼", + ["razor"] = "🪒", + ["sponge"] = "🧽", + ["squeeze_bottle"] = "🧴", + ["bellhop"] = "🛎️", + ["bellhop_bell"] = "🛎️", + ["key"] = "🔑", + ["key2"] = "🗝️", + ["old_key"] = "🗝️", + ["door"] = "🚪", + ["chair"] = "🪑", + ["mirror"] = "🪞", + ["couch"] = "🛋️", + ["couch_and_lamp"] = "🛋️", + ["bed"] = "🛏️", + ["sleeping_accommodation"] = "🛌", + ["person_in_bed_tone1"] = "🛌🏻", + ["person_in_bed_light_skin_tone"] = "🛌🏻", + ["person_in_bed_tone2"] = "🛌🏼", + ["person_in_bed_medium_light_skin_tone"] = "🛌🏼", + ["person_in_bed_tone3"] = "🛌🏽", + ["person_in_bed_medium_skin_tone"] = "🛌🏽", + ["person_in_bed_tone4"] = "🛌🏾", + ["person_in_bed_medium_dark_skin_tone"] = "🛌🏾", + ["person_in_bed_tone5"] = "🛌🏿", + ["person_in_bed_dark_skin_tone"] = "🛌🏿", + ["teddy_bear"] = "🧸", + ["frame_photo"] = "🖼️", + ["frame_with_picture"] = "🖼️", + ["shopping_bags"] = "🛍️", + ["shopping_cart"] = "🛒", + ["shopping_trolley"] = "🛒", + ["gift"] = "🎁", + ["balloon"] = "🎈", + ["flags"] = "🎏", + ["ribbon"] = "🎀", + ["confetti_ball"] = "🎊", + ["tada"] = "🎉", + ["piñata"] = "🪅", + ["nesting_dolls"] = "🪆", + ["dolls"] = "🎎", + ["izakaya_lantern"] = "🏮", + ["wind_chime"] = "🎐", + ["red_envelope"] = "🧧", + ["envelope"] = "✉️", + ["envelope_with_arrow"] = "📩", + ["incoming_envelope"] = "📨", + ["e_mail"] = "📧", + ["email"] = "📧", + ["love_letter"] = "💌", + ["inbox_tray"] = "📥", + ["outbox_tray"] = "📤", + ["package"] = "📦", + ["label"] = "🏷️", + ["mailbox_closed"] = "📪", + ["mailbox"] = "📫", + ["mailbox_with_mail"] = "📬", + ["mailbox_with_no_mail"] = "📭", + ["postbox"] = "📮", + ["postal_horn"] = "📯", + ["placard"] = "🪧", + ["scroll"] = "📜", + ["page_with_curl"] = "📃", + ["page_facing_up"] = "📄", + ["bookmark_tabs"] = "📑", + ["receipt"] = "🧾", + ["bar_chart"] = "📊", + ["chart_with_upwards_trend"] = "📈", + ["chart_with_downwards_trend"] = "📉", + ["notepad_spiral"] = "🗒️", + ["spiral_note_pad"] = "🗒️", + ["calendar_spiral"] = "🗓️", + ["spiral_calendar_pad"] = "🗓️", + ["calendar"] = "📆", + ["date"] = "📅", + ["wastebasket"] = "🗑️", + ["card_index"] = "📇", + ["card_box"] = "🗃️", + ["card_file_box"] = "🗃️", + ["ballot_box"] = "🗳️", + ["ballot_box_with_ballot"] = "🗳️", + ["file_cabinet"] = "🗄️", + ["clipboard"] = "📋", + ["file_folder"] = "📁", + ["open_file_folder"] = "📂", + ["dividers"] = "🗂️", + ["card_index_dividers"] = "🗂️", + ["newspaper2"] = "🗞️", + ["rolled_up_newspaper"] = "🗞️", + ["newspaper"] = "📰", + ["notebook"] = "📓", + ["notebook_with_decorative_cover"] = "📔", + ["ledger"] = "📒", + ["closed_book"] = "📕", + ["green_book"] = "📗", + ["blue_book"] = "📘", + ["orange_book"] = "📙", + ["books"] = "📚", + ["book"] = "📖", + ["bookmark"] = "🔖", + ["safety_pin"] = "🧷", + ["link"] = "🔗", + ["paperclip"] = "📎", + ["paperclips"] = "🖇️", + ["linked_paperclips"] = "🖇️", + ["triangular_ruler"] = "📐", + ["straight_ruler"] = "📏", + ["abacus"] = "🧮", + ["pushpin"] = "📌", + ["round_pushpin"] = "📍", + ["scissors"] = "✂️", + ["pen_ballpoint"] = "🖊️", + ["lower_left_ballpoint_pen"] = "🖊️", + ["pen_fountain"] = "🖋️", + ["lower_left_fountain_pen"] = "🖋️", + ["black_nib"] = "✒️", + ["paintbrush"] = "🖌️", + ["lower_left_paintbrush"] = "🖌️", + ["crayon"] = "🖍️", + ["lower_left_crayon"] = "🖍️", + ["pencil"] = "📝", + ["memo"] = "📝", + ["pencil2"] = "✏️", + ["mag"] = "🔍", + ["mag_right"] = "🔎", + ["lock_with_ink_pen"] = "🔏", + ["closed_lock_with_key"] = "🔐", + ["lock"] = "🔒", + ["unlock"] = "🔓", + ["heart"] = "❤️", + ["orange_heart"] = "🧡", + ["yellow_heart"] = "💛", + ["green_heart"] = "💚", + ["blue_heart"] = "💙", + ["purple_heart"] = "💜", + ["black_heart"] = "🖤", + ["brown_heart"] = "🤎", + ["white_heart"] = "🤍", + ["broken_heart"] = "💔", + ["heart_exclamation"] = "❣️", + ["heavy_heart_exclamation_mark_ornament"] = "❣️", + ["two_hearts"] = "💕", + ["revolving_hearts"] = "💞", + ["heartbeat"] = "💓", + ["heartpulse"] = "💗", + ["sparkling_heart"] = "💖", + ["cupid"] = "💘", + ["gift_heart"] = "💝", + ["mending_heart"] = "❤️‍🩹", + ["heart_on_fire"] = "❤️‍🔥", + ["heart_decoration"] = "💟", + ["peace"] = "☮️", + ["peace_symbol"] = "☮️", + ["cross"] = "✝️", + ["latin_cross"] = "✝️", + ["star_and_crescent"] = "☪️", + ["om_symbol"] = "🕉️", + ["wheel_of_dharma"] = "☸️", + ["star_of_david"] = "✡️", + ["six_pointed_star"] = "🔯", + ["menorah"] = "🕎", + ["yin_yang"] = "☯️", + ["orthodox_cross"] = "☦️", + ["place_of_worship"] = "🛐", + ["worship_symbol"] = "🛐", + ["ophiuchus"] = "⛎", + ["aries"] = "♈", + ["taurus"] = "♉", + ["gemini"] = "♊", + ["cancer"] = "♋", + ["leo"] = "♌", + ["virgo"] = "♍", + ["libra"] = "♎", + ["scorpius"] = "♏", + ["sagittarius"] = "♐", + ["capricorn"] = "♑", + ["aquarius"] = "♒", + ["pisces"] = "♓", + ["id"] = "🆔", + ["atom"] = "⚛️", + ["atom_symbol"] = "⚛️", + ["accept"] = "🉑", + ["radioactive"] = "☢️", + ["radioactive_sign"] = "☢️", + ["biohazard"] = "☣️", + ["biohazard_sign"] = "☣️", + ["mobile_phone_off"] = "📴", + ["vibration_mode"] = "📳", + ["u6709"] = "🈶", + ["u7121"] = "🈚", + ["u7533"] = "🈸", + ["u55b6"] = "🈺", + ["u6708"] = "🈷️", + ["eight_pointed_black_star"] = "✴️", + ["vs"] = "🆚", + ["white_flower"] = "💮", + ["ideograph_advantage"] = "🉐", + ["secret"] = "㊙️", + ["congratulations"] = "㊗️", + ["u5408"] = "🈴", + ["u6e80"] = "🈵", + ["u5272"] = "🈹", + ["u7981"] = "🈲", + ["a"] = "🅰️", + ["b"] = "🅱️", + ["ab"] = "🆎", + ["cl"] = "🆑", + ["o2"] = "🅾️", + ["sos"] = "🆘", + ["x"] = "❌", + ["o"] = "⭕", + ["octagonal_sign"] = "🛑", + ["stop_sign"] = "🛑", + ["no_entry"] = "⛔", + ["name_badge"] = "📛", + ["no_entry_sign"] = "🚫", + ["100"] = "💯", + ["anger"] = "💢", + ["hotsprings"] = "♨️", + ["no_pedestrians"] = "🚷", + ["do_not_litter"] = "🚯", + ["no_bicycles"] = "🚳", + ["non_potable_water"] = "🚱", + ["underage"] = "🔞", + ["no_mobile_phones"] = "📵", + ["no_smoking"] = "🚭", + ["exclamation"] = "❗", + ["grey_exclamation"] = "❕", + ["question"] = "❓", + ["grey_question"] = "❔", + ["bangbang"] = "‼️", + ["interrobang"] = "⁉️", + ["low_brightness"] = "🔅", + ["high_brightness"] = "🔆", + ["part_alternation_mark"] = "〽️", + ["warning"] = "⚠️", + ["children_crossing"] = "🚸", + ["trident"] = "🔱", + ["fleur_de_lis"] = "⚜️", + ["beginner"] = "🔰", + ["recycle"] = "♻️", + ["white_check_mark"] = "✅", + ["u6307"] = "🈯", + ["chart"] = "💹", + ["sparkle"] = "❇️", + ["eight_spoked_asterisk"] = "✳️", + ["negative_squared_cross_mark"] = "❎", + ["globe_with_meridians"] = "🌐", + ["diamond_shape_with_a_dot_inside"] = "💠", + ["m"] = "Ⓜ️", + ["cyclone"] = "🌀", + ["zzz"] = "💤", + ["atm"] = "🏧", + ["wc"] = "🚾", + ["wheelchair"] = "♿", + ["parking"] = "🅿️", + ["u7a7a"] = "🈳", + ["sa"] = "🈂️", + ["passport_control"] = "🛂", + ["customs"] = "🛃", + ["baggage_claim"] = "🛄", + ["left_luggage"] = "🛅", + ["elevator"] = "🛗", + ["mens"] = "🚹", + ["womens"] = "🚺", + ["baby_symbol"] = "🚼", + ["restroom"] = "🚻", + ["put_litter_in_its_place"] = "🚮", + ["cinema"] = "🎦", + ["signal_strength"] = "📶", + ["koko"] = "🈁", + ["symbols"] = "🔣", + ["information_source"] = "ℹ️", + ["abc"] = "🔤", + ["abcd"] = "🔡", + ["capital_abcd"] = "🔠", + ["ng"] = "🆖", + ["ok"] = "🆗", + ["up"] = "🆙", + ["cool"] = "🆒", + ["new"] = "🆕", + ["free"] = "🆓", + ["zero"] = "0️⃣", + ["one"] = "1️⃣", + ["two"] = "2️⃣", + ["three"] = "3️⃣", + ["four"] = "4️⃣", + ["five"] = "5️⃣", + ["six"] = "6️⃣", + ["seven"] = "7️⃣", + ["eight"] = "8️⃣", + ["nine"] = "9️⃣", + ["keycap_ten"] = "🔟", + ["1234"] = "🔢", + ["hash"] = "#️⃣", + ["asterisk"] = "*️⃣", + ["keycap_asterisk"] = "*️⃣", + ["eject"] = "⏏️", + ["eject_symbol"] = "⏏️", + ["arrow_forward"] = "▶️", + ["pause_button"] = "⏸️", + ["double_vertical_bar"] = "⏸️", + ["play_pause"] = "⏯️", + ["stop_button"] = "⏹️", + ["record_button"] = "⏺️", + ["track_next"] = "⏭️", + ["next_track"] = "⏭️", + ["track_previous"] = "⏮️", + ["previous_track"] = "⏮️", + ["fast_forward"] = "⏩", + ["rewind"] = "⏪", + ["arrow_double_up"] = "⏫", + ["arrow_double_down"] = "⏬", + ["arrow_backward"] = "◀️", + ["arrow_up_small"] = "🔼", + ["arrow_down_small"] = "🔽", + ["arrow_right"] = "➡️", + ["arrow_left"] = "⬅️", + ["arrow_up"] = "⬆️", + ["arrow_down"] = "⬇️", + ["arrow_upper_right"] = "↗️", + ["arrow_lower_right"] = "↘️", + ["arrow_lower_left"] = "↙️", + ["arrow_upper_left"] = "↖️", + ["arrow_up_down"] = "↕️", + ["left_right_arrow"] = "↔️", + ["arrow_right_hook"] = "↪️", + ["leftwards_arrow_with_hook"] = "↩️", + ["arrow_heading_up"] = "⤴️", + ["arrow_heading_down"] = "⤵️", + ["twisted_rightwards_arrows"] = "🔀", + ["repeat"] = "🔁", + ["repeat_one"] = "🔂", + ["arrows_counterclockwise"] = "🔄", + ["arrows_clockwise"] = "🔃", + ["musical_note"] = "🎵", + ["notes"] = "🎶", + ["heavy_plus_sign"] = "➕", + ["heavy_minus_sign"] = "➖", + ["heavy_division_sign"] = "➗", + ["heavy_multiplication_x"] = "✖️", + ["infinity"] = "♾️", + ["heavy_dollar_sign"] = "💲", + ["currency_exchange"] = "💱", + ["tm"] = "™️", + ["copyright"] = "©️", + ["registered"] = "®️", + ["wavy_dash"] = "〰️", + ["curly_loop"] = "➰", + ["loop"] = "➿", + ["end"] = "🔚", + ["back"] = "🔙", + ["on"] = "🔛", + ["top"] = "🔝", + ["soon"] = "🔜", + ["heavy_check_mark"] = "✔️", + ["ballot_box_with_check"] = "☑️", + ["radio_button"] = "🔘", + ["white_circle"] = "⚪", + ["black_circle"] = "⚫", + ["red_circle"] = "🔴", + ["blue_circle"] = "🔵", + ["brown_circle"] = "🟤", + ["purple_circle"] = "🟣", + ["green_circle"] = "🟢", + ["yellow_circle"] = "🟡", + ["orange_circle"] = "🟠", + ["small_red_triangle"] = "🔺", + ["small_red_triangle_down"] = "🔻", + ["small_orange_diamond"] = "🔸", + ["small_blue_diamond"] = "🔹", + ["large_orange_diamond"] = "🔶", + ["large_blue_diamond"] = "🔷", + ["white_square_button"] = "🔳", + ["black_square_button"] = "🔲", + ["black_small_square"] = "▪️", + ["white_small_square"] = "▫️", + ["black_medium_small_square"] = "◾", + ["white_medium_small_square"] = "◽", + ["black_medium_square"] = "◼️", + ["white_medium_square"] = "◻️", + ["black_large_square"] = "⬛", + ["white_large_square"] = "⬜", + ["orange_square"] = "🟧", + ["blue_square"] = "🟦", + ["red_square"] = "🟥", + ["brown_square"] = "🟫", + ["purple_square"] = "🟪", + ["green_square"] = "🟩", + ["yellow_square"] = "🟨", + ["speaker"] = "🔈", + ["mute"] = "🔇", + ["sound"] = "🔉", + ["loud_sound"] = "🔊", + ["bell"] = "🔔", + ["no_bell"] = "🔕", + ["mega"] = "📣", + ["loudspeaker"] = "📢", + ["speech_left"] = "🗨️", + ["left_speech_bubble"] = "🗨️", + ["eye_in_speech_bubble"] = "👁‍🗨", + ["speech_balloon"] = "💬", + ["thought_balloon"] = "💭", + ["anger_right"] = "🗯️", + ["right_anger_bubble"] = "🗯️", + ["spades"] = "♠️", + ["clubs"] = "♣️", + ["hearts"] = "♥️", + ["diamonds"] = "♦️", + ["black_joker"] = "🃏", + ["flower_playing_cards"] = "🎴", + ["mahjong"] = "🀄", + ["clock1"] = "🕐", + ["clock2"] = "🕑", + ["clock3"] = "🕒", + ["clock4"] = "🕓", + ["clock5"] = "🕔", + ["clock6"] = "🕕", + ["clock7"] = "🕖", + ["clock8"] = "🕗", + ["clock9"] = "🕘", + ["clock10"] = "🕙", + ["clock11"] = "🕚", + ["clock12"] = "🕛", + ["clock130"] = "🕜", + ["clock230"] = "🕝", + ["clock330"] = "🕞", + ["clock430"] = "🕟", + ["clock530"] = "🕠", + ["clock630"] = "🕡", + ["clock730"] = "🕢", + ["clock830"] = "🕣", + ["clock930"] = "🕤", + ["clock1030"] = "🕥", + ["clock1130"] = "🕦", + ["clock1230"] = "🕧", + ["female_sign"] = "♀️", + ["male_sign"] = "♂️", + ["transgender_symbol"] = "⚧", + ["medical_symbol"] = "⚕️", + ["regional_indicator_z"] = "🇿", + ["regional_indicator_y"] = "🇾", + ["regional_indicator_x"] = "🇽", + ["regional_indicator_w"] = "🇼", + ["regional_indicator_v"] = "🇻", + ["regional_indicator_u"] = "🇺", + ["regional_indicator_t"] = "🇹", + ["regional_indicator_s"] = "🇸", + ["regional_indicator_r"] = "🇷", + ["regional_indicator_q"] = "🇶", + ["regional_indicator_p"] = "🇵", + ["regional_indicator_o"] = "🇴", + ["regional_indicator_n"] = "🇳", + ["regional_indicator_m"] = "🇲", + ["regional_indicator_l"] = "🇱", + ["regional_indicator_k"] = "🇰", + ["regional_indicator_j"] = "🇯", + ["regional_indicator_i"] = "🇮", + ["regional_indicator_h"] = "🇭", + ["regional_indicator_g"] = "🇬", + ["regional_indicator_f"] = "🇫", + ["regional_indicator_e"] = "🇪", + ["regional_indicator_d"] = "🇩", + ["regional_indicator_c"] = "🇨", + ["regional_indicator_b"] = "🇧", + ["regional_indicator_a"] = "🇦", + ["flag_white"] = "🏳️", + ["flag_black"] = "🏴", + ["checkered_flag"] = "🏁", + ["triangular_flag_on_post"] = "🚩", + ["rainbow_flag"] = "🏳️‍🌈", + ["gay_pride_flag"] = "🏳️‍🌈", + ["transgender_flag"] = "🏳️‍⚧️", + ["pirate_flag"] = "🏴‍☠️", + ["flag_af"] = "🇦🇫", + ["flag_ax"] = "🇦🇽", + ["flag_al"] = "🇦🇱", + ["flag_dz"] = "🇩🇿", + ["flag_as"] = "🇦🇸", + ["flag_ad"] = "🇦🇩", + ["flag_ao"] = "🇦🇴", + ["flag_ai"] = "🇦🇮", + ["flag_aq"] = "🇦🇶", + ["flag_ag"] = "🇦🇬", + ["flag_ar"] = "🇦🇷", + ["flag_am"] = "🇦🇲", + ["flag_aw"] = "🇦🇼", + ["flag_au"] = "🇦🇺", + ["flag_at"] = "🇦🇹", + ["flag_az"] = "🇦🇿", + ["flag_bs"] = "🇧🇸", + ["flag_bh"] = "🇧🇭", + ["flag_bd"] = "🇧🇩", + ["flag_bb"] = "🇧🇧", + ["flag_by"] = "🇧🇾", + ["flag_be"] = "🇧🇪", + ["flag_bz"] = "🇧🇿", + ["flag_bj"] = "🇧🇯", + ["flag_bm"] = "🇧🇲", + ["flag_bt"] = "🇧🇹", + ["flag_bo"] = "🇧🇴", + ["flag_ba"] = "🇧🇦", + ["flag_bw"] = "🇧🇼", + ["flag_br"] = "🇧🇷", + ["flag_io"] = "🇮🇴", + ["flag_vg"] = "🇻🇬", + ["flag_bn"] = "🇧🇳", + ["flag_bg"] = "🇧🇬", + ["flag_bf"] = "🇧🇫", + ["flag_bi"] = "🇧🇮", + ["flag_kh"] = "🇰🇭", + ["flag_cm"] = "🇨🇲", + ["flag_ca"] = "🇨🇦", + ["flag_ic"] = "🇮🇨", + ["flag_cv"] = "🇨🇻", + ["flag_bq"] = "🇧🇶", + ["flag_ky"] = "🇰🇾", + ["flag_cf"] = "🇨🇫", + ["flag_td"] = "🇹🇩", + ["flag_cl"] = "🇨🇱", + ["flag_cn"] = "🇨🇳", + ["flag_cx"] = "🇨🇽", + ["flag_cc"] = "🇨🇨", + ["flag_co"] = "🇨🇴", + ["flag_km"] = "🇰🇲", + ["flag_cg"] = "🇨🇬", + ["flag_cd"] = "🇨🇩", + ["flag_ck"] = "🇨🇰", + ["flag_cr"] = "🇨🇷", + ["flag_ci"] = "🇨🇮", + ["flag_hr"] = "🇭🇷", + ["flag_cu"] = "🇨🇺", + ["flag_cw"] = "🇨🇼", + ["flag_cy"] = "🇨🇾", + ["flag_cz"] = "🇨🇿", + ["flag_dk"] = "🇩🇰", + ["flag_dj"] = "🇩🇯", + ["flag_dm"] = "🇩🇲", + ["flag_do"] = "🇩🇴", + ["flag_ec"] = "🇪🇨", + ["flag_eg"] = "🇪🇬", + ["flag_sv"] = "🇸🇻", + ["flag_gq"] = "🇬🇶", + ["flag_er"] = "🇪🇷", + ["flag_ee"] = "🇪🇪", + ["flag_et"] = "🇪🇹", + ["flag_eu"] = "🇪🇺", + ["flag_fk"] = "🇫🇰", + ["flag_fo"] = "🇫🇴", + ["flag_fj"] = "🇫🇯", + ["flag_fi"] = "🇫🇮", + ["flag_fr"] = "🇫🇷", + ["flag_gf"] = "🇬🇫", + ["flag_pf"] = "🇵🇫", + ["flag_tf"] = "🇹🇫", + ["flag_ga"] = "🇬🇦", + ["flag_gm"] = "🇬🇲", + ["flag_ge"] = "🇬🇪", + ["flag_de"] = "🇩🇪", + ["flag_gh"] = "🇬🇭", + ["flag_gi"] = "🇬🇮", + ["flag_gr"] = "🇬🇷", + ["flag_gl"] = "🇬🇱", + ["flag_gd"] = "🇬🇩", + ["flag_gp"] = "🇬🇵", + ["flag_gu"] = "🇬🇺", + ["flag_gt"] = "🇬🇹", + ["flag_gg"] = "🇬🇬", + ["flag_gn"] = "🇬🇳", + ["flag_gw"] = "🇬🇼", + ["flag_gy"] = "🇬🇾", + ["flag_ht"] = "🇭🇹", + ["flag_hn"] = "🇭🇳", + ["flag_hk"] = "🇭🇰", + ["flag_hu"] = "🇭🇺", + ["flag_is"] = "🇮🇸", + ["flag_in"] = "🇮🇳", + ["flag_id"] = "🇮🇩", + ["flag_ir"] = "🇮🇷", + ["flag_iq"] = "🇮🇶", + ["flag_ie"] = "🇮🇪", + ["flag_im"] = "🇮🇲", + ["flag_il"] = "🇮🇱", + ["flag_it"] = "🇮🇹", + ["flag_jm"] = "🇯🇲", + ["flag_jp"] = "🇯🇵", + ["crossed_flags"] = "🎌", + ["flag_je"] = "🇯🇪", + ["flag_jo"] = "🇯🇴", + ["flag_kz"] = "🇰🇿", + ["flag_ke"] = "🇰🇪", + ["flag_ki"] = "🇰🇮", + ["flag_xk"] = "🇽🇰", + ["flag_kw"] = "🇰🇼", + ["flag_kg"] = "🇰🇬", + ["flag_la"] = "🇱🇦", + ["flag_lv"] = "🇱🇻", + ["flag_lb"] = "🇱🇧", + ["flag_ls"] = "🇱🇸", + ["flag_lr"] = "🇱🇷", + ["flag_ly"] = "🇱🇾", + ["flag_li"] = "🇱🇮", + ["flag_lt"] = "🇱🇹", + ["flag_lu"] = "🇱🇺", + ["flag_mo"] = "🇲🇴", + ["flag_mk"] = "🇲🇰", + ["flag_mg"] = "🇲🇬", + ["flag_mw"] = "🇲🇼", + ["flag_my"] = "🇲🇾", + ["flag_mv"] = "🇲🇻", + ["flag_ml"] = "🇲🇱", + ["flag_mt"] = "🇲🇹", + ["flag_mh"] = "🇲🇭", + ["flag_mq"] = "🇲🇶", + ["flag_mr"] = "🇲🇷", + ["flag_mu"] = "🇲🇺", + ["flag_yt"] = "🇾🇹", + ["flag_mx"] = "🇲🇽", + ["flag_fm"] = "🇫🇲", + ["flag_md"] = "🇲🇩", + ["flag_mc"] = "🇲🇨", + ["flag_mn"] = "🇲🇳", + ["flag_me"] = "🇲🇪", + ["flag_ms"] = "🇲🇸", + ["flag_ma"] = "🇲🇦", + ["flag_mz"] = "🇲🇿", + ["flag_mm"] = "🇲🇲", + ["flag_na"] = "🇳🇦", + ["flag_nr"] = "🇳🇷", + ["flag_np"] = "🇳🇵", + ["flag_nl"] = "🇳🇱", + ["flag_nc"] = "🇳🇨", + ["flag_nz"] = "🇳🇿", + ["flag_ni"] = "🇳🇮", + ["flag_ne"] = "🇳🇪", + ["flag_ng"] = "🇳🇬", + ["flag_nu"] = "🇳🇺", + ["flag_nf"] = "🇳🇫", + ["flag_kp"] = "🇰🇵", + ["flag_mp"] = "🇲🇵", + ["flag_no"] = "🇳🇴", + ["flag_om"] = "🇴🇲", + ["flag_pk"] = "🇵🇰", + ["flag_pw"] = "🇵🇼", + ["flag_ps"] = "🇵🇸", + ["flag_pa"] = "🇵🇦", + ["flag_pg"] = "🇵🇬", + ["flag_py"] = "🇵🇾", + ["flag_pe"] = "🇵🇪", + ["flag_ph"] = "🇵🇭", + ["flag_pn"] = "🇵🇳", + ["flag_pl"] = "🇵🇱", + ["flag_pt"] = "🇵🇹", + ["flag_pr"] = "🇵🇷", + ["flag_qa"] = "🇶🇦", + ["flag_re"] = "🇷🇪", + ["flag_ro"] = "🇷🇴", + ["flag_ru"] = "🇷🇺", + ["flag_rw"] = "🇷🇼", + ["flag_ws"] = "🇼🇸", + ["flag_sm"] = "🇸🇲", + ["flag_st"] = "🇸🇹", + ["flag_sa"] = "🇸🇦", + ["flag_sn"] = "🇸🇳", + ["flag_rs"] = "🇷🇸", + ["flag_sc"] = "🇸🇨", + ["flag_sl"] = "🇸🇱", + ["flag_sg"] = "🇸🇬", + ["flag_sx"] = "🇸🇽", + ["flag_sk"] = "🇸🇰", + ["flag_si"] = "🇸🇮", + ["flag_gs"] = "🇬🇸", + ["flag_sb"] = "🇸🇧", + ["flag_so"] = "🇸🇴", + ["flag_za"] = "🇿🇦", + ["flag_kr"] = "🇰🇷", + ["flag_ss"] = "🇸🇸", + ["flag_es"] = "🇪🇸", + ["flag_lk"] = "🇱🇰", + ["flag_bl"] = "🇧🇱", + ["flag_sh"] = "🇸🇭", + ["flag_kn"] = "🇰🇳", + ["flag_lc"] = "🇱🇨", + ["flag_pm"] = "🇵🇲", + ["flag_vc"] = "🇻🇨", + ["flag_sd"] = "🇸🇩", + ["flag_sr"] = "🇸🇷", + ["flag_sz"] = "🇸🇿", + ["flag_se"] = "🇸🇪", + ["flag_ch"] = "🇨🇭", + ["flag_sy"] = "🇸🇾", + ["flag_tw"] = "🇹🇼", + ["flag_tj"] = "🇹🇯", + ["flag_tz"] = "🇹🇿", + ["flag_th"] = "🇹🇭", + ["flag_tl"] = "🇹🇱", + ["flag_tg"] = "🇹🇬", + ["flag_tk"] = "🇹🇰", + ["flag_to"] = "🇹🇴", + ["flag_tt"] = "🇹🇹", + ["flag_tn"] = "🇹🇳", + ["flag_tr"] = "🇹🇷", + ["flag_tm"] = "🇹🇲", + ["flag_tc"] = "🇹🇨", + ["flag_vi"] = "🇻🇮", + ["flag_tv"] = "🇹🇻", + ["flag_ug"] = "🇺🇬", + ["flag_ua"] = "🇺🇦", + ["flag_ae"] = "🇦🇪", + ["flag_gb"] = "🇬🇧", + ["england"] = "🏴󠁧󠁢󠁥󠁮󠁧󠁿", + ["scotland"] = "🏴󠁧󠁢󠁳󠁣󠁴󠁿", + ["wales"] = "🏴󠁧󠁢󠁷󠁬󠁳󠁿", + ["flag_us"] = "🇺🇸", + ["flag_uy"] = "🇺🇾", + ["flag_uz"] = "🇺🇿", + ["flag_vu"] = "🇻🇺", + ["flag_va"] = "🇻🇦", + ["flag_ve"] = "🇻🇪", + ["flag_vn"] = "🇻🇳", + ["flag_wf"] = "🇼🇫", + ["flag_eh"] = "🇪🇭", + ["flag_ye"] = "🇾🇪", + ["flag_zm"] = "🇿🇲", + ["flag_zw"] = "🇿🇼", + ["flag_ac"] = "🇦🇨", + ["flag_bv"] = "🇧🇻", + ["flag_cp"] = "🇨🇵", + ["flag_ea"] = "🇪🇦", + ["flag_dg"] = "🇩🇬", + ["flag_hm"] = "🇭🇲", + ["flag_mf"] = "🇲🇫", + ["flag_sj"] = "🇸🇯", + ["flag_ta"] = "🇹🇦", + ["flag_um"] = "🇺🇲", + ["united_nations"] = "🇺🇳" + }; public static string? TryGetCode(string name) => _toCodes.GetValueOrDefault(name); public static string? TryGetName(string code) => _fromCodes.GetValueOrDefault(code); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Guild.cs b/DiscordChatExporter.Core/Discord/Data/Guild.cs index c013e34..0caa1e6 100644 --- a/DiscordChatExporter.Core/Discord/Data/Guild.cs +++ b/DiscordChatExporter.Core/Discord/Data/Guild.cs @@ -9,11 +9,8 @@ namespace DiscordChatExporter.Core.Discord.Data; public record Guild(Snowflake Id, string Name, string IconUrl) : IHasId { // Direct messages are encapsulated within a special pseudo-guild for consistency - public static Guild DirectMessages { get; } = new( - Snowflake.Zero, - "Direct Messages", - ImageCdn.GetFallbackUserAvatarUrl() - ); + public static Guild DirectMessages { get; } = + new(Snowflake.Zero, "Direct Messages", ImageCdn.GetFallbackUserAvatarUrl()); public static Guild Parse(JsonElement json) { @@ -21,12 +18,10 @@ public record Guild(Snowflake Id, string Name, string IconUrl) : IHasId var name = json.GetProperty("name").GetNonNullString(); var iconUrl = - json - .GetPropertyOrNull("icon")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(h => ImageCdn.GetGuildIconUrl(id, h)) ?? - ImageCdn.GetFallbackUserAvatarUrl(); + json.GetPropertyOrNull("icon") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(h => ImageCdn.GetGuildIconUrl(id, h)) ?? ImageCdn.GetFallbackUserAvatarUrl(); return new Guild(id, name, iconUrl); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Interaction.cs b/DiscordChatExporter.Core/Discord/Data/Interaction.cs index d765cf3..bb9322d 100644 --- a/DiscordChatExporter.Core/Discord/Data/Interaction.cs +++ b/DiscordChatExporter.Core/Discord/Data/Interaction.cs @@ -15,4 +15,4 @@ public record Interaction(Snowflake Id, string Name, User User) return new Interaction(id, name, user); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Invite.cs b/DiscordChatExporter.Core/Discord/Data/Invite.cs index a73db9f..17d077f 100644 --- a/DiscordChatExporter.Core/Discord/Data/Invite.cs +++ b/DiscordChatExporter.Core/Discord/Data/Invite.cs @@ -6,10 +6,7 @@ using JsonExtensions.Reading; namespace DiscordChatExporter.Core.Discord.Data; // https://discord.com/developers/docs/resources/invite#invite-object -public record Invite( - string Code, - Guild Guild, - Channel? Channel) +public record Invite(string Code, Guild Guild, Channel? Channel) { public static string? TryGetCodeFromUrl(string url) => Regex.Match(url, @"^https?://discord\.gg/(\w+)/?$").Groups[1].Value.NullIfWhiteSpace(); @@ -22,4 +19,4 @@ public record Invite( return new Invite(code, guild, channel); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Member.cs b/DiscordChatExporter.Core/Discord/Data/Member.cs index d7393e4..ce92e56 100644 --- a/DiscordChatExporter.Core/Discord/Data/Member.cs +++ b/DiscordChatExporter.Core/Discord/Data/Member.cs @@ -13,7 +13,8 @@ public partial record Member( User User, string? DisplayName, string? AvatarUrl, - IReadOnlyList RoleIds) : IHasId + IReadOnlyList RoleIds +) : IHasId { public Snowflake Id => User.Id; } @@ -28,25 +29,19 @@ public partial record Member var user = json.GetProperty("user").Pipe(User.Parse); var displayName = json.GetPropertyOrNull("nick")?.GetNonWhiteSpaceStringOrNull(); - var roleIds = json - .GetPropertyOrNull("roles")? - .EnumerateArray() - .Select(j => j.GetNonWhiteSpaceString()) - .Select(Snowflake.Parse) - .ToArray() ?? Array.Empty(); + var roleIds = + json.GetPropertyOrNull("roles") + ?.EnumerateArray() + .Select(j => j.GetNonWhiteSpaceString()) + .Select(Snowflake.Parse) + .ToArray() ?? Array.Empty(); var avatarUrl = guildId is not null - ? json - .GetPropertyOrNull("avatar")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(h => ImageCdn.GetMemberAvatarUrl(guildId.Value, user.Id, h)) + ? json.GetPropertyOrNull("avatar") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(h => ImageCdn.GetMemberAvatarUrl(guildId.Value, user.Id, h)) : null; - return new Member( - user, - displayName, - avatarUrl, - roleIds - ); + return new Member(user, displayName, avatarUrl, roleIds); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Message.cs b/DiscordChatExporter.Core/Discord/Data/Message.cs index 3a131bf..4e2506e 100644 --- a/DiscordChatExporter.Core/Discord/Data/Message.cs +++ b/DiscordChatExporter.Core/Discord/Data/Message.cs @@ -27,7 +27,8 @@ public partial record Message( IReadOnlyList MentionedUsers, MessageReference? Reference, Message? ReferencedMessage, - Interaction? Interaction) : IHasId + Interaction? Interaction +) : IHasId { public bool IsReplyLike => Kind == MessageKind.Reply || Interaction is not null; @@ -70,22 +71,26 @@ public partial record Message // Find embeds with the same URL that only contain a single image and nothing else var trailingEmbeds = embeds .Skip(i + 1) - .TakeWhile(e => - e.Url == embed.Url && - e.Timestamp is null && - e.Author is null && - e.Color is null && - string.IsNullOrWhiteSpace(e.Description) && - !e.Fields.Any() && - e.Images.Count == 1 && - e.Footer is null + .TakeWhile( + e => + e.Url == embed.Url + && e.Timestamp is null + && e.Author is null + && e.Color is null + && string.IsNullOrWhiteSpace(e.Description) + && !e.Fields.Any() + && e.Images.Count == 1 + && e.Footer is null ) .ToArray(); if (trailingEmbeds.Any()) { // Concatenate all images into one embed - var images = embed.Images.Concat(trailingEmbeds.SelectMany(e => e.Images)).ToArray(); + var images = embed.Images + .Concat(trailingEmbeds.SelectMany(e => e.Images)) + .ToArray(); + normalizedEmbeds.Add(embed with { Images = images }); i += trailingEmbeds.Length; @@ -108,42 +113,49 @@ public partial record Message { var id = json.GetProperty("id").GetNonWhiteSpaceString().Pipe(Snowflake.Parse); var kind = (MessageKind)json.GetProperty("type").GetInt32(); - var flags = (MessageFlags?)json.GetPropertyOrNull("flags")?.GetInt32OrNull() ?? MessageFlags.None; + var flags = + (MessageFlags?)json.GetPropertyOrNull("flags")?.GetInt32OrNull() ?? MessageFlags.None; var author = json.GetProperty("author").Pipe(User.Parse); var timestamp = json.GetProperty("timestamp").GetDateTimeOffset(); var editedTimestamp = json.GetPropertyOrNull("edited_timestamp")?.GetDateTimeOffsetOrNull(); - var callEndedTimestamp = json - .GetPropertyOrNull("call")? - .GetPropertyOrNull("ended_timestamp")? - .GetDateTimeOffsetOrNull(); + var callEndedTimestamp = json.GetPropertyOrNull("call") + ?.GetPropertyOrNull("ended_timestamp") + ?.GetDateTimeOffsetOrNull(); var isPinned = json.GetPropertyOrNull("pinned")?.GetBooleanOrNull() ?? false; var content = json.GetPropertyOrNull("content")?.GetStringOrNull() ?? ""; var attachments = - json.GetPropertyOrNull("attachments")?.EnumerateArrayOrNull()?.Select(Attachment.Parse).ToArray() ?? - Array.Empty(); + json.GetPropertyOrNull("attachments") + ?.EnumerateArrayOrNull() + ?.Select(Attachment.Parse) + .ToArray() ?? Array.Empty(); var embeds = NormalizeEmbeds( - json.GetPropertyOrNull("embeds")?.EnumerateArrayOrNull()?.Select(Embed.Parse).ToArray() ?? - Array.Empty() + json.GetPropertyOrNull("embeds")?.EnumerateArrayOrNull()?.Select(Embed.Parse).ToArray() + ?? Array.Empty() ); var stickers = - json.GetPropertyOrNull("sticker_items")?.EnumerateArrayOrNull()?.Select(Sticker.Parse).ToArray() ?? - Array.Empty(); + json.GetPropertyOrNull("sticker_items") + ?.EnumerateArrayOrNull() + ?.Select(Sticker.Parse) + .ToArray() ?? Array.Empty(); var reactions = - json.GetPropertyOrNull("reactions")?.EnumerateArrayOrNull()?.Select(Reaction.Parse).ToArray() ?? - Array.Empty(); + json.GetPropertyOrNull("reactions") + ?.EnumerateArrayOrNull() + ?.Select(Reaction.Parse) + .ToArray() ?? Array.Empty(); var mentionedUsers = - json.GetPropertyOrNull("mentions")?.EnumerateArrayOrNull()?.Select(User.Parse).ToArray() ?? - Array.Empty(); + json.GetPropertyOrNull("mentions")?.EnumerateArrayOrNull()?.Select(User.Parse).ToArray() + ?? Array.Empty(); - var messageReference = json.GetPropertyOrNull("message_reference")?.Pipe(MessageReference.Parse); + var messageReference = json.GetPropertyOrNull("message_reference") + ?.Pipe(MessageReference.Parse); var referencedMessage = json.GetPropertyOrNull("referenced_message")?.Pipe(Parse); var interaction = json.GetPropertyOrNull("interaction")?.Pipe(Interaction.Parse); @@ -167,4 +179,4 @@ public partial record Message interaction ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/MessageFlags.cs b/DiscordChatExporter.Core/Discord/Data/MessageFlags.cs index 69461f6..cb12eac 100644 --- a/DiscordChatExporter.Core/Discord/Data/MessageFlags.cs +++ b/DiscordChatExporter.Core/Discord/Data/MessageFlags.cs @@ -15,4 +15,4 @@ public enum MessageFlags HasThread = 32, Ephemeral = 64, Loading = 128 -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/MessageKind.cs b/DiscordChatExporter.Core/Discord/Data/MessageKind.cs index 6d55348..8956f81 100644 --- a/DiscordChatExporter.Core/Discord/Data/MessageKind.cs +++ b/DiscordChatExporter.Core/Discord/Data/MessageKind.cs @@ -18,4 +18,4 @@ public enum MessageKind public static class MessageKindExtensions { public static bool IsSystemNotification(this MessageKind kind) => (int)kind is >= 1 and <= 18; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/MessageReference.cs b/DiscordChatExporter.Core/Discord/Data/MessageReference.cs index d868a37..6028e94 100644 --- a/DiscordChatExporter.Core/Discord/Data/MessageReference.cs +++ b/DiscordChatExporter.Core/Discord/Data/MessageReference.cs @@ -9,21 +9,18 @@ public record MessageReference(Snowflake? MessageId, Snowflake? ChannelId, Snowf { public static MessageReference Parse(JsonElement json) { - var messageId = json - .GetPropertyOrNull("message_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse); + var messageId = json.GetPropertyOrNull("message_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse); - var channelId = json - .GetPropertyOrNull("channel_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse); + var channelId = json.GetPropertyOrNull("channel_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse); - var guildId = json - .GetPropertyOrNull("guild_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse); + var guildId = json.GetPropertyOrNull("guild_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse); return new MessageReference(messageId, channelId, guildId); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Reaction.cs b/DiscordChatExporter.Core/Discord/Data/Reaction.cs index f271c04..21e9c71 100644 --- a/DiscordChatExporter.Core/Discord/Data/Reaction.cs +++ b/DiscordChatExporter.Core/Discord/Data/Reaction.cs @@ -13,4 +13,4 @@ public record Reaction(Emoji Emoji, int Count) return new Reaction(emoji, count); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Role.cs b/DiscordChatExporter.Core/Discord/Data/Role.cs index 76737d2..86616ef 100644 --- a/DiscordChatExporter.Core/Discord/Data/Role.cs +++ b/DiscordChatExporter.Core/Discord/Data/Role.cs @@ -15,13 +15,12 @@ public record Role(Snowflake Id, string Name, int Position, Color? Color) : IHas var name = json.GetProperty("name").GetNonNullString(); var position = json.GetProperty("position").GetInt32(); - var color = json - .GetPropertyOrNull("color")? - .GetInt32OrNull()? - .Pipe(System.Drawing.Color.FromArgb) + var color = json.GetPropertyOrNull("color") + ?.GetInt32OrNull() + ?.Pipe(System.Drawing.Color.FromArgb) .ResetAlpha() .NullIf(c => c.ToRgb() <= 0); return new Role(id, name, position, color); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/Sticker.cs b/DiscordChatExporter.Core/Discord/Data/Sticker.cs index ebb81aa..e048f6e 100644 --- a/DiscordChatExporter.Core/Discord/Data/Sticker.cs +++ b/DiscordChatExporter.Core/Discord/Data/Sticker.cs @@ -15,14 +15,17 @@ public record Sticker(Snowflake Id, string Name, StickerFormat Format, string So var name = json.GetProperty("name").GetNonNullString(); var format = (StickerFormat)json.GetProperty("format_type").GetInt32(); - var sourceUrl = ImageCdn.GetStickerUrl(id, format switch - { - StickerFormat.Png => "png", - StickerFormat.Apng => "png", - StickerFormat.Lottie => "json", - _ => throw new InvalidOperationException($"Unknown sticker format '{format}'.") - }); + var sourceUrl = ImageCdn.GetStickerUrl( + id, + format switch + { + StickerFormat.Png => "png", + StickerFormat.Apng => "png", + StickerFormat.Lottie => "json", + _ => throw new InvalidOperationException($"Unknown sticker format '{format}'.") + } + ); return new Sticker(id, name, format, sourceUrl); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/StickerFormat.cs b/DiscordChatExporter.Core/Discord/Data/StickerFormat.cs index e1e21bf..4875c7c 100644 --- a/DiscordChatExporter.Core/Discord/Data/StickerFormat.cs +++ b/DiscordChatExporter.Core/Discord/Data/StickerFormat.cs @@ -5,4 +5,4 @@ public enum StickerFormat Png = 1, Apng = 2, Lottie = 3 -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Data/User.cs b/DiscordChatExporter.Core/Discord/Data/User.cs index a885f00..3301229 100644 --- a/DiscordChatExporter.Core/Discord/Data/User.cs +++ b/DiscordChatExporter.Core/Discord/Data/User.cs @@ -15,18 +15,16 @@ public partial record User( int? Discriminator, string Name, string DisplayName, - string AvatarUrl) : IHasId + string AvatarUrl +) : IHasId { - public string DiscriminatorFormatted => Discriminator is not null - ? $"{Discriminator:0000}" - : "0000"; + public string DiscriminatorFormatted => + Discriminator is not null ? $"{Discriminator:0000}" : "0000"; // This effectively represents the user's true identity. // In the old system, this is formed from the username and discriminator. // In the new system, the username is already the user's unique identifier. - public string FullName => Discriminator is not null - ? $"{Name}#{DiscriminatorFormatted}" - : Name; + public string FullName => Discriminator is not null ? $"{Name}#{DiscriminatorFormatted}" : Name; } public partial record User @@ -36,24 +34,23 @@ public partial record User var id = json.GetProperty("id").GetNonWhiteSpaceString().Pipe(Snowflake.Parse); var isBot = json.GetPropertyOrNull("bot")?.GetBooleanOrNull() ?? false; - var discriminator = json - .GetPropertyOrNull("discriminator")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(int.Parse) + var discriminator = json.GetPropertyOrNull("discriminator") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(int.Parse) .NullIfDefault(); var name = json.GetProperty("username").GetNonNullString(); - var displayName = json.GetPropertyOrNull("global_name")?.GetNonWhiteSpaceStringOrNull() ?? name; + var displayName = + json.GetPropertyOrNull("global_name")?.GetNonWhiteSpaceStringOrNull() ?? name; var avatarIndex = discriminator % 5 ?? (int)((id.Value >> 22) % 6); var avatarUrl = - json - .GetPropertyOrNull("avatar")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(h => ImageCdn.GetUserAvatarUrl(id, h)) ?? - ImageCdn.GetFallbackUserAvatarUrl(avatarIndex); + json.GetPropertyOrNull("avatar") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(h => ImageCdn.GetUserAvatarUrl(id, h)) + ?? ImageCdn.GetFallbackUserAvatarUrl(avatarIndex); return new User(id, isBot, discriminator, name, displayName, avatarUrl); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/DiscordClient.cs b/DiscordChatExporter.Core/Discord/DiscordClient.cs index 2318c56..546b376 100644 --- a/DiscordChatExporter.Core/Discord/DiscordClient.cs +++ b/DiscordChatExporter.Core/Discord/DiscordClient.cs @@ -30,48 +30,46 @@ public class DiscordClient private async ValueTask GetResponseAsync( string url, TokenKind tokenKind, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { - return await Http.ResponseResiliencePolicy.ExecuteAsync(async innerCancellationToken => - { - using var request = new HttpRequestMessage(HttpMethod.Get, new Uri(_baseUri, url)); - - // Don't validate because the token can have special characters - // https://github.com/Tyrrrz/DiscordChatExporter/issues/828 - request.Headers.TryAddWithoutValidation( - "Authorization", - tokenKind == TokenKind.Bot - ? $"Bot {_token}" - : _token - ); - - var response = await Http.Client.SendAsync( - request, - HttpCompletionOption.ResponseHeadersRead, - innerCancellationToken - ); - - // If this was the last request available before hitting the rate limit, - // wait out the reset time so that future requests can succeed. - // This may add an unnecessary delay in case the user doesn't intend to - // make any more requests, but implementing a smarter solution would - // require properly keeping track of Discord's global/per-route/per-resource - // rate limits and that's just way too much effort. - // https://discord.com/developers/docs/topics/rate-limits - var remainingRequestCount = response - .Headers - .TryGetValue("X-RateLimit-Remaining")? - .Pipe(s => int.Parse(s, CultureInfo.InvariantCulture)); - - var resetAfterDelay = response - .Headers - .TryGetValue("X-RateLimit-Reset-After")? - .Pipe(s => double.Parse(s, CultureInfo.InvariantCulture)) - .Pipe(TimeSpan.FromSeconds); - - if (remainingRequestCount <= 0 && resetAfterDelay is not null) + return await Http.ResponseResiliencePolicy.ExecuteAsync( + async innerCancellationToken => { - var delay = + using var request = new HttpRequestMessage(HttpMethod.Get, new Uri(_baseUri, url)); + + // Don't validate because the token can have special characters + // https://github.com/Tyrrrz/DiscordChatExporter/issues/828 + request.Headers.TryAddWithoutValidation( + "Authorization", + tokenKind == TokenKind.Bot ? $"Bot {_token}" : _token + ); + + var response = await Http.Client.SendAsync( + request, + HttpCompletionOption.ResponseHeadersRead, + innerCancellationToken + ); + + // If this was the last request available before hitting the rate limit, + // wait out the reset time so that future requests can succeed. + // This may add an unnecessary delay in case the user doesn't intend to + // make any more requests, but implementing a smarter solution would + // require properly keeping track of Discord's global/per-route/per-resource + // rate limits and that's just way too much effort. + // https://discord.com/developers/docs/topics/rate-limits + var remainingRequestCount = response.Headers + .TryGetValue("X-RateLimit-Remaining") + ?.Pipe(s => int.Parse(s, CultureInfo.InvariantCulture)); + + var resetAfterDelay = response.Headers + .TryGetValue("X-RateLimit-Reset-After") + ?.Pipe(s => double.Parse(s, CultureInfo.InvariantCulture)) + .Pipe(TimeSpan.FromSeconds); + + if (remainingRequestCount <= 0 && resetAfterDelay is not null) + { + var delay = // Adding a small buffer to the reset time reduces the chance of getting // rate limited again, because it allows for more requests to be released. (resetAfterDelay.Value + TimeSpan.FromSeconds(1)) @@ -79,14 +77,18 @@ public class DiscordClient // is not actually enforced by the server. So we cap it at a reasonable value. .Clamp(TimeSpan.Zero, TimeSpan.FromSeconds(60)); - await Task.Delay(delay, innerCancellationToken); - } + await Task.Delay(delay, innerCancellationToken); + } - return response; - }, cancellationToken); + return response; + }, + cancellationToken + ); } - private async ValueTask GetTokenKindAsync(CancellationToken cancellationToken = default) + private async ValueTask GetTokenKindAsync( + CancellationToken cancellationToken = default + ) { // Try authenticating as a user using var userResponse = await GetResponseAsync( @@ -113,7 +115,8 @@ public class DiscordClient private async ValueTask GetResponseAsync( string url, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var tokenKind = _resolvedTokenKind ??= await GetTokenKindAsync(cancellationToken); return await GetResponseAsync(url, tokenKind, cancellationToken); @@ -121,7 +124,8 @@ public class DiscordClient private async ValueTask GetJsonResponseAsync( string url, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { using var response = await GetResponseAsync(url, cancellationToken); @@ -129,26 +133,30 @@ public class DiscordClient { throw response.StatusCode switch { - HttpStatusCode.Unauthorized => throw new DiscordChatExporterException( - "Authentication token is invalid.", - true - ), - - HttpStatusCode.Forbidden => throw new DiscordChatExporterException( - $"Request to '{url}' failed: forbidden." - ), - - HttpStatusCode.NotFound => throw new DiscordChatExporterException( - $"Request to '{url}' failed: not found." - ), - - _ => throw new DiscordChatExporterException( - $""" + HttpStatusCode.Unauthorized + => throw new DiscordChatExporterException( + "Authentication token is invalid.", + true + ), + + HttpStatusCode.Forbidden + => throw new DiscordChatExporterException( + $"Request to '{url}' failed: forbidden." + ), + + HttpStatusCode.NotFound + => throw new DiscordChatExporterException( + $"Request to '{url}' failed: not found." + ), + + _ + => throw new DiscordChatExporterException( + $""" Request to '{url}' failed: {response.StatusCode.ToString().ToSpaceSeparatedWords().ToLowerInvariant()}. Response content: {await response.Content.ReadAsStringAsync(cancellationToken)} """, - true - ) + true + ) }; } @@ -157,7 +165,8 @@ public class DiscordClient private async ValueTask TryGetJsonResponseAsync( string url, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { using var response = await GetResponseAsync(url, cancellationToken); return response.IsSuccessStatusCode @@ -167,14 +176,16 @@ public class DiscordClient public async ValueTask TryGetUserAsync( Snowflake userId, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var response = await TryGetJsonResponseAsync($"users/{userId}", cancellationToken); return response?.Pipe(User.Parse); } public async IAsyncEnumerable GetUserGuildsAsync( - [EnumeratorCancellation] CancellationToken cancellationToken = default) + [EnumeratorCancellation] CancellationToken cancellationToken = default + ) { yield return Guild.DirectMessages; @@ -206,7 +217,8 @@ public class DiscordClient public async ValueTask GetGuildAsync( Snowflake guildId, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (guildId == Guild.DirectMessages.Id) return Guild.DirectMessages; @@ -217,7 +229,8 @@ public class DiscordClient public async IAsyncEnumerable GetGuildChannelsAsync( Snowflake guildId, - [EnumeratorCancellation] CancellationToken cancellationToken = default) + [EnumeratorCancellation] CancellationToken cancellationToken = default + ) { if (guildId == Guild.DirectMessages.Id) { @@ -227,7 +240,10 @@ public class DiscordClient } else { - var response = await GetJsonResponseAsync($"guilds/{guildId}/channels", cancellationToken); + var response = await GetJsonResponseAsync( + $"guilds/{guildId}/channels", + cancellationToken + ); var channelsJson = response .EnumerateArray() @@ -247,9 +263,9 @@ public class DiscordClient foreach (var channelJson in channelsJson) { var parent = channelJson - .GetPropertyOrNull("parent_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse) + .GetPropertyOrNull("parent_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse) .Pipe(parentsById.GetValueOrDefault); yield return Channel.Parse(channelJson, parent, position); @@ -261,7 +277,8 @@ public class DiscordClient public async IAsyncEnumerable GetGuildThreadsAsync( Snowflake guildId, bool includeArchived = false, - [EnumeratorCancellation] CancellationToken cancellationToken = default) + [EnumeratorCancellation] CancellationToken cancellationToken = default + ) { if (guildId == Guild.DirectMessages.Id) yield break; @@ -289,7 +306,9 @@ public class DiscordClient if (response is null) break; - foreach (var threadJson in response.Value.GetProperty("threads").EnumerateArray()) + foreach ( + var threadJson in response.Value.GetProperty("threads").EnumerateArray() + ) { yield return Channel.Parse(threadJson, channel); currentOffset++; @@ -319,7 +338,9 @@ public class DiscordClient if (response is null) break; - foreach (var threadJson in response.Value.GetProperty("threads").EnumerateArray()) + foreach ( + var threadJson in response.Value.GetProperty("threads").EnumerateArray() + ) { yield return Channel.Parse(threadJson, channel); currentOffset++; @@ -338,13 +359,16 @@ public class DiscordClient { var parentsById = channels.ToDictionary(c => c.Id); - var response = await GetJsonResponseAsync($"guilds/{guildId}/threads/active", cancellationToken); + var response = await GetJsonResponseAsync( + $"guilds/{guildId}/threads/active", + cancellationToken + ); foreach (var threadJson in response.GetProperty("threads").EnumerateArray()) { var parent = threadJson - .GetPropertyOrNull("parent_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse) + .GetPropertyOrNull("parent_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse) .Pipe(parentsById.GetValueOrDefault); yield return Channel.Parse(threadJson, parent); @@ -384,7 +408,8 @@ public class DiscordClient public async IAsyncEnumerable GetGuildRolesAsync( Snowflake guildId, - [EnumeratorCancellation] CancellationToken cancellationToken = default) + [EnumeratorCancellation] CancellationToken cancellationToken = default + ) { if (guildId == Guild.DirectMessages.Id) yield break; @@ -397,18 +422,23 @@ public class DiscordClient public async ValueTask TryGetGuildMemberAsync( Snowflake guildId, Snowflake memberId, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (guildId == Guild.DirectMessages.Id) return null; - var response = await TryGetJsonResponseAsync($"guilds/{guildId}/members/{memberId}", cancellationToken); + var response = await TryGetJsonResponseAsync( + $"guilds/{guildId}/members/{memberId}", + cancellationToken + ); return response?.Pipe(j => Member.Parse(j, guildId)); } public async ValueTask TryGetInviteAsync( string code, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var response = await TryGetJsonResponseAsync($"invites/{code}", cancellationToken); return response?.Pipe(Invite.Parse); @@ -416,14 +446,15 @@ public class DiscordClient public async ValueTask GetChannelAsync( Snowflake channelId, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var response = await GetJsonResponseAsync($"channels/{channelId}", cancellationToken); var parentId = response - .GetPropertyOrNull("parent_id")? - .GetNonWhiteSpaceStringOrNull()? - .Pipe(Snowflake.Parse); + .GetPropertyOrNull("parent_id") + ?.GetNonWhiteSpaceStringOrNull() + ?.Pipe(Snowflake.Parse); try { @@ -445,7 +476,8 @@ public class DiscordClient private async ValueTask TryGetLastMessageAsync( Snowflake channelId, Snowflake? before = null, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var url = new UrlBuilder() .SetPath($"channels/{channelId}/messages") @@ -462,7 +494,8 @@ public class DiscordClient Snowflake? after = null, Snowflake? before = null, IProgress? progress = null, - [EnumeratorCancellation] CancellationToken cancellationToken = default) + [EnumeratorCancellation] CancellationToken cancellationToken = default + ) { // Get the last message in the specified range, so we can later calculate the // progress based on the difference between message timestamps. @@ -511,13 +544,15 @@ public class DiscordClient var exportedDuration = (message.Timestamp - firstMessage.Timestamp).Duration(); var totalDuration = (lastMessage.Timestamp - firstMessage.Timestamp).Duration(); - progress.Report(Percentage.FromFraction( - // Avoid division by zero if all messages have the exact same timestamp - // (which happens when there's only one message in the channel) - totalDuration > TimeSpan.Zero - ? exportedDuration / totalDuration - : 1 - )); + progress.Report( + Percentage.FromFraction( + // Avoid division by zero if all messages have the exact same timestamp + // (which happens when there's only one message in the channel) + totalDuration > TimeSpan.Zero + ? exportedDuration / totalDuration + : 1 + ) + ); } yield return message; @@ -530,7 +565,8 @@ public class DiscordClient Snowflake channelId, Snowflake messageId, Emoji emoji, - [EnumeratorCancellation] CancellationToken cancellationToken = default) + [EnumeratorCancellation] CancellationToken cancellationToken = default + ) { var reactionName = emoji.Id is not null // Custom emoji @@ -542,7 +578,9 @@ public class DiscordClient while (true) { var url = new UrlBuilder() - .SetPath($"channels/{channelId}/messages/{messageId}/reactions/{Uri.EscapeDataString(reactionName)}") + .SetPath( + $"channels/{channelId}/messages/{messageId}/reactions/{Uri.EscapeDataString(reactionName)}" + ) .SetQueryParameter("limit", "100") .SetQueryParameter("after", currentAfter.ToString()) .Build(); @@ -565,4 +603,4 @@ public class DiscordClient yield break; } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/Snowflake.cs b/DiscordChatExporter.Core/Discord/Snowflake.cs index 18f9e50..e16031d 100644 --- a/DiscordChatExporter.Core/Discord/Snowflake.cs +++ b/DiscordChatExporter.Core/Discord/Snowflake.cs @@ -6,9 +6,10 @@ namespace DiscordChatExporter.Core.Discord; public readonly partial record struct Snowflake(ulong Value) { - public DateTimeOffset ToDate() => DateTimeOffset.FromUnixTimeMilliseconds( - (long)((Value >> 22) + 1420070400000UL) - ).ToLocalTime(); + public DateTimeOffset ToDate() => + DateTimeOffset + .FromUnixTimeMilliseconds((long)((Value >> 22) + 1420070400000UL)) + .ToLocalTime(); [ExcludeFromCodeCoverage] public override string ToString() => Value.ToString(CultureInfo.InvariantCulture); @@ -18,9 +19,8 @@ public partial record struct Snowflake { public static Snowflake Zero { get; } = new(0); - public static Snowflake FromDate(DateTimeOffset instant) => new( - ((ulong)instant.ToUnixTimeMilliseconds() - 1420070400000UL) << 22 - ); + public static Snowflake FromDate(DateTimeOffset instant) => + new(((ulong)instant.ToUnixTimeMilliseconds() - 1420070400000UL) << 22); public static Snowflake? TryParse(string? str, IFormatProvider? formatProvider = null) { @@ -59,4 +59,4 @@ public partial record struct Snowflake : IComparable, IComparable public static bool operator >(Snowflake left, Snowflake right) => left.CompareTo(right) > 0; public static bool operator <(Snowflake left, Snowflake right) => left.CompareTo(right) < 0; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Discord/TokenKind.cs b/DiscordChatExporter.Core/Discord/TokenKind.cs index fd2dbcd..0911720 100644 --- a/DiscordChatExporter.Core/Discord/TokenKind.cs +++ b/DiscordChatExporter.Core/Discord/TokenKind.cs @@ -4,4 +4,4 @@ public enum TokenKind { User, Bot -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/DiscordChatExporter.Core.csproj b/DiscordChatExporter.Core/DiscordChatExporter.Core.csproj index 8897490..caba414 100644 --- a/DiscordChatExporter.Core/DiscordChatExporter.Core.csproj +++ b/DiscordChatExporter.Core/DiscordChatExporter.Core.csproj @@ -2,6 +2,7 @@ + diff --git a/DiscordChatExporter.Core/Exceptions/DiscordChatExporterException.cs b/DiscordChatExporter.Core/Exceptions/DiscordChatExporterException.cs index 53a08a6..637aaaf 100644 --- a/DiscordChatExporter.Core/Exceptions/DiscordChatExporterException.cs +++ b/DiscordChatExporter.Core/Exceptions/DiscordChatExporterException.cs @@ -11,4 +11,4 @@ public class DiscordChatExporterException : Exception { IsFatal = isFatal; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/ChannelExporter.cs b/DiscordChatExporter.Core/Exporting/ChannelExporter.cs index dc74487..43bd049 100644 --- a/DiscordChatExporter.Core/Exporting/ChannelExporter.cs +++ b/DiscordChatExporter.Core/Exporting/ChannelExporter.cs @@ -16,14 +16,13 @@ public class ChannelExporter public async ValueTask ExportChannelAsync( ExportRequest request, IProgress? progress = null, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { // Check if the channel is empty if (request.Channel.LastMessageId is null) { - throw new DiscordChatExporterException( - "Channel does not contain any messages." - ); + throw new DiscordChatExporterException("Channel does not contain any messages."); } // Check if the 'after' boundary is valid @@ -40,12 +39,15 @@ public class ChannelExporter // Export messages await using var messageExporter = new MessageExporter(context); - await foreach (var message in _discord.GetMessagesAsync( - request.Channel.Id, - request.After, - request.Before, - progress, - cancellationToken)) + await foreach ( + var message in _discord.GetMessagesAsync( + request.Channel.Id, + request.After, + request.Before, + progress, + cancellationToken + ) + ) { // Resolve members for referenced users foreach (var user in message.GetReferencedUsers()) @@ -64,4 +66,4 @@ public class ChannelExporter ); } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/CsvMessageWriter.cs b/DiscordChatExporter.Core/Exporting/CsvMessageWriter.cs index e506742..b1f60a3 100644 --- a/DiscordChatExporter.Core/Exporting/CsvMessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/CsvMessageWriter.cs @@ -20,17 +20,20 @@ internal partial class CsvMessageWriter : MessageWriter private async ValueTask FormatMarkdownAsync( string markdown, - CancellationToken cancellationToken = default) => + CancellationToken cancellationToken = default + ) => Context.Request.ShouldFormatMarkdown ? await PlainTextMarkdownVisitor.FormatAsync(Context, markdown, cancellationToken) : markdown; - public override async ValueTask WritePreambleAsync(CancellationToken cancellationToken = default) => - await _writer.WriteLineAsync("AuthorID,Author,Date,Content,Attachments,Reactions"); + public override async ValueTask WritePreambleAsync( + CancellationToken cancellationToken = default + ) => await _writer.WriteLineAsync("AuthorID,Author,Date,Content,Attachments,Reactions"); private async ValueTask WriteAttachmentsAsync( IReadOnlyList attachments, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var buffer = new StringBuilder(); @@ -48,7 +51,8 @@ internal partial class CsvMessageWriter : MessageWriter private async ValueTask WriteReactionsAsync( IReadOnlyList reactions, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var buffer = new StringBuilder(); @@ -70,7 +74,8 @@ internal partial class CsvMessageWriter : MessageWriter public override async ValueTask WriteMessageAsync( Message message, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await base.WriteMessageAsync(message, cancellationToken); @@ -89,15 +94,13 @@ internal partial class CsvMessageWriter : MessageWriter // Message content if (message.Kind.IsSystemNotification()) { - await _writer.WriteAsync(CsvEncode( - message.GetFallbackContent() - )); + await _writer.WriteAsync(CsvEncode(message.GetFallbackContent())); } else { - await _writer.WriteAsync(CsvEncode( - await FormatMarkdownAsync(message.Content, cancellationToken) - )); + await _writer.WriteAsync( + CsvEncode(await FormatMarkdownAsync(message.Content, cancellationToken)) + ); } await _writer.WriteAsync(','); @@ -127,4 +130,4 @@ internal partial class CsvMessageWriter value = value.Replace("\"", "\"\""); return $"\"{value}\""; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/ExportAssetDownloader.cs b/DiscordChatExporter.Core/Exporting/ExportAssetDownloader.cs index 54fdeb1..bc3173b 100644 --- a/DiscordChatExporter.Core/Exporting/ExportAssetDownloader.cs +++ b/DiscordChatExporter.Core/Exporting/ExportAssetDownloader.cs @@ -15,11 +15,12 @@ namespace DiscordChatExporter.Core.Exporting; internal partial class ExportAssetDownloader { - private static readonly AsyncKeyedLocker Locker = new(o => - { - o.PoolSize = 20; - o.PoolInitialFill = 1; - }); + private static readonly AsyncKeyedLocker Locker = + new(o => + { + o.PoolSize = 20; + o.PoolInitialFill = 1; + }); private readonly string _workingDirPath; private readonly bool _reuse; @@ -33,7 +34,10 @@ internal partial class ExportAssetDownloader _reuse = reuse; } - public async ValueTask DownloadAsync(string url, CancellationToken cancellationToken = default) + public async ValueTask DownloadAsync( + string url, + CancellationToken cancellationToken = default + ) { var fileName = GetFileNameFromUrl(url); var filePath = Path.Combine(_workingDirPath, fileName); @@ -59,11 +63,19 @@ internal partial class ExportAssetDownloader // Try to set the file date according to the last-modified header try { - var lastModified = response.Content.Headers.TryGetValue("Last-Modified")?.Pipe(s => - DateTimeOffset.TryParse(s, CultureInfo.InvariantCulture, DateTimeStyles.None, out var instant) - ? instant - : (DateTimeOffset?)null - ); + var lastModified = response.Content.Headers + .TryGetValue("Last-Modified") + ?.Pipe( + s => + DateTimeOffset.TryParse( + s, + CultureInfo.InvariantCulture, + DateTimeStyles.None, + out var instant + ) + ? instant + : (DateTimeOffset?)null + ); if (lastModified is not null) { @@ -86,11 +98,12 @@ internal partial class ExportAssetDownloader internal partial class ExportAssetDownloader { - private static string GetUrlHash(string url) => SHA256 - .HashData(Encoding.UTF8.GetBytes(url)) - .ToHex() - // 5 chars ought to be enough for anybody - .Truncate(5); + private static string GetUrlHash(string url) => + SHA256 + .HashData(Encoding.UTF8.GetBytes(url)) + .ToHex() + // 5 chars ought to be enough for anybody + .Truncate(5); private static string GetFileNameFromUrl(string url) { @@ -115,6 +128,8 @@ internal partial class ExportAssetDownloader fileExtension = ""; } - return PathEx.EscapeFileName(fileNameWithoutExtension.Truncate(42) + '-' + urlHash + fileExtension); + return PathEx.EscapeFileName( + fileNameWithoutExtension.Truncate(42) + '-' + urlHash + fileExtension + ); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/ExportContext.cs b/DiscordChatExporter.Core/Exporting/ExportContext.cs index 41b3517..800e720 100644 --- a/DiscordChatExporter.Core/Exporting/ExportContext.cs +++ b/DiscordChatExporter.Core/Exporting/ExportContext.cs @@ -23,8 +23,7 @@ internal class ExportContext public ExportRequest Request { get; } - public ExportContext(DiscordClient discord, - ExportRequest request) + public ExportContext(DiscordClient discord, ExportRequest request) { Discord = discord; Request = request; @@ -35,9 +34,13 @@ internal class ExportContext ); } - public async ValueTask PopulateChannelsAndRolesAsync(CancellationToken cancellationToken = default) + public async ValueTask PopulateChannelsAndRolesAsync( + CancellationToken cancellationToken = default + ) { - await foreach (var channel in Discord.GetGuildChannelsAsync(Request.Guild.Id, cancellationToken)) + await foreach ( + var channel in Discord.GetGuildChannelsAsync(Request.Guild.Id, cancellationToken) + ) _channelsById[channel.Id] = channel; await foreach (var role in Discord.GetGuildRolesAsync(Request.Guild.Id, cancellationToken)) @@ -48,7 +51,8 @@ internal class ExportContext private async ValueTask PopulateMemberAsync( Snowflake id, User? fallbackUser, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (_membersById.ContainsKey(id)) return; @@ -70,18 +74,23 @@ internal class ExportContext _membersById[id] = member; } - public async ValueTask PopulateMemberAsync(Snowflake id, CancellationToken cancellationToken = default) => - await PopulateMemberAsync(id, null, cancellationToken); + public async ValueTask PopulateMemberAsync( + Snowflake id, + CancellationToken cancellationToken = default + ) => await PopulateMemberAsync(id, null, cancellationToken); - public async ValueTask PopulateMemberAsync(User user, CancellationToken cancellationToken = default) => - await PopulateMemberAsync(user.Id, user, cancellationToken); + public async ValueTask PopulateMemberAsync( + User user, + CancellationToken cancellationToken = default + ) => await PopulateMemberAsync(user.Id, user, cancellationToken); - public string FormatDate(DateTimeOffset instant) => Request.DateFormat switch - { - "unix" => instant.ToUnixTimeSeconds().ToString(), - "unixms" => instant.ToUnixTimeMilliseconds().ToString(), - var format => instant.ToLocalString(format) - }; + public string FormatDate(DateTimeOffset instant) => + Request.DateFormat switch + { + "unix" => instant.ToUnixTimeSeconds().ToString(), + "unixms" => instant.ToUnixTimeMilliseconds().ToString(), + var format => instant.ToLocalString(format) + }; public Member? TryGetMember(Snowflake id) => _membersById.GetValueOrDefault(id); @@ -89,19 +98,20 @@ internal class ExportContext public Role? TryGetRole(Snowflake id) => _rolesById.GetValueOrDefault(id); - public IReadOnlyList GetUserRoles(Snowflake id) => TryGetMember(id)? - .RoleIds - .Select(TryGetRole) - .WhereNotNull() - .OrderByDescending(r => r.Position) - .ToArray() ?? Array.Empty(); + public IReadOnlyList GetUserRoles(Snowflake id) => + TryGetMember(id)?.RoleIds + .Select(TryGetRole) + .WhereNotNull() + .OrderByDescending(r => r.Position) + .ToArray() ?? Array.Empty(); - public Color? TryGetUserColor(Snowflake id) => GetUserRoles(id) - .Where(r => r.Color is not null) - .Select(r => r.Color) - .FirstOrDefault(); + public Color? TryGetUserColor(Snowflake id) => + GetUserRoles(id).Where(r => r.Color is not null).Select(r => r.Color).FirstOrDefault(); - public async ValueTask ResolveAssetUrlAsync(string url, CancellationToken cancellationToken = default) + public async ValueTask ResolveAssetUrlAsync( + string url, + CancellationToken cancellationToken = default + ) { if (!Request.ShouldDownloadAssets) return url; @@ -114,8 +124,14 @@ internal class ExportContext // Prefer relative paths so that the output files can be copied around without breaking references. // If the asset directory is outside of the export directory, use an absolute path instead. var optimalFilePath = - relativeFilePath.StartsWith(".." + Path.DirectorySeparatorChar, StringComparison.Ordinal) || - relativeFilePath.StartsWith(".." + Path.AltDirectorySeparatorChar, StringComparison.Ordinal) + relativeFilePath.StartsWith( + ".." + Path.DirectorySeparatorChar, + StringComparison.Ordinal + ) + || relativeFilePath.StartsWith( + ".." + Path.AltDirectorySeparatorChar, + StringComparison.Ordinal + ) ? filePath : relativeFilePath; @@ -138,4 +154,4 @@ internal class ExportContext return url; } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/ExportFormat.cs b/DiscordChatExporter.Core/Exporting/ExportFormat.cs index 41a06b7..923ceb1 100644 --- a/DiscordChatExporter.Core/Exporting/ExportFormat.cs +++ b/DiscordChatExporter.Core/Exporting/ExportFormat.cs @@ -13,23 +13,25 @@ public enum ExportFormat public static class ExportFormatExtensions { - public static string GetFileExtension(this ExportFormat format) => format switch - { - ExportFormat.PlainText => "txt", - ExportFormat.HtmlDark => "html", - ExportFormat.HtmlLight => "html", - ExportFormat.Csv => "csv", - ExportFormat.Json => "json", - _ => throw new ArgumentOutOfRangeException(nameof(format)) - }; + public static string GetFileExtension(this ExportFormat format) => + format switch + { + ExportFormat.PlainText => "txt", + ExportFormat.HtmlDark => "html", + ExportFormat.HtmlLight => "html", + ExportFormat.Csv => "csv", + ExportFormat.Json => "json", + _ => throw new ArgumentOutOfRangeException(nameof(format)) + }; - public static string GetDisplayName(this ExportFormat format) => format switch - { - ExportFormat.PlainText => "TXT", - ExportFormat.HtmlDark => "HTML (Dark)", - ExportFormat.HtmlLight => "HTML (Light)", - ExportFormat.Csv => "CSV", - ExportFormat.Json => "JSON", - _ => throw new ArgumentOutOfRangeException(nameof(format)) - }; -} \ No newline at end of file + public static string GetDisplayName(this ExportFormat format) => + format switch + { + ExportFormat.PlainText => "TXT", + ExportFormat.HtmlDark => "HTML (Dark)", + ExportFormat.HtmlLight => "HTML (Light)", + ExportFormat.Csv => "CSV", + ExportFormat.Json => "JSON", + _ => throw new ArgumentOutOfRangeException(nameof(format)) + }; +} diff --git a/DiscordChatExporter.Core/Exporting/ExportRequest.cs b/DiscordChatExporter.Core/Exporting/ExportRequest.cs index 2ebeb04..deb122a 100644 --- a/DiscordChatExporter.Core/Exporting/ExportRequest.cs +++ b/DiscordChatExporter.Core/Exporting/ExportRequest.cs @@ -54,7 +54,8 @@ public partial class ExportRequest bool shouldFormatMarkdown, bool shouldDownloadAssets, bool shouldReuseAssets, - string dateFormat) + string dateFormat + ) { Guild = guild; Channel = channel; @@ -68,25 +69,12 @@ public partial class ExportRequest ShouldReuseAssets = shouldReuseAssets; DateFormat = dateFormat; - OutputFilePath = GetOutputBaseFilePath( - Guild, - Channel, - outputPath, - Format, - After, - Before - ); + OutputFilePath = GetOutputBaseFilePath(Guild, Channel, outputPath, Format, After, Before); OutputDirPath = Path.GetDirectoryName(OutputFilePath)!; AssetsDirPath = !string.IsNullOrWhiteSpace(assetsDirPath) - ? FormatPath( - assetsDirPath, - Guild, - Channel, - After, - Before - ) + ? FormatPath(assetsDirPath, Guild, Channel, After, Before) : $"{OutputFilePath}_Files{Path.DirectorySeparatorChar}"; } } @@ -98,7 +86,8 @@ public partial class ExportRequest Channel channel, ExportFormat format, Snowflake? after = null, - Snowflake? before = null) + Snowflake? before = null + ) { var buffer = new StringBuilder(); @@ -113,7 +102,9 @@ public partial class ExportRequest // Both 'after' and 'before' are set if (after is not null && before is not null) { - buffer.Append($"{after.Value.ToDate():yyyy-MM-dd} to {before.Value.ToDate():yyyy-MM-dd}"); + buffer.Append( + $"{after.Value.ToDate():yyyy-MM-dd} to {before.Value.ToDate():yyyy-MM-dd}" + ); } // Only 'after' is set else if (after is not null) @@ -140,27 +131,41 @@ public partial class ExportRequest Guild guild, Channel channel, Snowflake? after, - Snowflake? before) + Snowflake? before + ) { return Regex.Replace( path, "%.", - m => PathEx.EscapeFileName(m.Value switch - { - "%g" => guild.Id.ToString(), - "%G" => guild.Name, - "%t" => channel.Parent?.Id.ToString() ?? "", - "%T" => channel.Parent?.Name ?? "", - "%c" => channel.Id.ToString(), - "%C" => channel.Name, - "%p" => channel.Position?.ToString(CultureInfo.InvariantCulture) ?? "0", - "%P" => channel.Parent?.Position?.ToString(CultureInfo.InvariantCulture) ?? "0", - "%a" => after?.ToDate().ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) ?? "", - "%b" => before?.ToDate().ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) ?? "", - "%d" => DateTimeOffset.Now.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture), - "%%" => "%", - _ => m.Value - }) + m => + PathEx.EscapeFileName( + m.Value switch + { + "%g" => guild.Id.ToString(), + "%G" => guild.Name, + "%t" => channel.Parent?.Id.ToString() ?? "", + "%T" => channel.Parent?.Name ?? "", + "%c" => channel.Id.ToString(), + "%C" => channel.Name, + "%p" => channel.Position?.ToString(CultureInfo.InvariantCulture) ?? "0", + "%P" + => channel.Parent?.Position?.ToString(CultureInfo.InvariantCulture) + ?? "0", + "%a" + => after?.ToDate().ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) + ?? "", + "%b" + => before?.ToDate().ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) + ?? "", + "%d" + => DateTimeOffset.Now.ToString( + "yyyy-MM-dd", + CultureInfo.InvariantCulture + ), + "%%" => "%", + _ => m.Value + } + ) ); } @@ -170,12 +175,16 @@ public partial class ExportRequest string outputPath, ExportFormat format, Snowflake? after = null, - Snowflake? before = null) + Snowflake? before = null + ) { var actualOutputPath = FormatPath(outputPath, guild, channel, after, before); // Output is a directory - if (Directory.Exists(actualOutputPath) || string.IsNullOrWhiteSpace(Path.GetExtension(actualOutputPath))) + if ( + Directory.Exists(actualOutputPath) + || string.IsNullOrWhiteSpace(Path.GetExtension(actualOutputPath)) + ) { var fileName = GetDefaultOutputFileName(guild, channel, format, after, before); return Path.Combine(actualOutputPath, fileName); @@ -184,4 +193,4 @@ public partial class ExportRequest // Output is a file return actualOutputPath; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionKind.cs b/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionKind.cs index 4387d26..7514759 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionKind.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionKind.cs @@ -4,4 +4,4 @@ internal enum BinaryExpressionKind { Or, And -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionMessageFilter.cs index 386932d..d6b56b1 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionMessageFilter.cs @@ -9,17 +9,22 @@ internal class BinaryExpressionMessageFilter : MessageFilter private readonly MessageFilter _second; private readonly BinaryExpressionKind _kind; - public BinaryExpressionMessageFilter(MessageFilter first, MessageFilter second, BinaryExpressionKind kind) + public BinaryExpressionMessageFilter( + MessageFilter first, + MessageFilter second, + BinaryExpressionKind kind + ) { _first = first; _second = second; _kind = kind; } - public override bool IsMatch(Message message) => _kind switch - { - BinaryExpressionKind.Or => _first.IsMatch(message) || _second.IsMatch(message), - BinaryExpressionKind.And => _first.IsMatch(message) && _second.IsMatch(message), - _ => throw new InvalidOperationException($"Unknown binary expression kind '{_kind}'.") - }; -} \ No newline at end of file + public override bool IsMatch(Message message) => + _kind switch + { + BinaryExpressionKind.Or => _first.IsMatch(message) || _second.IsMatch(message), + BinaryExpressionKind.And => _first.IsMatch(message) && _second.IsMatch(message), + _ => throw new InvalidOperationException($"Unknown binary expression kind '{_kind}'.") + }; +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/ContainsMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/ContainsMessageFilter.cs index f3f6dc6..c424780 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/ContainsMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/ContainsMessageFilter.cs @@ -17,25 +17,21 @@ internal class ContainsMessageFilter : MessageFilter // parentheses are not considered word characters. // https://github.com/Tyrrrz/DiscordChatExporter/issues/909 private bool IsMatch(string? content) => - !string.IsNullOrWhiteSpace(content) && - Regex.IsMatch( + !string.IsNullOrWhiteSpace(content) + && Regex.IsMatch( content, - @"(?:\b|\s|^)" + - Regex.Escape(_text) + - @"(?:\b|\s|$)", + @"(?:\b|\s|^)" + Regex.Escape(_text) + @"(?:\b|\s|$)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant ); public override bool IsMatch(Message message) => - IsMatch(message.Content) || - message.Embeds.Any(e => - IsMatch(e.Title) || - IsMatch(e.Author?.Name) || - IsMatch(e.Description) || - IsMatch(e.Footer?.Text) || - e.Fields.Any(f => - IsMatch(f.Name) || - IsMatch(f.Value) - ) + IsMatch(message.Content) + || message.Embeds.Any( + e => + IsMatch(e.Title) + || IsMatch(e.Author?.Name) + || IsMatch(e.Description) + || IsMatch(e.Footer?.Text) + || e.Fields.Any(f => IsMatch(f.Name) || IsMatch(f.Value)) ); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/FromMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/FromMessageFilter.cs index 3bec86e..56f02a1 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/FromMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/FromMessageFilter.cs @@ -10,8 +10,8 @@ internal class FromMessageFilter : MessageFilter public FromMessageFilter(string value) => _value = value; public override bool IsMatch(Message message) => - string.Equals(_value, message.Author.Name, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, message.Author.DisplayName, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, message.Author.FullName, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, message.Author.Id.ToString(), StringComparison.OrdinalIgnoreCase); -} \ No newline at end of file + string.Equals(_value, message.Author.Name, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, message.Author.DisplayName, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, message.Author.FullName, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, message.Author.Id.ToString(), StringComparison.OrdinalIgnoreCase); +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/HasMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/HasMessageFilter.cs index 8233e6a..52600d9 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/HasMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/HasMessageFilter.cs @@ -11,15 +11,20 @@ internal class HasMessageFilter : MessageFilter public HasMessageFilter(MessageContentMatchKind kind) => _kind = kind; - public override bool IsMatch(Message message) => _kind switch - { - MessageContentMatchKind.Link => Regex.IsMatch(message.Content, "https?://\\S*[^\\.,:;\"\'\\s]"), - MessageContentMatchKind.Embed => message.Embeds.Any(), - MessageContentMatchKind.File => message.Attachments.Any(), - MessageContentMatchKind.Video => message.Attachments.Any(file => file.IsVideo), - MessageContentMatchKind.Image => message.Attachments.Any(file => file.IsImage), - MessageContentMatchKind.Sound => message.Attachments.Any(file => file.IsAudio), - MessageContentMatchKind.Pin => message.IsPinned, - _ => throw new InvalidOperationException($"Unknown message content match kind '{_kind}'.") - }; -} \ No newline at end of file + public override bool IsMatch(Message message) => + _kind switch + { + MessageContentMatchKind.Link + => Regex.IsMatch(message.Content, "https?://\\S*[^\\.,:;\"\'\\s]"), + MessageContentMatchKind.Embed => message.Embeds.Any(), + MessageContentMatchKind.File => message.Attachments.Any(), + MessageContentMatchKind.Video => message.Attachments.Any(file => file.IsVideo), + MessageContentMatchKind.Image => message.Attachments.Any(file => file.IsImage), + MessageContentMatchKind.Sound => message.Attachments.Any(file => file.IsAudio), + MessageContentMatchKind.Pin => message.IsPinned, + _ + => throw new InvalidOperationException( + $"Unknown message content match kind '{_kind}'." + ) + }; +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/MentionsMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/MentionsMessageFilter.cs index a5d9418..24e5bb5 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/MentionsMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/MentionsMessageFilter.cs @@ -10,10 +10,12 @@ internal class MentionsMessageFilter : MessageFilter public MentionsMessageFilter(string value) => _value = value; - public override bool IsMatch(Message message) => message.MentionedUsers.Any(user => - string.Equals(_value, user.Name, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, user.DisplayName, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, user.FullName, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, user.Id.ToString(), StringComparison.OrdinalIgnoreCase) - ); -} \ No newline at end of file + public override bool IsMatch(Message message) => + message.MentionedUsers.Any( + user => + string.Equals(_value, user.Name, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, user.DisplayName, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, user.FullName, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, user.Id.ToString(), StringComparison.OrdinalIgnoreCase) + ); +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/MessageContentMatchKind.cs b/DiscordChatExporter.Core/Exporting/Filtering/MessageContentMatchKind.cs index 285e565..b5f10f1 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/MessageContentMatchKind.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/MessageContentMatchKind.cs @@ -9,4 +9,4 @@ internal enum MessageContentMatchKind Image, Sound, Pin -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/MessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/MessageFilter.cs index 4004fef..3f6f5e0 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/MessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/MessageFilter.cs @@ -14,4 +14,4 @@ public partial class MessageFilter public static MessageFilter Null { get; } = new NullMessageFilter(); public static MessageFilter Parse(string value) => FilterGrammar.Filter.Parse(value); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/NegatedMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/NegatedMessageFilter.cs index 1e74775..3736439 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/NegatedMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/NegatedMessageFilter.cs @@ -9,4 +9,4 @@ internal class NegatedMessageFilter : MessageFilter public NegatedMessageFilter(MessageFilter filter) => _filter = filter; public override bool IsMatch(Message message) => !_filter.IsMatch(message); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/NullMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/NullMessageFilter.cs index 419ce79..3592092 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/NullMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/NullMessageFilter.cs @@ -5,4 +5,4 @@ namespace DiscordChatExporter.Core.Exporting.Filtering; internal class NullMessageFilter : MessageFilter { public override bool IsMatch(Message message) => true; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/Parsing/FilterGrammar.cs b/DiscordChatExporter.Core/Exporting/Filtering/Parsing/FilterGrammar.cs index 2512ab8..e05a8ae 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/Parsing/FilterGrammar.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/Parsing/FilterGrammar.cs @@ -6,8 +6,9 @@ namespace DiscordChatExporter.Core.Exporting.Filtering.Parsing; internal static class FilterGrammar { - private static readonly TextParser EscapedCharacter = - Character.EqualTo('\\').IgnoreThen(Character.AnyChar); + private static readonly TextParser EscapedCharacter = Character + .EqualTo('\\') + .IgnoreThen(Character.AnyChar); private static readonly TextParser QuotedString = from open in Character.In('"', '\'') @@ -15,70 +16,77 @@ internal static class FilterGrammar from close in Character.EqualTo(open) select value; - private static readonly TextParser UnquotedString = - Parse.OneOf( + private static readonly TextParser UnquotedString = Parse + .OneOf( EscapedCharacter, // Avoid whitespace as it's treated as an implicit 'and' operator. // Also avoid all special tokens used by other parsers. Character.ExceptIn(' ', '(', ')', '"', '\'', '-', '~', '|', '&') - ).AtLeastOnce().Text(); + ) + .AtLeastOnce() + .Text(); - private static readonly TextParser String = - Parse.OneOf(QuotedString, UnquotedString).Named("text string"); + private static readonly TextParser String = Parse + .OneOf(QuotedString, UnquotedString) + .Named("text string"); - private static readonly TextParser ContainsFilter = - String.Select(v => (MessageFilter)new ContainsMessageFilter(v)); + private static readonly TextParser ContainsFilter = String.Select( + v => (MessageFilter)new ContainsMessageFilter(v) + ); - private static readonly TextParser FromFilter = - Span - .EqualToIgnoreCase("from:") - .Try() - .IgnoreThen(String) - .Select(v => (MessageFilter)new FromMessageFilter(v)) - .Named("from:"); + private static readonly TextParser FromFilter = Span.EqualToIgnoreCase("from:") + .Try() + .IgnoreThen(String) + .Select(v => (MessageFilter)new FromMessageFilter(v)) + .Named("from:"); - private static readonly TextParser MentionsFilter = - Span - .EqualToIgnoreCase("mentions:") - .Try() - .IgnoreThen(String) - .Select(v => (MessageFilter)new MentionsMessageFilter(v)) - .Named("mentions:"); + private static readonly TextParser MentionsFilter = Span.EqualToIgnoreCase( + "mentions:" + ) + .Try() + .IgnoreThen(String) + .Select(v => (MessageFilter)new MentionsMessageFilter(v)) + .Named("mentions:"); - private static readonly TextParser ReactionFilter = - Span - .EqualToIgnoreCase("reaction:") - .Try() - .IgnoreThen(String) - .Select(v => (MessageFilter)new ReactionMessageFilter(v)) - .Named("reaction:"); + private static readonly TextParser ReactionFilter = Span.EqualToIgnoreCase( + "reaction:" + ) + .Try() + .IgnoreThen(String) + .Select(v => (MessageFilter)new ReactionMessageFilter(v)) + .Named("reaction:"); - private static readonly TextParser HasFilter = - Span - .EqualToIgnoreCase("has:") - .Try() - .IgnoreThen(Parse.OneOf( - Span.EqualToIgnoreCase("link").IgnoreThen(Parse.Return(MessageContentMatchKind.Link)), - Span.EqualToIgnoreCase("embed").IgnoreThen(Parse.Return(MessageContentMatchKind.Embed)), - Span.EqualToIgnoreCase("file").IgnoreThen(Parse.Return(MessageContentMatchKind.File)), - Span.EqualToIgnoreCase("video").IgnoreThen(Parse.Return(MessageContentMatchKind.Video)), - Span.EqualToIgnoreCase("image").IgnoreThen(Parse.Return(MessageContentMatchKind.Image)), - Span.EqualToIgnoreCase("sound").IgnoreThen(Parse.Return(MessageContentMatchKind.Sound)), + private static readonly TextParser HasFilter = Span.EqualToIgnoreCase("has:") + .Try() + .IgnoreThen( + Parse.OneOf( + Span.EqualToIgnoreCase("link") + .IgnoreThen(Parse.Return(MessageContentMatchKind.Link)), + Span.EqualToIgnoreCase("embed") + .IgnoreThen(Parse.Return(MessageContentMatchKind.Embed)), + Span.EqualToIgnoreCase("file") + .IgnoreThen(Parse.Return(MessageContentMatchKind.File)), + Span.EqualToIgnoreCase("video") + .IgnoreThen(Parse.Return(MessageContentMatchKind.Video)), + Span.EqualToIgnoreCase("image") + .IgnoreThen(Parse.Return(MessageContentMatchKind.Image)), + Span.EqualToIgnoreCase("sound") + .IgnoreThen(Parse.Return(MessageContentMatchKind.Sound)), Span.EqualToIgnoreCase("pin").IgnoreThen(Parse.Return(MessageContentMatchKind.Pin)) - )) - .Select(k => (MessageFilter)new HasMessageFilter(k)) - .Named("has:"); + ) + ) + .Select(k => (MessageFilter)new HasMessageFilter(k)) + .Named("has:"); // Make sure that property-based filters like 'has:link' don't prevent text like 'hello' from being parsed. // https://github.com/Tyrrrz/DiscordChatExporter/issues/909#issuecomment-1227575455 - private static readonly TextParser PrimitiveFilter = - Parse.OneOf( - FromFilter, - MentionsFilter, - ReactionFilter, - HasFilter, - ContainsFilter - ); + private static readonly TextParser PrimitiveFilter = Parse.OneOf( + FromFilter, + MentionsFilter, + ReactionFilter, + HasFilter, + ContainsFilter + ); private static readonly TextParser GroupedFilter = from open in Character.EqualTo('(') @@ -86,36 +94,30 @@ internal static class FilterGrammar from close in Character.EqualTo(')') select content; - private static readonly TextParser NegatedFilter = - Character - // Dash is annoying to use from CLI due to conflicts with options, so we provide tilde as an alias - .In('-', '~') - .IgnoreThen(Parse.OneOf(GroupedFilter, PrimitiveFilter)) - .Select(f => (MessageFilter)new NegatedMessageFilter(f)); + private static readonly TextParser NegatedFilter = Character + // Dash is annoying to use from CLI due to conflicts with options, so we provide tilde as an alias + .In('-', '~') + .IgnoreThen(Parse.OneOf(GroupedFilter, PrimitiveFilter)) + .Select(f => (MessageFilter)new NegatedMessageFilter(f)); - private static readonly TextParser ChainedFilter = - Parse.Chain( - // Operator - Parse.OneOf( - // Explicit operator - Character.In('|', '&').Token().Try(), - // Implicit operator (resolves to 'and') - Character.EqualTo(' ').AtLeastOnce().IgnoreThen(Parse.Return(' ')) - ), - // Operand - Parse.OneOf( - NegatedFilter, - GroupedFilter, - PrimitiveFilter - ), - // Reducer - (op, left, right) => op switch + private static readonly TextParser ChainedFilter = Parse.Chain( + // Operator + Parse.OneOf( + // Explicit operator + Character.In('|', '&').Token().Try(), + // Implicit operator (resolves to 'and') + Character.EqualTo(' ').AtLeastOnce().IgnoreThen(Parse.Return(' ')) + ), + // Operand + Parse.OneOf(NegatedFilter, GroupedFilter, PrimitiveFilter), + // Reducer + (op, left, right) => + op switch { '|' => new BinaryExpressionMessageFilter(left, right, BinaryExpressionKind.Or), _ => new BinaryExpressionMessageFilter(left, right, BinaryExpressionKind.And) } - ); + ); - public static readonly TextParser Filter = - ChainedFilter.Token().AtEnd(); -} \ No newline at end of file + public static readonly TextParser Filter = ChainedFilter.Token().AtEnd(); +} diff --git a/DiscordChatExporter.Core/Exporting/Filtering/ReactionMessageFilter.cs b/DiscordChatExporter.Core/Exporting/Filtering/ReactionMessageFilter.cs index 2de3938..efb7990 100644 --- a/DiscordChatExporter.Core/Exporting/Filtering/ReactionMessageFilter.cs +++ b/DiscordChatExporter.Core/Exporting/Filtering/ReactionMessageFilter.cs @@ -10,9 +10,11 @@ internal class ReactionMessageFilter : MessageFilter public ReactionMessageFilter(string value) => _value = value; - public override bool IsMatch(Message message) => message.Reactions.Any(r => - string.Equals(_value, r.Emoji.Id?.ToString(), StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, r.Emoji.Name, StringComparison.OrdinalIgnoreCase) || - string.Equals(_value, r.Emoji.Code, StringComparison.OrdinalIgnoreCase) - ); -} \ No newline at end of file + public override bool IsMatch(Message message) => + message.Reactions.Any( + r => + string.Equals(_value, r.Emoji.Id?.ToString(), StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, r.Emoji.Name, StringComparison.OrdinalIgnoreCase) + || string.Equals(_value, r.Emoji.Code, StringComparison.OrdinalIgnoreCase) + ); +} diff --git a/DiscordChatExporter.Core/Exporting/HtmlMarkdownVisitor.cs b/DiscordChatExporter.Core/Exporting/HtmlMarkdownVisitor.cs index 0cb8b2a..bb0ed3e 100644 --- a/DiscordChatExporter.Core/Exporting/HtmlMarkdownVisitor.cs +++ b/DiscordChatExporter.Core/Exporting/HtmlMarkdownVisitor.cs @@ -27,7 +27,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitTextAsync( TextNode text, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append(HtmlEncode(text.Text)); return default; @@ -35,53 +36,63 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override async ValueTask VisitFormattingAsync( FormattingNode formatting, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var (openingTag, closingTag) = formatting.Kind switch { - FormattingKind.Bold => ( - // lang=html - "", - // lang=html - "" - ), - - FormattingKind.Italic => ( - // lang=html - "", - // lang=html - "" - ), - - FormattingKind.Underline => ( - // lang=html - "", - // lang=html - "" - ), - - FormattingKind.Strikethrough => ( - // lang=html - "", - // lang=html - "" - ), - - FormattingKind.Spoiler => ( - // lang=html - """""", - // lang=html - """""" - ), - - FormattingKind.Quote => ( - // lang=html - """
""", - // lang=html - """
""" - ), - - _ => throw new InvalidOperationException($"Unknown formatting kind '{formatting.Kind}'.") + FormattingKind.Bold + => ( + // lang=html + "", + // lang=html + "" + ), + + FormattingKind.Italic + => ( + // lang=html + "", + // lang=html + "" + ), + + FormattingKind.Underline + => ( + // lang=html + "", + // lang=html + "" + ), + + FormattingKind.Strikethrough + => ( + // lang=html + "", + // lang=html + "" + ), + + FormattingKind.Spoiler + => ( + // lang=html + """""", + // lang=html + """""" + ), + + FormattingKind.Quote + => ( + // lang=html + """
""", + // lang=html + """
""" + ), + + _ + => throw new InvalidOperationException( + $"Unknown formatting kind '{formatting.Kind}'." + ) }; _buffer.Append(openingTag); @@ -91,7 +102,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override async ValueTask VisitHeadingAsync( HeadingNode heading, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append( // lang=html @@ -108,7 +120,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override async ValueTask VisitListAsync( ListNode list, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append( // lang=html @@ -125,7 +138,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override async ValueTask VisitListItemAsync( ListItemNode listItem, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append( // lang=html @@ -142,7 +156,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitInlineCodeBlockAsync( InlineCodeBlockNode inlineCodeBlock, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append( // lang=html @@ -156,7 +171,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitMultiLineCodeBlockAsync( MultiLineCodeBlockNode multiLineCodeBlock, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var highlightClass = !string.IsNullOrWhiteSpace(multiLineCodeBlock.Language) ? $"language-{multiLineCodeBlock.Language}" @@ -174,13 +190,13 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override async ValueTask VisitLinkAsync( LinkNode link, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { // Try to extract the message ID if the link points to a Discord message - var linkedMessageId = Regex.Match( - link.Url, - @"^https?://(?:discord|discordapp)\.com/channels/.*?/(\d+)/?$" - ).Groups[1].Value; + var linkedMessageId = Regex + .Match(link.Url, @"^https?://(?:discord|discordapp)\.com/channels/.*?/(\d+)/?$") + .Groups[1].Value; _buffer.Append( !string.IsNullOrWhiteSpace(linkedMessageId) @@ -200,7 +216,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override async ValueTask VisitEmojiAsync( EmojiNode emoji, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var emojiImageUrl = Emoji.GetImageUrl(emoji.Id, emoji.Name, emoji.IsAnimated); var jumboClass = _isJumbo ? "chatlog__emoji--large" : ""; @@ -218,8 +235,10 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor ); } - protected override async ValueTask VisitMentionAsync(MentionNode mention, - CancellationToken cancellationToken = default) + protected override async ValueTask VisitMentionAsync( + MentionNode mention, + CancellationToken cancellationToken = default + ) { if (mention.Kind == MentionKind.Everyone) { @@ -294,7 +313,8 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitTimestampAsync( TimestampNode timestamp, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var formatted = timestamp.Instant is not null ? !string.IsNullOrWhiteSpace(timestamp.Format) @@ -323,17 +343,25 @@ internal partial class HtmlMarkdownVisitor ExportContext context, string markdown, bool isJumboAllowed = true, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var nodes = MarkdownParser.Parse(markdown); var isJumbo = - isJumboAllowed && - nodes.All(n => n is EmojiNode || n is TextNode textNode && string.IsNullOrWhiteSpace(textNode.Text)); + isJumboAllowed + && nodes.All( + n => + n is EmojiNode + || n is TextNode textNode && string.IsNullOrWhiteSpace(textNode.Text) + ); var buffer = new StringBuilder(); - await new HtmlMarkdownVisitor(context, buffer, isJumbo).VisitAsync(nodes, cancellationToken); + await new HtmlMarkdownVisitor(context, buffer, isJumbo).VisitAsync( + nodes, + cancellationToken + ); return buffer.ToString(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/HtmlMessageExtensions.cs b/DiscordChatExporter.Core/Exporting/HtmlMessageExtensions.cs index c511432..260579b 100644 --- a/DiscordChatExporter.Core/Exporting/HtmlMessageExtensions.cs +++ b/DiscordChatExporter.Core/Exporting/HtmlMessageExtensions.cs @@ -15,8 +15,7 @@ internal static class HtmlMessageExtensions var embed = message.Embeds[0]; - return - string.Equals(message.Content.Trim(), embed.Url, StringComparison.OrdinalIgnoreCase) && - embed.Kind is EmbedKind.Image or EmbedKind.Gifv; + return string.Equals(message.Content.Trim(), embed.Url, StringComparison.OrdinalIgnoreCase) + && embed.Kind is EmbedKind.Image or EmbedKind.Gifv; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/HtmlMessageWriter.cs b/DiscordChatExporter.Core/Exporting/HtmlMessageWriter.cs index 2ac4647..2652140 100644 --- a/DiscordChatExporter.Core/Exporting/HtmlMessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/HtmlMessageWriter.cs @@ -58,7 +58,13 @@ internal class HtmlMessageWriter : MessageWriter // If the author changed their name after the last message, their new messages // cannot join the existing group. - if (!string.Equals(message.Author.FullName, lastMessage.Author.FullName, StringComparison.Ordinal)) + if ( + !string.Equals( + message.Author.FullName, + lastMessage.Author.FullName, + StringComparison.Ordinal + ) + ) return false; } @@ -69,7 +75,8 @@ internal class HtmlMessageWriter : MessageWriter private string Minify(string html) => _minifier.Minify(html, false).MinifiedContent; public override async ValueTask WritePreambleAsync( - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await _writer.WriteLineAsync( Minify( @@ -84,7 +91,8 @@ internal class HtmlMessageWriter : MessageWriter private async ValueTask WriteMessageGroupAsync( IReadOnlyList messages, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await _writer.WriteLineAsync( Minify( @@ -99,7 +107,8 @@ internal class HtmlMessageWriter : MessageWriter public override async ValueTask WriteMessageAsync( Message message, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await base.WriteMessageAsync(message, cancellationToken); @@ -118,7 +127,9 @@ internal class HtmlMessageWriter : MessageWriter } } - public override async ValueTask WritePostambleAsync(CancellationToken cancellationToken = default) + public override async ValueTask WritePostambleAsync( + CancellationToken cancellationToken = default + ) { // Flush current message group if (_messageGroup.Any()) @@ -140,4 +151,4 @@ internal class HtmlMessageWriter : MessageWriter await _writer.DisposeAsync(); await base.DisposeAsync(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs b/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs index 6d32cf6..435997f 100644 --- a/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs @@ -18,34 +18,39 @@ internal class JsonMessageWriter : MessageWriter public JsonMessageWriter(Stream stream, ExportContext context) : base(stream, context) { - _writer = new Utf8JsonWriter(stream, new JsonWriterOptions - { - // https://github.com/Tyrrrz/DiscordChatExporter/issues/450 - Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, - Indented = true, - // Validation errors may mask actual failures - // https://github.com/Tyrrrz/DiscordChatExporter/issues/413 - SkipValidation = true - }); + _writer = new Utf8JsonWriter( + stream, + new JsonWriterOptions + { + // https://github.com/Tyrrrz/DiscordChatExporter/issues/450 + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + Indented = true, + // Validation errors may mask actual failures + // https://github.com/Tyrrrz/DiscordChatExporter/issues/413 + SkipValidation = true + } + ); } private async ValueTask FormatMarkdownAsync( string markdown, - CancellationToken cancellationToken = default) => + CancellationToken cancellationToken = default + ) => Context.Request.ShouldFormatMarkdown ? await PlainTextMarkdownVisitor.FormatAsync(Context, markdown, cancellationToken) : markdown; - private async ValueTask WriteUserAsync( - User user, - CancellationToken cancellationToken = default) + private async ValueTask WriteUserAsync(User user, CancellationToken cancellationToken = default) { _writer.WriteStartObject(); _writer.WriteString("id", user.Id.ToString()); _writer.WriteString("name", user.Name); _writer.WriteString("discriminator", user.DiscriminatorFormatted); - _writer.WriteString("nickname", Context.TryGetMember(user.Id)?.DisplayName ?? user.DisplayName); + _writer.WriteString( + "nickname", + Context.TryGetMember(user.Id)?.DisplayName ?? user.DisplayName + ); _writer.WriteString("color", Context.TryGetUserColor(user.Id)?.ToHex()); _writer.WriteBoolean("isBot", user.IsBot); @@ -66,7 +71,8 @@ internal class JsonMessageWriter : MessageWriter private async ValueTask WriteRolesAsync( IReadOnlyList roles, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _writer.WriteStartArray(); @@ -88,7 +94,8 @@ internal class JsonMessageWriter : MessageWriter private async ValueTask WriteEmbedAuthorAsync( EmbedAuthor embedAuthor, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _writer.WriteStartObject(); @@ -99,7 +106,10 @@ internal class JsonMessageWriter : MessageWriter { _writer.WriteString( "iconUrl", - await Context.ResolveAssetUrlAsync(embedAuthor.IconProxyUrl ?? embedAuthor.IconUrl, cancellationToken) + await Context.ResolveAssetUrlAsync( + embedAuthor.IconProxyUrl ?? embedAuthor.IconUrl, + cancellationToken + ) ); } @@ -109,7 +119,8 @@ internal class JsonMessageWriter : MessageWriter private async ValueTask WriteEmbedImageAsync( EmbedImage embedImage, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _writer.WriteStartObject(); @@ -117,7 +128,10 @@ internal class JsonMessageWriter : MessageWriter { _writer.WriteString( "url", - await Context.ResolveAssetUrlAsync(embedImage.ProxyUrl ?? embedImage.Url, cancellationToken) + await Context.ResolveAssetUrlAsync( + embedImage.ProxyUrl ?? embedImage.Url, + cancellationToken + ) ); } @@ -130,7 +144,8 @@ internal class JsonMessageWriter : MessageWriter private async ValueTask WriteEmbedFooterAsync( EmbedFooter embedFooter, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _writer.WriteStartObject(); @@ -140,7 +155,10 @@ internal class JsonMessageWriter : MessageWriter { _writer.WriteString( "iconUrl", - await Context.ResolveAssetUrlAsync(embedFooter.IconProxyUrl ?? embedFooter.IconUrl, cancellationToken) + await Context.ResolveAssetUrlAsync( + embedFooter.IconProxyUrl ?? embedFooter.IconUrl, + cancellationToken + ) ); } @@ -150,12 +168,16 @@ internal class JsonMessageWriter : MessageWriter private async ValueTask WriteEmbedFieldAsync( EmbedField embedField, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _writer.WriteStartObject(); _writer.WriteString("name", await FormatMarkdownAsync(embedField.Name, cancellationToken)); - _writer.WriteString("value", await FormatMarkdownAsync(embedField.Value, cancellationToken)); + _writer.WriteString( + "value", + await FormatMarkdownAsync(embedField.Value, cancellationToken) + ); _writer.WriteBoolean("isInline", embedField.IsInline); _writer.WriteEndObject(); @@ -164,14 +186,21 @@ internal class JsonMessageWriter : MessageWriter private async ValueTask WriteEmbedAsync( Embed embed, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _writer.WriteStartObject(); - _writer.WriteString("title", await FormatMarkdownAsync(embed.Title ?? "", cancellationToken)); + _writer.WriteString( + "title", + await FormatMarkdownAsync(embed.Title ?? "", cancellationToken) + ); _writer.WriteString("url", embed.Url); _writer.WriteString("timestamp", embed.Timestamp); - _writer.WriteString("description", await FormatMarkdownAsync(embed.Description ?? "", cancellationToken)); + _writer.WriteString( + "description", + await FormatMarkdownAsync(embed.Description ?? "", cancellationToken) + ); if (embed.Color is not null) _writer.WriteString("color", embed.Color.Value.ToHex()); @@ -220,7 +249,9 @@ internal class JsonMessageWriter : MessageWriter await _writer.FlushAsync(cancellationToken); } - public override async ValueTask WritePreambleAsync(CancellationToken cancellationToken = default) + public override async ValueTask WritePreambleAsync( + CancellationToken cancellationToken = default + ) { // Root object (start) _writer.WriteStartObject(); @@ -250,7 +281,10 @@ internal class JsonMessageWriter : MessageWriter { _writer.WriteString( "iconUrl", - await Context.ResolveAssetUrlAsync(Context.Request.Channel.IconUrl, cancellationToken) + await Context.ResolveAssetUrlAsync( + Context.Request.Channel.IconUrl, + cancellationToken + ) ); } @@ -272,7 +306,8 @@ internal class JsonMessageWriter : MessageWriter public override async ValueTask WriteMessageAsync( Message message, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await base.WriteMessageAsync(message, cancellationToken); @@ -293,7 +328,10 @@ internal class JsonMessageWriter : MessageWriter } else { - _writer.WriteString("content", await FormatMarkdownAsync(message.Content, cancellationToken)); + _writer.WriteString( + "content", + await FormatMarkdownAsync(message.Content, cancellationToken) + ); } // Author @@ -308,7 +346,10 @@ internal class JsonMessageWriter : MessageWriter _writer.WriteStartObject(); _writer.WriteString("id", attachment.Id.ToString()); - _writer.WriteString("url", await Context.ResolveAssetUrlAsync(attachment.Url, cancellationToken)); + _writer.WriteString( + "url", + await Context.ResolveAssetUrlAsync(attachment.Url, cancellationToken) + ); _writer.WriteString("fileName", attachment.FileName); _writer.WriteNumber("fileSizeBytes", attachment.FileSize.TotalBytes); @@ -335,7 +376,10 @@ internal class JsonMessageWriter : MessageWriter _writer.WriteString("id", sticker.Id.ToString()); _writer.WriteString("name", sticker.Name); _writer.WriteString("format", sticker.Format.ToString()); - _writer.WriteString("sourceUrl", await Context.ResolveAssetUrlAsync(sticker.SourceUrl, cancellationToken)); + _writer.WriteString( + "sourceUrl", + await Context.ResolveAssetUrlAsync(sticker.SourceUrl, cancellationToken) + ); _writer.WriteEndObject(); } @@ -355,17 +399,23 @@ internal class JsonMessageWriter : MessageWriter _writer.WriteString("name", reaction.Emoji.Name); _writer.WriteString("code", reaction.Emoji.Code); _writer.WriteBoolean("isAnimated", reaction.Emoji.IsAnimated); - _writer.WriteString("imageUrl", await Context.ResolveAssetUrlAsync(reaction.Emoji.ImageUrl, cancellationToken)); + _writer.WriteString( + "imageUrl", + await Context.ResolveAssetUrlAsync(reaction.Emoji.ImageUrl, cancellationToken) + ); _writer.WriteEndObject(); _writer.WriteNumber("count", reaction.Count); _writer.WriteStartArray("users"); - await foreach (var user in Context.Discord.GetMessageReactionsAsync( - Context.Request.Channel.Id, - message.Id, - reaction.Emoji, - cancellationToken)) + await foreach ( + var user in Context.Discord.GetMessageReactionsAsync( + Context.Request.Channel.Id, + message.Id, + reaction.Emoji, + cancellationToken + ) + ) { _writer.WriteStartObject(); @@ -374,7 +424,10 @@ internal class JsonMessageWriter : MessageWriter _writer.WriteString("id", user.Id.ToString()); _writer.WriteString("name", user.Name); _writer.WriteString("discriminator", user.DiscriminatorFormatted); - _writer.WriteString("nickname", Context.TryGetMember(user.Id)?.DisplayName ?? user.DisplayName); + _writer.WriteString( + "nickname", + Context.TryGetMember(user.Id)?.DisplayName ?? user.DisplayName + ); _writer.WriteBoolean("isBot", user.IsBot); _writer.WriteString( @@ -431,7 +484,9 @@ internal class JsonMessageWriter : MessageWriter await _writer.FlushAsync(cancellationToken); } - public override async ValueTask WritePostambleAsync(CancellationToken cancellationToken = default) + public override async ValueTask WritePostambleAsync( + CancellationToken cancellationToken = default + ) { // Message array (end) _writer.WriteEndArray(); @@ -448,4 +503,4 @@ internal class JsonMessageWriter : MessageWriter await _writer.DisposeAsync(); await base.DisposeAsync(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/MessageExporter.cs b/DiscordChatExporter.Core/Exporting/MessageExporter.cs index b0d992c..8f916c9 100644 --- a/DiscordChatExporter.Core/Exporting/MessageExporter.cs +++ b/DiscordChatExporter.Core/Exporting/MessageExporter.cs @@ -37,11 +37,18 @@ internal partial class MessageExporter : IAsyncDisposable } } - private async ValueTask GetWriterAsync(CancellationToken cancellationToken = default) + private async ValueTask GetWriterAsync( + CancellationToken cancellationToken = default + ) { // Ensure that the partition limit has not been reached - if (_writer is not null && - _context.Request.PartitionLimit.IsReached(_writer.MessagesWritten, _writer.BytesWritten)) + if ( + _writer is not null + && _context.Request.PartitionLimit.IsReached( + _writer.MessagesWritten, + _writer.BytesWritten + ) + ) { await ResetWriterAsync(cancellationToken); _partitionIndex++; @@ -60,7 +67,10 @@ internal partial class MessageExporter : IAsyncDisposable return _writer = writer; } - public async ValueTask ExportMessageAsync(Message message, CancellationToken cancellationToken = default) + public async ValueTask ExportMessageAsync( + Message message, + CancellationToken cancellationToken = default + ) { var writer = await GetWriterAsync(cancellationToken); await writer.WriteMessageAsync(message, cancellationToken); @@ -84,22 +94,26 @@ internal partial class MessageExporter var fileName = $"{fileNameWithoutExt} [part {partitionIndex + 1}]{fileExt}"; var dirPath = Path.GetDirectoryName(baseFilePath); - return !string.IsNullOrWhiteSpace(dirPath) - ? Path.Combine(dirPath, fileName) - : fileName; + return !string.IsNullOrWhiteSpace(dirPath) ? Path.Combine(dirPath, fileName) : fileName; } private static MessageWriter CreateMessageWriter( string filePath, ExportFormat format, - ExportContext context) => + ExportContext context + ) => format switch { ExportFormat.PlainText => new PlainTextMessageWriter(File.Create(filePath), context), ExportFormat.Csv => new CsvMessageWriter(File.Create(filePath), context), ExportFormat.HtmlDark => new HtmlMessageWriter(File.Create(filePath), context, "Dark"), - ExportFormat.HtmlLight => new HtmlMessageWriter(File.Create(filePath), context, "Light"), + ExportFormat.HtmlLight + => new HtmlMessageWriter(File.Create(filePath), context, "Light"), ExportFormat.Json => new JsonMessageWriter(File.Create(filePath), context), - _ => throw new ArgumentOutOfRangeException(nameof(format), $"Unknown export format '{format}'.") + _ + => throw new ArgumentOutOfRangeException( + nameof(format), + $"Unknown export format '{format}'." + ) }; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/MessageWriter.cs b/DiscordChatExporter.Core/Exporting/MessageWriter.cs index 9031142..dd9c42f 100644 --- a/DiscordChatExporter.Core/Exporting/MessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/MessageWriter.cs @@ -22,15 +22,20 @@ internal abstract class MessageWriter : IAsyncDisposable Context = context; } - public virtual ValueTask WritePreambleAsync(CancellationToken cancellationToken = default) => default; + public virtual ValueTask WritePreambleAsync(CancellationToken cancellationToken = default) => + default; - public virtual ValueTask WriteMessageAsync(Message message, CancellationToken cancellationToken = default) + public virtual ValueTask WriteMessageAsync( + Message message, + CancellationToken cancellationToken = default + ) { MessagesWritten++; return default; } - public virtual ValueTask WritePostambleAsync(CancellationToken cancellationToken = default) => default; + public virtual ValueTask WritePostambleAsync(CancellationToken cancellationToken = default) => + default; public virtual async ValueTask DisposeAsync() => await Stream.DisposeAsync(); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Partitioning/FileSizePartitionLimit.cs b/DiscordChatExporter.Core/Exporting/Partitioning/FileSizePartitionLimit.cs index c38318f..916f235 100644 --- a/DiscordChatExporter.Core/Exporting/Partitioning/FileSizePartitionLimit.cs +++ b/DiscordChatExporter.Core/Exporting/Partitioning/FileSizePartitionLimit.cs @@ -8,4 +8,4 @@ internal class FileSizePartitionLimit : PartitionLimit public override bool IsReached(long messagesWritten, long bytesWritten) => bytesWritten >= _limit; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Partitioning/MessageCountPartitionLimit.cs b/DiscordChatExporter.Core/Exporting/Partitioning/MessageCountPartitionLimit.cs index 2326b34..221a653 100644 --- a/DiscordChatExporter.Core/Exporting/Partitioning/MessageCountPartitionLimit.cs +++ b/DiscordChatExporter.Core/Exporting/Partitioning/MessageCountPartitionLimit.cs @@ -8,4 +8,4 @@ internal class MessageCountPartitionLimit : PartitionLimit public override bool IsReached(long messagesWritten, long bytesWritten) => messagesWritten >= _limit; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Partitioning/NullPartitionLimit.cs b/DiscordChatExporter.Core/Exporting/Partitioning/NullPartitionLimit.cs index ffd248c..1fee660 100644 --- a/DiscordChatExporter.Core/Exporting/Partitioning/NullPartitionLimit.cs +++ b/DiscordChatExporter.Core/Exporting/Partitioning/NullPartitionLimit.cs @@ -3,4 +3,4 @@ internal class NullPartitionLimit : PartitionLimit { public override bool IsReached(long messagesWritten, long bytesWritten) => false; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/Partitioning/PartitionLimit.cs b/DiscordChatExporter.Core/Exporting/Partitioning/PartitionLimit.cs index e4fd965..016a665 100644 --- a/DiscordChatExporter.Core/Exporting/Partitioning/PartitionLimit.cs +++ b/DiscordChatExporter.Core/Exporting/Partitioning/PartitionLimit.cs @@ -18,11 +18,14 @@ public partial class PartitionLimit var match = Regex.Match(value, @"^\s*(\d+[\.,]?\d*)\s*(\w)?b\s*$", RegexOptions.IgnoreCase); // Number part - if (!double.TryParse( + if ( + !double.TryParse( match.Groups[1].Value, NumberStyles.Float, formatProvider, - out var number)) + out var number + ) + ) { return null; } @@ -42,7 +45,7 @@ public partial class PartitionLimit return null; } - return (long) (number * magnitude); + return (long)(number * magnitude); } public static PartitionLimit? TryParse(string value, IFormatProvider? formatProvider = null) @@ -58,5 +61,6 @@ public partial class PartitionLimit } public static PartitionLimit Parse(string value, IFormatProvider? formatProvider = null) => - TryParse(value, formatProvider) ?? throw new FormatException($"Invalid partition limit '{value}'."); -} \ No newline at end of file + TryParse(value, formatProvider) + ?? throw new FormatException($"Invalid partition limit '{value}'."); +} diff --git a/DiscordChatExporter.Core/Exporting/PlainTextMarkdownVisitor.cs b/DiscordChatExporter.Core/Exporting/PlainTextMarkdownVisitor.cs index 6de2886..cbc2e01 100644 --- a/DiscordChatExporter.Core/Exporting/PlainTextMarkdownVisitor.cs +++ b/DiscordChatExporter.Core/Exporting/PlainTextMarkdownVisitor.cs @@ -21,7 +21,8 @@ internal partial class PlainTextMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitTextAsync( TextNode text, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append(text.Text); return default; @@ -29,19 +30,18 @@ internal partial class PlainTextMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitEmojiAsync( EmojiNode emoji, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { - _buffer.Append( - emoji.IsCustomEmoji - ? $":{emoji.Name}:" - : emoji.Name - ); + _buffer.Append(emoji.IsCustomEmoji ? $":{emoji.Name}:" : emoji.Name); return default; } - protected override async ValueTask VisitMentionAsync(MentionNode mention, - CancellationToken cancellationToken = default) + protected override async ValueTask VisitMentionAsync( + MentionNode mention, + CancellationToken cancellationToken = default + ) { if (mention.Kind == MentionKind.Everyone) { @@ -86,7 +86,8 @@ internal partial class PlainTextMarkdownVisitor : MarkdownVisitor protected override ValueTask VisitTimestampAsync( TimestampNode timestamp, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { _buffer.Append( timestamp.Instant is not null @@ -105,7 +106,8 @@ internal partial class PlainTextMarkdownVisitor public static async ValueTask FormatAsync( ExportContext context, string markdown, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { var nodes = MarkdownParser.ParseMinimal(markdown); @@ -114,4 +116,4 @@ internal partial class PlainTextMarkdownVisitor return buffer.ToString(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Exporting/PlainTextMessageExtensions.cs b/DiscordChatExporter.Core/Exporting/PlainTextMessageExtensions.cs index 405f3db..572cfaa 100644 --- a/DiscordChatExporter.Core/Exporting/PlainTextMessageExtensions.cs +++ b/DiscordChatExporter.Core/Exporting/PlainTextMessageExtensions.cs @@ -7,20 +7,23 @@ namespace DiscordChatExporter.Core.Exporting; internal static class PlainTextMessageExtensions { - public static string GetFallbackContent(this Message message) => message.Kind switch - { - MessageKind.RecipientAdd => message.MentionedUsers.Any() - ? $"Added {message.MentionedUsers.First().DisplayName} to the group." - : "Added a recipient.", + public static string GetFallbackContent(this Message message) => + message.Kind switch + { + MessageKind.RecipientAdd + => message.MentionedUsers.Any() + ? $"Added {message.MentionedUsers.First().DisplayName} to the group." + : "Added a recipient.", - MessageKind.RecipientRemove => message.MentionedUsers.Any() - ? message.Author.Id == message.MentionedUsers.First().Id - ? "Left the group." - : $"Removed {message.MentionedUsers.First().DisplayName} from the group." - : "Removed a recipient.", + MessageKind.RecipientRemove + => message.MentionedUsers.Any() + ? message.Author.Id == message.MentionedUsers.First().Id + ? "Left the group." + : $"Removed {message.MentionedUsers.First().DisplayName} from the group." + : "Removed a recipient.", - MessageKind.Call => - $"Started a call that lasted { + MessageKind.Call + => $"Started a call that lasted { message .CallEndedTimestamp? .Pipe(t => t - message.Timestamp) @@ -28,16 +31,16 @@ internal static class PlainTextMessageExtensions .ToString("n0", CultureInfo.InvariantCulture) ?? "0" } minutes.", - MessageKind.ChannelNameChange => - !string.IsNullOrWhiteSpace(message.Content) - ? $"Changed the channel name: {message.Content}" - : "Changed the channel name.", + MessageKind.ChannelNameChange + => !string.IsNullOrWhiteSpace(message.Content) + ? $"Changed the channel name: {message.Content}" + : "Changed the channel name.", - MessageKind.ChannelIconChange => "Changed the channel icon.", - MessageKind.ChannelPinnedMessage => "Pinned a message.", - MessageKind.ThreadCreated => "Started a thread.", - MessageKind.GuildMemberJoin => "Joined the server.", + MessageKind.ChannelIconChange => "Changed the channel icon.", + MessageKind.ChannelPinnedMessage => "Pinned a message.", + MessageKind.ThreadCreated => "Started a thread.", + MessageKind.GuildMemberJoin => "Joined the server.", - _ => message.Content - }; -} \ No newline at end of file + _ => message.Content + }; +} diff --git a/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs b/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs index 076b72b..04ea408 100644 --- a/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs @@ -20,7 +20,8 @@ internal class PlainTextMessageWriter : MessageWriter private async ValueTask FormatMarkdownAsync( string markdown, - CancellationToken cancellationToken = default) => + CancellationToken cancellationToken = default + ) => Context.Request.ShouldFormatMarkdown ? await PlainTextMarkdownVisitor.FormatAsync(Context, markdown, cancellationToken) : markdown; @@ -40,7 +41,8 @@ internal class PlainTextMessageWriter : MessageWriter private async ValueTask WriteAttachmentsAsync( IReadOnlyList attachments, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (!attachments.Any()) return; @@ -61,7 +63,8 @@ internal class PlainTextMessageWriter : MessageWriter private async ValueTask WriteEmbedsAsync( IReadOnlyList embeds, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { foreach (var embed in embeds) { @@ -144,7 +147,8 @@ internal class PlainTextMessageWriter : MessageWriter private async ValueTask WriteStickersAsync( IReadOnlyList stickers, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (!stickers.Any()) return; @@ -165,7 +169,8 @@ internal class PlainTextMessageWriter : MessageWriter private async ValueTask WriteReactionsAsync( IReadOnlyList reactions, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (!reactions.Any()) return; @@ -189,11 +194,15 @@ internal class PlainTextMessageWriter : MessageWriter await _writer.WriteLineAsync(); } - public override async ValueTask WritePreambleAsync(CancellationToken cancellationToken = default) + public override async ValueTask WritePreambleAsync( + CancellationToken cancellationToken = default + ) { await _writer.WriteLineAsync(new string('=', 62)); await _writer.WriteLineAsync($"Guild: {Context.Request.Guild.Name}"); - await _writer.WriteLineAsync($"Channel: {Context.Request.Channel.Category} / {Context.Request.Channel.Name}"); + await _writer.WriteLineAsync( + $"Channel: {Context.Request.Channel.Category} / {Context.Request.Channel.Name}" + ); if (!string.IsNullOrWhiteSpace(Context.Request.Channel.Topic)) { @@ -202,12 +211,16 @@ internal class PlainTextMessageWriter : MessageWriter if (Context.Request.After is not null) { - await _writer.WriteLineAsync($"After: {Context.FormatDate(Context.Request.After.Value.ToDate())}"); + await _writer.WriteLineAsync( + $"After: {Context.FormatDate(Context.Request.After.Value.ToDate())}" + ); } if (Context.Request.Before is not null) { - await _writer.WriteLineAsync($"Before: {Context.FormatDate(Context.Request.Before.Value.ToDate())}"); + await _writer.WriteLineAsync( + $"Before: {Context.FormatDate(Context.Request.Before.Value.ToDate())}" + ); } await _writer.WriteLineAsync(new string('=', 62)); @@ -216,7 +229,8 @@ internal class PlainTextMessageWriter : MessageWriter public override async ValueTask WriteMessageAsync( Message message, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await base.WriteMessageAsync(message, cancellationToken); @@ -246,7 +260,9 @@ internal class PlainTextMessageWriter : MessageWriter await _writer.WriteLineAsync(); } - public override async ValueTask WritePostambleAsync(CancellationToken cancellationToken = default) + public override async ValueTask WritePostambleAsync( + CancellationToken cancellationToken = default + ) { await _writer.WriteLineAsync(new string('=', 62)); await _writer.WriteLineAsync($"Exported {MessagesWritten:N0} message(s)"); @@ -258,4 +274,4 @@ internal class PlainTextMessageWriter : MessageWriter await _writer.DisposeAsync(); await base.DisposeAsync(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/EmojiNode.cs b/DiscordChatExporter.Core/Markdown/EmojiNode.cs index 272a7f5..cc2d2cc 100644 --- a/DiscordChatExporter.Core/Markdown/EmojiNode.cs +++ b/DiscordChatExporter.Core/Markdown/EmojiNode.cs @@ -8,17 +8,14 @@ internal record EmojiNode( Snowflake? Id, // Name of a custom emoji (e.g. LUL) or actual representation of a standard emoji (e.g. 🙂) string Name, - bool IsAnimated) : MarkdownNode + bool IsAnimated +) : MarkdownNode { public bool IsCustomEmoji => Id is not null; // Name of a custom emoji (e.g. LUL) or name of a standard emoji (e.g. slight_smile) - public string Code => IsCustomEmoji - ? Name - : EmojiIndex.TryGetCode(Name) ?? Name; + public string Code => IsCustomEmoji ? Name : EmojiIndex.TryGetCode(Name) ?? Name; public EmojiNode(string name) - : this(null, name, false) - { - } -} \ No newline at end of file + : this(null, name, false) { } +} diff --git a/DiscordChatExporter.Core/Markdown/FormattingKind.cs b/DiscordChatExporter.Core/Markdown/FormattingKind.cs index 749e312..658def7 100644 --- a/DiscordChatExporter.Core/Markdown/FormattingKind.cs +++ b/DiscordChatExporter.Core/Markdown/FormattingKind.cs @@ -8,4 +8,4 @@ internal enum FormattingKind Strikethrough, Spoiler, Quote -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/FormattingNode.cs b/DiscordChatExporter.Core/Markdown/FormattingNode.cs index c18a57d..5920119 100644 --- a/DiscordChatExporter.Core/Markdown/FormattingNode.cs +++ b/DiscordChatExporter.Core/Markdown/FormattingNode.cs @@ -2,7 +2,6 @@ namespace DiscordChatExporter.Core.Markdown; -internal record FormattingNode( - FormattingKind Kind, - IReadOnlyList Children -) : MarkdownNode, IContainerNode; \ No newline at end of file +internal record FormattingNode(FormattingKind Kind, IReadOnlyList Children) + : MarkdownNode, + IContainerNode; diff --git a/DiscordChatExporter.Core/Markdown/HeadingNode.cs b/DiscordChatExporter.Core/Markdown/HeadingNode.cs index d5f59ec..7f35991 100644 --- a/DiscordChatExporter.Core/Markdown/HeadingNode.cs +++ b/DiscordChatExporter.Core/Markdown/HeadingNode.cs @@ -2,7 +2,6 @@ namespace DiscordChatExporter.Core.Markdown; -internal record HeadingNode( - int Level, - IReadOnlyList Children -) : MarkdownNode, IContainerNode; \ No newline at end of file +internal record HeadingNode(int Level, IReadOnlyList Children) + : MarkdownNode, + IContainerNode; diff --git a/DiscordChatExporter.Core/Markdown/IContainerNode.cs b/DiscordChatExporter.Core/Markdown/IContainerNode.cs index 17b0e51..596baf4 100644 --- a/DiscordChatExporter.Core/Markdown/IContainerNode.cs +++ b/DiscordChatExporter.Core/Markdown/IContainerNode.cs @@ -5,4 +5,4 @@ namespace DiscordChatExporter.Core.Markdown; internal interface IContainerNode { IReadOnlyList Children { get; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/InlineCodeBlockNode.cs b/DiscordChatExporter.Core/Markdown/InlineCodeBlockNode.cs index cdf0379..0db91a2 100644 --- a/DiscordChatExporter.Core/Markdown/InlineCodeBlockNode.cs +++ b/DiscordChatExporter.Core/Markdown/InlineCodeBlockNode.cs @@ -1,3 +1,3 @@ namespace DiscordChatExporter.Core.Markdown; -internal record InlineCodeBlockNode(string Code) : MarkdownNode; \ No newline at end of file +internal record InlineCodeBlockNode(string Code) : MarkdownNode; diff --git a/DiscordChatExporter.Core/Markdown/LinkNode.cs b/DiscordChatExporter.Core/Markdown/LinkNode.cs index 03105f0..fc8714b 100644 --- a/DiscordChatExporter.Core/Markdown/LinkNode.cs +++ b/DiscordChatExporter.Core/Markdown/LinkNode.cs @@ -3,12 +3,10 @@ namespace DiscordChatExporter.Core.Markdown; // Named links can contain child nodes (e.g. [**bold URL**](https://test.com)) -internal record LinkNode( - string Url, - IReadOnlyList Children) : MarkdownNode, IContainerNode +internal record LinkNode(string Url, IReadOnlyList Children) + : MarkdownNode, + IContainerNode { public LinkNode(string url) - : this(url, new[] { new TextNode(url) }) - { - } -} \ No newline at end of file + : this(url, new[] { new TextNode(url) }) { } +} diff --git a/DiscordChatExporter.Core/Markdown/ListItemNode.cs b/DiscordChatExporter.Core/Markdown/ListItemNode.cs index 5d644ec..e980e53 100644 --- a/DiscordChatExporter.Core/Markdown/ListItemNode.cs +++ b/DiscordChatExporter.Core/Markdown/ListItemNode.cs @@ -2,4 +2,4 @@ namespace DiscordChatExporter.Core.Markdown; -internal record ListItemNode(IReadOnlyList Children) : MarkdownNode, IContainerNode; \ No newline at end of file +internal record ListItemNode(IReadOnlyList Children) : MarkdownNode, IContainerNode; diff --git a/DiscordChatExporter.Core/Markdown/ListNode.cs b/DiscordChatExporter.Core/Markdown/ListNode.cs index 444ad1e..2d6f6fd 100644 --- a/DiscordChatExporter.Core/Markdown/ListNode.cs +++ b/DiscordChatExporter.Core/Markdown/ListNode.cs @@ -2,4 +2,4 @@ namespace DiscordChatExporter.Core.Markdown; -internal record ListNode(IReadOnlyList Items) : MarkdownNode; \ No newline at end of file +internal record ListNode(IReadOnlyList Items) : MarkdownNode; diff --git a/DiscordChatExporter.Core/Markdown/MarkdownNode.cs b/DiscordChatExporter.Core/Markdown/MarkdownNode.cs index 10f661c..77bcbb3 100644 --- a/DiscordChatExporter.Core/Markdown/MarkdownNode.cs +++ b/DiscordChatExporter.Core/Markdown/MarkdownNode.cs @@ -1,3 +1,3 @@ namespace DiscordChatExporter.Core.Markdown; -internal abstract record MarkdownNode; \ No newline at end of file +internal abstract record MarkdownNode; diff --git a/DiscordChatExporter.Core/Markdown/MentionKind.cs b/DiscordChatExporter.Core/Markdown/MentionKind.cs index d751236..dbd1bff 100644 --- a/DiscordChatExporter.Core/Markdown/MentionKind.cs +++ b/DiscordChatExporter.Core/Markdown/MentionKind.cs @@ -7,4 +7,4 @@ internal enum MentionKind User, Channel, Role -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/MentionNode.cs b/DiscordChatExporter.Core/Markdown/MentionNode.cs index 609bf04..d558893 100644 --- a/DiscordChatExporter.Core/Markdown/MentionNode.cs +++ b/DiscordChatExporter.Core/Markdown/MentionNode.cs @@ -3,4 +3,4 @@ namespace DiscordChatExporter.Core.Markdown; // Null ID means it's a meta mention or an invalid mention -internal record MentionNode(Snowflake? TargetId, MentionKind Kind) : MarkdownNode; \ No newline at end of file +internal record MentionNode(Snowflake? TargetId, MentionKind Kind) : MarkdownNode; diff --git a/DiscordChatExporter.Core/Markdown/MultiLineCodeBlockNode.cs b/DiscordChatExporter.Core/Markdown/MultiLineCodeBlockNode.cs index 63a0575..0f78b96 100644 --- a/DiscordChatExporter.Core/Markdown/MultiLineCodeBlockNode.cs +++ b/DiscordChatExporter.Core/Markdown/MultiLineCodeBlockNode.cs @@ -1,3 +1,3 @@ namespace DiscordChatExporter.Core.Markdown; -internal record MultiLineCodeBlockNode(string Language, string Code) : MarkdownNode; \ No newline at end of file +internal record MultiLineCodeBlockNode(string Language, string Code) : MarkdownNode; diff --git a/DiscordChatExporter.Core/Markdown/Parsing/AggregateMatcher.cs b/DiscordChatExporter.Core/Markdown/Parsing/AggregateMatcher.cs index 4a3f5dc..cc0b398 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/AggregateMatcher.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/AggregateMatcher.cs @@ -12,9 +12,7 @@ internal class AggregateMatcher : IMatcher } public AggregateMatcher(params IMatcher[] matchers) - : this((IReadOnlyList>) matchers) - { - } + : this((IReadOnlyList>)matchers) { } public ParsedMatch? TryMatch(StringSegment segment) { @@ -31,7 +29,9 @@ internal class AggregateMatcher : IMatcher continue; // If this match is earlier than previous earliest - replace - if (earliestMatch is null || match.Segment.StartIndex < earliestMatch.Segment.StartIndex) + if ( + earliestMatch is null || match.Segment.StartIndex < earliestMatch.Segment.StartIndex + ) earliestMatch = match; // If the earliest match starts at the very beginning - break, @@ -42,4 +42,4 @@ internal class AggregateMatcher : IMatcher return earliestMatch; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/IMatcher.cs b/DiscordChatExporter.Core/Markdown/Parsing/IMatcher.cs index bafddfc..4c71c0a 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/IMatcher.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/IMatcher.cs @@ -13,7 +13,8 @@ internal static class MatcherExtensions public static IEnumerable> MatchAll( this IMatcher matcher, StringSegment segment, - Func transformFallback) + Func transformFallback + ) { // Loop through segments divided by individual matches var currentIndex = segment.StartIndex; @@ -21,10 +22,7 @@ internal static class MatcherExtensions { // Find a match within this segment var match = matcher.TryMatch( - segment.Relocate( - currentIndex, - segment.EndIndex - currentIndex - ) + segment.Relocate(currentIndex, segment.EndIndex - currentIndex) ); if (match is null) @@ -38,7 +36,10 @@ internal static class MatcherExtensions match.Segment.StartIndex - currentIndex ); - yield return new ParsedMatch(fallbackSegment, transformFallback(fallbackSegment)); + yield return new ParsedMatch( + fallbackSegment, + transformFallback(fallbackSegment) + ); } yield return match; @@ -50,12 +51,9 @@ internal static class MatcherExtensions // If EOL hasn't been reached - transform and yield remaining part as fallback if (currentIndex < segment.EndIndex) { - var fallbackSegment = segment.Relocate( - currentIndex, - segment.EndIndex - currentIndex - ); + var fallbackSegment = segment.Relocate(currentIndex, segment.EndIndex - currentIndex); yield return new ParsedMatch(fallbackSegment, transformFallback(fallbackSegment)); } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs b/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs index cde22ce..36d6e5a 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs @@ -16,302 +16,354 @@ namespace DiscordChatExporter.Core.Markdown.Parsing; internal static partial class MarkdownParser { private const RegexOptions DefaultRegexOptions = - RegexOptions.Compiled | - RegexOptions.IgnorePatternWhitespace | - RegexOptions.CultureInvariant | - RegexOptions.Multiline; + RegexOptions.Compiled + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.CultureInvariant + | RegexOptions.Multiline; /* Formatting */ - private static readonly IMatcher BoldFormattingNodeMatcher = new RegexMatcher( - // There must be exactly two closing asterisks. - new Regex(@"\*\*(.+?)\*\*(?!\*)", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Bold, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher BoldFormattingNodeMatcher = + new RegexMatcher( + // There must be exactly two closing asterisks. + new Regex(@"\*\*(.+?)\*\*(?!\*)", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => new FormattingNode(FormattingKind.Bold, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher ItalicFormattingNodeMatcher = new RegexMatcher( - // There must be exactly one closing asterisk. - // Opening asterisk must not be followed by whitespace. - // Closing asterisk must not be preceded by whitespace. - new Regex(@"\*(?!\s)(.+?)(? new FormattingNode(FormattingKind.Italic, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher ItalicFormattingNodeMatcher = + new RegexMatcher( + // There must be exactly one closing asterisk. + // Opening asterisk must not be followed by whitespace. + // Closing asterisk must not be preceded by whitespace. + new Regex( + @"\*(?!\s)(.+?)(? new FormattingNode(FormattingKind.Italic, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher ItalicBoldFormattingNodeMatcher = new RegexMatcher( - // There must be exactly three closing asterisks. - new Regex(@"\*(\*\*.+?\*\*)\*(?!\*)", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Italic, Parse(s.Relocate(m.Groups[1]), BoldFormattingNodeMatcher)) - ); + private static readonly IMatcher ItalicBoldFormattingNodeMatcher = + new RegexMatcher( + // There must be exactly three closing asterisks. + new Regex(@"\*(\*\*.+?\*\*)\*(?!\*)", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => + new FormattingNode( + FormattingKind.Italic, + Parse(s.Relocate(m.Groups[1]), BoldFormattingNodeMatcher) + ) + ); - private static readonly IMatcher ItalicAltFormattingNodeMatcher = new RegexMatcher( - // Closing underscore must not be followed by a word character. - new Regex(@"_(.+?)_(?!\w)", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Italic, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher ItalicAltFormattingNodeMatcher = + new RegexMatcher( + // Closing underscore must not be followed by a word character. + new Regex(@"_(.+?)_(?!\w)", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => new FormattingNode(FormattingKind.Italic, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher UnderlineFormattingNodeMatcher = new RegexMatcher( - // There must be exactly two closing underscores. - new Regex(@"__(.+?)__(?!_)", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Underline, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher UnderlineFormattingNodeMatcher = + new RegexMatcher( + // There must be exactly two closing underscores. + new Regex(@"__(.+?)__(?!_)", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => new FormattingNode(FormattingKind.Underline, Parse(s.Relocate(m.Groups[1]))) + ); private static readonly IMatcher ItalicUnderlineFormattingNodeMatcher = new RegexMatcher( // There must be exactly three closing underscores. new Regex(@"_(__.+?__)_(?!_)", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode( - FormattingKind.Italic, - Parse(s.Relocate(m.Groups[1]), UnderlineFormattingNodeMatcher) - ) + (s, m) => + new FormattingNode( + FormattingKind.Italic, + Parse(s.Relocate(m.Groups[1]), UnderlineFormattingNodeMatcher) + ) ); - private static readonly IMatcher StrikethroughFormattingNodeMatcher = new RegexMatcher( - new Regex(@"~~(.+?)~~", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Strikethrough, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher StrikethroughFormattingNodeMatcher = + new RegexMatcher( + new Regex(@"~~(.+?)~~", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => + new FormattingNode(FormattingKind.Strikethrough, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher SpoilerFormattingNodeMatcher = new RegexMatcher( - new Regex(@"\|\|(.+?)\|\|", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Spoiler, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher SpoilerFormattingNodeMatcher = + new RegexMatcher( + new Regex(@"\|\|(.+?)\|\|", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => new FormattingNode(FormattingKind.Spoiler, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher SingleLineQuoteNodeMatcher = new RegexMatcher( - // Include the linebreak in the content so that the lines are preserved in quotes. - new Regex(@"^>\s(.+\n?)", DefaultRegexOptions), - (s, m) => new FormattingNode(FormattingKind.Quote, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher SingleLineQuoteNodeMatcher = + new RegexMatcher( + // Include the linebreak in the content so that the lines are preserved in quotes. + new Regex(@"^>\s(.+\n?)", DefaultRegexOptions), + (s, m) => new FormattingNode(FormattingKind.Quote, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher RepeatedSingleLineQuoteNodeMatcher = new RegexMatcher( - // Include the linebreaks in the content, so that the lines are preserved in quotes. - // Empty content is allowed within quotes. - // https://github.com/Tyrrrz/DiscordChatExporter/issues/1115 - new Regex(@"(?:^>\s(.*\n?)){2,}", DefaultRegexOptions), - (s, m) => new FormattingNode( - FormattingKind.Quote, - m.Groups[1].Captures.SelectMany(c => Parse(s.Relocate(c))).ToArray() - ) - ); + private static readonly IMatcher RepeatedSingleLineQuoteNodeMatcher = + new RegexMatcher( + // Include the linebreaks in the content, so that the lines are preserved in quotes. + // Empty content is allowed within quotes. + // https://github.com/Tyrrrz/DiscordChatExporter/issues/1115 + new Regex(@"(?:^>\s(.*\n?)){2,}", DefaultRegexOptions), + (s, m) => + new FormattingNode( + FormattingKind.Quote, + m.Groups[1].Captures.SelectMany(c => Parse(s.Relocate(c))).ToArray() + ) + ); - private static readonly IMatcher MultiLineQuoteNodeMatcher = new RegexMatcher( - new Regex(@"^>>>\s(.+)", DefaultRegexOptions | RegexOptions.Singleline), - (s, m) => new FormattingNode(FormattingKind.Quote, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher MultiLineQuoteNodeMatcher = + new RegexMatcher( + new Regex(@"^>>>\s(.+)", DefaultRegexOptions | RegexOptions.Singleline), + (s, m) => new FormattingNode(FormattingKind.Quote, Parse(s.Relocate(m.Groups[1]))) + ); - private static readonly IMatcher HeadingNodeMatcher = new RegexMatcher( - // Consume the linebreak so that it's not attached to following nodes. - new Regex(@"^(\#{1,3})\s(.+)\n", DefaultRegexOptions), - (s, m) => new HeadingNode(m.Groups[1].Length, Parse(s.Relocate(m.Groups[2]))) - ); + private static readonly IMatcher HeadingNodeMatcher = + new RegexMatcher( + // Consume the linebreak so that it's not attached to following nodes. + new Regex(@"^(\#{1,3})\s(.+)\n", DefaultRegexOptions), + (s, m) => new HeadingNode(m.Groups[1].Length, Parse(s.Relocate(m.Groups[2]))) + ); private static readonly IMatcher ListNodeMatcher = new RegexMatcher( // Can be preceded by whitespace, which specifies the list's nesting level. // Following lines that start with (level+1) whitespace are considered part of the list item. // Consume the linebreak so that it's not attached to following nodes. new Regex(@"^(\s*)(?:[\-\*]\s(.+(?:\n\s\1.*)*)?\n?)+", DefaultRegexOptions), - (s, m) => new ListNode( - m.Groups[2].Captures.Select(c => new ListItemNode(Parse(s.Relocate(c)))).ToArray() - ) + (s, m) => + new ListNode( + m.Groups[2].Captures.Select(c => new ListItemNode(Parse(s.Relocate(c)))).ToArray() + ) ); /* Code blocks */ - private static readonly IMatcher InlineCodeBlockNodeMatcher = new RegexMatcher( - // One or two backticks are allowed, but they must match on both sides. - new Regex(@"(`{1,2})([^`]+)\1", DefaultRegexOptions | RegexOptions.Singleline), - (_, m) => new InlineCodeBlockNode(m.Groups[2].Value) - ); + private static readonly IMatcher InlineCodeBlockNodeMatcher = + new RegexMatcher( + // One or two backticks are allowed, but they must match on both sides. + new Regex(@"(`{1,2})([^`]+)\1", DefaultRegexOptions | RegexOptions.Singleline), + (_, m) => new InlineCodeBlockNode(m.Groups[2].Value) + ); - private static readonly IMatcher MultiLineCodeBlockNodeMatcher = new RegexMatcher( - // Language identifier is one word immediately after opening backticks, followed immediately by a linebreak. - // Blank lines at the beginning and at the end of content are trimmed. - new Regex(@"```(?:(\w*)\n)?(.+?)```", DefaultRegexOptions | RegexOptions.Singleline), - (_, m) => new MultiLineCodeBlockNode(m.Groups[1].Value, m.Groups[2].Value.Trim('\r', '\n')) - ); + private static readonly IMatcher MultiLineCodeBlockNodeMatcher = + new RegexMatcher( + // Language identifier is one word immediately after opening backticks, followed immediately by a linebreak. + // Blank lines at the beginning and at the end of content are trimmed. + new Regex(@"```(?:(\w*)\n)?(.+?)```", DefaultRegexOptions | RegexOptions.Singleline), + (_, m) => + new MultiLineCodeBlockNode(m.Groups[1].Value, m.Groups[2].Value.Trim('\r', '\n')) + ); /* Mentions */ - private static readonly IMatcher EveryoneMentionNodeMatcher = new StringMatcher( - "@everyone", - _ => new MentionNode(null, MentionKind.Everyone) - ); + private static readonly IMatcher EveryoneMentionNodeMatcher = + new StringMatcher( + "@everyone", + _ => new MentionNode(null, MentionKind.Everyone) + ); - private static readonly IMatcher HereMentionNodeMatcher = new StringMatcher( - "@here", - _ => new MentionNode(null, MentionKind.Here) - ); + private static readonly IMatcher HereMentionNodeMatcher = + new StringMatcher("@here", _ => new MentionNode(null, MentionKind.Here)); - private static readonly IMatcher UserMentionNodeMatcher = new RegexMatcher( - // Capture <@123456> or <@!123456> - new Regex(@"<@!?(\d+)>", DefaultRegexOptions), - (_, m) => new MentionNode(Snowflake.TryParse(m.Groups[1].Value), MentionKind.User) - ); + private static readonly IMatcher UserMentionNodeMatcher = + new RegexMatcher( + // Capture <@123456> or <@!123456> + new Regex(@"<@!?(\d+)>", DefaultRegexOptions), + (_, m) => new MentionNode(Snowflake.TryParse(m.Groups[1].Value), MentionKind.User) + ); - private static readonly IMatcher ChannelMentionNodeMatcher = new RegexMatcher( - // Capture <#123456> - new Regex(@"<\#!?(\d+)>", DefaultRegexOptions), - (_, m) => new MentionNode(Snowflake.TryParse(m.Groups[1].Value), MentionKind.Channel) - ); + private static readonly IMatcher ChannelMentionNodeMatcher = + new RegexMatcher( + // Capture <#123456> + new Regex(@"<\#!?(\d+)>", DefaultRegexOptions), + (_, m) => new MentionNode(Snowflake.TryParse(m.Groups[1].Value), MentionKind.Channel) + ); - private static readonly IMatcher RoleMentionNodeMatcher = new RegexMatcher( - // Capture <@&123456> - new Regex(@"<@&(\d+)>", DefaultRegexOptions), - (_, m) => new MentionNode(Snowflake.TryParse(m.Groups[1].Value), MentionKind.Role) - ); + private static readonly IMatcher RoleMentionNodeMatcher = + new RegexMatcher( + // Capture <@&123456> + new Regex(@"<@&(\d+)>", DefaultRegexOptions), + (_, m) => new MentionNode(Snowflake.TryParse(m.Groups[1].Value), MentionKind.Role) + ); /* Emoji */ - private static readonly IMatcher StandardEmojiNodeMatcher = new RegexMatcher( - new Regex( - @"(" + - // Country flag emoji (two regional indicator surrogate pairs) - @"(?:\uD83C[\uDDE6-\uDDFF]){2}|" + - // Digit emoji (digit followed by enclosing mark) - @"\d\p{Me}|" + - // Surrogate pair - @"\p{Cs}{2}|" + - // Miscellaneous characters - @"[" + - @"\u2600-\u2604" + - @"\u260E\u2611" + - @"\u2614-\u2615" + - @"\u2618\u261D\u2620" + - @"\u2622-\u2623" + - @"\u2626\u262A" + - @"\u262E-\u262F" + - @"\u2638-\u263A" + - @"\u2640\u2642" + - @"\u2648-\u2653" + - @"\u265F-\u2660" + - @"\u2663" + - @"\u2665-\u2666" + - @"\u2668\u267B" + - @"\u267E-\u267F" + - @"\u2692-\u2697" + - @"\u2699" + - @"\u269B-\u269C" + - @"\u26A0-\u26A1" + - @"\u26A7" + - @"\u26AA-\u26AB" + - @"\u26B0-\u26B1" + - @"\u26BD-\u26BE" + - @"\u26C4-\u26C5" + - @"\u26C8" + - @"\u26CE-\u26CF" + - @"\u26D1" + - @"\u26D3-\u26D4" + - @"\u26E9-\u26EA" + - @"\u26F0-\u26F5" + - @"\u26F7-\u26FA" + - @"\u26FD" + - @"]" + - @")", DefaultRegexOptions), - (_, m) => new EmojiNode(m.Groups[1].Value) - ); + private static readonly IMatcher StandardEmojiNodeMatcher = + new RegexMatcher( + new Regex( + @"(" + + + // Country flag emoji (two regional indicator surrogate pairs) + @"(?:\uD83C[\uDDE6-\uDDFF]){2}|" + + + // Digit emoji (digit followed by enclosing mark) + @"\d\p{Me}|" + + + // Surrogate pair + @"\p{Cs}{2}|" + + + // Miscellaneous characters + @"[" + + @"\u2600-\u2604" + + @"\u260E\u2611" + + @"\u2614-\u2615" + + @"\u2618\u261D\u2620" + + @"\u2622-\u2623" + + @"\u2626\u262A" + + @"\u262E-\u262F" + + @"\u2638-\u263A" + + @"\u2640\u2642" + + @"\u2648-\u2653" + + @"\u265F-\u2660" + + @"\u2663" + + @"\u2665-\u2666" + + @"\u2668\u267B" + + @"\u267E-\u267F" + + @"\u2692-\u2697" + + @"\u2699" + + @"\u269B-\u269C" + + @"\u26A0-\u26A1" + + @"\u26A7" + + @"\u26AA-\u26AB" + + @"\u26B0-\u26B1" + + @"\u26BD-\u26BE" + + @"\u26C4-\u26C5" + + @"\u26C8" + + @"\u26CE-\u26CF" + + @"\u26D1" + + @"\u26D3-\u26D4" + + @"\u26E9-\u26EA" + + @"\u26F0-\u26F5" + + @"\u26F7-\u26FA" + + @"\u26FD" + + @"]" + + @")", + DefaultRegexOptions + ), + (_, m) => new EmojiNode(m.Groups[1].Value) + ); - private static readonly IMatcher CodedStandardEmojiNodeMatcher = new RegexMatcher( - // Capture :thinking: - new Regex(@":([\w_]+):", DefaultRegexOptions), - (_, m) => EmojiIndex.TryGetName(m.Groups[1].Value)?.Pipe(n => new EmojiNode(n)) - ); + private static readonly IMatcher CodedStandardEmojiNodeMatcher = + new RegexMatcher( + // Capture :thinking: + new Regex(@":([\w_]+):", DefaultRegexOptions), + (_, m) => EmojiIndex.TryGetName(m.Groups[1].Value)?.Pipe(n => new EmojiNode(n)) + ); - private static readonly IMatcher CustomEmojiNodeMatcher = new RegexMatcher( - // Capture <:lul:123456> or - new Regex(@"<(a)?:(.+?):(\d+?)>", DefaultRegexOptions), - (_, m) => new EmojiNode( - Snowflake.TryParse(m.Groups[3].Value), - m.Groups[2].Value, - !string.IsNullOrWhiteSpace(m.Groups[1].Value) - ) - ); + private static readonly IMatcher CustomEmojiNodeMatcher = + new RegexMatcher( + // Capture <:lul:123456> or + new Regex(@"<(a)?:(.+?):(\d+?)>", DefaultRegexOptions), + (_, m) => + new EmojiNode( + Snowflake.TryParse(m.Groups[3].Value), + m.Groups[2].Value, + !string.IsNullOrWhiteSpace(m.Groups[1].Value) + ) + ); /* Links */ - private static readonly IMatcher AutoLinkNodeMatcher = new RegexMatcher( - // Any non-whitespace character after http:// or https:// - // until the last punctuation character or whitespace. - new Regex(@"(https?://\S*[^\.,:;""'\s])", DefaultRegexOptions), - (_, m) => new LinkNode(m.Groups[1].Value) - ); + private static readonly IMatcher AutoLinkNodeMatcher = + new RegexMatcher( + // Any non-whitespace character after http:// or https:// + // until the last punctuation character or whitespace. + new Regex(@"(https?://\S*[^\.,:;""'\s])", DefaultRegexOptions), + (_, m) => new LinkNode(m.Groups[1].Value) + ); - private static readonly IMatcher HiddenLinkNodeMatcher = new RegexMatcher( - // Same as auto link but also surrounded by angular brackets - new Regex(@"<(https?://\S*[^\.,:;""'\s])>", DefaultRegexOptions), - (_, m) => new LinkNode(m.Groups[1].Value) - ); + private static readonly IMatcher HiddenLinkNodeMatcher = + new RegexMatcher( + // Same as auto link but also surrounded by angular brackets + new Regex(@"<(https?://\S*[^\.,:;""'\s])>", DefaultRegexOptions), + (_, m) => new LinkNode(m.Groups[1].Value) + ); - private static readonly IMatcher MaskedLinkNodeMatcher = new RegexMatcher( - // Capture [title](link) - new Regex(@"\[(.+?)\]\((.+?)\)", DefaultRegexOptions), - (s, m) => new LinkNode(m.Groups[2].Value, Parse(s.Relocate(m.Groups[1]))) - ); + private static readonly IMatcher MaskedLinkNodeMatcher = + new RegexMatcher( + // Capture [title](link) + new Regex(@"\[(.+?)\]\((.+?)\)", DefaultRegexOptions), + (s, m) => new LinkNode(m.Groups[2].Value, Parse(s.Relocate(m.Groups[1]))) + ); /* Text */ - private static readonly IMatcher ShrugTextNodeMatcher = new StringMatcher( - // Capture the shrug kaomoji. - // This escapes it from matching for formatting. - @"¯\_(ツ)_/¯", - s => new TextNode(s.ToString()) - ); + private static readonly IMatcher ShrugTextNodeMatcher = + new StringMatcher( + // Capture the shrug kaomoji. + // This escapes it from matching for formatting. + @"¯\_(ツ)_/¯", + s => new TextNode(s.ToString()) + ); - private static readonly IMatcher IgnoredEmojiTextNodeMatcher = new RegexMatcher( - // Capture some specific emoji that don't get rendered. - // This escapes them from matching for emoji. - new Regex(@"([\u26A7\u2640\u2642\u2695\u267E\u00A9\u00AE\u2122])", DefaultRegexOptions), - (_, m) => new TextNode(m.Groups[1].Value) - ); + private static readonly IMatcher IgnoredEmojiTextNodeMatcher = + new RegexMatcher( + // Capture some specific emoji that don't get rendered. + // This escapes them from matching for emoji. + new Regex(@"([\u26A7\u2640\u2642\u2695\u267E\u00A9\u00AE\u2122])", DefaultRegexOptions), + (_, m) => new TextNode(m.Groups[1].Value) + ); - private static readonly IMatcher EscapedSymbolTextNodeMatcher = new RegexMatcher( - // Capture any "symbol/other" character or surrogate pair preceded by a backslash. - // This escapes them from matching for emoji. - // https://github.com/Tyrrrz/DiscordChatExporter/issues/230 - new Regex(@"\\(\p{So}|\p{Cs}{2})", DefaultRegexOptions), - (_, m) => new TextNode(m.Groups[1].Value) - ); + private static readonly IMatcher EscapedSymbolTextNodeMatcher = + new RegexMatcher( + // Capture any "symbol/other" character or surrogate pair preceded by a backslash. + // This escapes them from matching for emoji. + // https://github.com/Tyrrrz/DiscordChatExporter/issues/230 + new Regex(@"\\(\p{So}|\p{Cs}{2})", DefaultRegexOptions), + (_, m) => new TextNode(m.Groups[1].Value) + ); - private static readonly IMatcher EscapedCharacterTextNodeMatcher = new RegexMatcher( - // Capture any non-whitespace, non latin alphanumeric character preceded by a backslash. - // This escapes them from matching for formatting or other tokens. - new Regex(@"\\([^a-zA-Z0-9\s])", DefaultRegexOptions), - (_, m) => new TextNode(m.Groups[1].Value) - ); + private static readonly IMatcher EscapedCharacterTextNodeMatcher = + new RegexMatcher( + // Capture any non-whitespace, non latin alphanumeric character preceded by a backslash. + // This escapes them from matching for formatting or other tokens. + new Regex(@"\\([^a-zA-Z0-9\s])", DefaultRegexOptions), + (_, m) => new TextNode(m.Groups[1].Value) + ); /* Misc */ - private static readonly IMatcher TimestampNodeMatcher = new RegexMatcher( - // Capture or - new Regex(@"", DefaultRegexOptions), - (_, m) => - { - try + private static readonly IMatcher TimestampNodeMatcher = + new RegexMatcher( + // Capture or + new Regex(@"", DefaultRegexOptions), + (_, m) => { - var instant = DateTimeOffset.UnixEpoch + TimeSpan.FromSeconds( - long.Parse(m.Groups[1].Value, NumberStyles.Integer, CultureInfo.InvariantCulture) - ); - - var format = m.Groups[2].Value switch + try { - "t" => "h:mm tt", - "T" => "h:mm:ss tt", - "d" => "MM/dd/yyyy", - "D" => "MMMM dd, yyyy", - "f" => "MMMM dd, yyyy h:mm tt", - "F" => "dddd, MMMM dd, yyyy h:mm tt", - // Relative format is ignored because it doesn't make much sense in a static export - _ => null - }; - - return new TimestampNode(instant, format); - } - // https://github.com/Tyrrrz/DiscordChatExporter/issues/681 - // https://github.com/Tyrrrz/DiscordChatExporter/issues/766 - catch (Exception ex) when (ex is FormatException or ArgumentOutOfRangeException or OverflowException) - { - // For invalid timestamps, Discord renders "Invalid Date" instead of ignoring the markdown - return TimestampNode.Invalid; + var instant = + DateTimeOffset.UnixEpoch + + TimeSpan.FromSeconds( + long.Parse( + m.Groups[1].Value, + NumberStyles.Integer, + CultureInfo.InvariantCulture + ) + ); + + var format = m.Groups[2].Value switch + { + "t" => "h:mm tt", + "T" => "h:mm:ss tt", + "d" => "MM/dd/yyyy", + "D" => "MMMM dd, yyyy", + "f" => "MMMM dd, yyyy h:mm tt", + "F" => "dddd, MMMM dd, yyyy h:mm tt", + // Relative format is ignored because it doesn't make much sense in a static export + _ => null + }; + + return new TimestampNode(instant, format); + } + // https://github.com/Tyrrrz/DiscordChatExporter/issues/681 + // https://github.com/Tyrrrz/DiscordChatExporter/issues/766 + catch (Exception ex) + when (ex is FormatException or ArgumentOutOfRangeException or OverflowException) + { + // For invalid timestamps, Discord renders "Invalid Date" instead of ignoring the markdown + return TimestampNode.Invalid; + } } - } - ); + ); // Matchers that have similar patterns are ordered from most specific to least specific private static readonly IMatcher NodeMatcher = new AggregateMatcher( @@ -320,7 +372,6 @@ internal static partial class MarkdownParser IgnoredEmojiTextNodeMatcher, EscapedSymbolTextNodeMatcher, EscapedCharacterTextNodeMatcher, - // Formatting ItalicBoldFormattingNodeMatcher, ItalicUnderlineFormattingNodeMatcher, @@ -335,53 +386,46 @@ internal static partial class MarkdownParser SingleLineQuoteNodeMatcher, HeadingNodeMatcher, ListNodeMatcher, - // Code blocks MultiLineCodeBlockNodeMatcher, InlineCodeBlockNodeMatcher, - // Mentions EveryoneMentionNodeMatcher, HereMentionNodeMatcher, UserMentionNodeMatcher, ChannelMentionNodeMatcher, RoleMentionNodeMatcher, - // Links MaskedLinkNodeMatcher, AutoLinkNodeMatcher, HiddenLinkNodeMatcher, - // Emoji StandardEmojiNodeMatcher, CustomEmojiNodeMatcher, CodedStandardEmojiNodeMatcher, - // Misc TimestampNodeMatcher ); // Minimal set of matchers for non-multimedia formats (e.g. plain text) - private static readonly IMatcher MinimalNodeMatcher = new AggregateMatcher( - // Mentions - EveryoneMentionNodeMatcher, - HereMentionNodeMatcher, - UserMentionNodeMatcher, - ChannelMentionNodeMatcher, - RoleMentionNodeMatcher, - - // Emoji - CustomEmojiNodeMatcher, - - // Misc - TimestampNodeMatcher - ); + private static readonly IMatcher MinimalNodeMatcher = + new AggregateMatcher( + // Mentions + EveryoneMentionNodeMatcher, + HereMentionNodeMatcher, + UserMentionNodeMatcher, + ChannelMentionNodeMatcher, + RoleMentionNodeMatcher, + // Emoji + CustomEmojiNodeMatcher, + // Misc + TimestampNodeMatcher + ); - private static IReadOnlyList Parse(StringSegment segment, IMatcher matcher) => - matcher - .MatchAll(segment, s => new TextNode(s.ToString())) - .Select(r => r.Value) - .ToArray(); + private static IReadOnlyList Parse( + StringSegment segment, + IMatcher matcher + ) => matcher.MatchAll(segment, s => new TextNode(s.ToString())).Select(r => r.Value).ToArray(); } internal static partial class MarkdownParser @@ -417,4 +461,4 @@ internal static partial class MarkdownParser return links; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/MarkdownVisitor.cs b/DiscordChatExporter.Core/Markdown/Parsing/MarkdownVisitor.cs index a8df8f4..f80644b 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/MarkdownVisitor.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/MarkdownVisitor.cs @@ -9,56 +9,63 @@ internal abstract class MarkdownVisitor { protected virtual ValueTask VisitTextAsync( TextNode text, - CancellationToken cancellationToken = default) => default; + CancellationToken cancellationToken = default + ) => default; protected virtual async ValueTask VisitFormattingAsync( FormattingNode formatting, - CancellationToken cancellationToken = default) => - await VisitAsync(formatting.Children, cancellationToken); + CancellationToken cancellationToken = default + ) => await VisitAsync(formatting.Children, cancellationToken); protected virtual async ValueTask VisitHeadingAsync( HeadingNode heading, - CancellationToken cancellationToken = default) => - await VisitAsync(heading.Children, cancellationToken); + CancellationToken cancellationToken = default + ) => await VisitAsync(heading.Children, cancellationToken); protected virtual async ValueTask VisitListAsync( ListNode list, - CancellationToken cancellationToken = default) => - await VisitAsync(list.Items, cancellationToken); + CancellationToken cancellationToken = default + ) => await VisitAsync(list.Items, cancellationToken); protected virtual async ValueTask VisitListItemAsync( ListItemNode listItem, - CancellationToken cancellationToken = default) => - await VisitAsync(listItem.Children, cancellationToken); + CancellationToken cancellationToken = default + ) => await VisitAsync(listItem.Children, cancellationToken); protected virtual ValueTask VisitInlineCodeBlockAsync( InlineCodeBlockNode inlineCodeBlock, - CancellationToken cancellationToken = default) => default; + CancellationToken cancellationToken = default + ) => default; protected virtual ValueTask VisitMultiLineCodeBlockAsync( MultiLineCodeBlockNode multiLineCodeBlock, - CancellationToken cancellationToken = default) => default; + CancellationToken cancellationToken = default + ) => default; protected virtual async ValueTask VisitLinkAsync( LinkNode link, - CancellationToken cancellationToken = default) => - await VisitAsync(link.Children, cancellationToken); + CancellationToken cancellationToken = default + ) => await VisitAsync(link.Children, cancellationToken); protected virtual ValueTask VisitEmojiAsync( EmojiNode emoji, - CancellationToken cancellationToken = default) => default; + CancellationToken cancellationToken = default + ) => default; protected virtual ValueTask VisitMentionAsync( MentionNode mention, - CancellationToken cancellationToken = default) => default; + CancellationToken cancellationToken = default + ) => default; protected virtual ValueTask VisitTimestampAsync( TimestampNode timestamp, - CancellationToken cancellationToken = default) => default; + CancellationToken cancellationToken = default + ) => default; public async ValueTask VisitAsync( MarkdownNode node, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { if (node is TextNode text) { @@ -131,9 +138,10 @@ internal abstract class MarkdownVisitor public async ValueTask VisitAsync( IEnumerable nodes, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { foreach (var node in nodes) await VisitAsync(node, cancellationToken); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/ParsedMatch.cs b/DiscordChatExporter.Core/Markdown/Parsing/ParsedMatch.cs index a43dba2..439ccb5 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/ParsedMatch.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/ParsedMatch.cs @@ -11,4 +11,4 @@ internal class ParsedMatch Segment = segment; Value = value; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/RegexMatcher.cs b/DiscordChatExporter.Core/Markdown/Parsing/RegexMatcher.cs index d0280d7..1c7721a 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/RegexMatcher.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/RegexMatcher.cs @@ -31,8 +31,6 @@ internal class RegexMatcher : IMatcher var segmentMatch = segment.Relocate(match); var value = _transform(segmentMatch, match); - return value is not null - ? new ParsedMatch(segmentMatch, value) - : null; + return value is not null ? new ParsedMatch(segmentMatch, value) : null; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/StringMatcher.cs b/DiscordChatExporter.Core/Markdown/Parsing/StringMatcher.cs index d086b70..867dc8b 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/StringMatcher.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/StringMatcher.cs @@ -8,7 +8,11 @@ internal class StringMatcher : IMatcher private readonly StringComparison _comparison; private readonly Func _transform; - public StringMatcher(string needle, StringComparison comparison, Func transform) + public StringMatcher( + string needle, + StringComparison comparison, + Func transform + ) { _needle = needle; _comparison = comparison; @@ -16,21 +20,22 @@ internal class StringMatcher : IMatcher } public StringMatcher(string needle, Func transform) - : this(needle, StringComparison.Ordinal, transform) - { - } + : this(needle, StringComparison.Ordinal, transform) { } public ParsedMatch? TryMatch(StringSegment segment) { - var index = segment.Source.IndexOf(_needle, segment.StartIndex, segment.Length, _comparison); + var index = segment.Source.IndexOf( + _needle, + segment.StartIndex, + segment.Length, + _comparison + ); if (index < 0) return null; var segmentMatch = segment.Relocate(index, _needle.Length); var value = _transform(segmentMatch); - return value is not null - ? new ParsedMatch(segmentMatch, value) - : null; + return value is not null ? new ParsedMatch(segmentMatch, value) : null; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/Parsing/StringSegment.cs b/DiscordChatExporter.Core/Markdown/Parsing/StringSegment.cs index 5894a32..bc35e94 100644 --- a/DiscordChatExporter.Core/Markdown/Parsing/StringSegment.cs +++ b/DiscordChatExporter.Core/Markdown/Parsing/StringSegment.cs @@ -7,13 +7,12 @@ internal readonly record struct StringSegment(string Source, int StartIndex, int public int EndIndex => StartIndex + Length; public StringSegment(string target) - : this(target, 0, target.Length) - { - } + : this(target, 0, target.Length) { } - public StringSegment Relocate(int newStartIndex, int newLength) => new(Source, newStartIndex, newLength); + public StringSegment Relocate(int newStartIndex, int newLength) => + new(Source, newStartIndex, newLength); public StringSegment Relocate(Capture capture) => Relocate(capture.Index, capture.Length); public override string ToString() => Source.Substring(StartIndex, Length); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Markdown/TextNode.cs b/DiscordChatExporter.Core/Markdown/TextNode.cs index 846fcb0..c9f5d83 100644 --- a/DiscordChatExporter.Core/Markdown/TextNode.cs +++ b/DiscordChatExporter.Core/Markdown/TextNode.cs @@ -1,3 +1,3 @@ namespace DiscordChatExporter.Core.Markdown; -internal record TextNode(string Text) : MarkdownNode; \ No newline at end of file +internal record TextNode(string Text) : MarkdownNode; diff --git a/DiscordChatExporter.Core/Markdown/TimestampNode.cs b/DiscordChatExporter.Core/Markdown/TimestampNode.cs index 195ef5f..594c8d9 100644 --- a/DiscordChatExporter.Core/Markdown/TimestampNode.cs +++ b/DiscordChatExporter.Core/Markdown/TimestampNode.cs @@ -6,4 +6,4 @@ namespace DiscordChatExporter.Core.Markdown; internal record TimestampNode(DateTimeOffset? Instant, string? Format) : MarkdownNode { public static TimestampNode Invalid { get; } = new(null, null); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/AsyncCollectionExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/AsyncCollectionExtensions.cs index 4488e44..1016a97 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/AsyncCollectionExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/AsyncCollectionExtensions.cs @@ -7,7 +7,8 @@ namespace DiscordChatExporter.Core.Utils.Extensions; public static class AsyncCollectionExtensions { private static async ValueTask> CollectAsync( - this IAsyncEnumerable asyncEnumerable) + this IAsyncEnumerable asyncEnumerable + ) { var list = new List(); @@ -18,6 +19,6 @@ public static class AsyncCollectionExtensions } public static ValueTaskAwaiter> GetAwaiter( - this IAsyncEnumerable asyncEnumerable) => - asyncEnumerable.CollectAsync().GetAwaiter(); -} \ No newline at end of file + this IAsyncEnumerable asyncEnumerable + ) => asyncEnumerable.CollectAsync().GetAwaiter(); +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/BinaryExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/BinaryExtensions.cs index 0dbd88e..a585f25 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/BinaryExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/BinaryExtensions.cs @@ -11,11 +11,9 @@ public static class BinaryExtensions foreach (var b in data) { - buffer.Append( - b.ToString(isUpperCase ? "X2" : "x2", CultureInfo.InvariantCulture) - ); + buffer.Append(b.ToString(isUpperCase ? "X2" : "x2", CultureInfo.InvariantCulture)); } return buffer.ToString(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs index 16df60a..b999ed8 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs @@ -16,7 +16,8 @@ public static class CollectionExtensions yield return (o, i++); } - public static IEnumerable WhereNotNull(this IEnumerable source) where T : class + public static IEnumerable WhereNotNull(this IEnumerable source) + where T : class { foreach (var o in source) { @@ -24,4 +25,4 @@ public static class CollectionExtensions yield return o; } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/ColorExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/ColorExtensions.cs index 124debc..91b7dd0 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/ColorExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/ColorExtensions.cs @@ -11,4 +11,4 @@ public static class ColorExtensions public static int ToRgb(this Color color) => color.ToArgb() & 0xffffff; public static string ToHex(this Color color) => $"#{color.R:X2}{color.G:X2}{color.B:X2}"; -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/DateExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/DateExtensions.cs index 055af03..702a290 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/DateExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/DateExtensions.cs @@ -7,4 +7,4 @@ public static class DateExtensions { public static string ToLocalString(this DateTimeOffset instant, string format) => instant.ToLocalTime().ToString(format, CultureInfo.InvariantCulture); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/ExceptionExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/ExceptionExtensions.cs index 6566264..8c7f3c4 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/ExceptionExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/ExceptionExtensions.cs @@ -24,8 +24,8 @@ public static class ExceptionExtensions public static IReadOnlyList GetSelfAndChildren(this Exception exception) { - var children = new List {exception}; + var children = new List { exception }; PopulateChildren(exception, children); return children; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/GenericExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/GenericExtensions.cs index 304c695..c91b720 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/GenericExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/GenericExtensions.cs @@ -5,13 +5,12 @@ namespace DiscordChatExporter.Core.Utils.Extensions; public static class GenericExtensions { - public static TOut Pipe(this TIn input, Func transform) => transform(input); + public static TOut Pipe(this TIn input, Func transform) => + transform(input); - public static T? NullIf(this T value, Func predicate) where T : struct => - !predicate(value) - ? value - : null; + public static T? NullIf(this T value, Func predicate) + where T : struct => !predicate(value) ? value : null; - public static T? NullIfDefault(this T value) where T : struct => - value.NullIf(v => EqualityComparer.Default.Equals(v, default)); -} \ No newline at end of file + public static T? NullIfDefault(this T value) + where T : struct => value.NullIf(v => EqualityComparer.Default.Equals(v, default)); +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs index 971a8e3..06626ea 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs @@ -5,7 +5,5 @@ namespace DiscordChatExporter.Core.Utils.Extensions; public static class HttpExtensions { public static string? TryGetValue(this HttpHeaders headers, string name) => - headers.TryGetValues(name, out var values) - ? string.Concat(values) - : null; -} \ No newline at end of file + headers.TryGetValues(name, out var values) ? string.Concat(values) : null; +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs index c364249..e1443bc 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs @@ -7,14 +7,10 @@ namespace DiscordChatExporter.Core.Utils.Extensions; public static class StringExtensions { public static string? NullIfWhiteSpace(this string str) => - !string.IsNullOrWhiteSpace(str) - ? str - : null; + !string.IsNullOrWhiteSpace(str) ? str : null; public static string Truncate(this string str, int charCount) => - str.Length > charCount - ? str[..charCount] - : str; + str.Length > charCount ? str[..charCount] : str; public static string ToSpaceSeparatedWords(this string str) { @@ -41,13 +37,9 @@ public static class StringExtensions } } - public static T? ParseEnumOrNull(this string str, bool ignoreCase = true) where T : struct, Enum => - Enum.TryParse(str, ignoreCase, out var result) - ? result - : null; + public static T? ParseEnumOrNull(this string str, bool ignoreCase = true) + where T : struct, Enum => Enum.TryParse(str, ignoreCase, out var result) ? result : null; public static StringBuilder AppendIfNotEmpty(this StringBuilder builder, char value) => - builder.Length > 0 - ? builder.Append(value) - : builder; -} \ No newline at end of file + builder.Length > 0 ? builder.Append(value) : builder; +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/SuperpowerExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/SuperpowerExtensions.cs index d3bc469..8d933ec 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/SuperpowerExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/SuperpowerExtensions.cs @@ -16,11 +16,12 @@ public static class SuperpowerExtensions // Only used for debugging while writing Superpower parsers. // From https://twitter.com/nblumhardt/status/1389349059786264578 [ExcludeFromCodeCoverage] - public static TextParser Log(this TextParser parser, string description) => i => - { - Console.WriteLine($"Trying {description} ->"); - var r = parser(i); - Console.WriteLine($"Result was {r}"); - return r; - }; -} \ No newline at end of file + public static TextParser Log(this TextParser parser, string description) => + i => + { + Console.WriteLine($"Trying {description} ->"); + var r = parser(i); + Console.WriteLine($"Result was {r}"); + return r; + }; +} diff --git a/DiscordChatExporter.Core/Utils/Extensions/TimeSpanExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/TimeSpanExtensions.cs index 2f31624..11a0192 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/TimeSpanExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/TimeSpanExtensions.cs @@ -14,4 +14,4 @@ public static class TimeSpanExtensions return value; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/Http.cs b/DiscordChatExporter.Core/Utils/Http.cs index 84b87c8..041deae 100644 --- a/DiscordChatExporter.Core/Utils/Http.cs +++ b/DiscordChatExporter.Core/Utils/Http.cs @@ -15,16 +15,21 @@ public static class Http public static HttpClient Client { get; } = new(); private static bool IsRetryableStatusCode(HttpStatusCode statusCode) => - statusCode is HttpStatusCode.TooManyRequests or HttpStatusCode.RequestTimeout || + statusCode is HttpStatusCode.TooManyRequests or HttpStatusCode.RequestTimeout + || // Treat all server-side errors as retryable // https://github.com/Tyrrrz/DiscordChatExporter/issues/908 (int)statusCode >= 500; private static bool IsRetryableException(Exception exception) => - exception.GetSelfAndChildren().Any(ex => - ex is TimeoutException or SocketException or AuthenticationException || - ex is HttpRequestException hrex && IsRetryableStatusCode(hrex.StatusCode ?? HttpStatusCode.OK) - ); + exception + .GetSelfAndChildren() + .Any( + ex => + ex is TimeoutException or SocketException or AuthenticationException + || ex is HttpRequestException hrex + && IsRetryableStatusCode(hrex.StatusCode ?? HttpStatusCode.OK) + ); public static IAsyncPolicy ResiliencePolicy { get; } = Policy @@ -51,4 +56,4 @@ public static class Http }, (_, _, _, _) => Task.CompletedTask ); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Core/Utils/PathEx.cs b/DiscordChatExporter.Core/Utils/PathEx.cs index 237e83b..598d72c 100644 --- a/DiscordChatExporter.Core/Utils/PathEx.cs +++ b/DiscordChatExporter.Core/Utils/PathEx.cs @@ -7,7 +7,8 @@ namespace DiscordChatExporter.Core.Utils; public static class PathEx { - private static readonly HashSet InvalidFileNameChars = new(Path.GetInvalidFileNameChars()); + private static readonly HashSet InvalidFileNameChars = + new(Path.GetInvalidFileNameChars()); public static string EscapeFileName(string path) { @@ -28,6 +29,5 @@ public static class PathEx } public static bool IsDirectoryPath(string path) => - path.EndsWith(Path.DirectorySeparatorChar) || - path.EndsWith(Path.AltDirectorySeparatorChar); -} \ No newline at end of file + path.EndsWith(Path.DirectorySeparatorChar) || path.EndsWith(Path.AltDirectorySeparatorChar); +} diff --git a/DiscordChatExporter.Core/Utils/UrlBuilder.cs b/DiscordChatExporter.Core/Utils/UrlBuilder.cs index c20e4a4..d2985ba 100644 --- a/DiscordChatExporter.Core/Utils/UrlBuilder.cs +++ b/DiscordChatExporter.Core/Utils/UrlBuilder.cs @@ -10,7 +10,8 @@ public class UrlBuilder { private string _path = ""; - private readonly Dictionary _queryParameters = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary _queryParameters = + new(StringComparer.OrdinalIgnoreCase); public UrlBuilder SetPath(string path) { @@ -37,8 +38,10 @@ public class UrlBuilder buffer.Append(_path); if (_queryParameters.Any()) - buffer.Append('?').AppendJoin('&', _queryParameters.Select(kvp => $"{kvp.Key}={kvp.Value}")); + buffer + .Append('?') + .AppendJoin('&', _queryParameters.Select(kvp => $"{kvp.Key}={kvp.Value}")); return buffer.ToString(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/App.xaml.cs b/DiscordChatExporter.Gui/App.xaml.cs index 0116f6b..6065dc7 100644 --- a/DiscordChatExporter.Gui/App.xaml.cs +++ b/DiscordChatExporter.Gui/App.xaml.cs @@ -24,17 +24,19 @@ public partial class App public partial class App { - private static Theme LightTheme { get; } = Theme.Create( - new MaterialDesignLightTheme(), - MediaColor.FromHex("#343838"), - MediaColor.FromHex("#F9A825") - ); - - private static Theme DarkTheme { get; } = Theme.Create( - new MaterialDesignDarkTheme(), - MediaColor.FromHex("#E8E8E8"), - MediaColor.FromHex("#F9A825") - ); + private static Theme LightTheme { get; } = + Theme.Create( + new MaterialDesignLightTheme(), + MediaColor.FromHex("#343838"), + MediaColor.FromHex("#F9A825") + ); + + private static Theme DarkTheme { get; } = + Theme.Create( + new MaterialDesignDarkTheme(), + MediaColor.FromHex("#E8E8E8"), + MediaColor.FromHex("#F9A825") + ); public static void SetLightTheme() { @@ -47,4 +49,4 @@ public partial class App var paletteHelper = new PaletteHelper(); paletteHelper.SetTheme(DarkTheme); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Behaviors/ChannelMultiSelectionListBoxBehavior.cs b/DiscordChatExporter.Gui/Behaviors/ChannelMultiSelectionListBoxBehavior.cs index 4b01dcc..bef0070 100644 --- a/DiscordChatExporter.Gui/Behaviors/ChannelMultiSelectionListBoxBehavior.cs +++ b/DiscordChatExporter.Gui/Behaviors/ChannelMultiSelectionListBoxBehavior.cs @@ -2,6 +2,4 @@ namespace DiscordChatExporter.Gui.Behaviors; -public class ChannelMultiSelectionListBoxBehavior : MultiSelectionListBoxBehavior -{ -} \ No newline at end of file +public class ChannelMultiSelectionListBoxBehavior : MultiSelectionListBoxBehavior { } diff --git a/DiscordChatExporter.Gui/Behaviors/MultiSelectionListBoxBehavior.cs b/DiscordChatExporter.Gui/Behaviors/MultiSelectionListBoxBehavior.cs index 19f8407..8e8242e 100644 --- a/DiscordChatExporter.Gui/Behaviors/MultiSelectionListBoxBehavior.cs +++ b/DiscordChatExporter.Gui/Behaviors/MultiSelectionListBoxBehavior.cs @@ -20,10 +20,14 @@ public class MultiSelectionListBoxBehavior : Behavior ) ); - private static void OnSelectedItemsChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) + private static void OnSelectedItemsChanged( + DependencyObject sender, + DependencyPropertyChangedEventArgs args + ) { - var behavior = (MultiSelectionListBoxBehavior) sender; - if (behavior._modelHandled) return; + var behavior = (MultiSelectionListBoxBehavior)sender; + if (behavior._modelHandled) + return; if (behavior.AssociatedObject is null) return; @@ -38,7 +42,7 @@ public class MultiSelectionListBoxBehavior : Behavior public IList? SelectedItems { - get => (IList?) GetValue(SelectedItemsProperty); + get => (IList?)GetValue(SelectedItemsProperty); set => SetValue(SelectedItemsProperty, value); } @@ -60,16 +64,20 @@ public class MultiSelectionListBoxBehavior : Behavior // Propagate selected items from the view to the model private void OnListBoxSelectionChanged(object? sender, SelectionChangedEventArgs args) { - if (_viewHandled) return; - if (AssociatedObject.Items.SourceCollection is null) return; + if (_viewHandled) + return; + if (AssociatedObject.Items.SourceCollection is null) + return; SelectedItems = AssociatedObject.SelectedItems.Cast().ToArray(); } private void OnListBoxItemsChanged(object? sender, NotifyCollectionChangedEventArgs args) { - if (_viewHandled) return; - if (AssociatedObject.Items.SourceCollection is null) return; + if (_viewHandled) + return; + if (AssociatedObject.Items.SourceCollection is null) + return; SelectItems(); } @@ -78,7 +86,8 @@ public class MultiSelectionListBoxBehavior : Behavior base.OnAttached(); AssociatedObject.SelectionChanged += OnListBoxSelectionChanged; - ((INotifyCollectionChanged) AssociatedObject.Items).CollectionChanged += OnListBoxItemsChanged; + ((INotifyCollectionChanged)AssociatedObject.Items).CollectionChanged += + OnListBoxItemsChanged; } protected override void OnDetaching() @@ -88,7 +97,8 @@ public class MultiSelectionListBoxBehavior : Behavior if (AssociatedObject is not null) { AssociatedObject.SelectionChanged -= OnListBoxSelectionChanged; - ((INotifyCollectionChanged) AssociatedObject.Items).CollectionChanged -= OnListBoxItemsChanged; + ((INotifyCollectionChanged)AssociatedObject.Items).CollectionChanged -= + OnListBoxItemsChanged; } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Bootstrapper.cs b/DiscordChatExporter.Gui/Bootstrapper.cs index fa850f8..3829a29 100644 --- a/DiscordChatExporter.Gui/Bootstrapper.cs +++ b/DiscordChatExporter.Gui/Bootstrapper.cs @@ -43,4 +43,4 @@ public class Bootstrapper : Bootstrapper ); } #endif -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Converters/DateTimeOffsetToDateTimeConverter.cs b/DiscordChatExporter.Gui/Converters/DateTimeOffsetToDateTimeConverter.cs index 44e687f..668be12 100644 --- a/DiscordChatExporter.Gui/Converters/DateTimeOffsetToDateTimeConverter.cs +++ b/DiscordChatExporter.Gui/Converters/DateTimeOffsetToDateTimeConverter.cs @@ -9,13 +9,18 @@ public class DateTimeOffsetToDateTimeConverter : IValueConverter { public static DateTimeOffsetToDateTimeConverter Instance { get; } = new(); - public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => + public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => value is DateTimeOffset dateTimeOffsetValue - ? dateTimeOffsetValue.DateTime + ? dateTimeOffsetValue.DateTime : default(DateTime?); - public object? ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => - value is DateTime dateTimeValue + public object? ConvertBack( + object value, + Type targetType, + object parameter, + CultureInfo culture + ) => + value is DateTime dateTimeValue ? new DateTimeOffset(dateTimeValue) : default(DateTimeOffset?); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Converters/ExportFormatToStringConverter.cs b/DiscordChatExporter.Gui/Converters/ExportFormatToStringConverter.cs index 95036e6..39ce6df 100644 --- a/DiscordChatExporter.Gui/Converters/ExportFormatToStringConverter.cs +++ b/DiscordChatExporter.Gui/Converters/ExportFormatToStringConverter.cs @@ -10,11 +10,13 @@ public class ExportFormatToStringConverter : IValueConverter { public static ExportFormatToStringConverter Instance { get; } = new(); - public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => - value is ExportFormat exportFormatValue - ? exportFormatValue.GetDisplayName() - : default; + public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => + value is ExportFormat exportFormatValue ? exportFormatValue.GetDisplayName() : default; - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => - throw new NotSupportedException(); -} \ No newline at end of file + public object ConvertBack( + object value, + Type targetType, + object parameter, + CultureInfo culture + ) => throw new NotSupportedException(); +} diff --git a/DiscordChatExporter.Gui/Converters/InverseBoolConverter.cs b/DiscordChatExporter.Gui/Converters/InverseBoolConverter.cs index a9e9666..63b0490 100644 --- a/DiscordChatExporter.Gui/Converters/InverseBoolConverter.cs +++ b/DiscordChatExporter.Gui/Converters/InverseBoolConverter.cs @@ -12,6 +12,10 @@ public class InverseBoolConverter : IValueConverter public object Convert(object value, Type targetType, object parameter, CultureInfo culture) => value is false; - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => - value is false; -} \ No newline at end of file + public object ConvertBack( + object value, + Type targetType, + object parameter, + CultureInfo culture + ) => value is false; +} diff --git a/DiscordChatExporter.Gui/Converters/SnowflakeToDateTimeOffsetConverter.cs b/DiscordChatExporter.Gui/Converters/SnowflakeToDateTimeOffsetConverter.cs index 1f8198a..a5286ca 100644 --- a/DiscordChatExporter.Gui/Converters/SnowflakeToDateTimeOffsetConverter.cs +++ b/DiscordChatExporter.Gui/Converters/SnowflakeToDateTimeOffsetConverter.cs @@ -11,10 +11,12 @@ public class SnowflakeToDateTimeOffsetConverter : IValueConverter public static SnowflakeToDateTimeOffsetConverter Instance { get; } = new(); public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => - value is Snowflake snowflake - ? snowflake.ToDate() - : null; + value is Snowflake snowflake ? snowflake.ToDate() : null; - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => - throw new NotSupportedException(); -} \ No newline at end of file + public object ConvertBack( + object value, + Type targetType, + object parameter, + CultureInfo culture + ) => throw new NotSupportedException(); +} diff --git a/DiscordChatExporter.Gui/Converters/TimeSpanToDateTimeConverter.cs b/DiscordChatExporter.Gui/Converters/TimeSpanToDateTimeConverter.cs index c743d4e..46c2d98 100644 --- a/DiscordChatExporter.Gui/Converters/TimeSpanToDateTimeConverter.cs +++ b/DiscordChatExporter.Gui/Converters/TimeSpanToDateTimeConverter.cs @@ -9,13 +9,13 @@ public class TimeSpanToDateTimeConverter : IValueConverter { public static TimeSpanToDateTimeConverter Instance { get; } = new(); - public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => - value is TimeSpan timeSpanValue - ? DateTime.Today.Add(timeSpanValue) - : default(DateTime?); + public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) => + value is TimeSpan timeSpanValue ? DateTime.Today.Add(timeSpanValue) : default(DateTime?); - public object? ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => - value is DateTime dateTimeValue - ? dateTimeValue.TimeOfDay - : default(TimeSpan?); -} \ No newline at end of file + public object? ConvertBack( + object value, + Type targetType, + object parameter, + CultureInfo culture + ) => value is DateTime dateTimeValue ? dateTimeValue.TimeOfDay : default(TimeSpan?); +} diff --git a/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj b/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj index 9a50366..58f7223 100644 --- a/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj +++ b/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj @@ -14,6 +14,7 @@ + diff --git a/DiscordChatExporter.Gui/Services/SettingsService.cs b/DiscordChatExporter.Gui/Services/SettingsService.cs index 0d6eb3b..18f5a85 100644 --- a/DiscordChatExporter.Gui/Services/SettingsService.cs +++ b/DiscordChatExporter.Gui/Services/SettingsService.cs @@ -43,9 +43,7 @@ public partial class SettingsService : SettingsBase public string? LastAssetsDirPath { get; set; } public SettingsService() - : base(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Settings.dat")) - { - } + : base(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Settings.dat")) { } public override void Save() { @@ -66,14 +64,17 @@ public partial class SettingsService { try { - return Registry.CurrentUser.OpenSubKey( - "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", - false - )?.GetValue("AppsUseLightTheme") is 0; + return Registry.CurrentUser + .OpenSubKey( + "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", + false + ) + ?.GetValue("AppsUseLightTheme") + is 0; } catch { return false; } } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Services/UpdateService.cs b/DiscordChatExporter.Gui/Services/UpdateService.cs index 615227a..ca68a92 100644 --- a/DiscordChatExporter.Gui/Services/UpdateService.cs +++ b/DiscordChatExporter.Gui/Services/UpdateService.cs @@ -77,4 +77,4 @@ public class UpdateService : IDisposable } public void Dispose() => _updateManager.Dispose(); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Utils/Internationalization.cs b/DiscordChatExporter.Gui/Utils/Internationalization.cs index 8df9412..7567c3d 100644 --- a/DiscordChatExporter.Gui/Utils/Internationalization.cs +++ b/DiscordChatExporter.Gui/Utils/Internationalization.cs @@ -5,6 +5,6 @@ namespace DiscordChatExporter.Gui.Utils; internal static class Internationalization { public static bool Is24Hours => - string.IsNullOrWhiteSpace(CultureInfo.CurrentCulture.DateTimeFormat.AMDesignator) && - string.IsNullOrWhiteSpace(CultureInfo.CurrentCulture.DateTimeFormat.PMDesignator); -} \ No newline at end of file + string.IsNullOrWhiteSpace(CultureInfo.CurrentCulture.DateTimeFormat.AMDesignator) + && string.IsNullOrWhiteSpace(CultureInfo.CurrentCulture.DateTimeFormat.PMDesignator); +} diff --git a/DiscordChatExporter.Gui/Utils/MediaColor.cs b/DiscordChatExporter.Gui/Utils/MediaColor.cs index f6bb041..07fb8ac 100644 --- a/DiscordChatExporter.Gui/Utils/MediaColor.cs +++ b/DiscordChatExporter.Gui/Utils/MediaColor.cs @@ -4,5 +4,5 @@ namespace DiscordChatExporter.Gui.Utils; internal static class MediaColor { - public static Color FromHex(string hex) => (Color) ColorConverter.ConvertFromString(hex); -} \ No newline at end of file + public static Color FromHex(string hex) => (Color)ColorConverter.ConvertFromString(hex); +} diff --git a/DiscordChatExporter.Gui/Utils/ProcessEx.cs b/DiscordChatExporter.Gui/Utils/ProcessEx.cs index 263a40e..100550b 100644 --- a/DiscordChatExporter.Gui/Utils/ProcessEx.cs +++ b/DiscordChatExporter.Gui/Utils/ProcessEx.cs @@ -8,13 +8,9 @@ internal static class ProcessEx { using var process = new Process { - StartInfo = new ProcessStartInfo - { - FileName = path, - UseShellExecute = true - } + StartInfo = new ProcessStartInfo { FileName = path, UseShellExecute = true } }; process.Start(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs b/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs index 2a3af34..9fa09b4 100644 --- a/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs @@ -52,7 +52,8 @@ public class DashboardViewModel : PropertyChangedBase IViewModelFactory viewModelFactory, IEventAggregator eventAggregator, DialogManager dialogManager, - SettingsService settingsService) + SettingsService settingsService + ) { _viewModelFactory = viewModelFactory; _eventAggregator = eventAggregator; @@ -61,10 +62,7 @@ public class DashboardViewModel : PropertyChangedBase _progressMuxer = Progress.CreateMuxer().WithAutoReset(); - this.Bind( - o => o.IsBusy, - (_, _) => NotifyOfPropertyChange(() => IsProgressIndeterminate) - ); + this.Bind(o => o.IsBusy, (_, _) => NotifyOfPropertyChange(() => IsProgressIndeterminate)); Progress.Bind( o => o.Current, @@ -125,9 +123,7 @@ public class DashboardViewModel : PropertyChangedBase } catch (DiscordChatExporterException ex) when (!ex.IsFatal) { - _eventAggregator.Publish( - new NotificationMessage(ex.Message.TrimEnd('.')) - ); + _eventAggregator.Publish(new NotificationMessage(ex.Message.TrimEnd('.'))); } catch (Exception ex) { @@ -145,7 +141,8 @@ public class DashboardViewModel : PropertyChangedBase } } - public bool CanPullChannelsAsync => !IsBusy && _discord is not null && SelectedGuild is not null; + public bool CanPullChannelsAsync => + !IsBusy && _discord is not null && SelectedGuild is not null; public async ValueTask PullChannelsAsync() { @@ -174,9 +171,12 @@ public class DashboardViewModel : PropertyChangedBase // Threads if (_settingsService.ShouldShowThreads) { - await foreach (var thread in _discord.GetGuildThreadsAsync( - SelectedGuild.Id, - _settingsService.ShouldShowArchivedThreads)) + await foreach ( + var thread in _discord.GetGuildThreadsAsync( + SelectedGuild.Id, + _settingsService.ShouldShowArchivedThreads + ) + ) { channels.Add(thread); } @@ -187,9 +187,7 @@ public class DashboardViewModel : PropertyChangedBase } catch (DiscordChatExporterException ex) when (!ex.IsFatal) { - _eventAggregator.Publish( - new NotificationMessage(ex.Message.TrimEnd('.')) - ); + _eventAggregator.Publish(new NotificationMessage(ex.Message.TrimEnd('.'))); } catch (Exception ex) { @@ -208,10 +206,10 @@ public class DashboardViewModel : PropertyChangedBase } public bool CanExportAsync => - !IsBusy && - _discord is not null && - SelectedGuild is not null && - SelectedChannels?.Any() is true; + !IsBusy + && _discord is not null + && SelectedGuild is not null + && SelectedChannels?.Any() is true; public async ValueTask ExportAsync() { @@ -219,20 +217,26 @@ public class DashboardViewModel : PropertyChangedBase try { - if (_discord is null || SelectedGuild is null || SelectedChannels is null || !SelectedChannels.Any()) + if ( + _discord is null + || SelectedGuild is null + || SelectedChannels is null + || !SelectedChannels.Any() + ) return; - var dialog = _viewModelFactory.CreateExportSetupViewModel(SelectedGuild, SelectedChannels); + var dialog = _viewModelFactory.CreateExportSetupViewModel( + SelectedGuild, + SelectedChannels + ); if (await _dialogManager.ShowDialogAsync(dialog) != true) return; var exporter = new ChannelExporter(_discord); - var channelProgressPairs = dialog.Channels!.Select(c => new - { - Channel = c, - Progress = _progressMuxer.CreateInput() - }).ToArray(); + var channelProgressPairs = dialog.Channels! + .Select(c => new { Channel = c, Progress = _progressMuxer.CreateInput() }) + .ToArray(); var successfulExportCount = 0; @@ -286,7 +290,9 @@ public class DashboardViewModel : PropertyChangedBase if (successfulExportCount > 0) { _eventAggregator.Publish( - new NotificationMessage($"Successfully exported {successfulExportCount} channel(s)") + new NotificationMessage( + $"Successfully exported {successfulExportCount} channel(s)" + ) ); } } @@ -305,9 +311,8 @@ public class DashboardViewModel : PropertyChangedBase } } - public void OpenDiscord() => - ProcessEx.StartShellExecute("https://discord.com/app"); + public void OpenDiscord() => ProcessEx.StartShellExecute("https://discord.com/app"); public void OpenDiscordDeveloperPortal() => ProcessEx.StartShellExecute("https://discord.com/developers/applications"); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs b/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs index 2fd54d7..0522e8b 100644 --- a/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs @@ -49,15 +49,17 @@ public class ExportSetupViewModel : DialogScreen public string? PartitionLimitValue { get; set; } - public PartitionLimit PartitionLimit => !string.IsNullOrWhiteSpace(PartitionLimitValue) - ? PartitionLimit.Parse(PartitionLimitValue) - : PartitionLimit.Null; + public PartitionLimit PartitionLimit => + !string.IsNullOrWhiteSpace(PartitionLimitValue) + ? PartitionLimit.Parse(PartitionLimitValue) + : PartitionLimit.Null; public string? MessageFilterValue { get; set; } - public MessageFilter MessageFilter => !string.IsNullOrWhiteSpace(MessageFilterValue) - ? MessageFilter.Parse(MessageFilterValue) - : MessageFilter.Null; + public MessageFilter MessageFilter => + !string.IsNullOrWhiteSpace(MessageFilterValue) + ? MessageFilter.Parse(MessageFilterValue) + : MessageFilter.Null; public bool ShouldFormatMarkdown { get; set; } @@ -86,13 +88,13 @@ public class ExportSetupViewModel : DialogScreen // Show the "advanced options" section by default if any // of the advanced options are set to non-default values. IsAdvancedSectionDisplayed = - After is not null || - Before is not null || - !string.IsNullOrWhiteSpace(PartitionLimitValue) || - !string.IsNullOrWhiteSpace(MessageFilterValue) || - ShouldDownloadAssets || - ShouldReuseAssets || - !string.IsNullOrWhiteSpace(AssetsDirPath); + After is not null + || Before is not null + || !string.IsNullOrWhiteSpace(PartitionLimitValue) + || !string.IsNullOrWhiteSpace(MessageFilterValue) + || ShouldDownloadAssets + || ShouldReuseAssets + || !string.IsNullOrWhiteSpace(AssetsDirPath); } public void ToggleAdvancedSection() => IsAdvancedSectionDisplayed = !IsAdvancedSectionDisplayed; @@ -161,7 +163,8 @@ public static class ExportSetupViewModelExtensions public static ExportSetupViewModel CreateExportSetupViewModel( this IViewModelFactory factory, Guild guild, - IReadOnlyList channels) + IReadOnlyList channels + ) { var viewModel = factory.CreateExportSetupViewModel(); @@ -170,4 +173,4 @@ public static class ExportSetupViewModelExtensions return viewModel; } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/ViewModels/Dialogs/MessageBoxViewModel.cs b/DiscordChatExporter.Gui/ViewModels/Dialogs/MessageBoxViewModel.cs index bfb4ce7..270ed21 100644 --- a/DiscordChatExporter.Gui/ViewModels/Dialogs/MessageBoxViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/Dialogs/MessageBoxViewModel.cs @@ -16,9 +16,7 @@ public class MessageBoxViewModel : DialogScreen public string? CancelButtonText { get; set; } - public int ButtonsCount => - (IsOkButtonVisible ? 1 : 0) + - (IsCancelButtonVisible ? 1 : 0); + public int ButtonsCount => (IsOkButtonVisible ? 1 : 0) + (IsCancelButtonVisible ? 1 : 0); } public static class MessageBoxViewModelExtensions @@ -28,7 +26,8 @@ public static class MessageBoxViewModelExtensions string title, string message, string? okButtonText, - string? cancelButtonText) + string? cancelButtonText + ) { var viewModel = factory.CreateMessageBoxViewModel(); @@ -45,6 +44,6 @@ public static class MessageBoxViewModelExtensions public static MessageBoxViewModel CreateMessageBoxViewModel( this IViewModelFactory factory, string title, - string message) => - factory.CreateMessageBoxViewModel(title, message, "CLOSE", null); -} \ No newline at end of file + string message + ) => factory.CreateMessageBoxViewModel(title, message, "CLOSE", null); +} diff --git a/DiscordChatExporter.Gui/ViewModels/Dialogs/SettingsViewModel.cs b/DiscordChatExporter.Gui/ViewModels/Dialogs/SettingsViewModel.cs index b8325aa..90a5b91 100644 --- a/DiscordChatExporter.Gui/ViewModels/Dialogs/SettingsViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/Dialogs/SettingsViewModel.cs @@ -50,6 +50,5 @@ public class SettingsViewModel : DialogScreen set => _settingsService.ParallelLimit = Math.Clamp(value, 1, 10); } - public SettingsViewModel(SettingsService settingsService) => - _settingsService = settingsService; -} \ No newline at end of file + public SettingsViewModel(SettingsService settingsService) => _settingsService = settingsService; +} diff --git a/DiscordChatExporter.Gui/ViewModels/Framework/DialogManager.cs b/DiscordChatExporter.Gui/ViewModels/Framework/DialogManager.cs index 9091e99..b4038dc 100644 --- a/DiscordChatExporter.Gui/ViewModels/Framework/DialogManager.cs +++ b/DiscordChatExporter.Gui/ViewModels/Framework/DialogManager.cs @@ -68,10 +68,7 @@ public class DialogManager : IDisposable public string? PromptDirectoryPath(string defaultDirPath = "") { - var dialog = new VistaFolderBrowserDialog - { - SelectedPath = defaultDirPath - }; + var dialog = new VistaFolderBrowserDialog { SelectedPath = defaultDirPath }; return dialog.ShowDialog() == true ? dialog.SelectedPath : null; } @@ -80,4 +77,4 @@ public class DialogManager : IDisposable { _dialogLock.Dispose(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/ViewModels/Framework/DialogScreen.cs b/DiscordChatExporter.Gui/ViewModels/Framework/DialogScreen.cs index 94dab0f..6e70c84 100644 --- a/DiscordChatExporter.Gui/ViewModels/Framework/DialogScreen.cs +++ b/DiscordChatExporter.Gui/ViewModels/Framework/DialogScreen.cs @@ -16,6 +16,4 @@ public abstract class DialogScreen : PropertyChangedBase } } -public abstract class DialogScreen : DialogScreen -{ -} \ No newline at end of file +public abstract class DialogScreen : DialogScreen { } diff --git a/DiscordChatExporter.Gui/ViewModels/Framework/IViewModelFactory.cs b/DiscordChatExporter.Gui/ViewModels/Framework/IViewModelFactory.cs index a897981..f1e5e58 100644 --- a/DiscordChatExporter.Gui/ViewModels/Framework/IViewModelFactory.cs +++ b/DiscordChatExporter.Gui/ViewModels/Framework/IViewModelFactory.cs @@ -7,10 +7,10 @@ namespace DiscordChatExporter.Gui.ViewModels.Framework; public interface IViewModelFactory { DashboardViewModel CreateDashboardViewModel(); - + ExportSetupViewModel CreateExportSetupViewModel(); MessageBoxViewModel CreateMessageBoxViewModel(); SettingsViewModel CreateSettingsViewModel(); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/ViewModels/Messages/NotificationMessage.cs b/DiscordChatExporter.Gui/ViewModels/Messages/NotificationMessage.cs index 1137b8c..54c2ae8 100644 --- a/DiscordChatExporter.Gui/ViewModels/Messages/NotificationMessage.cs +++ b/DiscordChatExporter.Gui/ViewModels/Messages/NotificationMessage.cs @@ -1,3 +1,3 @@ namespace DiscordChatExporter.Gui.ViewModels.Messages; -public record NotificationMessage(string Text); \ No newline at end of file +public record NotificationMessage(string Text); diff --git a/DiscordChatExporter.Gui/ViewModels/RootViewModel.cs b/DiscordChatExporter.Gui/ViewModels/RootViewModel.cs index 775ee64..7a663dd 100644 --- a/DiscordChatExporter.Gui/ViewModels/RootViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/RootViewModel.cs @@ -27,7 +27,8 @@ public class RootViewModel : Screen, IHandle, IDisposable IEventAggregator eventAggregator, DialogManager dialogManager, SettingsService settingsService, - UpdateService updateService) + UpdateService updateService + ) { _viewModelFactory = viewModelFactory; _dialogManager = dialogManager; @@ -78,7 +79,8 @@ public class RootViewModel : Screen, IHandle, IDisposable Notifications.Enqueue( "Update has been downloaded and will be installed when you exit", - "INSTALL NOW", () => + "INSTALL NOW", + () => { _updateService.FinalizeUpdate(true); RequestClose(); @@ -115,11 +117,15 @@ public class RootViewModel : Screen, IHandle, IDisposable } // App has just been updated, display the changelog - if (_settingsService.LastAppVersion is not null && _settingsService.LastAppVersion != App.Version) + if ( + _settingsService.LastAppVersion is not null + && _settingsService.LastAppVersion != App.Version + ) { Notifications.Enqueue( $"Successfully updated to {App.Name} v{App.VersionString}", - "CHANGELOG", () => ProcessEx.StartShellExecute(App.ChangelogUrl) + "CHANGELOG", + () => ProcessEx.StartShellExecute(App.ChangelogUrl) ); _settingsService.LastAppVersion = App.Version; @@ -138,4 +144,4 @@ public class RootViewModel : Screen, IHandle, IDisposable public void Handle(NotificationMessage message) => Notifications.Enqueue(message.Text); public void Dispose() => Notifications.Dispose(); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Views/Components/DashboardView.xaml.cs b/DiscordChatExporter.Gui/Views/Components/DashboardView.xaml.cs index 348c8a7..281bc6f 100644 --- a/DiscordChatExporter.Gui/Views/Components/DashboardView.xaml.cs +++ b/DiscordChatExporter.Gui/Views/Components/DashboardView.xaml.cs @@ -6,4 +6,4 @@ public partial class DashboardView { InitializeComponent(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Views/Controls/RevealablePasswordBox.xaml.cs b/DiscordChatExporter.Gui/Views/Controls/RevealablePasswordBox.xaml.cs index 13cc1a2..23239e1 100644 --- a/DiscordChatExporter.Gui/Views/Controls/RevealablePasswordBox.xaml.cs +++ b/DiscordChatExporter.Gui/Views/Controls/RevealablePasswordBox.xaml.cs @@ -8,7 +8,10 @@ public partial class RevealablePasswordBox nameof(Password), typeof(string), typeof(RevealablePasswordBox), - new FrameworkPropertyMetadata(string.Empty, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault) + new FrameworkPropertyMetadata( + string.Empty, + FrameworkPropertyMetadataOptions.BindsTwoWayByDefault + ) ); public static readonly DependencyProperty IsRevealedProperty = DependencyProperty.Register( @@ -34,4 +37,4 @@ public partial class RevealablePasswordBox { InitializeComponent(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml.cs b/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml.cs index 77b7a76..8d09add 100644 --- a/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml.cs +++ b/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml.cs @@ -6,4 +6,4 @@ public partial class ExportSetupView { InitializeComponent(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml.cs b/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml.cs index 1561027..c1b49a5 100644 --- a/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml.cs +++ b/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml.cs @@ -6,4 +6,4 @@ public partial class MessageBoxView { InitializeComponent(); } -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml.cs b/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml.cs index 42685dc..06d9932 100644 --- a/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml.cs +++ b/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml.cs @@ -14,4 +14,4 @@ public partial class SettingsView private void DarkModeToggleButton_OnUnchecked(object sender, RoutedEventArgs args) => App.SetLightTheme(); -} \ No newline at end of file +} diff --git a/DiscordChatExporter.Gui/Views/RootView.xaml.cs b/DiscordChatExporter.Gui/Views/RootView.xaml.cs index e960ebb..36a1671 100644 --- a/DiscordChatExporter.Gui/Views/RootView.xaml.cs +++ b/DiscordChatExporter.Gui/Views/RootView.xaml.cs @@ -6,4 +6,4 @@ public partial class RootView { InitializeComponent(); } -} \ No newline at end of file +}