From 9b6fec0c930b2f6fc87e1bf289df195b60df29f8 Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 11 Apr 2025 15:09:12 +0200 Subject: [PATCH 01/93] =?UTF-8?q?Test=20change=20=F0=9F=A7=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/kernel_de.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/kernel_de.properties b/src/main/resources/kernel_de.properties index 2e0c5e7a..6564a37e 100644 --- a/src/main/resources/kernel_de.properties +++ b/src/main/resources/kernel_de.properties @@ -1,3 +1,4 @@ +Test.lokalise = Test AdvancedDateParser.calendarWeek = kw AdvancedDateParser.day = tages AdvancedDateParser.days = tag,tage From 5d387348d5cf1fe7e2deeaf5e95ad770fbded067 Mon Sep 17 00:00:00 2001 From: scireumskip Date: Fri, 11 Apr 2025 15:10:38 +0200 Subject: [PATCH 02/93] Lokalise: updates --- src/main/resources/kernel_de.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/kernel_de.properties b/src/main/resources/kernel_de.properties index 6564a37e..2e0c5e7a 100644 --- a/src/main/resources/kernel_de.properties +++ b/src/main/resources/kernel_de.properties @@ -1,4 +1,3 @@ -Test.lokalise = Test AdvancedDateParser.calendarWeek = kw AdvancedDateParser.day = tages AdvancedDateParser.days = tag,tage From 3072286965b5f974a8768bb73819badd49f5d7fc Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Mon, 14 Apr 2025 23:42:35 +0200 Subject: [PATCH 03/93] =?UTF-8?q?Inserts=20values=20as=20Boolean=20objects?= =?UTF-8?q?=20=E2=9A=99=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/sirius/kernel/commons/Emojis.java | 10068 ++++++++-------- 1 file changed, 5034 insertions(+), 5034 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Emojis.java b/src/main/java/sirius/kernel/commons/Emojis.java index 5f2c8e12..16e23f55 100644 --- a/src/main/java/sirius/kernel/commons/Emojis.java +++ b/src/main/java/sirius/kernel/commons/Emojis.java @@ -20,5040 +20,5040 @@ public class Emojis { // https://github.com/scireum/scireum-scripts/blob/main/sirius/list_emojis_for_insertion_into_kernel.py // Emojis should be updated about once per year. - emojiTrie.put("๐Ÿ˜€", true); - emojiTrie.put("๐Ÿ˜ƒ", true); - emojiTrie.put("๐Ÿ˜„", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿ˜†", true); - emojiTrie.put("๐Ÿ˜…", true); - emojiTrie.put("๐Ÿคฃ", true); - emojiTrie.put("๐Ÿ˜‚", true); - emojiTrie.put("๐Ÿ™‚", true); - emojiTrie.put("๐Ÿ™ƒ", true); - emojiTrie.put("๐Ÿซ ", true); - emojiTrie.put("๐Ÿ˜‰", true); - emojiTrie.put("๐Ÿ˜Š", true); - emojiTrie.put("๐Ÿ˜‡", true); - emojiTrie.put("๐Ÿฅฐ", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿคฉ", true); - emojiTrie.put("๐Ÿ˜˜", true); - emojiTrie.put("๐Ÿ˜—", true); - emojiTrie.put("โ˜บ๏ธ", true); - emojiTrie.put("โ˜บ", true); - emojiTrie.put("๐Ÿ˜š", true); - emojiTrie.put("๐Ÿ˜™", true); - emojiTrie.put("๐Ÿฅฒ", true); - emojiTrie.put("๐Ÿ˜‹", true); - emojiTrie.put("๐Ÿ˜›", true); - emojiTrie.put("๐Ÿ˜œ", true); - emojiTrie.put("๐Ÿคช", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿค‘", true); - emojiTrie.put("๐Ÿค—", true); - emojiTrie.put("๐Ÿคญ", true); - emojiTrie.put("๐Ÿซข", true); - emojiTrie.put("๐Ÿซฃ", true); - emojiTrie.put("๐Ÿคซ", true); - emojiTrie.put("๐Ÿค”", true); - emojiTrie.put("๐Ÿซก", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿคจ", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿ˜‘", true); - emojiTrie.put("๐Ÿ˜ถ", true); - emojiTrie.put("๐Ÿซฅ", true); - emojiTrie.put("๐Ÿ˜ถโ€๐ŸŒซ๏ธ", true); - emojiTrie.put("๐Ÿ˜ถโ€๐ŸŒซ", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿ˜’", true); - emojiTrie.put("๐Ÿ™„", true); - emojiTrie.put("๐Ÿ˜ฌ", true); - emojiTrie.put("๐Ÿ˜ฎโ€๐Ÿ’จ", true); - emojiTrie.put("๐Ÿคฅ", true); - emojiTrie.put("๐Ÿซจ", true); - emojiTrie.put("๐Ÿ™‚โ€โ†”๏ธ", true); - emojiTrie.put("๐Ÿ™‚โ€โ†”", true); - emojiTrie.put("๐Ÿ™‚โ€โ†•๏ธ", true); - emojiTrie.put("๐Ÿ™‚โ€โ†•", true); - emojiTrie.put("๐Ÿ˜Œ", true); - emojiTrie.put("๐Ÿ˜”", true); - emojiTrie.put("๐Ÿ˜ช", true); - emojiTrie.put("๐Ÿคค", true); - emojiTrie.put("๐Ÿ˜ด", true); - emojiTrie.put("๐Ÿ˜ท", true); - emojiTrie.put("๐Ÿค’", true); - emojiTrie.put("๐Ÿค•", true); - emojiTrie.put("๐Ÿคข", true); - emojiTrie.put("๐Ÿคฎ", true); - emojiTrie.put("๐Ÿคง", true); - emojiTrie.put("๐Ÿฅต", true); - emojiTrie.put("๐Ÿฅถ", true); - emojiTrie.put("๐Ÿฅด", true); - emojiTrie.put("๐Ÿ˜ต", true); - emojiTrie.put("๐Ÿ˜ตโ€๐Ÿ’ซ", true); - emojiTrie.put("๐Ÿคฏ", true); - emojiTrie.put("๐Ÿค ", true); - emojiTrie.put("๐Ÿฅณ", true); - emojiTrie.put("๐Ÿฅธ", true); - emojiTrie.put("๐Ÿ˜Ž", true); - emojiTrie.put("๐Ÿค“", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿ˜•", true); - emojiTrie.put("๐Ÿซค", true); - emojiTrie.put("๐Ÿ˜Ÿ", true); - emojiTrie.put("๐Ÿ™", true); - emojiTrie.put("โ˜น๏ธ", true); - emojiTrie.put("โ˜น", true); - emojiTrie.put("๐Ÿ˜ฎ", true); - emojiTrie.put("๐Ÿ˜ฏ", true); - emojiTrie.put("๐Ÿ˜ฒ", true); - emojiTrie.put("๐Ÿ˜ณ", true); - emojiTrie.put("๐Ÿฅบ", true); - emojiTrie.put("๐Ÿฅน", true); - emojiTrie.put("๐Ÿ˜ฆ", true); - emojiTrie.put("๐Ÿ˜ง", true); - emojiTrie.put("๐Ÿ˜จ", true); - emojiTrie.put("๐Ÿ˜ฐ", true); - emojiTrie.put("๐Ÿ˜ฅ", true); - emojiTrie.put("๐Ÿ˜ข", true); - emojiTrie.put("๐Ÿ˜ญ", true); - emojiTrie.put("๐Ÿ˜ฑ", true); - emojiTrie.put("๐Ÿ˜–", true); - emojiTrie.put("๐Ÿ˜ฃ", true); - emojiTrie.put("๐Ÿ˜ž", true); - emojiTrie.put("๐Ÿ˜“", true); - emojiTrie.put("๐Ÿ˜ฉ", true); - emojiTrie.put("๐Ÿ˜ซ", true); - emojiTrie.put("๐Ÿฅฑ", true); - emojiTrie.put("๐Ÿ˜ค", true); - emojiTrie.put("๐Ÿ˜ก", true); - emojiTrie.put("๐Ÿ˜ ", true); - emojiTrie.put("๐Ÿคฌ", true); - emojiTrie.put("๐Ÿ˜ˆ", true); - emojiTrie.put("๐Ÿ‘ฟ", true); - emojiTrie.put("๐Ÿ’€", true); - emojiTrie.put("โ˜ ๏ธ", true); - emojiTrie.put("โ˜ ", true); - emojiTrie.put("๐Ÿ’ฉ", true); - emojiTrie.put("๐Ÿคก", true); - emojiTrie.put("๐Ÿ‘น", true); - emojiTrie.put("๐Ÿ‘บ", true); - emojiTrie.put("๐Ÿ‘ป", true); - emojiTrie.put("๐Ÿ‘ฝ", true); - emojiTrie.put("๐Ÿ‘พ", true); - emojiTrie.put("๐Ÿค–", true); - emojiTrie.put("๐Ÿ˜บ", true); - emojiTrie.put("๐Ÿ˜ธ", true); - emojiTrie.put("๐Ÿ˜น", true); - emojiTrie.put("๐Ÿ˜ป", true); - emojiTrie.put("๐Ÿ˜ผ", true); - emojiTrie.put("๐Ÿ˜ฝ", true); - emojiTrie.put("๐Ÿ™€", true); - emojiTrie.put("๐Ÿ˜ฟ", true); - emojiTrie.put("๐Ÿ˜พ", true); - emojiTrie.put("๐Ÿ™ˆ", true); - emojiTrie.put("๐Ÿ™‰", true); - emojiTrie.put("๐Ÿ™Š", true); - emojiTrie.put("๐Ÿ’Œ", true); - emojiTrie.put("๐Ÿ’˜", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿ’–", true); - emojiTrie.put("๐Ÿ’—", true); - emojiTrie.put("๐Ÿ’“", true); - emojiTrie.put("๐Ÿ’ž", true); - emojiTrie.put("๐Ÿ’•", true); - emojiTrie.put("๐Ÿ’Ÿ", true); - emojiTrie.put("โฃ๏ธ", true); - emojiTrie.put("โฃ", true); - emojiTrie.put("๐Ÿ’”", true); - emojiTrie.put("โค๏ธโ€๐Ÿ”ฅ", true); - emojiTrie.put("โคโ€๐Ÿ”ฅ", true); - emojiTrie.put("โค๏ธโ€๐Ÿฉน", true); - emojiTrie.put("โคโ€๐Ÿฉน", true); - emojiTrie.put("โค๏ธ", true); - emojiTrie.put("โค", true); - emojiTrie.put("๐Ÿฉท", true); - emojiTrie.put("๐Ÿงก", true); - emojiTrie.put("๐Ÿ’›", true); - emojiTrie.put("๐Ÿ’š", true); - emojiTrie.put("๐Ÿ’™", true); - emojiTrie.put("๐Ÿฉต", true); - emojiTrie.put("๐Ÿ’œ", true); - emojiTrie.put("๐ŸคŽ", true); - emojiTrie.put("๐Ÿ–ค", true); - emojiTrie.put("๐Ÿฉถ", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿ’‹", true); - emojiTrie.put("๐Ÿ’ฏ", true); - emojiTrie.put("๐Ÿ’ข", true); - emojiTrie.put("๐Ÿ’ฅ", true); - emojiTrie.put("๐Ÿ’ซ", true); - emojiTrie.put("๐Ÿ’ฆ", true); - emojiTrie.put("๐Ÿ’จ", true); - emojiTrie.put("๐Ÿ•ณ๏ธ", true); - emojiTrie.put("๐Ÿ•ณ", true); - emojiTrie.put("๐Ÿ’ฌ", true); - emojiTrie.put("๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ", true); - emojiTrie.put("๐Ÿ‘โ€๐Ÿ—จ๏ธ", true); - emojiTrie.put("๐Ÿ‘๏ธโ€๐Ÿ—จ", true); - emojiTrie.put("๐Ÿ‘โ€๐Ÿ—จ", true); - emojiTrie.put("๐Ÿ—จ๏ธ", true); - emojiTrie.put("๐Ÿ—จ", true); - emojiTrie.put("๐Ÿ—ฏ๏ธ", true); - emojiTrie.put("๐Ÿ—ฏ", true); - emojiTrie.put("๐Ÿ’ญ", true); - emojiTrie.put("๐Ÿ’ค", true); - emojiTrie.put("๐Ÿ‘‹", true); - emojiTrie.put("๐Ÿ‘‹๐Ÿป", true); - emojiTrie.put("๐Ÿ‘‹๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘‹๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘‹๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘‹๐Ÿฟ", true); - emojiTrie.put("๐Ÿคš", true); - emojiTrie.put("๐Ÿคš๐Ÿป", true); - emojiTrie.put("๐Ÿคš๐Ÿผ", true); - emojiTrie.put("๐Ÿคš๐Ÿฝ", true); - emojiTrie.put("๐Ÿคš๐Ÿพ", true); - emojiTrie.put("๐Ÿคš๐Ÿฟ", true); - emojiTrie.put("๐Ÿ–๏ธ", true); - emojiTrie.put("๐Ÿ–", true); - emojiTrie.put("๐Ÿ–๐Ÿป", true); - emojiTrie.put("๐Ÿ–๐Ÿผ", true); - emojiTrie.put("๐Ÿ–๐Ÿฝ", true); - emojiTrie.put("๐Ÿ–๐Ÿพ", true); - emojiTrie.put("๐Ÿ–๐Ÿฟ", true); - emojiTrie.put("โœ‹", true); - emojiTrie.put("โœ‹๐Ÿป", true); - emojiTrie.put("โœ‹๐Ÿผ", true); - emojiTrie.put("โœ‹๐Ÿฝ", true); - emojiTrie.put("โœ‹๐Ÿพ", true); - emojiTrie.put("โœ‹๐Ÿฟ", true); - emojiTrie.put("๐Ÿ––", true); - emojiTrie.put("๐Ÿ––๐Ÿป", true); - emojiTrie.put("๐Ÿ––๐Ÿผ", true); - emojiTrie.put("๐Ÿ––๐Ÿฝ", true); - emojiTrie.put("๐Ÿ––๐Ÿพ", true); - emojiTrie.put("๐Ÿ––๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฑ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿป", true); - emojiTrie.put("๐Ÿซฑ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿพ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฒ", true); - emojiTrie.put("๐Ÿซฒ๐Ÿป", true); - emojiTrie.put("๐Ÿซฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿซฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซณ", true); - emojiTrie.put("๐Ÿซณ๐Ÿป", true); - emojiTrie.put("๐Ÿซณ๐Ÿผ", true); - emojiTrie.put("๐Ÿซณ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซณ๐Ÿพ", true); - emojiTrie.put("๐Ÿซณ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซด", true); - emojiTrie.put("๐Ÿซด๐Ÿป", true); - emojiTrie.put("๐Ÿซด๐Ÿผ", true); - emojiTrie.put("๐Ÿซด๐Ÿฝ", true); - emojiTrie.put("๐Ÿซด๐Ÿพ", true); - emojiTrie.put("๐Ÿซด๐Ÿฟ", true); - emojiTrie.put("๐Ÿซท", true); - emojiTrie.put("๐Ÿซท๐Ÿป", true); - emojiTrie.put("๐Ÿซท๐Ÿผ", true); - emojiTrie.put("๐Ÿซท๐Ÿฝ", true); - emojiTrie.put("๐Ÿซท๐Ÿพ", true); - emojiTrie.put("๐Ÿซท๐Ÿฟ", true); - emojiTrie.put("๐Ÿซธ", true); - emojiTrie.put("๐Ÿซธ๐Ÿป", true); - emojiTrie.put("๐Ÿซธ๐Ÿผ", true); - emojiTrie.put("๐Ÿซธ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซธ๐Ÿพ", true); - emojiTrie.put("๐Ÿซธ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘Œ", true); - emojiTrie.put("๐Ÿ‘Œ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘Œ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘Œ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘Œ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘Œ๐Ÿฟ", true); - emojiTrie.put("๐ŸคŒ", true); - emojiTrie.put("๐ŸคŒ๐Ÿป", true); - emojiTrie.put("๐ŸคŒ๐Ÿผ", true); - emojiTrie.put("๐ŸคŒ๐Ÿฝ", true); - emojiTrie.put("๐ŸคŒ๐Ÿพ", true); - emojiTrie.put("๐ŸคŒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿค๐Ÿป", true); - emojiTrie.put("๐Ÿค๐Ÿผ", true); - emojiTrie.put("๐Ÿค๐Ÿฝ", true); - emojiTrie.put("๐Ÿค๐Ÿพ", true); - emojiTrie.put("๐Ÿค๐Ÿฟ", true); - emojiTrie.put("โœŒ๏ธ", true); - emojiTrie.put("โœŒ", true); - emojiTrie.put("โœŒ๐Ÿป", true); - emojiTrie.put("โœŒ๐Ÿผ", true); - emojiTrie.put("โœŒ๐Ÿฝ", true); - emojiTrie.put("โœŒ๐Ÿพ", true); - emojiTrie.put("โœŒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿคž", true); - emojiTrie.put("๐Ÿคž๐Ÿป", true); - emojiTrie.put("๐Ÿคž๐Ÿผ", true); - emojiTrie.put("๐Ÿคž๐Ÿฝ", true); - emojiTrie.put("๐Ÿคž๐Ÿพ", true); - emojiTrie.put("๐Ÿคž๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฐ", true); - emojiTrie.put("๐Ÿซฐ๐Ÿป", true); - emojiTrie.put("๐Ÿซฐ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฐ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฐ๐Ÿพ", true); - emojiTrie.put("๐Ÿซฐ๐Ÿฟ", true); - emojiTrie.put("๐ŸคŸ", true); - emojiTrie.put("๐ŸคŸ๐Ÿป", true); - emojiTrie.put("๐ŸคŸ๐Ÿผ", true); - emojiTrie.put("๐ŸคŸ๐Ÿฝ", true); - emojiTrie.put("๐ŸคŸ๐Ÿพ", true); - emojiTrie.put("๐ŸคŸ๐Ÿฟ", true); - emojiTrie.put("๐Ÿค˜", true); - emojiTrie.put("๐Ÿค˜๐Ÿป", true); - emojiTrie.put("๐Ÿค˜๐Ÿผ", true); - emojiTrie.put("๐Ÿค˜๐Ÿฝ", true); - emojiTrie.put("๐Ÿค˜๐Ÿพ", true); - emojiTrie.put("๐Ÿค˜๐Ÿฟ", true); - emojiTrie.put("๐Ÿค™", true); - emojiTrie.put("๐Ÿค™๐Ÿป", true); - emojiTrie.put("๐Ÿค™๐Ÿผ", true); - emojiTrie.put("๐Ÿค™๐Ÿฝ", true); - emojiTrie.put("๐Ÿค™๐Ÿพ", true); - emojiTrie.put("๐Ÿค™๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ˆ", true); - emojiTrie.put("๐Ÿ‘ˆ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ˆ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ˆ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ˆ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ˆ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘‰", true); - emojiTrie.put("๐Ÿ‘‰๐Ÿป", true); - emojiTrie.put("๐Ÿ‘‰๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘‰๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘‰๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘‰๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘†", true); - emojiTrie.put("๐Ÿ‘†๐Ÿป", true); - emojiTrie.put("๐Ÿ‘†๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘†๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘†๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘†๐Ÿฟ", true); - emojiTrie.put("๐Ÿ–•", true); - emojiTrie.put("๐Ÿ–•๐Ÿป", true); - emojiTrie.put("๐Ÿ–•๐Ÿผ", true); - emojiTrie.put("๐Ÿ–•๐Ÿฝ", true); - emojiTrie.put("๐Ÿ–•๐Ÿพ", true); - emojiTrie.put("๐Ÿ–•๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘‡", true); - emojiTrie.put("๐Ÿ‘‡๐Ÿป", true); - emojiTrie.put("๐Ÿ‘‡๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘‡๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘‡๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘‡๐Ÿฟ", true); - emojiTrie.put("โ˜๏ธ", true); - emojiTrie.put("โ˜", true); - emojiTrie.put("โ˜๐Ÿป", true); - emojiTrie.put("โ˜๐Ÿผ", true); - emojiTrie.put("โ˜๐Ÿฝ", true); - emojiTrie.put("โ˜๐Ÿพ", true); - emojiTrie.put("โ˜๐Ÿฟ", true); - emojiTrie.put("๐Ÿซต", true); - emojiTrie.put("๐Ÿซต๐Ÿป", true); - emojiTrie.put("๐Ÿซต๐Ÿผ", true); - emojiTrie.put("๐Ÿซต๐Ÿฝ", true); - emojiTrie.put("๐Ÿซต๐Ÿพ", true); - emojiTrie.put("๐Ÿซต๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ‘๐Ÿป", true); - emojiTrie.put("๐Ÿ‘๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘Ž", true); - emojiTrie.put("๐Ÿ‘Ž๐Ÿป", true); - emojiTrie.put("๐Ÿ‘Ž๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘Ž๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘Ž๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘Ž๐Ÿฟ", true); - emojiTrie.put("โœŠ", true); - emojiTrie.put("โœŠ๐Ÿป", true); - emojiTrie.put("โœŠ๐Ÿผ", true); - emojiTrie.put("โœŠ๐Ÿฝ", true); - emojiTrie.put("โœŠ๐Ÿพ", true); - emojiTrie.put("โœŠ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘Š", true); - emojiTrie.put("๐Ÿ‘Š๐Ÿป", true); - emojiTrie.put("๐Ÿ‘Š๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘Š๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘Š๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘Š๐Ÿฟ", true); - emojiTrie.put("๐Ÿค›", true); - emojiTrie.put("๐Ÿค›๐Ÿป", true); - emojiTrie.put("๐Ÿค›๐Ÿผ", true); - emojiTrie.put("๐Ÿค›๐Ÿฝ", true); - emojiTrie.put("๐Ÿค›๐Ÿพ", true); - emojiTrie.put("๐Ÿค›๐Ÿฟ", true); - emojiTrie.put("๐Ÿคœ", true); - emojiTrie.put("๐Ÿคœ๐Ÿป", true); - emojiTrie.put("๐Ÿคœ๐Ÿผ", true); - emojiTrie.put("๐Ÿคœ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคœ๐Ÿพ", true); - emojiTrie.put("๐Ÿคœ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ‘๐Ÿป", true); - emojiTrie.put("๐Ÿ‘๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™Œ", true); - emojiTrie.put("๐Ÿ™Œ๐Ÿป", true); - emojiTrie.put("๐Ÿ™Œ๐Ÿผ", true); - emojiTrie.put("๐Ÿ™Œ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™Œ๐Ÿพ", true); - emojiTrie.put("๐Ÿ™Œ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซถ", true); - emojiTrie.put("๐Ÿซถ๐Ÿป", true); - emojiTrie.put("๐Ÿซถ๐Ÿผ", true); - emojiTrie.put("๐Ÿซถ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซถ๐Ÿพ", true); - emojiTrie.put("๐Ÿซถ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ‘๐Ÿป", true); - emojiTrie.put("๐Ÿ‘๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿคฒ", true); - emojiTrie.put("๐Ÿคฒ๐Ÿป", true); - emojiTrie.put("๐Ÿคฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿคฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿคฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿค๐Ÿป", true); - emojiTrie.put("๐Ÿค๐Ÿผ", true); - emojiTrie.put("๐Ÿค๐Ÿฝ", true); - emojiTrie.put("๐Ÿค๐Ÿพ", true); - emojiTrie.put("๐Ÿค๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿป", true); - emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿป", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿป", true); - emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿป", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿ™", true); - emojiTrie.put("๐Ÿ™๐Ÿป", true); - emojiTrie.put("๐Ÿ™๐Ÿผ", true); - emojiTrie.put("๐Ÿ™๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™๐Ÿพ", true); - emojiTrie.put("๐Ÿ™๐Ÿฟ", true); - emojiTrie.put("โœ๏ธ", true); - emojiTrie.put("โœ", true); - emojiTrie.put("โœ๐Ÿป", true); - emojiTrie.put("โœ๐Ÿผ", true); - emojiTrie.put("โœ๐Ÿฝ", true); - emojiTrie.put("โœ๐Ÿพ", true); - emojiTrie.put("โœ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’…", true); - emojiTrie.put("๐Ÿ’…๐Ÿป", true); - emojiTrie.put("๐Ÿ’…๐Ÿผ", true); - emojiTrie.put("๐Ÿ’…๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’…๐Ÿพ", true); - emojiTrie.put("๐Ÿ’…๐Ÿฟ", true); - emojiTrie.put("๐Ÿคณ", true); - emojiTrie.put("๐Ÿคณ๐Ÿป", true); - emojiTrie.put("๐Ÿคณ๐Ÿผ", true); - emojiTrie.put("๐Ÿคณ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคณ๐Ÿพ", true); - emojiTrie.put("๐Ÿคณ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’ช", true); - emojiTrie.put("๐Ÿ’ช๐Ÿป", true); - emojiTrie.put("๐Ÿ’ช๐Ÿผ", true); - emojiTrie.put("๐Ÿ’ช๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’ช๐Ÿพ", true); - emojiTrie.put("๐Ÿ’ช๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆพ", true); - emojiTrie.put("๐Ÿฆฟ", true); - emojiTrie.put("๐Ÿฆต", true); - emojiTrie.put("๐Ÿฆต๐Ÿป", true); - emojiTrie.put("๐Ÿฆต๐Ÿผ", true); - emojiTrie.put("๐Ÿฆต๐Ÿฝ", true); - emojiTrie.put("๐Ÿฆต๐Ÿพ", true); - emojiTrie.put("๐Ÿฆต๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆถ", true); - emojiTrie.put("๐Ÿฆถ๐Ÿป", true); - emojiTrie.put("๐Ÿฆถ๐Ÿผ", true); - emojiTrie.put("๐Ÿฆถ๐Ÿฝ", true); - emojiTrie.put("๐Ÿฆถ๐Ÿพ", true); - emojiTrie.put("๐Ÿฆถ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘‚", true); - emojiTrie.put("๐Ÿ‘‚๐Ÿป", true); - emojiTrie.put("๐Ÿ‘‚๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘‚๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘‚๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘‚๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆป", true); - emojiTrie.put("๐Ÿฆป๐Ÿป", true); - emojiTrie.put("๐Ÿฆป๐Ÿผ", true); - emojiTrie.put("๐Ÿฆป๐Ÿฝ", true); - emojiTrie.put("๐Ÿฆป๐Ÿพ", true); - emojiTrie.put("๐Ÿฆป๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ƒ", true); - emojiTrie.put("๐Ÿ‘ƒ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ƒ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ƒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ƒ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ƒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿง ", true); - emojiTrie.put("๐Ÿซ€", true); - emojiTrie.put("๐Ÿซ", true); - emojiTrie.put("๐Ÿฆท", true); - emojiTrie.put("๐Ÿฆด", true); - emojiTrie.put("๐Ÿ‘€", true); - emojiTrie.put("๐Ÿ‘๏ธ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ‘…", true); - emojiTrie.put("๐Ÿ‘„", true); - emojiTrie.put("๐Ÿซฆ", true); - emojiTrie.put("๐Ÿ‘ถ", true); - emojiTrie.put("๐Ÿ‘ถ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ถ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ถ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ถ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ถ๐Ÿฟ", true); - emojiTrie.put("๐Ÿง’", true); - emojiTrie.put("๐Ÿง’๐Ÿป", true); - emojiTrie.put("๐Ÿง’๐Ÿผ", true); - emojiTrie.put("๐Ÿง’๐Ÿฝ", true); - emojiTrie.put("๐Ÿง’๐Ÿพ", true); - emojiTrie.put("๐Ÿง’๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฆ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฆ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฆ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฆ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฆ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘ง๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ง๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ง๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ง๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ง๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘", true); - emojiTrie.put("๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฑ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿง”", true); - emojiTrie.put("๐Ÿง”๐Ÿป", true); - emojiTrie.put("๐Ÿง”๐Ÿผ", true); - emojiTrie.put("๐Ÿง”๐Ÿฝ", true); - emojiTrie.put("๐Ÿง”๐Ÿพ", true); - emojiTrie.put("๐Ÿง”๐Ÿฟ", true); - emojiTrie.put("๐Ÿง”โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง”โ€โ™‚", true); - emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง”โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง”โ€โ™€", true); - emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฉ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆณ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿ‘ฑโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฑโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง“", true); - emojiTrie.put("๐Ÿง“๐Ÿป", true); - emojiTrie.put("๐Ÿง“๐Ÿผ", true); - emojiTrie.put("๐Ÿง“๐Ÿฝ", true); - emojiTrie.put("๐Ÿง“๐Ÿพ", true); - emojiTrie.put("๐Ÿง“๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ด", true); - emojiTrie.put("๐Ÿ‘ด๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ด๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ด๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ด๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ด๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ต", true); - emojiTrie.put("๐Ÿ‘ต๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ต๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ต๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ต๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ต๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™", true); - emojiTrie.put("๐Ÿ™๐Ÿป", true); - emojiTrie.put("๐Ÿ™๐Ÿผ", true); - emojiTrie.put("๐Ÿ™๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™๐Ÿพ", true); - emojiTrie.put("๐Ÿ™๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™โ€โ™‚", true); - emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ™โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™โ€โ™€", true); - emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ™Ž", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿป", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿผ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿพ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™Žโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™Žโ€โ™‚", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ™Žโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™Žโ€โ™€", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ™…", true); - emojiTrie.put("๐Ÿ™…๐Ÿป", true); - emojiTrie.put("๐Ÿ™…๐Ÿผ", true); - emojiTrie.put("๐Ÿ™…๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™…๐Ÿพ", true); - emojiTrie.put("๐Ÿ™…๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™…โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™…โ€โ™‚", true); - emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ™…โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™…โ€โ™€", true); - emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ™†", true); - emojiTrie.put("๐Ÿ™†๐Ÿป", true); - emojiTrie.put("๐Ÿ™†๐Ÿผ", true); - emojiTrie.put("๐Ÿ™†๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™†๐Ÿพ", true); - emojiTrie.put("๐Ÿ™†๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™†โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™†โ€โ™‚", true); - emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ™†โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™†โ€โ™€", true); - emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿ’๐Ÿป", true); - emojiTrie.put("๐Ÿ’๐Ÿผ", true); - emojiTrie.put("๐Ÿ’๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’๐Ÿพ", true); - emojiTrie.put("๐Ÿ’๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’โ€โ™‚", true); - emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ’โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’โ€โ™€", true); - emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ™‹", true); - emojiTrie.put("๐Ÿ™‹๐Ÿป", true); - emojiTrie.put("๐Ÿ™‹๐Ÿผ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿพ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™‹โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‹โ€โ™‚", true); - emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‹โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‹โ€โ™€", true); - emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿง๐Ÿป", true); - emojiTrie.put("๐Ÿง๐Ÿผ", true); - emojiTrie.put("๐Ÿง๐Ÿฝ", true); - emojiTrie.put("๐Ÿง๐Ÿพ", true); - emojiTrie.put("๐Ÿง๐Ÿฟ", true); - emojiTrie.put("๐Ÿงโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿงโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ™‡", true); - emojiTrie.put("๐Ÿ™‡๐Ÿป", true); - emojiTrie.put("๐Ÿ™‡๐Ÿผ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฝ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿพ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฟ", true); - emojiTrie.put("๐Ÿ™‡โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‡โ€โ™‚", true); - emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ™‡โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‡โ€โ™€", true); - emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคฆ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿป", true); - emojiTrie.put("๐Ÿคฆ๐Ÿผ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿพ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฟ", true); - emojiTrie.put("๐Ÿคฆโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฆโ€โ™‚", true); - emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคฆโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฆโ€โ™€", true); - emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคท", true); - emojiTrie.put("๐Ÿคท๐Ÿป", true); - emojiTrie.put("๐Ÿคท๐Ÿผ", true); - emojiTrie.put("๐Ÿคท๐Ÿฝ", true); - emojiTrie.put("๐Ÿคท๐Ÿพ", true); - emojiTrie.put("๐Ÿคท๐Ÿฟ", true); - emojiTrie.put("๐Ÿคทโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคทโ€โ™‚", true); - emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคทโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคทโ€โ™€", true); - emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง‘โ€โš•๏ธ", true); - emojiTrie.put("๐Ÿง‘โ€โš•", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš•", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš•", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš•", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš•", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš•", true); - emojiTrie.put("๐Ÿ‘จโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘จโ€โš•", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš•", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš•", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš•", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš•", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš•", true); - emojiTrie.put("๐Ÿ‘ฉโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โš•", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš•", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš•", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš•", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš•", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš•", true); - emojiTrie.put("๐Ÿง‘โ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘จโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽ“", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿซ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿซ", true); - emojiTrie.put("๐Ÿง‘โ€โš–๏ธ", true); - emojiTrie.put("๐Ÿง‘โ€โš–", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš–", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš–", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš–", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš–", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš–", true); - emojiTrie.put("๐Ÿ‘จโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘จโ€โš–", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš–", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš–", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš–", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš–", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš–", true); - emojiTrie.put("๐Ÿ‘ฉโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โš–", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš–", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš–", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš–", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš–", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš–๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš–", true); - emojiTrie.put("๐Ÿง‘โ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘จโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŒพ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿณ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ง", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿญ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿญ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป", true); - emojiTrie.put("๐Ÿง‘โ€๐ŸŽค", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘จโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽค", true); - emojiTrie.put("๐Ÿง‘โ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘จโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽจ", true); - emojiTrie.put("๐Ÿง‘โ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿง‘โ€โœˆ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โœˆ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โœˆ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โœˆ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โœˆ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘จโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘จโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โœˆ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โœˆ๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โœˆ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿš€", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš€", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿš’", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš’", true); - emojiTrie.put("๐Ÿ‘ฎ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฎโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฎโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ•ต๏ธ", true); - emojiTrie.put("๐Ÿ•ต", true); - emojiTrie.put("๐Ÿ•ต๐Ÿป", true); - emojiTrie.put("๐Ÿ•ต๐Ÿผ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฝ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿพ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฟ", true); - emojiTrie.put("๐Ÿ•ต๏ธโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ตโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ต๏ธโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ตโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ•ต๏ธโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ตโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ต๏ธโ€โ™€", true); - emojiTrie.put("๐Ÿ•ตโ€โ™€", true); - emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ’‚", true); - emojiTrie.put("๐Ÿ’‚๐Ÿป", true); - emojiTrie.put("๐Ÿ’‚๐Ÿผ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿพ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’‚โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‚โ€โ™‚", true); - emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‚โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‚โ€โ™€", true); - emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿฅท", true); - emojiTrie.put("๐Ÿฅท๐Ÿป", true); - emojiTrie.put("๐Ÿฅท๐Ÿผ", true); - emojiTrie.put("๐Ÿฅท๐Ÿฝ", true); - emojiTrie.put("๐Ÿฅท๐Ÿพ", true); - emojiTrie.put("๐Ÿฅท๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ท", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ทโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ทโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ทโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ทโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿซ…", true); - emojiTrie.put("๐Ÿซ…๐Ÿป", true); - emojiTrie.put("๐Ÿซ…๐Ÿผ", true); - emojiTrie.put("๐Ÿซ…๐Ÿฝ", true); - emojiTrie.put("๐Ÿซ…๐Ÿพ", true); - emojiTrie.put("๐Ÿซ…๐Ÿฟ", true); - emojiTrie.put("๐Ÿคด", true); - emojiTrie.put("๐Ÿคด๐Ÿป", true); - emojiTrie.put("๐Ÿคด๐Ÿผ", true); - emojiTrie.put("๐Ÿคด๐Ÿฝ", true); - emojiTrie.put("๐Ÿคด๐Ÿพ", true); - emojiTrie.put("๐Ÿคด๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ธ", true); - emojiTrie.put("๐Ÿ‘ธ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ธ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ธ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ธ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ธ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ณ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ณโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ณโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ณโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ณโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฒ", true); - emojiTrie.put("๐Ÿ‘ฒ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฒ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฒ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿง•", true); - emojiTrie.put("๐Ÿง•๐Ÿป", true); - emojiTrie.put("๐Ÿง•๐Ÿผ", true); - emojiTrie.put("๐Ÿง•๐Ÿฝ", true); - emojiTrie.put("๐Ÿง•๐Ÿพ", true); - emojiTrie.put("๐Ÿง•๐Ÿฟ", true); - emojiTrie.put("๐Ÿคต", true); - emojiTrie.put("๐Ÿคต๐Ÿป", true); - emojiTrie.put("๐Ÿคต๐Ÿผ", true); - emojiTrie.put("๐Ÿคต๐Ÿฝ", true); - emojiTrie.put("๐Ÿคต๐Ÿพ", true); - emojiTrie.put("๐Ÿคต๐Ÿฟ", true); - emojiTrie.put("๐Ÿคตโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคตโ€โ™‚", true); - emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคตโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคตโ€โ™€", true); - emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฐ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฐโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฐโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคฐ", true); - emojiTrie.put("๐Ÿคฐ๐Ÿป", true); - emojiTrie.put("๐Ÿคฐ๐Ÿผ", true); - emojiTrie.put("๐Ÿคฐ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคฐ๐Ÿพ", true); - emojiTrie.put("๐Ÿคฐ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซƒ", true); - emojiTrie.put("๐Ÿซƒ๐Ÿป", true); - emojiTrie.put("๐Ÿซƒ๐Ÿผ", true); - emojiTrie.put("๐Ÿซƒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿซƒ๐Ÿพ", true); - emojiTrie.put("๐Ÿซƒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿซ„", true); - emojiTrie.put("๐Ÿซ„๐Ÿป", true); - emojiTrie.put("๐Ÿซ„๐Ÿผ", true); - emojiTrie.put("๐Ÿซ„๐Ÿฝ", true); - emojiTrie.put("๐Ÿซ„๐Ÿพ", true); - emojiTrie.put("๐Ÿซ„๐Ÿฟ", true); - emojiTrie.put("๐Ÿคฑ", true); - emojiTrie.put("๐Ÿคฑ๐Ÿป", true); - emojiTrie.put("๐Ÿคฑ๐Ÿผ", true); - emojiTrie.put("๐Ÿคฑ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคฑ๐Ÿพ", true); - emojiTrie.put("๐Ÿคฑ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ผ", true); - emojiTrie.put("๐Ÿ‘ผ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ผ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ผ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ผ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ผ๐Ÿฟ", true); - emojiTrie.put("๐ŸŽ…", true); - emojiTrie.put("๐ŸŽ…๐Ÿป", true); - emojiTrie.put("๐ŸŽ…๐Ÿผ", true); - emojiTrie.put("๐ŸŽ…๐Ÿฝ", true); - emojiTrie.put("๐ŸŽ…๐Ÿพ", true); - emojiTrie.put("๐ŸŽ…๐Ÿฟ", true); - emojiTrie.put("๐Ÿคถ", true); - emojiTrie.put("๐Ÿคถ๐Ÿป", true); - emojiTrie.put("๐Ÿคถ๐Ÿผ", true); - emojiTrie.put("๐Ÿคถ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคถ๐Ÿพ", true); - emojiTrie.put("๐Ÿคถ๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘โ€๐ŸŽ„", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽ„", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽ„", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽ„", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽ„", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽ„", true); - emojiTrie.put("๐Ÿฆธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿป", true); - emojiTrie.put("๐Ÿฆธ๐Ÿผ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฝ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿพ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆธโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆธโ€โ™‚", true); - emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿฆธโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆธโ€โ™€", true); - emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿฆน", true); - emojiTrie.put("๐Ÿฆน๐Ÿป", true); - emojiTrie.put("๐Ÿฆน๐Ÿผ", true); - emojiTrie.put("๐Ÿฆน๐Ÿฝ", true); - emojiTrie.put("๐Ÿฆน๐Ÿพ", true); - emojiTrie.put("๐Ÿฆน๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆนโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆนโ€โ™‚", true); - emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿฆนโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆนโ€โ™€", true); - emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง™", true); - emojiTrie.put("๐Ÿง™๐Ÿป", true); - emojiTrie.put("๐Ÿง™๐Ÿผ", true); - emojiTrie.put("๐Ÿง™๐Ÿฝ", true); - emojiTrie.put("๐Ÿง™๐Ÿพ", true); - emojiTrie.put("๐Ÿง™๐Ÿฟ", true); - emojiTrie.put("๐Ÿง™โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง™โ€โ™‚", true); - emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง™โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง™โ€โ™€", true); - emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿงš", true); - emojiTrie.put("๐Ÿงš๐Ÿป", true); - emojiTrie.put("๐Ÿงš๐Ÿผ", true); - emojiTrie.put("๐Ÿงš๐Ÿฝ", true); - emojiTrie.put("๐Ÿงš๐Ÿพ", true); - emojiTrie.put("๐Ÿงš๐Ÿฟ", true); - emojiTrie.put("๐Ÿงšโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงšโ€โ™‚", true); - emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿงšโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงšโ€โ™€", true); - emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง›", true); - emojiTrie.put("๐Ÿง›๐Ÿป", true); - emojiTrie.put("๐Ÿง›๐Ÿผ", true); - emojiTrie.put("๐Ÿง›๐Ÿฝ", true); - emojiTrie.put("๐Ÿง›๐Ÿพ", true); - emojiTrie.put("๐Ÿง›๐Ÿฟ", true); - emojiTrie.put("๐Ÿง›โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง›โ€โ™‚", true); - emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง›โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง›โ€โ™€", true); - emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿงœ", true); - emojiTrie.put("๐Ÿงœ๐Ÿป", true); - emojiTrie.put("๐Ÿงœ๐Ÿผ", true); - emojiTrie.put("๐Ÿงœ๐Ÿฝ", true); - emojiTrie.put("๐Ÿงœ๐Ÿพ", true); - emojiTrie.put("๐Ÿงœ๐Ÿฟ", true); - emojiTrie.put("๐Ÿงœโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงœโ€โ™‚", true); - emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿงœโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงœโ€โ™€", true); - emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿง๐Ÿป", true); - emojiTrie.put("๐Ÿง๐Ÿผ", true); - emojiTrie.put("๐Ÿง๐Ÿฝ", true); - emojiTrie.put("๐Ÿง๐Ÿพ", true); - emojiTrie.put("๐Ÿง๐Ÿฟ", true); - emojiTrie.put("๐Ÿงโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿงโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿงž", true); - emojiTrie.put("๐Ÿงžโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงžโ€โ™‚", true); - emojiTrie.put("๐Ÿงžโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงžโ€โ™€", true); - emojiTrie.put("๐ŸงŸ", true); - emojiTrie.put("๐ŸงŸโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŸโ€โ™‚", true); - emojiTrie.put("๐ŸงŸโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŸโ€โ™€", true); - emojiTrie.put("๐ŸงŒ", true); - emojiTrie.put("๐Ÿ’†", true); - emojiTrie.put("๐Ÿ’†๐Ÿป", true); - emojiTrie.put("๐Ÿ’†๐Ÿผ", true); - emojiTrie.put("๐Ÿ’†๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’†๐Ÿพ", true); - emojiTrie.put("๐Ÿ’†๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’†โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’†โ€โ™‚", true); - emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ’†โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’†โ€โ™€", true); - emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ’‡", true); - emojiTrie.put("๐Ÿ’‡๐Ÿป", true); - emojiTrie.put("๐Ÿ’‡๐Ÿผ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿพ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’‡โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‡โ€โ™‚", true); - emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ’‡โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‡โ€โ™€", true); - emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿšถ", true); - emojiTrie.put("๐Ÿšถ๐Ÿป", true); - emojiTrie.put("๐Ÿšถ๐Ÿผ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟ", true); - emojiTrie.put("๐Ÿšถโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โ™‚", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿšถโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โ™€", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿšถโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โžก", true); - emojiTrie.put("๐Ÿšถโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿšถโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿง๐Ÿป", true); - emojiTrie.put("๐Ÿง๐Ÿผ", true); - emojiTrie.put("๐Ÿง๐Ÿฝ", true); - emojiTrie.put("๐Ÿง๐Ÿพ", true); - emojiTrie.put("๐Ÿง๐Ÿฟ", true); - emojiTrie.put("๐Ÿงโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿงโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿงโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿงโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐ŸงŽ", true); - emojiTrie.put("๐ŸงŽ๐Ÿป", true); - emojiTrie.put("๐ŸงŽ๐Ÿผ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟ", true); - emojiTrie.put("๐ŸงŽโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โ™‚", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐ŸงŽโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โ™€", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐ŸงŽโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โžก", true); - emojiTrie.put("๐ŸงŽโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽโ€โ™€โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€โ€โžก", true); - emojiTrie.put("๐ŸงŽโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽโ€โ™‚โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚โ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏโ€โžก", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผโ€โžก", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝโ€โžก", true); - emojiTrie.put("๐Ÿƒ", true); - emojiTrie.put("๐Ÿƒ๐Ÿป", true); - emojiTrie.put("๐Ÿƒ๐Ÿผ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿƒโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โ™‚", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿƒโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โ™€", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿƒโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โžก", true); - emojiTrie.put("๐Ÿƒโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€โ€โžก", true); - emojiTrie.put("๐Ÿƒโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚โ€โžก๏ธ", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚๏ธโ€โžก", true); - emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚โ€โžก", true); - emojiTrie.put("๐Ÿ’ƒ", true); - emojiTrie.put("๐Ÿ’ƒ๐Ÿป", true); - emojiTrie.put("๐Ÿ’ƒ๐Ÿผ", true); - emojiTrie.put("๐Ÿ’ƒ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’ƒ๐Ÿพ", true); - emojiTrie.put("๐Ÿ’ƒ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ•บ", true); - emojiTrie.put("๐Ÿ•บ๐Ÿป", true); - emojiTrie.put("๐Ÿ•บ๐Ÿผ", true); - emojiTrie.put("๐Ÿ•บ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ•บ๐Ÿพ", true); - emojiTrie.put("๐Ÿ•บ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ•ด๏ธ", true); - emojiTrie.put("๐Ÿ•ด", true); - emojiTrie.put("๐Ÿ•ด๐Ÿป", true); - emojiTrie.put("๐Ÿ•ด๐Ÿผ", true); - emojiTrie.put("๐Ÿ•ด๐Ÿฝ", true); - emojiTrie.put("๐Ÿ•ด๐Ÿพ", true); - emojiTrie.put("๐Ÿ•ด๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฏ", true); - emojiTrie.put("๐Ÿ‘ฏโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‘ฏโ€โ™‚", true); - emojiTrie.put("๐Ÿ‘ฏโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‘ฏโ€โ™€", true); - emojiTrie.put("๐Ÿง–", true); - emojiTrie.put("๐Ÿง–๐Ÿป", true); - emojiTrie.put("๐Ÿง–๐Ÿผ", true); - emojiTrie.put("๐Ÿง–๐Ÿฝ", true); - emojiTrie.put("๐Ÿง–๐Ÿพ", true); - emojiTrie.put("๐Ÿง–๐Ÿฟ", true); - emojiTrie.put("๐Ÿง–โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง–โ€โ™‚", true); - emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง–โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง–โ€โ™€", true); - emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง—", true); - emojiTrie.put("๐Ÿง—๐Ÿป", true); - emojiTrie.put("๐Ÿง—๐Ÿผ", true); - emojiTrie.put("๐Ÿง—๐Ÿฝ", true); - emojiTrie.put("๐Ÿง—๐Ÿพ", true); - emojiTrie.put("๐Ÿง—๐Ÿฟ", true); - emojiTrie.put("๐Ÿง—โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง—โ€โ™‚", true); - emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง—โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง—โ€โ™€", true); - emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคบ", true); - emojiTrie.put("๐Ÿ‡", true); - emojiTrie.put("๐Ÿ‡๐Ÿป", true); - emojiTrie.put("๐Ÿ‡๐Ÿผ", true); - emojiTrie.put("๐Ÿ‡๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‡๐Ÿพ", true); - emojiTrie.put("๐Ÿ‡๐Ÿฟ", true); - emojiTrie.put("โ›ท๏ธ", true); - emojiTrie.put("โ›ท", true); - emojiTrie.put("๐Ÿ‚", true); - emojiTrie.put("๐Ÿ‚๐Ÿป", true); - emojiTrie.put("๐Ÿ‚๐Ÿผ", true); - emojiTrie.put("๐Ÿ‚๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‚๐Ÿพ", true); - emojiTrie.put("๐Ÿ‚๐Ÿฟ", true); - emojiTrie.put("๐ŸŒ๏ธ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐ŸŒ๐Ÿป", true); - emojiTrie.put("๐ŸŒ๐Ÿผ", true); - emojiTrie.put("๐ŸŒ๐Ÿฝ", true); - emojiTrie.put("๐ŸŒ๐Ÿพ", true); - emojiTrie.put("๐ŸŒ๐Ÿฟ", true); - emojiTrie.put("๐ŸŒ๏ธโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒ๏ธโ€โ™‚", true); - emojiTrie.put("๐ŸŒโ€โ™‚", true); - emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐ŸŒ๏ธโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒ๏ธโ€โ™€", true); - emojiTrie.put("๐ŸŒโ€โ™€", true); - emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ„", true); - emojiTrie.put("๐Ÿ„๐Ÿป", true); - emojiTrie.put("๐Ÿ„๐Ÿผ", true); - emojiTrie.put("๐Ÿ„๐Ÿฝ", true); - emojiTrie.put("๐Ÿ„๐Ÿพ", true); - emojiTrie.put("๐Ÿ„๐Ÿฟ", true); - emojiTrie.put("๐Ÿ„โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ„โ€โ™‚", true); - emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ„โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ„โ€โ™€", true); - emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿšฃ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿป", true); - emojiTrie.put("๐Ÿšฃ๐Ÿผ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฝ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿพ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฟ", true); - emojiTrie.put("๐Ÿšฃโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšฃโ€โ™‚", true); - emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿšฃโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšฃโ€โ™€", true); - emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐ŸŠ", true); - emojiTrie.put("๐ŸŠ๐Ÿป", true); - emojiTrie.put("๐ŸŠ๐Ÿผ", true); - emojiTrie.put("๐ŸŠ๐Ÿฝ", true); - emojiTrie.put("๐ŸŠ๐Ÿพ", true); - emojiTrie.put("๐ŸŠ๐Ÿฟ", true); - emojiTrie.put("๐ŸŠโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŠโ€โ™‚", true); - emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐ŸŠโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŠโ€โ™€", true); - emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™€", true); - emojiTrie.put("โ›น๏ธ", true); - emojiTrie.put("โ›น", true); - emojiTrie.put("โ›น๐Ÿป", true); - emojiTrie.put("โ›น๐Ÿผ", true); - emojiTrie.put("โ›น๐Ÿฝ", true); - emojiTrie.put("โ›น๐Ÿพ", true); - emojiTrie.put("โ›น๐Ÿฟ", true); - emojiTrie.put("โ›น๏ธโ€โ™‚๏ธ", true); - emojiTrie.put("โ›นโ€โ™‚๏ธ", true); - emojiTrie.put("โ›น๏ธโ€โ™‚", true); - emojiTrie.put("โ›นโ€โ™‚", true); - emojiTrie.put("โ›น๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("โ›น๐Ÿปโ€โ™‚", true); - emojiTrie.put("โ›น๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("โ›น๐Ÿผโ€โ™‚", true); - emojiTrie.put("โ›น๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("โ›น๐Ÿฝโ€โ™‚", true); - emojiTrie.put("โ›น๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("โ›น๐Ÿพโ€โ™‚", true); - emojiTrie.put("โ›น๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("โ›น๐Ÿฟโ€โ™‚", true); - emojiTrie.put("โ›น๏ธโ€โ™€๏ธ", true); - emojiTrie.put("โ›นโ€โ™€๏ธ", true); - emojiTrie.put("โ›น๏ธโ€โ™€", true); - emojiTrie.put("โ›นโ€โ™€", true); - emojiTrie.put("โ›น๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("โ›น๐Ÿปโ€โ™€", true); - emojiTrie.put("โ›น๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("โ›น๐Ÿผโ€โ™€", true); - emojiTrie.put("โ›น๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("โ›น๐Ÿฝโ€โ™€", true); - emojiTrie.put("โ›น๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("โ›น๐Ÿพโ€โ™€", true); - emojiTrie.put("โ›น๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("โ›น๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ‹๏ธ", true); - emojiTrie.put("๐Ÿ‹", true); - emojiTrie.put("๐Ÿ‹๐Ÿป", true); - emojiTrie.put("๐Ÿ‹๐Ÿผ", true); - emojiTrie.put("๐Ÿ‹๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‹๐Ÿพ", true); - emojiTrie.put("๐Ÿ‹๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‹๏ธโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹๏ธโ€โ™‚", true); - emojiTrie.put("๐Ÿ‹โ€โ™‚", true); - emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿ‹๏ธโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹๏ธโ€โ™€", true); - emojiTrie.put("๐Ÿ‹โ€โ™€", true); - emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿšด", true); - emojiTrie.put("๐Ÿšด๐Ÿป", true); - emojiTrie.put("๐Ÿšด๐Ÿผ", true); - emojiTrie.put("๐Ÿšด๐Ÿฝ", true); - emojiTrie.put("๐Ÿšด๐Ÿพ", true); - emojiTrie.put("๐Ÿšด๐Ÿฟ", true); - emojiTrie.put("๐Ÿšดโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšดโ€โ™‚", true); - emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿšดโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšดโ€โ™€", true); - emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿšต", true); - emojiTrie.put("๐Ÿšต๐Ÿป", true); - emojiTrie.put("๐Ÿšต๐Ÿผ", true); - emojiTrie.put("๐Ÿšต๐Ÿฝ", true); - emojiTrie.put("๐Ÿšต๐Ÿพ", true); - emojiTrie.put("๐Ÿšต๐Ÿฟ", true); - emojiTrie.put("๐Ÿšตโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšตโ€โ™‚", true); - emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿšตโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšตโ€โ™€", true); - emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿป", true); - emojiTrie.put("๐Ÿคธ๐Ÿผ", true); - emojiTrie.put("๐Ÿคธ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคธ๐Ÿพ", true); - emojiTrie.put("๐Ÿคธ๐Ÿฟ", true); - emojiTrie.put("๐Ÿคธโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคธโ€โ™‚", true); - emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคธโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคธโ€โ™€", true); - emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคผ", true); - emojiTrie.put("๐Ÿคผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคผโ€โ™‚", true); - emojiTrie.put("๐Ÿคผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคผโ€โ™€", true); - emojiTrie.put("๐Ÿคฝ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿป", true); - emojiTrie.put("๐Ÿคฝ๐Ÿผ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿพ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฟ", true); - emojiTrie.put("๐Ÿคฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฝโ€โ™€", true); - emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคพ", true); - emojiTrie.put("๐Ÿคพ๐Ÿป", true); - emojiTrie.put("๐Ÿคพ๐Ÿผ", true); - emojiTrie.put("๐Ÿคพ๐Ÿฝ", true); - emojiTrie.put("๐Ÿคพ๐Ÿพ", true); - emojiTrie.put("๐Ÿคพ๐Ÿฟ", true); - emojiTrie.put("๐Ÿคพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคพโ€โ™‚", true); - emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคพโ€โ™€", true); - emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿคน", true); - emojiTrie.put("๐Ÿคน๐Ÿป", true); - emojiTrie.put("๐Ÿคน๐Ÿผ", true); - emojiTrie.put("๐Ÿคน๐Ÿฝ", true); - emojiTrie.put("๐Ÿคน๐Ÿพ", true); - emojiTrie.put("๐Ÿคน๐Ÿฟ", true); - emojiTrie.put("๐Ÿคนโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคนโ€โ™‚", true); - emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿคนโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคนโ€โ™€", true); - emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿง˜", true); - emojiTrie.put("๐Ÿง˜๐Ÿป", true); - emojiTrie.put("๐Ÿง˜๐Ÿผ", true); - emojiTrie.put("๐Ÿง˜๐Ÿฝ", true); - emojiTrie.put("๐Ÿง˜๐Ÿพ", true); - emojiTrie.put("๐Ÿง˜๐Ÿฟ", true); - emojiTrie.put("๐Ÿง˜โ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง˜โ€โ™‚", true); - emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™‚", true); - emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™‚", true); - emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™‚", true); - emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™‚", true); - emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™‚๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™‚", true); - emojiTrie.put("๐Ÿง˜โ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง˜โ€โ™€", true); - emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™€", true); - emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™€", true); - emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™€", true); - emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™€", true); - emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™€๏ธ", true); - emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™€", true); - emojiTrie.put("๐Ÿ›€", true); - emojiTrie.put("๐Ÿ›€๐Ÿป", true); - emojiTrie.put("๐Ÿ›€๐Ÿผ", true); - emojiTrie.put("๐Ÿ›€๐Ÿฝ", true); - emojiTrie.put("๐Ÿ›€๐Ÿพ", true); - emojiTrie.put("๐Ÿ›€๐Ÿฟ", true); - emojiTrie.put("๐Ÿ›Œ", true); - emojiTrie.put("๐Ÿ›Œ๐Ÿป", true); - emojiTrie.put("๐Ÿ›Œ๐Ÿผ", true); - emojiTrie.put("๐Ÿ›Œ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ›Œ๐Ÿพ", true); - emojiTrie.put("๐Ÿ›Œ๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ญ", true); - emojiTrie.put("๐Ÿ‘ญ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ญ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ญ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ญ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ญ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ซ", true); - emojiTrie.put("๐Ÿ‘ซ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ซ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ซ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ซ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ซ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฌ", true); - emojiTrie.put("๐Ÿ‘ฌ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฌ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฌ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฌ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฌ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿ’๐Ÿป", true); - emojiTrie.put("๐Ÿ’๐Ÿผ", true); - emojiTrie.put("๐Ÿ’๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’๐Ÿพ", true); - emojiTrie.put("๐Ÿ’๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘จโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ’‘", true); - emojiTrie.put("๐Ÿ’‘๐Ÿป", true); - emojiTrie.put("๐Ÿ’‘๐Ÿผ", true); - emojiTrie.put("๐Ÿ’‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿ’‘๐Ÿพ", true); - emojiTrie.put("๐Ÿ’‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿฟ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿป", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿผ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿฝ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘จโ€โคโ€๐Ÿ‘จ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ", true); - emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ‘ฉ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿป", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", true); - emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", true); - emojiTrie.put("๐Ÿ—ฃ๏ธ", true); - emojiTrie.put("๐Ÿ—ฃ", true); - emojiTrie.put("๐Ÿ‘ค", true); - emojiTrie.put("๐Ÿ‘ฅ", true); - emojiTrie.put("๐Ÿซ‚", true); - emojiTrie.put("๐Ÿ‘ช", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿง’", true); - emojiTrie.put("๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’", true); - emojiTrie.put("๐Ÿ‘ฃ", true); - emojiTrie.put("๐Ÿป", true); - emojiTrie.put("๐Ÿผ", true); - emojiTrie.put("๐Ÿฝ", true); - emojiTrie.put("๐Ÿพ", true); - emojiTrie.put("๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆฐ", true); - emojiTrie.put("๐Ÿฆฑ", true); - emojiTrie.put("๐Ÿฆณ", true); - emojiTrie.put("๐Ÿฆฒ", true); - emojiTrie.put("๐Ÿต", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿฆง", true); - emojiTrie.put("๐Ÿถ", true); - emojiTrie.put("๐Ÿ•", true); - emojiTrie.put("๐Ÿฆฎ", true); - emojiTrie.put("๐Ÿ•โ€๐Ÿฆบ", true); - emojiTrie.put("๐Ÿฉ", true); - emojiTrie.put("๐Ÿบ", true); - emojiTrie.put("๐ŸฆŠ", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿฑ", true); - emojiTrie.put("๐Ÿˆ", true); - emojiTrie.put("๐Ÿˆโ€โฌ›", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿฏ", true); - emojiTrie.put("๐Ÿ…", true); - emojiTrie.put("๐Ÿ†", true); - emojiTrie.put("๐Ÿด", true); - emojiTrie.put("๐ŸซŽ", true); - emojiTrie.put("๐Ÿซ", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐Ÿฆ„", true); - emojiTrie.put("๐Ÿฆ“", true); - emojiTrie.put("๐ŸฆŒ", true); - emojiTrie.put("๐Ÿฆฌ", true); - emojiTrie.put("๐Ÿฎ", true); - emojiTrie.put("๐Ÿ‚", true); - emojiTrie.put("๐Ÿƒ", true); - emojiTrie.put("๐Ÿ„", true); - emojiTrie.put("๐Ÿท", true); - emojiTrie.put("๐Ÿ–", true); - emojiTrie.put("๐Ÿ—", true); - emojiTrie.put("๐Ÿฝ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿช", true); - emojiTrie.put("๐Ÿซ", true); - emojiTrie.put("๐Ÿฆ™", true); - emojiTrie.put("๐Ÿฆ’", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿฆฃ", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿฆ›", true); - emojiTrie.put("๐Ÿญ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ€", true); - emojiTrie.put("๐Ÿน", true); - emojiTrie.put("๐Ÿฐ", true); - emojiTrie.put("๐Ÿ‡", true); - emojiTrie.put("๐Ÿฟ๏ธ", true); - emojiTrie.put("๐Ÿฟ", true); - emojiTrie.put("๐Ÿฆซ", true); - emojiTrie.put("๐Ÿฆ”", true); - emojiTrie.put("๐Ÿฆ‡", true); - emojiTrie.put("๐Ÿป", true); - emojiTrie.put("๐Ÿปโ€โ„๏ธ", true); - emojiTrie.put("๐Ÿปโ€โ„", true); - emojiTrie.put("๐Ÿจ", true); - emojiTrie.put("๐Ÿผ", true); - emojiTrie.put("๐Ÿฆฅ", true); - emojiTrie.put("๐Ÿฆฆ", true); - emojiTrie.put("๐Ÿฆจ", true); - emojiTrie.put("๐Ÿฆ˜", true); - emojiTrie.put("๐Ÿฆก", true); - emojiTrie.put("๐Ÿพ", true); - emojiTrie.put("๐Ÿฆƒ", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿฃ", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿ•Š๏ธ", true); - emojiTrie.put("๐Ÿ•Š", true); - emojiTrie.put("๐Ÿฆ…", true); - emojiTrie.put("๐Ÿฆ†", true); - emojiTrie.put("๐Ÿฆข", true); - emojiTrie.put("๐Ÿฆ‰", true); - emojiTrie.put("๐Ÿฆค", true); - emojiTrie.put("๐Ÿชถ", true); - emojiTrie.put("๐Ÿฆฉ", true); - emojiTrie.put("๐Ÿฆš", true); - emojiTrie.put("๐Ÿฆœ", true); - emojiTrie.put("๐Ÿชฝ", true); - emojiTrie.put("๐Ÿฆโ€โฌ›", true); - emojiTrie.put("๐Ÿชฟ", true); - emojiTrie.put("๐Ÿฆโ€๐Ÿ”ฅ", true); - emojiTrie.put("๐Ÿธ", true); - emojiTrie.put("๐ŸŠ", true); - emojiTrie.put("๐Ÿข", true); - emojiTrie.put("๐ŸฆŽ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿฒ", true); - emojiTrie.put("๐Ÿ‰", true); - emojiTrie.put("๐Ÿฆ•", true); - emojiTrie.put("๐Ÿฆ–", true); - emojiTrie.put("๐Ÿณ", true); - emojiTrie.put("๐Ÿ‹", true); - emojiTrie.put("๐Ÿฌ", true); - emojiTrie.put("๐Ÿฆญ", true); - emojiTrie.put("๐ŸŸ", true); - emojiTrie.put("๐Ÿ ", true); - emojiTrie.put("๐Ÿก", true); - emojiTrie.put("๐Ÿฆˆ", true); - emojiTrie.put("๐Ÿ™", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐Ÿชธ", true); - emojiTrie.put("๐Ÿชผ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐Ÿฆ‹", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐Ÿœ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿชฒ", true); - emojiTrie.put("๐Ÿž", true); - emojiTrie.put("๐Ÿฆ—", true); - emojiTrie.put("๐Ÿชณ", true); - emojiTrie.put("๐Ÿ•ท๏ธ", true); - emojiTrie.put("๐Ÿ•ท", true); - emojiTrie.put("๐Ÿ•ธ๏ธ", true); - emojiTrie.put("๐Ÿ•ธ", true); - emojiTrie.put("๐Ÿฆ‚", true); - emojiTrie.put("๐ŸฆŸ", true); - emojiTrie.put("๐Ÿชฐ", true); - emojiTrie.put("๐Ÿชฑ", true); - emojiTrie.put("๐Ÿฆ ", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐ŸŒธ", true); - emojiTrie.put("๐Ÿ’ฎ", true); - emojiTrie.put("๐Ÿชท", true); - emojiTrie.put("๐Ÿต๏ธ", true); - emojiTrie.put("๐Ÿต", true); - emojiTrie.put("๐ŸŒน", true); - emojiTrie.put("๐Ÿฅ€", true); - emojiTrie.put("๐ŸŒบ", true); - emojiTrie.put("๐ŸŒป", true); - emojiTrie.put("๐ŸŒผ", true); - emojiTrie.put("๐ŸŒท", true); - emojiTrie.put("๐Ÿชป", true); - emojiTrie.put("๐ŸŒฑ", true); - emojiTrie.put("๐Ÿชด", true); - emojiTrie.put("๐ŸŒฒ", true); - emojiTrie.put("๐ŸŒณ", true); - emojiTrie.put("๐ŸŒด", true); - emojiTrie.put("๐ŸŒต", true); - emojiTrie.put("๐ŸŒพ", true); - emojiTrie.put("๐ŸŒฟ", true); - emojiTrie.put("โ˜˜๏ธ", true); - emojiTrie.put("โ˜˜", true); - emojiTrie.put("๐Ÿ€", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ‚", true); - emojiTrie.put("๐Ÿƒ", true); - emojiTrie.put("๐Ÿชน", true); - emojiTrie.put("๐Ÿชบ", true); - emojiTrie.put("๐Ÿ„", true); - emojiTrie.put("๐Ÿ‡", true); - emojiTrie.put("๐Ÿˆ", true); - emojiTrie.put("๐Ÿ‰", true); - emojiTrie.put("๐ŸŠ", true); - emojiTrie.put("๐Ÿ‹", true); - emojiTrie.put("๐Ÿ‹โ€๐ŸŸฉ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿฅญ", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿซ", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿ…", true); - emojiTrie.put("๐Ÿซ’", true); - emojiTrie.put("๐Ÿฅฅ", true); - emojiTrie.put("๐Ÿฅ‘", true); - emojiTrie.put("๐Ÿ†", true); - emojiTrie.put("๐Ÿฅ”", true); - emojiTrie.put("๐Ÿฅ•", true); - emojiTrie.put("๐ŸŒฝ", true); - emojiTrie.put("๐ŸŒถ๏ธ", true); - emojiTrie.put("๐ŸŒถ", true); - emojiTrie.put("๐Ÿซ‘", true); - emojiTrie.put("๐Ÿฅ’", true); - emojiTrie.put("๐Ÿฅฌ", true); - emojiTrie.put("๐Ÿฅฆ", true); - emojiTrie.put("๐Ÿง„", true); - emojiTrie.put("๐Ÿง…", true); - emojiTrie.put("๐Ÿฅœ", true); - emojiTrie.put("๐Ÿซ˜", true); - emojiTrie.put("๐ŸŒฐ", true); - emojiTrie.put("๐Ÿซš", true); - emojiTrie.put("๐Ÿซ›", true); - emojiTrie.put("๐Ÿ„โ€๐ŸŸซ", true); - emojiTrie.put("๐Ÿž", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿฅ–", true); - emojiTrie.put("๐Ÿซ“", true); - emojiTrie.put("๐Ÿฅจ", true); - emojiTrie.put("๐Ÿฅฏ", true); - emojiTrie.put("๐Ÿฅž", true); - emojiTrie.put("๐Ÿง‡", true); - emojiTrie.put("๐Ÿง€", true); - emojiTrie.put("๐Ÿ–", true); - emojiTrie.put("๐Ÿ—", true); - emojiTrie.put("๐Ÿฅฉ", true); - emojiTrie.put("๐Ÿฅ“", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐ŸŸ", true); - emojiTrie.put("๐Ÿ•", true); - emojiTrie.put("๐ŸŒญ", true); - emojiTrie.put("๐Ÿฅช", true); - emojiTrie.put("๐ŸŒฎ", true); - emojiTrie.put("๐ŸŒฏ", true); - emojiTrie.put("๐Ÿซ”", true); - emojiTrie.put("๐Ÿฅ™", true); - emojiTrie.put("๐Ÿง†", true); - emojiTrie.put("๐Ÿฅš", true); - emojiTrie.put("๐Ÿณ", true); - emojiTrie.put("๐Ÿฅ˜", true); - emojiTrie.put("๐Ÿฒ", true); - emojiTrie.put("๐Ÿซ•", true); - emojiTrie.put("๐Ÿฅฃ", true); - emojiTrie.put("๐Ÿฅ—", true); - emojiTrie.put("๐Ÿฟ", true); - emojiTrie.put("๐Ÿงˆ", true); - emojiTrie.put("๐Ÿง‚", true); - emojiTrie.put("๐Ÿฅซ", true); - emojiTrie.put("๐Ÿฑ", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿ™", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐Ÿœ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ ", true); - emojiTrie.put("๐Ÿข", true); - emojiTrie.put("๐Ÿฃ", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿฅฎ", true); - emojiTrie.put("๐Ÿก", true); - emojiTrie.put("๐ŸฅŸ", true); - emojiTrie.put("๐Ÿฅ ", true); - emojiTrie.put("๐Ÿฅก", true); - emojiTrie.put("๐Ÿฆ€", true); - emojiTrie.put("๐Ÿฆž", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿฆ‘", true); - emojiTrie.put("๐Ÿฆช", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿจ", true); - emojiTrie.put("๐Ÿฉ", true); - emojiTrie.put("๐Ÿช", true); - emojiTrie.put("๐ŸŽ‚", true); - emojiTrie.put("๐Ÿฐ", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿฅง", true); - emojiTrie.put("๐Ÿซ", true); - emojiTrie.put("๐Ÿฌ", true); - emojiTrie.put("๐Ÿญ", true); - emojiTrie.put("๐Ÿฎ", true); - emojiTrie.put("๐Ÿฏ", true); - emojiTrie.put("๐Ÿผ", true); - emojiTrie.put("๐Ÿฅ›", true); - emojiTrie.put("โ˜•", true); - emojiTrie.put("๐Ÿซ–", true); - emojiTrie.put("๐Ÿต", true); - emojiTrie.put("๐Ÿถ", true); - emojiTrie.put("๐Ÿพ", true); - emojiTrie.put("๐Ÿท", true); - emojiTrie.put("๐Ÿธ", true); - emojiTrie.put("๐Ÿน", true); - emojiTrie.put("๐Ÿบ", true); - emojiTrie.put("๐Ÿป", true); - emojiTrie.put("๐Ÿฅ‚", true); - emojiTrie.put("๐Ÿฅƒ", true); - emojiTrie.put("๐Ÿซ—", true); - emojiTrie.put("๐Ÿฅค", true); - emojiTrie.put("๐Ÿง‹", true); - emojiTrie.put("๐Ÿงƒ", true); - emojiTrie.put("๐Ÿง‰", true); - emojiTrie.put("๐ŸงŠ", true); - emojiTrie.put("๐Ÿฅข", true); - emojiTrie.put("๐Ÿฝ๏ธ", true); - emojiTrie.put("๐Ÿฝ", true); - emojiTrie.put("๐Ÿด", true); - emojiTrie.put("๐Ÿฅ„", true); - emojiTrie.put("๐Ÿ”ช", true); - emojiTrie.put("๐Ÿซ™", true); - emojiTrie.put("๐Ÿบ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐ŸŒŽ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐Ÿ—บ๏ธ", true); - emojiTrie.put("๐Ÿ—บ", true); - emojiTrie.put("๐Ÿ—พ", true); - emojiTrie.put("๐Ÿงญ", true); - emojiTrie.put("๐Ÿ”๏ธ", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("โ›ฐ๏ธ", true); - emojiTrie.put("โ›ฐ", true); - emojiTrie.put("๐ŸŒ‹", true); - emojiTrie.put("๐Ÿ—ป", true); - emojiTrie.put("๐Ÿ•๏ธ", true); - emojiTrie.put("๐Ÿ•", true); - emojiTrie.put("๐Ÿ–๏ธ", true); - emojiTrie.put("๐Ÿ–", true); - emojiTrie.put("๐Ÿœ๏ธ", true); - emojiTrie.put("๐Ÿœ", true); - emojiTrie.put("๐Ÿ๏ธ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿž๏ธ", true); - emojiTrie.put("๐Ÿž", true); - emojiTrie.put("๐ŸŸ๏ธ", true); - emojiTrie.put("๐ŸŸ", true); - emojiTrie.put("๐Ÿ›๏ธ", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐Ÿ—๏ธ", true); - emojiTrie.put("๐Ÿ—", true); - emojiTrie.put("๐Ÿงฑ", true); - emojiTrie.put("๐Ÿชจ", true); - emojiTrie.put("๐Ÿชต", true); - emojiTrie.put("๐Ÿ›–", true); - emojiTrie.put("๐Ÿ˜๏ธ", true); - emojiTrie.put("๐Ÿ˜", true); - emojiTrie.put("๐Ÿš๏ธ", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐Ÿ ", true); - emojiTrie.put("๐Ÿก", true); - emojiTrie.put("๐Ÿข", true); - emojiTrie.put("๐Ÿฃ", true); - emojiTrie.put("๐Ÿค", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿฆ", true); - emojiTrie.put("๐Ÿจ", true); - emojiTrie.put("๐Ÿฉ", true); - emojiTrie.put("๐Ÿช", true); - emojiTrie.put("๐Ÿซ", true); - emojiTrie.put("๐Ÿฌ", true); - emojiTrie.put("๐Ÿญ", true); - emojiTrie.put("๐Ÿฏ", true); - emojiTrie.put("๐Ÿฐ", true); - emojiTrie.put("๐Ÿ’’", true); - emojiTrie.put("๐Ÿ—ผ", true); - emojiTrie.put("๐Ÿ—ฝ", true); - emojiTrie.put("โ›ช", true); - emojiTrie.put("๐Ÿ•Œ", true); - emojiTrie.put("๐Ÿ›•", true); - emojiTrie.put("๐Ÿ•", true); - emojiTrie.put("โ›ฉ๏ธ", true); - emojiTrie.put("โ›ฉ", true); - emojiTrie.put("๐Ÿ•‹", true); - emojiTrie.put("โ›ฒ", true); - emojiTrie.put("โ›บ", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐ŸŒƒ", true); - emojiTrie.put("๐Ÿ™๏ธ", true); - emojiTrie.put("๐Ÿ™", true); - emojiTrie.put("๐ŸŒ„", true); - emojiTrie.put("๐ŸŒ…", true); - emojiTrie.put("๐ŸŒ†", true); - emojiTrie.put("๐ŸŒ‡", true); - emojiTrie.put("๐ŸŒ‰", true); - emojiTrie.put("โ™จ๏ธ", true); - emojiTrie.put("โ™จ", true); - emojiTrie.put("๐ŸŽ ", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐ŸŽก", true); - emojiTrie.put("๐ŸŽข", true); - emojiTrie.put("๐Ÿ’ˆ", true); - emojiTrie.put("๐ŸŽช", true); - emojiTrie.put("๐Ÿš‚", true); - emojiTrie.put("๐Ÿšƒ", true); - emojiTrie.put("๐Ÿš„", true); - emojiTrie.put("๐Ÿš…", true); - emojiTrie.put("๐Ÿš†", true); - emojiTrie.put("๐Ÿš‡", true); - emojiTrie.put("๐Ÿšˆ", true); - emojiTrie.put("๐Ÿš‰", true); - emojiTrie.put("๐ŸšŠ", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐Ÿšž", true); - emojiTrie.put("๐Ÿš‹", true); - emojiTrie.put("๐ŸšŒ", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐ŸšŽ", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐Ÿš‘", true); - emojiTrie.put("๐Ÿš’", true); - emojiTrie.put("๐Ÿš“", true); - emojiTrie.put("๐Ÿš”", true); - emojiTrie.put("๐Ÿš•", true); - emojiTrie.put("๐Ÿš–", true); - emojiTrie.put("๐Ÿš—", true); - emojiTrie.put("๐Ÿš˜", true); - emojiTrie.put("๐Ÿš™", true); - emojiTrie.put("๐Ÿ›ป", true); - emojiTrie.put("๐Ÿšš", true); - emojiTrie.put("๐Ÿš›", true); - emojiTrie.put("๐Ÿšœ", true); - emojiTrie.put("๐ŸŽ๏ธ", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐Ÿ๏ธ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ›ต", true); - emojiTrie.put("๐Ÿฆฝ", true); - emojiTrie.put("๐Ÿฆผ", true); - emojiTrie.put("๐Ÿ›บ", true); - emojiTrie.put("๐Ÿšฒ", true); - emojiTrie.put("๐Ÿ›ด", true); - emojiTrie.put("๐Ÿ›น", true); - emojiTrie.put("๐Ÿ›ผ", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐Ÿ›ฃ๏ธ", true); - emojiTrie.put("๐Ÿ›ฃ", true); - emojiTrie.put("๐Ÿ›ค๏ธ", true); - emojiTrie.put("๐Ÿ›ค", true); - emojiTrie.put("๐Ÿ›ข๏ธ", true); - emojiTrie.put("๐Ÿ›ข", true); - emojiTrie.put("โ›ฝ", true); - emojiTrie.put("๐Ÿ›ž", true); - emojiTrie.put("๐Ÿšจ", true); - emojiTrie.put("๐Ÿšฅ", true); - emojiTrie.put("๐Ÿšฆ", true); - emojiTrie.put("๐Ÿ›‘", true); - emojiTrie.put("๐Ÿšง", true); - emojiTrie.put("โš“", true); - emojiTrie.put("๐Ÿ›Ÿ", true); - emojiTrie.put("โ›ต", true); - emojiTrie.put("๐Ÿ›ถ", true); - emojiTrie.put("๐Ÿšค", true); - emojiTrie.put("๐Ÿ›ณ๏ธ", true); - emojiTrie.put("๐Ÿ›ณ", true); - emojiTrie.put("โ›ด๏ธ", true); - emojiTrie.put("โ›ด", true); - emojiTrie.put("๐Ÿ›ฅ๏ธ", true); - emojiTrie.put("๐Ÿ›ฅ", true); - emojiTrie.put("๐Ÿšข", true); - emojiTrie.put("โœˆ๏ธ", true); - emojiTrie.put("โœˆ", true); - emojiTrie.put("๐Ÿ›ฉ๏ธ", true); - emojiTrie.put("๐Ÿ›ฉ", true); - emojiTrie.put("๐Ÿ›ซ", true); - emojiTrie.put("๐Ÿ›ฌ", true); - emojiTrie.put("๐Ÿช‚", true); - emojiTrie.put("๐Ÿ’บ", true); - emojiTrie.put("๐Ÿš", true); - emojiTrie.put("๐ŸšŸ", true); - emojiTrie.put("๐Ÿš ", true); - emojiTrie.put("๐Ÿšก", true); - emojiTrie.put("๐Ÿ›ฐ๏ธ", true); - emojiTrie.put("๐Ÿ›ฐ", true); - emojiTrie.put("๐Ÿš€", true); - emojiTrie.put("๐Ÿ›ธ", true); - emojiTrie.put("๐Ÿ›Ž๏ธ", true); - emojiTrie.put("๐Ÿ›Ž", true); - emojiTrie.put("๐Ÿงณ", true); - emojiTrie.put("โŒ›", true); - emojiTrie.put("โณ", true); - emojiTrie.put("โŒš", true); - emojiTrie.put("โฐ", true); - emojiTrie.put("โฑ๏ธ", true); - emojiTrie.put("โฑ", true); - emojiTrie.put("โฒ๏ธ", true); - emojiTrie.put("โฒ", true); - emojiTrie.put("๐Ÿ•ฐ๏ธ", true); - emojiTrie.put("๐Ÿ•ฐ", true); - emojiTrie.put("๐Ÿ•›", true); - emojiTrie.put("๐Ÿ•ง", true); - emojiTrie.put("๐Ÿ•", true); - emojiTrie.put("๐Ÿ•œ", true); - emojiTrie.put("๐Ÿ•‘", true); - emojiTrie.put("๐Ÿ•", true); - emojiTrie.put("๐Ÿ•’", true); - emojiTrie.put("๐Ÿ•ž", true); - emojiTrie.put("๐Ÿ•“", true); - emojiTrie.put("๐Ÿ•Ÿ", true); - emojiTrie.put("๐Ÿ•”", true); - emojiTrie.put("๐Ÿ• ", true); - emojiTrie.put("๐Ÿ••", true); - emojiTrie.put("๐Ÿ•ก", true); - emojiTrie.put("๐Ÿ•–", true); - emojiTrie.put("๐Ÿ•ข", true); - emojiTrie.put("๐Ÿ•—", true); - emojiTrie.put("๐Ÿ•ฃ", true); - emojiTrie.put("๐Ÿ•˜", true); - emojiTrie.put("๐Ÿ•ค", true); - emojiTrie.put("๐Ÿ•™", true); - emojiTrie.put("๐Ÿ•ฅ", true); - emojiTrie.put("๐Ÿ•š", true); - emojiTrie.put("๐Ÿ•ฆ", true); - emojiTrie.put("๐ŸŒ‘", true); - emojiTrie.put("๐ŸŒ’", true); - emojiTrie.put("๐ŸŒ“", true); - emojiTrie.put("๐ŸŒ”", true); - emojiTrie.put("๐ŸŒ•", true); - emojiTrie.put("๐ŸŒ–", true); - emojiTrie.put("๐ŸŒ—", true); - emojiTrie.put("๐ŸŒ˜", true); - emojiTrie.put("๐ŸŒ™", true); - emojiTrie.put("๐ŸŒš", true); - emojiTrie.put("๐ŸŒ›", true); - emojiTrie.put("๐ŸŒœ", true); - emojiTrie.put("๐ŸŒก๏ธ", true); - emojiTrie.put("๐ŸŒก", true); - emojiTrie.put("โ˜€๏ธ", true); - emojiTrie.put("โ˜€", true); - emojiTrie.put("๐ŸŒ", true); - emojiTrie.put("๐ŸŒž", true); - emojiTrie.put("๐Ÿช", true); - emojiTrie.put("โญ", true); - emojiTrie.put("๐ŸŒŸ", true); - emojiTrie.put("๐ŸŒ ", true); - emojiTrie.put("๐ŸŒŒ", true); - emojiTrie.put("โ˜๏ธ", true); - emojiTrie.put("โ˜", true); - emojiTrie.put("โ›…", true); - emojiTrie.put("โ›ˆ๏ธ", true); - emojiTrie.put("โ›ˆ", true); - emojiTrie.put("๐ŸŒค๏ธ", true); - emojiTrie.put("๐ŸŒค", true); - emojiTrie.put("๐ŸŒฅ๏ธ", true); - emojiTrie.put("๐ŸŒฅ", true); - emojiTrie.put("๐ŸŒฆ๏ธ", true); - emojiTrie.put("๐ŸŒฆ", true); - emojiTrie.put("๐ŸŒง๏ธ", true); - emojiTrie.put("๐ŸŒง", true); - emojiTrie.put("๐ŸŒจ๏ธ", true); - emojiTrie.put("๐ŸŒจ", true); - emojiTrie.put("๐ŸŒฉ๏ธ", true); - emojiTrie.put("๐ŸŒฉ", true); - emojiTrie.put("๐ŸŒช๏ธ", true); - emojiTrie.put("๐ŸŒช", true); - emojiTrie.put("๐ŸŒซ๏ธ", true); - emojiTrie.put("๐ŸŒซ", true); - emojiTrie.put("๐ŸŒฌ๏ธ", true); - emojiTrie.put("๐ŸŒฌ", true); - emojiTrie.put("๐ŸŒ€", true); - emojiTrie.put("๐ŸŒˆ", true); - emojiTrie.put("๐ŸŒ‚", true); - emojiTrie.put("โ˜‚๏ธ", true); - emojiTrie.put("โ˜‚", true); - emojiTrie.put("โ˜”", true); - emojiTrie.put("โ›ฑ๏ธ", true); - emojiTrie.put("โ›ฑ", true); - emojiTrie.put("โšก", true); - emojiTrie.put("โ„๏ธ", true); - emojiTrie.put("โ„", true); - emojiTrie.put("โ˜ƒ๏ธ", true); - emojiTrie.put("โ˜ƒ", true); - emojiTrie.put("โ›„", true); - emojiTrie.put("โ˜„๏ธ", true); - emojiTrie.put("โ˜„", true); - emojiTrie.put("๐Ÿ”ฅ", true); - emojiTrie.put("๐Ÿ’ง", true); - emojiTrie.put("๐ŸŒŠ", true); - emojiTrie.put("๐ŸŽƒ", true); - emojiTrie.put("๐ŸŽ„", true); - emojiTrie.put("๐ŸŽ†", true); - emojiTrie.put("๐ŸŽ‡", true); - emojiTrie.put("๐Ÿงจ", true); - emojiTrie.put("โœจ", true); - emojiTrie.put("๐ŸŽˆ", true); - emojiTrie.put("๐ŸŽ‰", true); - emojiTrie.put("๐ŸŽŠ", true); - emojiTrie.put("๐ŸŽ‹", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐ŸŽŽ", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐ŸŽ‘", true); - emojiTrie.put("๐Ÿงง", true); - emojiTrie.put("๐ŸŽ€", true); - emojiTrie.put("๐ŸŽ", true); - emojiTrie.put("๐ŸŽ—๏ธ", true); - emojiTrie.put("๐ŸŽ—", true); - emojiTrie.put("๐ŸŽŸ๏ธ", true); - emojiTrie.put("๐ŸŽŸ", true); - emojiTrie.put("๐ŸŽซ", true); - emojiTrie.put("๐ŸŽ–๏ธ", true); - emojiTrie.put("๐ŸŽ–", true); - emojiTrie.put("๐Ÿ†", true); - emojiTrie.put("๐Ÿ…", true); - emojiTrie.put("๐Ÿฅ‡", true); - emojiTrie.put("๐Ÿฅˆ", true); - emojiTrie.put("๐Ÿฅ‰", true); - emojiTrie.put("โšฝ", true); - emojiTrie.put("โšพ", true); - emojiTrie.put("๐ŸฅŽ", true); - emojiTrie.put("๐Ÿ€", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿˆ", true); - emojiTrie.put("๐Ÿ‰", true); - emojiTrie.put("๐ŸŽพ", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐ŸŽณ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿธ", true); - emojiTrie.put("๐ŸฅŠ", true); - emojiTrie.put("๐Ÿฅ‹", true); - emojiTrie.put("๐Ÿฅ…", true); - emojiTrie.put("โ›ณ", true); - emojiTrie.put("โ›ธ๏ธ", true); - emojiTrie.put("โ›ธ", true); - emojiTrie.put("๐ŸŽฃ", true); - emojiTrie.put("๐Ÿคฟ", true); - emojiTrie.put("๐ŸŽฝ", true); - emojiTrie.put("๐ŸŽฟ", true); - emojiTrie.put("๐Ÿ›ท", true); - emojiTrie.put("๐ŸฅŒ", true); - emojiTrie.put("๐ŸŽฏ", true); - emojiTrie.put("๐Ÿช€", true); - emojiTrie.put("๐Ÿช", true); - emojiTrie.put("๐Ÿ”ซ", true); - emojiTrie.put("๐ŸŽฑ", true); - emojiTrie.put("๐Ÿ”ฎ", true); - emojiTrie.put("๐Ÿช„", true); - emojiTrie.put("๐ŸŽฎ", true); - emojiTrie.put("๐Ÿ•น๏ธ", true); - emojiTrie.put("๐Ÿ•น", true); - emojiTrie.put("๐ŸŽฐ", true); - emojiTrie.put("๐ŸŽฒ", true); - emojiTrie.put("๐Ÿงฉ", true); - emojiTrie.put("๐Ÿงธ", true); - emojiTrie.put("๐Ÿช…", true); - emojiTrie.put("๐Ÿชฉ", true); - emojiTrie.put("๐Ÿช†", true); - emojiTrie.put("โ™ ๏ธ", true); - emojiTrie.put("โ™ ", true); - emojiTrie.put("โ™ฅ๏ธ", true); - emojiTrie.put("โ™ฅ", true); - emojiTrie.put("โ™ฆ๏ธ", true); - emojiTrie.put("โ™ฆ", true); - emojiTrie.put("โ™ฃ๏ธ", true); - emojiTrie.put("โ™ฃ", true); - emojiTrie.put("โ™Ÿ๏ธ", true); - emojiTrie.put("โ™Ÿ", true); - emojiTrie.put("๐Ÿƒ", true); - emojiTrie.put("๐Ÿ€„", true); - emojiTrie.put("๐ŸŽด", true); - emojiTrie.put("๐ŸŽญ", true); - emojiTrie.put("๐Ÿ–ผ๏ธ", true); - emojiTrie.put("๐Ÿ–ผ", true); - emojiTrie.put("๐ŸŽจ", true); - emojiTrie.put("๐Ÿงต", true); - emojiTrie.put("๐Ÿชก", true); - emojiTrie.put("๐Ÿงถ", true); - emojiTrie.put("๐Ÿชข", true); - emojiTrie.put("๐Ÿ‘“", true); - emojiTrie.put("๐Ÿ•ถ๏ธ", true); - emojiTrie.put("๐Ÿ•ถ", true); - emojiTrie.put("๐Ÿฅฝ", true); - emojiTrie.put("๐Ÿฅผ", true); - emojiTrie.put("๐Ÿฆบ", true); - emojiTrie.put("๐Ÿ‘”", true); - emojiTrie.put("๐Ÿ‘•", true); - emojiTrie.put("๐Ÿ‘–", true); - emojiTrie.put("๐Ÿงฃ", true); - emojiTrie.put("๐Ÿงค", true); - emojiTrie.put("๐Ÿงฅ", true); - emojiTrie.put("๐Ÿงฆ", true); - emojiTrie.put("๐Ÿ‘—", true); - emojiTrie.put("๐Ÿ‘˜", true); - emojiTrie.put("๐Ÿฅป", true); - emojiTrie.put("๐Ÿฉฑ", true); - emojiTrie.put("๐Ÿฉฒ", true); - emojiTrie.put("๐Ÿฉณ", true); - emojiTrie.put("๐Ÿ‘™", true); - emojiTrie.put("๐Ÿ‘š", true); - emojiTrie.put("๐Ÿชญ", true); - emojiTrie.put("๐Ÿ‘›", true); - emojiTrie.put("๐Ÿ‘œ", true); - emojiTrie.put("๐Ÿ‘", true); - emojiTrie.put("๐Ÿ›๏ธ", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐ŸŽ’", true); - emojiTrie.put("๐Ÿฉด", true); - emojiTrie.put("๐Ÿ‘ž", true); - emojiTrie.put("๐Ÿ‘Ÿ", true); - emojiTrie.put("๐Ÿฅพ", true); - emojiTrie.put("๐Ÿฅฟ", true); - emojiTrie.put("๐Ÿ‘ ", true); - emojiTrie.put("๐Ÿ‘ก", true); - emojiTrie.put("๐Ÿฉฐ", true); - emojiTrie.put("๐Ÿ‘ข", true); - emojiTrie.put("๐Ÿชฎ", true); - emojiTrie.put("๐Ÿ‘‘", true); - emojiTrie.put("๐Ÿ‘’", true); - emojiTrie.put("๐ŸŽฉ", true); - emojiTrie.put("๐ŸŽ“", true); - emojiTrie.put("๐Ÿงข", true); - emojiTrie.put("๐Ÿช–", true); - emojiTrie.put("โ›‘๏ธ", true); - emojiTrie.put("โ›‘", true); - emojiTrie.put("๐Ÿ“ฟ", true); - emojiTrie.put("๐Ÿ’„", true); - emojiTrie.put("๐Ÿ’", true); - emojiTrie.put("๐Ÿ’Ž", true); - emojiTrie.put("๐Ÿ”‡", true); - emojiTrie.put("๐Ÿ”ˆ", true); - emojiTrie.put("๐Ÿ”‰", true); - emojiTrie.put("๐Ÿ”Š", true); - emojiTrie.put("๐Ÿ“ข", true); - emojiTrie.put("๐Ÿ“ฃ", true); - emojiTrie.put("๐Ÿ“ฏ", true); - emojiTrie.put("๐Ÿ””", true); - emojiTrie.put("๐Ÿ”•", true); - emojiTrie.put("๐ŸŽผ", true); - emojiTrie.put("๐ŸŽต", true); - emojiTrie.put("๐ŸŽถ", true); - emojiTrie.put("๐ŸŽ™๏ธ", true); - emojiTrie.put("๐ŸŽ™", true); - emojiTrie.put("๐ŸŽš๏ธ", true); - emojiTrie.put("๐ŸŽš", true); - emojiTrie.put("๐ŸŽ›๏ธ", true); - emojiTrie.put("๐ŸŽ›", true); - emojiTrie.put("๐ŸŽค", true); - emojiTrie.put("๐ŸŽง", true); - emojiTrie.put("๐Ÿ“ป", true); - emojiTrie.put("๐ŸŽท", true); - emojiTrie.put("๐Ÿช—", true); - emojiTrie.put("๐ŸŽธ", true); - emojiTrie.put("๐ŸŽน", true); - emojiTrie.put("๐ŸŽบ", true); - emojiTrie.put("๐ŸŽป", true); - emojiTrie.put("๐Ÿช•", true); - emojiTrie.put("๐Ÿฅ", true); - emojiTrie.put("๐Ÿช˜", true); - emojiTrie.put("๐Ÿช‡", true); - emojiTrie.put("๐Ÿชˆ", true); - emojiTrie.put("๐Ÿ“ฑ", true); - emojiTrie.put("๐Ÿ“ฒ", true); - emojiTrie.put("โ˜Ž๏ธ", true); - emojiTrie.put("โ˜Ž", true); - emojiTrie.put("๐Ÿ“ž", true); - emojiTrie.put("๐Ÿ“Ÿ", true); - emojiTrie.put("๐Ÿ“ ", true); - emojiTrie.put("๐Ÿ”‹", true); - emojiTrie.put("๐Ÿชซ", true); - emojiTrie.put("๐Ÿ”Œ", true); - emojiTrie.put("๐Ÿ’ป", true); - emojiTrie.put("๐Ÿ–ฅ๏ธ", true); - emojiTrie.put("๐Ÿ–ฅ", true); - emojiTrie.put("๐Ÿ–จ๏ธ", true); - emojiTrie.put("๐Ÿ–จ", true); - emojiTrie.put("โŒจ๏ธ", true); - emojiTrie.put("โŒจ", true); - emojiTrie.put("๐Ÿ–ฑ๏ธ", true); - emojiTrie.put("๐Ÿ–ฑ", true); - emojiTrie.put("๐Ÿ–ฒ๏ธ", true); - emojiTrie.put("๐Ÿ–ฒ", true); - emojiTrie.put("๐Ÿ’ฝ", true); - emojiTrie.put("๐Ÿ’พ", true); - emojiTrie.put("๐Ÿ’ฟ", true); - emojiTrie.put("๐Ÿ“€", true); - emojiTrie.put("๐Ÿงฎ", true); - emojiTrie.put("๐ŸŽฅ", true); - emojiTrie.put("๐ŸŽž๏ธ", true); - emojiTrie.put("๐ŸŽž", true); - emojiTrie.put("๐Ÿ“ฝ๏ธ", true); - emojiTrie.put("๐Ÿ“ฝ", true); - emojiTrie.put("๐ŸŽฌ", true); - emojiTrie.put("๐Ÿ“บ", true); - emojiTrie.put("๐Ÿ“ท", true); - emojiTrie.put("๐Ÿ“ธ", true); - emojiTrie.put("๐Ÿ“น", true); - emojiTrie.put("๐Ÿ“ผ", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐Ÿ”Ž", true); - emojiTrie.put("๐Ÿ•ฏ๏ธ", true); - emojiTrie.put("๐Ÿ•ฏ", true); - emojiTrie.put("๐Ÿ’ก", true); - emojiTrie.put("๐Ÿ”ฆ", true); - emojiTrie.put("๐Ÿฎ", true); - emojiTrie.put("๐Ÿช”", true); - emojiTrie.put("๐Ÿ“”", true); - emojiTrie.put("๐Ÿ“•", true); - emojiTrie.put("๐Ÿ“–", true); - emojiTrie.put("๐Ÿ“—", true); - emojiTrie.put("๐Ÿ“˜", true); - emojiTrie.put("๐Ÿ“™", true); - emojiTrie.put("๐Ÿ“š", true); - emojiTrie.put("๐Ÿ““", true); - emojiTrie.put("๐Ÿ“’", true); - emojiTrie.put("๐Ÿ“ƒ", true); - emojiTrie.put("๐Ÿ“œ", true); - emojiTrie.put("๐Ÿ“„", true); - emojiTrie.put("๐Ÿ“ฐ", true); - emojiTrie.put("๐Ÿ—ž๏ธ", true); - emojiTrie.put("๐Ÿ—ž", true); - emojiTrie.put("๐Ÿ“‘", true); - emojiTrie.put("๐Ÿ”–", true); - emojiTrie.put("๐Ÿท๏ธ", true); - emojiTrie.put("๐Ÿท", true); - emojiTrie.put("๐Ÿ’ฐ", true); - emojiTrie.put("๐Ÿช™", true); - emojiTrie.put("๐Ÿ’ด", true); - emojiTrie.put("๐Ÿ’ต", true); - emojiTrie.put("๐Ÿ’ถ", true); - emojiTrie.put("๐Ÿ’ท", true); - emojiTrie.put("๐Ÿ’ธ", true); - emojiTrie.put("๐Ÿ’ณ", true); - emojiTrie.put("๐Ÿงพ", true); - emojiTrie.put("๐Ÿ’น", true); - emojiTrie.put("โœ‰๏ธ", true); - emojiTrie.put("โœ‰", true); - emojiTrie.put("๐Ÿ“ง", true); - emojiTrie.put("๐Ÿ“จ", true); - emojiTrie.put("๐Ÿ“ฉ", true); - emojiTrie.put("๐Ÿ“ค", true); - emojiTrie.put("๐Ÿ“ฅ", true); - emojiTrie.put("๐Ÿ“ฆ", true); - emojiTrie.put("๐Ÿ“ซ", true); - emojiTrie.put("๐Ÿ“ช", true); - emojiTrie.put("๐Ÿ“ฌ", true); - emojiTrie.put("๐Ÿ“ญ", true); - emojiTrie.put("๐Ÿ“ฎ", true); - emojiTrie.put("๐Ÿ—ณ๏ธ", true); - emojiTrie.put("๐Ÿ—ณ", true); - emojiTrie.put("โœ๏ธ", true); - emojiTrie.put("โœ", true); - emojiTrie.put("โœ’๏ธ", true); - emojiTrie.put("โœ’", true); - emojiTrie.put("๐Ÿ–‹๏ธ", true); - emojiTrie.put("๐Ÿ–‹", true); - emojiTrie.put("๐Ÿ–Š๏ธ", true); - emojiTrie.put("๐Ÿ–Š", true); - emojiTrie.put("๐Ÿ–Œ๏ธ", true); - emojiTrie.put("๐Ÿ–Œ", true); - emojiTrie.put("๐Ÿ–๏ธ", true); - emojiTrie.put("๐Ÿ–", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿ’ผ", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿ“‚", true); - emojiTrie.put("๐Ÿ—‚๏ธ", true); - emojiTrie.put("๐Ÿ—‚", true); - emojiTrie.put("๐Ÿ“…", true); - emojiTrie.put("๐Ÿ“†", true); - emojiTrie.put("๐Ÿ—’๏ธ", true); - emojiTrie.put("๐Ÿ—’", true); - emojiTrie.put("๐Ÿ—“๏ธ", true); - emojiTrie.put("๐Ÿ—“", true); - emojiTrie.put("๐Ÿ“‡", true); - emojiTrie.put("๐Ÿ“ˆ", true); - emojiTrie.put("๐Ÿ“‰", true); - emojiTrie.put("๐Ÿ“Š", true); - emojiTrie.put("๐Ÿ“‹", true); - emojiTrie.put("๐Ÿ“Œ", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿ“Ž", true); - emojiTrie.put("๐Ÿ–‡๏ธ", true); - emojiTrie.put("๐Ÿ–‡", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("๐Ÿ“", true); - emojiTrie.put("โœ‚๏ธ", true); - emojiTrie.put("โœ‚", true); - emojiTrie.put("๐Ÿ—ƒ๏ธ", true); - emojiTrie.put("๐Ÿ—ƒ", true); - emojiTrie.put("๐Ÿ—„๏ธ", true); - emojiTrie.put("๐Ÿ—„", true); - emojiTrie.put("๐Ÿ—‘๏ธ", true); - emojiTrie.put("๐Ÿ—‘", true); - emojiTrie.put("๐Ÿ”’", true); - emojiTrie.put("๐Ÿ”“", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐Ÿ”‘", true); - emojiTrie.put("๐Ÿ—๏ธ", true); - emojiTrie.put("๐Ÿ—", true); - emojiTrie.put("๐Ÿ”จ", true); - emojiTrie.put("๐Ÿช“", true); - emojiTrie.put("โ›๏ธ", true); - emojiTrie.put("โ›", true); - emojiTrie.put("โš’๏ธ", true); - emojiTrie.put("โš’", true); - emojiTrie.put("๐Ÿ› ๏ธ", true); - emojiTrie.put("๐Ÿ› ", true); - emojiTrie.put("๐Ÿ—ก๏ธ", true); - emojiTrie.put("๐Ÿ—ก", true); - emojiTrie.put("โš”๏ธ", true); - emojiTrie.put("โš”", true); - emojiTrie.put("๐Ÿ’ฃ", true); - emojiTrie.put("๐Ÿชƒ", true); - emojiTrie.put("๐Ÿน", true); - emojiTrie.put("๐Ÿ›ก๏ธ", true); - emojiTrie.put("๐Ÿ›ก", true); - emojiTrie.put("๐Ÿชš", true); - emojiTrie.put("๐Ÿ”ง", true); - emojiTrie.put("๐Ÿช›", true); - emojiTrie.put("๐Ÿ”ฉ", true); - emojiTrie.put("โš™๏ธ", true); - emojiTrie.put("โš™", true); - emojiTrie.put("๐Ÿ—œ๏ธ", true); - emojiTrie.put("๐Ÿ—œ", true); - emojiTrie.put("โš–๏ธ", true); - emojiTrie.put("โš–", true); - emojiTrie.put("๐Ÿฆฏ", true); - emojiTrie.put("๐Ÿ”—", true); - emojiTrie.put("โ›“๏ธโ€๐Ÿ’ฅ", true); - emojiTrie.put("โ›“โ€๐Ÿ’ฅ", true); - emojiTrie.put("โ›“๏ธ", true); - emojiTrie.put("โ›“", true); - emojiTrie.put("๐Ÿช", true); - emojiTrie.put("๐Ÿงฐ", true); - emojiTrie.put("๐Ÿงฒ", true); - emojiTrie.put("๐Ÿชœ", true); - emojiTrie.put("โš—๏ธ", true); - emojiTrie.put("โš—", true); - emojiTrie.put("๐Ÿงช", true); - emojiTrie.put("๐Ÿงซ", true); - emojiTrie.put("๐Ÿงฌ", true); - emojiTrie.put("๐Ÿ”ฌ", true); - emojiTrie.put("๐Ÿ”ญ", true); - emojiTrie.put("๐Ÿ“ก", true); - emojiTrie.put("๐Ÿ’‰", true); - emojiTrie.put("๐Ÿฉธ", true); - emojiTrie.put("๐Ÿ’Š", true); - emojiTrie.put("๐Ÿฉน", true); - emojiTrie.put("๐Ÿฉผ", true); - emojiTrie.put("๐Ÿฉบ", true); - emojiTrie.put("๐Ÿฉป", true); - emojiTrie.put("๐Ÿšช", true); - emojiTrie.put("๐Ÿ›—", true); - emojiTrie.put("๐Ÿชž", true); - emojiTrie.put("๐ŸชŸ", true); - emojiTrie.put("๐Ÿ›๏ธ", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐Ÿ›‹๏ธ", true); - emojiTrie.put("๐Ÿ›‹", true); - emojiTrie.put("๐Ÿช‘", true); - emojiTrie.put("๐Ÿšฝ", true); - emojiTrie.put("๐Ÿช ", true); - emojiTrie.put("๐Ÿšฟ", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("๐Ÿชค", true); - emojiTrie.put("๐Ÿช’", true); - emojiTrie.put("๐Ÿงด", true); - emojiTrie.put("๐Ÿงท", true); - emojiTrie.put("๐Ÿงน", true); - emojiTrie.put("๐Ÿงบ", true); - emojiTrie.put("๐Ÿงป", true); - emojiTrie.put("๐Ÿชฃ", true); - emojiTrie.put("๐Ÿงผ", true); - emojiTrie.put("๐Ÿซง", true); - emojiTrie.put("๐Ÿชฅ", true); - emojiTrie.put("๐Ÿงฝ", true); - emojiTrie.put("๐Ÿงฏ", true); - emojiTrie.put("๐Ÿ›’", true); - emojiTrie.put("๐Ÿšฌ", true); - emojiTrie.put("โšฐ๏ธ", true); - emojiTrie.put("โšฐ", true); - emojiTrie.put("๐Ÿชฆ", true); - emojiTrie.put("โšฑ๏ธ", true); - emojiTrie.put("โšฑ", true); - emojiTrie.put("๐Ÿงฟ", true); - emojiTrie.put("๐Ÿชฌ", true); - emojiTrie.put("๐Ÿ—ฟ", true); - emojiTrie.put("๐Ÿชง", true); - emojiTrie.put("๐Ÿชช", true); - emojiTrie.put("๐Ÿง", true); - emojiTrie.put("๐Ÿšฎ", true); - emojiTrie.put("๐Ÿšฐ", true); - emojiTrie.put("โ™ฟ", true); - emojiTrie.put("๐Ÿšน", true); - emojiTrie.put("๐Ÿšบ", true); - emojiTrie.put("๐Ÿšป", true); - emojiTrie.put("๐Ÿšผ", true); - emojiTrie.put("๐Ÿšพ", true); - emojiTrie.put("๐Ÿ›‚", true); - emojiTrie.put("๐Ÿ›ƒ", true); - emojiTrie.put("๐Ÿ›„", true); - emojiTrie.put("๐Ÿ›…", true); - emojiTrie.put("โš ๏ธ", true); - emojiTrie.put("โš ", true); - emojiTrie.put("๐Ÿšธ", true); - emojiTrie.put("โ›”", true); - emojiTrie.put("๐Ÿšซ", true); - emojiTrie.put("๐Ÿšณ", true); - emojiTrie.put("๐Ÿšญ", true); - emojiTrie.put("๐Ÿšฏ", true); - emojiTrie.put("๐Ÿšฑ", true); - emojiTrie.put("๐Ÿšท", true); - emojiTrie.put("๐Ÿ“ต", true); - emojiTrie.put("๐Ÿ”ž", true); - emojiTrie.put("โ˜ข๏ธ", true); - emojiTrie.put("โ˜ข", true); - emojiTrie.put("โ˜ฃ๏ธ", true); - emojiTrie.put("โ˜ฃ", true); - emojiTrie.put("โฌ†๏ธ", true); - emojiTrie.put("โฌ†", true); - emojiTrie.put("โ†—๏ธ", true); - emojiTrie.put("โ†—", true); - emojiTrie.put("โžก๏ธ", true); - emojiTrie.put("โžก", true); - emojiTrie.put("โ†˜๏ธ", true); - emojiTrie.put("โ†˜", true); - emojiTrie.put("โฌ‡๏ธ", true); - emojiTrie.put("โฌ‡", true); - emojiTrie.put("โ†™๏ธ", true); - emojiTrie.put("โ†™", true); - emojiTrie.put("โฌ…๏ธ", true); - emojiTrie.put("โฌ…", true); - emojiTrie.put("โ†–๏ธ", true); - emojiTrie.put("โ†–", true); - emojiTrie.put("โ†•๏ธ", true); - emojiTrie.put("โ†•", true); - emojiTrie.put("โ†”๏ธ", true); - emojiTrie.put("โ†”", true); - emojiTrie.put("โ†ฉ๏ธ", true); - emojiTrie.put("โ†ฉ", true); - emojiTrie.put("โ†ช๏ธ", true); - emojiTrie.put("โ†ช", true); - emojiTrie.put("โคด๏ธ", true); - emojiTrie.put("โคด", true); - emojiTrie.put("โคต๏ธ", true); - emojiTrie.put("โคต", true); - emojiTrie.put("๐Ÿ”ƒ", true); - emojiTrie.put("๐Ÿ”„", true); - emojiTrie.put("๐Ÿ”™", true); - emojiTrie.put("๐Ÿ”š", true); - emojiTrie.put("๐Ÿ”›", true); - emojiTrie.put("๐Ÿ”œ", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐Ÿ›", true); - emojiTrie.put("โš›๏ธ", true); - emojiTrie.put("โš›", true); - emojiTrie.put("๐Ÿ•‰๏ธ", true); - emojiTrie.put("๐Ÿ•‰", true); - emojiTrie.put("โœก๏ธ", true); - emojiTrie.put("โœก", true); - emojiTrie.put("โ˜ธ๏ธ", true); - emojiTrie.put("โ˜ธ", true); - emojiTrie.put("โ˜ฏ๏ธ", true); - emojiTrie.put("โ˜ฏ", true); - emojiTrie.put("โœ๏ธ", true); - emojiTrie.put("โœ", true); - emojiTrie.put("โ˜ฆ๏ธ", true); - emojiTrie.put("โ˜ฆ", true); - emojiTrie.put("โ˜ช๏ธ", true); - emojiTrie.put("โ˜ช", true); - emojiTrie.put("โ˜ฎ๏ธ", true); - emojiTrie.put("โ˜ฎ", true); - emojiTrie.put("๐Ÿ•Ž", true); - emojiTrie.put("๐Ÿ”ฏ", true); - emojiTrie.put("๐Ÿชฏ", true); - emojiTrie.put("โ™ˆ", true); - emojiTrie.put("โ™‰", true); - emojiTrie.put("โ™Š", true); - emojiTrie.put("โ™‹", true); - emojiTrie.put("โ™Œ", true); - emojiTrie.put("โ™", true); - emojiTrie.put("โ™Ž", true); - emojiTrie.put("โ™", true); - emojiTrie.put("โ™", true); - emojiTrie.put("โ™‘", true); - emojiTrie.put("โ™’", true); - emojiTrie.put("โ™“", true); - emojiTrie.put("โ›Ž", true); - emojiTrie.put("๐Ÿ”€", true); - emojiTrie.put("๐Ÿ”", true); - emojiTrie.put("๐Ÿ”‚", true); - emojiTrie.put("โ–ถ๏ธ", true); - emojiTrie.put("โ–ถ", true); - emojiTrie.put("โฉ", true); - emojiTrie.put("โญ๏ธ", true); - emojiTrie.put("โญ", true); - emojiTrie.put("โฏ๏ธ", true); - emojiTrie.put("โฏ", true); - emojiTrie.put("โ—€๏ธ", true); - emojiTrie.put("โ—€", true); - emojiTrie.put("โช", true); - emojiTrie.put("โฎ๏ธ", true); - emojiTrie.put("โฎ", true); - emojiTrie.put("๐Ÿ”ผ", true); - emojiTrie.put("โซ", true); - emojiTrie.put("๐Ÿ”ฝ", true); - emojiTrie.put("โฌ", true); - emojiTrie.put("โธ๏ธ", true); - emojiTrie.put("โธ", true); - emojiTrie.put("โน๏ธ", true); - emojiTrie.put("โน", true); - emojiTrie.put("โบ๏ธ", true); - emojiTrie.put("โบ", true); - emojiTrie.put("โ๏ธ", true); - emojiTrie.put("โ", true); - emojiTrie.put("๐ŸŽฆ", true); - emojiTrie.put("๐Ÿ”…", true); - emojiTrie.put("๐Ÿ”†", true); - emojiTrie.put("๐Ÿ“ถ", true); - emojiTrie.put("๐Ÿ›œ", true); - emojiTrie.put("๐Ÿ“ณ", true); - emojiTrie.put("๐Ÿ“ด", true); - emojiTrie.put("โ™€๏ธ", true); - emojiTrie.put("โ™€", true); - emojiTrie.put("โ™‚๏ธ", true); - emojiTrie.put("โ™‚", true); - emojiTrie.put("โšง๏ธ", true); - emojiTrie.put("โšง", true); - emojiTrie.put("โœ–๏ธ", true); - emojiTrie.put("โœ–", true); - emojiTrie.put("โž•", true); - emojiTrie.put("โž–", true); - emojiTrie.put("โž—", true); - emojiTrie.put("๐ŸŸฐ", true); - emojiTrie.put("โ™พ๏ธ", true); - emojiTrie.put("โ™พ", true); - emojiTrie.put("โ€ผ๏ธ", true); - emojiTrie.put("โ€ผ", true); - emojiTrie.put("โ‰๏ธ", true); - emojiTrie.put("โ‰", true); - emojiTrie.put("โ“", true); - emojiTrie.put("โ”", true); - emojiTrie.put("โ•", true); - emojiTrie.put("โ—", true); - emojiTrie.put("ใ€ฐ๏ธ", true); - emojiTrie.put("ใ€ฐ", true); - emojiTrie.put("๐Ÿ’ฑ", true); - emojiTrie.put("๐Ÿ’ฒ", true); - emojiTrie.put("โš•๏ธ", true); - emojiTrie.put("โš•", true); - emojiTrie.put("โ™ป๏ธ", true); - emojiTrie.put("โ™ป", true); - emojiTrie.put("โšœ๏ธ", true); - emojiTrie.put("โšœ", true); - emojiTrie.put("๐Ÿ”ฑ", true); - emojiTrie.put("๐Ÿ“›", true); - emojiTrie.put("๐Ÿ”ฐ", true); - emojiTrie.put("โญ•", true); - emojiTrie.put("โœ…", true); - emojiTrie.put("โ˜‘๏ธ", true); - emojiTrie.put("โ˜‘", true); - emojiTrie.put("โœ”๏ธ", true); - emojiTrie.put("โœ”", true); - emojiTrie.put("โŒ", true); - emojiTrie.put("โŽ", true); - emojiTrie.put("โžฐ", true); - emojiTrie.put("โžฟ", true); - emojiTrie.put("ใ€ฝ๏ธ", true); - emojiTrie.put("ใ€ฝ", true); - emojiTrie.put("โœณ๏ธ", true); - emojiTrie.put("โœณ", true); - emojiTrie.put("โœด๏ธ", true); - emojiTrie.put("โœด", true); - emojiTrie.put("โ‡๏ธ", true); - emojiTrie.put("โ‡", true); - emojiTrie.put("ยฉ๏ธ", true); - emojiTrie.put("ยฉ", true); - emojiTrie.put("ยฎ๏ธ", true); - emojiTrie.put("ยฎ", true); - emojiTrie.put("โ„ข๏ธ", true); - emojiTrie.put("โ„ข", true); - emojiTrie.put("#๏ธโƒฃ", true); - emojiTrie.put("#โƒฃ", true); - emojiTrie.put("*๏ธโƒฃ", true); - emojiTrie.put("*โƒฃ", true); - emojiTrie.put("0๏ธโƒฃ", true); - emojiTrie.put("0โƒฃ", true); - emojiTrie.put("1๏ธโƒฃ", true); - emojiTrie.put("1โƒฃ", true); - emojiTrie.put("2๏ธโƒฃ", true); - emojiTrie.put("2โƒฃ", true); - emojiTrie.put("3๏ธโƒฃ", true); - emojiTrie.put("3โƒฃ", true); - emojiTrie.put("4๏ธโƒฃ", true); - emojiTrie.put("4โƒฃ", true); - emojiTrie.put("5๏ธโƒฃ", true); - emojiTrie.put("5โƒฃ", true); - emojiTrie.put("6๏ธโƒฃ", true); - emojiTrie.put("6โƒฃ", true); - emojiTrie.put("7๏ธโƒฃ", true); - emojiTrie.put("7โƒฃ", true); - emojiTrie.put("8๏ธโƒฃ", true); - emojiTrie.put("8โƒฃ", true); - emojiTrie.put("9๏ธโƒฃ", true); - emojiTrie.put("9โƒฃ", true); - emojiTrie.put("๐Ÿ”Ÿ", true); - emojiTrie.put("๐Ÿ” ", true); - emojiTrie.put("๐Ÿ”ก", true); - emojiTrie.put("๐Ÿ”ข", true); - emojiTrie.put("๐Ÿ”ฃ", true); - emojiTrie.put("๐Ÿ”ค", true); - emojiTrie.put("๐Ÿ…ฐ๏ธ", true); - emojiTrie.put("๐Ÿ…ฐ", true); - emojiTrie.put("๐Ÿ†Ž", true); - emojiTrie.put("๐Ÿ…ฑ๏ธ", true); - emojiTrie.put("๐Ÿ…ฑ", true); - emojiTrie.put("๐Ÿ†‘", true); - emojiTrie.put("๐Ÿ†’", true); - emojiTrie.put("๐Ÿ†“", true); - emojiTrie.put("โ„น๏ธ", true); - emojiTrie.put("โ„น", true); - emojiTrie.put("๐Ÿ†”", true); - emojiTrie.put("โ“‚๏ธ", true); - emojiTrie.put("โ“‚", true); - emojiTrie.put("๐Ÿ†•", true); - emojiTrie.put("๐Ÿ†–", true); - emojiTrie.put("๐Ÿ…พ๏ธ", true); - emojiTrie.put("๐Ÿ…พ", true); - emojiTrie.put("๐Ÿ†—", true); - emojiTrie.put("๐Ÿ…ฟ๏ธ", true); - emojiTrie.put("๐Ÿ…ฟ", true); - emojiTrie.put("๐Ÿ†˜", true); - emojiTrie.put("๐Ÿ†™", true); - emojiTrie.put("๐Ÿ†š", true); - emojiTrie.put("๐Ÿˆ", true); - emojiTrie.put("๐Ÿˆ‚๏ธ", true); - emojiTrie.put("๐Ÿˆ‚", true); - emojiTrie.put("๐Ÿˆท๏ธ", true); - emojiTrie.put("๐Ÿˆท", true); - emojiTrie.put("๐Ÿˆถ", true); - emojiTrie.put("๐Ÿˆฏ", true); - emojiTrie.put("๐Ÿ‰", true); - emojiTrie.put("๐Ÿˆน", true); - emojiTrie.put("๐Ÿˆš", true); - emojiTrie.put("๐Ÿˆฒ", true); - emojiTrie.put("๐Ÿ‰‘", true); - emojiTrie.put("๐Ÿˆธ", true); - emojiTrie.put("๐Ÿˆด", true); - emojiTrie.put("๐Ÿˆณ", true); - emojiTrie.put("ใŠ—๏ธ", true); - emojiTrie.put("ใŠ—", true); - emojiTrie.put("ใŠ™๏ธ", true); - emojiTrie.put("ใŠ™", true); - emojiTrie.put("๐Ÿˆบ", true); - emojiTrie.put("๐Ÿˆต", true); - emojiTrie.put("๐Ÿ”ด", true); - emojiTrie.put("๐ŸŸ ", true); - emojiTrie.put("๐ŸŸก", true); - emojiTrie.put("๐ŸŸข", true); - emojiTrie.put("๐Ÿ”ต", true); - emojiTrie.put("๐ŸŸฃ", true); - emojiTrie.put("๐ŸŸค", true); - emojiTrie.put("โšซ", true); - emojiTrie.put("โšช", true); - emojiTrie.put("๐ŸŸฅ", true); - emojiTrie.put("๐ŸŸง", true); - emojiTrie.put("๐ŸŸจ", true); - emojiTrie.put("๐ŸŸฉ", true); - emojiTrie.put("๐ŸŸฆ", true); - emojiTrie.put("๐ŸŸช", true); - emojiTrie.put("๐ŸŸซ", true); - emojiTrie.put("โฌ›", true); - emojiTrie.put("โฌœ", true); - emojiTrie.put("โ—ผ๏ธ", true); - emojiTrie.put("โ—ผ", true); - emojiTrie.put("โ—ป๏ธ", true); - emojiTrie.put("โ—ป", true); - emojiTrie.put("โ—พ", true); - emojiTrie.put("โ—ฝ", true); - emojiTrie.put("โ–ช๏ธ", true); - emojiTrie.put("โ–ช", true); - emojiTrie.put("โ–ซ๏ธ", true); - emojiTrie.put("โ–ซ", true); - emojiTrie.put("๐Ÿ”ถ", true); - emojiTrie.put("๐Ÿ”ท", true); - emojiTrie.put("๐Ÿ”ธ", true); - emojiTrie.put("๐Ÿ”น", true); - emojiTrie.put("๐Ÿ”บ", true); - emojiTrie.put("๐Ÿ”ป", true); - emojiTrie.put("๐Ÿ’ ", true); - emojiTrie.put("๐Ÿ”˜", true); - emojiTrie.put("๐Ÿ”ณ", true); - emojiTrie.put("๐Ÿ”ฒ", true); - emojiTrie.put("๐Ÿ", true); - emojiTrie.put("๐Ÿšฉ", true); - emojiTrie.put("๐ŸŽŒ", true); - emojiTrie.put("๐Ÿด", true); - emojiTrie.put("๐Ÿณ๏ธ", true); - emojiTrie.put("๐Ÿณ", true); - emojiTrie.put("๐Ÿณ๏ธโ€๐ŸŒˆ", true); - emojiTrie.put("๐Ÿณโ€๐ŸŒˆ", true); - emojiTrie.put("๐Ÿณ๏ธโ€โšง๏ธ", true); - emojiTrie.put("๐Ÿณโ€โšง๏ธ", true); - emojiTrie.put("๐Ÿณ๏ธโ€โšง", true); - emojiTrie.put("๐Ÿณโ€โšง", true); - emojiTrie.put("๐Ÿดโ€โ˜ ๏ธ", true); - emojiTrie.put("๐Ÿดโ€โ˜ ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ถ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฝ", true); - emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ง", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฏ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ถ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ป", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ต", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ป", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฝ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฏ", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ช๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฏ", true); - emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ง", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ต", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ถ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ถ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ต", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ต", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ง", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ป", true); - emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ต", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ถ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ป", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฝ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ต", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ด๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ต๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ถ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ท๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ง", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฏ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ป", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฝ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฉ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ญ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฏ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฑ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ด", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ท", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ป", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡พ", true); - emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฟ", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡จ", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ฌ", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ฎ", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ณ", true); - emojiTrie.put("๐Ÿ‡ป๐Ÿ‡บ", true); - emojiTrie.put("๐Ÿ‡ผ๐Ÿ‡ซ", true); - emojiTrie.put("๐Ÿ‡ผ๐Ÿ‡ธ", true); - emojiTrie.put("๐Ÿ‡ฝ๐Ÿ‡ฐ", true); - emojiTrie.put("๐Ÿ‡พ๐Ÿ‡ช", true); - emojiTrie.put("๐Ÿ‡พ๐Ÿ‡น", true); - emojiTrie.put("๐Ÿ‡ฟ๐Ÿ‡ฆ", true); - emojiTrie.put("๐Ÿ‡ฟ๐Ÿ‡ฒ", true); - emojiTrie.put("๐Ÿ‡ฟ๐Ÿ‡ผ", true); - emojiTrie.put("๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ", true); - emojiTrie.put("๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ", true); - emojiTrie.put("๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ", true); + emojiTrie.put("๐Ÿ˜€", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜„", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜†", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜…", Boolean.TRUE); + emojiTrie.put("๐Ÿคฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜‰", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜Š", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜‡", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿคฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜—", Boolean.TRUE); + emojiTrie.put("โ˜บ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜š", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜™", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜›", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜œ", Boolean.TRUE); + emojiTrie.put("๐Ÿคช", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿค‘", Boolean.TRUE); + emojiTrie.put("๐Ÿค—", Boolean.TRUE); + emojiTrie.put("๐Ÿคญ", Boolean.TRUE); + emojiTrie.put("๐Ÿซข", Boolean.TRUE); + emojiTrie.put("๐Ÿซฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿคซ", Boolean.TRUE); + emojiTrie.put("๐Ÿค”", Boolean.TRUE); + emojiTrie.put("๐Ÿซก", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿคจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ถโ€๐ŸŒซ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ถโ€๐ŸŒซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜’", Boolean.TRUE); + emojiTrie.put("๐Ÿ™„", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฎโ€๐Ÿ’จ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿซจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‚โ€โ†”๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‚โ€โ†”", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‚โ€โ†•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‚โ€โ†•", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜”", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ช", Boolean.TRUE); + emojiTrie.put("๐Ÿคค", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ท", Boolean.TRUE); + emojiTrie.put("๐Ÿค’", Boolean.TRUE); + emojiTrie.put("๐Ÿค•", Boolean.TRUE); + emojiTrie.put("๐Ÿคข", Boolean.TRUE); + emojiTrie.put("๐Ÿคฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿคง", Boolean.TRUE); + emojiTrie.put("๐Ÿฅต", Boolean.TRUE); + emojiTrie.put("๐Ÿฅถ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅด", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ตโ€๐Ÿ’ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿค ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅณ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿค“", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜•", Boolean.TRUE); + emojiTrie.put("๐Ÿซค", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™", Boolean.TRUE); + emojiTrie.put("โ˜น๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜น", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅบ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅน", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ข", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜–", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜“", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ก", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’€", Boolean.TRUE); + emojiTrie.put("โ˜ ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿคก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘พ", Boolean.TRUE); + emojiTrie.put("๐Ÿค–", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜น", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™ˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‰", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Š", Boolean.TRUE); + emojiTrie.put("๐Ÿ’Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ’–", Boolean.TRUE); + emojiTrie.put("๐Ÿ’—", Boolean.TRUE); + emojiTrie.put("๐Ÿ’“", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ’•", Boolean.TRUE); + emojiTrie.put("๐Ÿ’Ÿ", Boolean.TRUE); + emojiTrie.put("โฃ๏ธ", Boolean.TRUE); + emojiTrie.put("โฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’”", Boolean.TRUE); + emojiTrie.put("โค๏ธโ€๐Ÿ”ฅ", Boolean.TRUE); + emojiTrie.put("โคโ€๐Ÿ”ฅ", Boolean.TRUE); + emojiTrie.put("โค๏ธโ€๐Ÿฉน", Boolean.TRUE); + emojiTrie.put("โคโ€๐Ÿฉน", Boolean.TRUE); + emojiTrie.put("โค๏ธ", Boolean.TRUE); + emojiTrie.put("โค", Boolean.TRUE); + emojiTrie.put("๐Ÿฉท", Boolean.TRUE); + emojiTrie.put("๐Ÿงก", Boolean.TRUE); + emojiTrie.put("๐Ÿ’›", Boolean.TRUE); + emojiTrie.put("๐Ÿ’š", Boolean.TRUE); + emojiTrie.put("๐Ÿ’™", Boolean.TRUE); + emojiTrie.put("๐Ÿฉต", Boolean.TRUE); + emojiTrie.put("๐Ÿ’œ", Boolean.TRUE); + emojiTrie.put("๐ŸคŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ค", Boolean.TRUE); + emojiTrie.put("๐Ÿฉถ", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ข", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ณ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘โ€๐Ÿ—จ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๏ธโ€๐Ÿ—จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘โ€๐Ÿ—จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—จ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ฏ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‹๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‹๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‹๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‹๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‹๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคš", Boolean.TRUE); + emojiTrie.put("๐Ÿคš๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคš๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคš๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคš๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคš๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โœ‹", Boolean.TRUE); + emojiTrie.put("โœ‹๐Ÿป", Boolean.TRUE); + emojiTrie.put("โœ‹๐Ÿผ", Boolean.TRUE); + emojiTrie.put("โœ‹๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("โœ‹๐Ÿพ", Boolean.TRUE); + emojiTrie.put("โœ‹๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ––", Boolean.TRUE); + emojiTrie.put("๐Ÿ––๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ––๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ––๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ––๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ––๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซณ", Boolean.TRUE); + emojiTrie.put("๐Ÿซณ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซณ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซณ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซณ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซณ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซด", Boolean.TRUE); + emojiTrie.put("๐Ÿซด๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซด๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซด๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซด๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซด๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซท", Boolean.TRUE); + emojiTrie.put("๐Ÿซท๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซท๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซท๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซท๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซท๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซธ", Boolean.TRUE); + emojiTrie.put("๐Ÿซธ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซธ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซธ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซธ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซธ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Œ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Œ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Œ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Œ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Œ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸคŒ", Boolean.TRUE); + emojiTrie.put("๐ŸคŒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐ŸคŒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐ŸคŒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐ŸคŒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐ŸคŒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โœŒ๏ธ", Boolean.TRUE); + emojiTrie.put("โœŒ", Boolean.TRUE); + emojiTrie.put("โœŒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("โœŒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("โœŒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("โœŒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("โœŒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคž", Boolean.TRUE); + emojiTrie.put("๐Ÿคž๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคž๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคž๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคž๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคž๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฐ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฐ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฐ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฐ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฐ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸคŸ", Boolean.TRUE); + emojiTrie.put("๐ŸคŸ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐ŸคŸ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐ŸคŸ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐ŸคŸ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐ŸคŸ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿค˜", Boolean.TRUE); + emojiTrie.put("๐Ÿค˜๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿค˜๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿค˜๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿค˜๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿค˜๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿค™", Boolean.TRUE); + emojiTrie.put("๐Ÿค™๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿค™๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿค™๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿค™๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿค™๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ˆ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ˆ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ˆ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ˆ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ˆ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‰", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‰๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‰๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‰๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‰๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‰๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘†", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘†๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘†๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘†๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘†๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘†๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–•", Boolean.TRUE); + emojiTrie.put("๐Ÿ–•๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ–•๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–•๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–•๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–•๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‡๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‡๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‡๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‡๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‡๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โ˜๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜", Boolean.TRUE); + emojiTrie.put("โ˜๐Ÿป", Boolean.TRUE); + emojiTrie.put("โ˜๐Ÿผ", Boolean.TRUE); + emojiTrie.put("โ˜๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("โ˜๐Ÿพ", Boolean.TRUE); + emojiTrie.put("โ˜๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซต", Boolean.TRUE); + emojiTrie.put("๐Ÿซต๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซต๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซต๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซต๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซต๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ž๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ž๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ž๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ž๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ž๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โœŠ", Boolean.TRUE); + emojiTrie.put("โœŠ๐Ÿป", Boolean.TRUE); + emojiTrie.put("โœŠ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("โœŠ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("โœŠ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("โœŠ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Š", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Š๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Š๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Š๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Š๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Š๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿค›", Boolean.TRUE); + emojiTrie.put("๐Ÿค›๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿค›๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿค›๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿค›๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿค›๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคœ", Boolean.TRUE); + emojiTrie.put("๐Ÿคœ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคœ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคœ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคœ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคœ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Œ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Œ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Œ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Œ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Œ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซถ", Boolean.TRUE); + emojiTrie.put("๐Ÿซถ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซถ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซถ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซถ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซถ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿค๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โœ๏ธ", Boolean.TRUE); + emojiTrie.put("โœ", Boolean.TRUE); + emojiTrie.put("โœ๐Ÿป", Boolean.TRUE); + emojiTrie.put("โœ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("โœ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("โœ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("โœ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’…", Boolean.TRUE); + emojiTrie.put("๐Ÿ’…๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’…๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’…๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’…๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’…๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคณ", Boolean.TRUE); + emojiTrie.put("๐Ÿคณ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคณ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคณ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคณ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคณ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ช๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ช๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ช๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ช๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ช๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆต", Boolean.TRUE); + emojiTrie.put("๐Ÿฆต๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฆต๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆต๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆต๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆต๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆถ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆถ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฆถ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆถ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆถ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆถ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‚๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‚๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‚๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‚๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‚๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆป", Boolean.TRUE); + emojiTrie.put("๐Ÿฆป๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฆป๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆป๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆป๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆป๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ƒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ƒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ƒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ƒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ƒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ€", Boolean.TRUE); + emojiTrie.put("๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆท", Boolean.TRUE); + emojiTrie.put("๐Ÿฆด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘…", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘„", Boolean.TRUE); + emojiTrie.put("๐Ÿซฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ถ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ถ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ถ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ถ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ถ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง’", Boolean.TRUE); + emojiTrie.put("๐Ÿง’๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง’๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง’๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง’๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง’๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฆ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฆ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฆ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฆ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฆ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ง๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ง๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ง๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ง๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ง๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง”โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง”๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฑ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง“", Boolean.TRUE); + emojiTrie.put("๐Ÿง“๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง“๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง“๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง“๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง“๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ด๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ด๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ด๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ด๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ด๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ต๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ต๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ต๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ต๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ต๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Žโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Žโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Žโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Žโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™Ž๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™…๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™†๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‹๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™‡๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฆ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคท", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคทโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคทโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคทโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคทโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคท๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš•", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฎ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๏ธโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ตโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๏ธโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ตโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๏ธโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ตโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๏ธโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ตโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ต๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‚๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฅท", Boolean.TRUE); + emojiTrie.put("๐Ÿฅท๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฅท๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅท๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅท๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅท๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ทโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ทโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ทโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ทโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ท๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿซ…", Boolean.TRUE); + emojiTrie.put("๐Ÿซ…๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซ…๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ…๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ…๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ…๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคด", Boolean.TRUE); + emojiTrie.put("๐Ÿคด๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคด๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคด๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคด๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคด๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ธ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ธ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ธ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ธ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ธ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ณ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง•", Boolean.TRUE); + emojiTrie.put("๐Ÿง•๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง•๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง•๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง•๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง•๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคตโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคตโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคตโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคตโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคต๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฐ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฐ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคฐ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฐ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฐ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฐ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿซƒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซƒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซƒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซƒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซƒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ„", Boolean.TRUE); + emojiTrie.put("๐Ÿซ„๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿซ„๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ„๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ„๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ„๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฑ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคฑ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฑ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฑ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฑ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ผ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ผ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ผ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ผ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ผ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ…", Boolean.TRUE); + emojiTrie.put("๐ŸŽ…๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐ŸŽ…๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ…๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ…๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ…๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคถ", Boolean.TRUE); + emojiTrie.put("๐Ÿคถ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคถ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคถ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคถ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคถ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆธ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆนโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆนโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฆนโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆนโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆน๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง™", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง™โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง™๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงš", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿงšโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงšโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงšโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงšโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงš๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง›", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง›โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง›๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงœโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงœ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿงž", Boolean.TRUE); + emojiTrie.put("๐Ÿงžโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงžโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงžโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงžโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŸ", Boolean.TRUE); + emojiTrie.put("๐ŸงŸโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŸโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŸโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŸโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’†๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‡๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿปโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿผโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฝโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿพโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿšถ๐Ÿฟโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿงโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿปโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿผโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฝโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿพโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐ŸงŽ๐Ÿฟโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™€โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿปโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿผโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฝโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿพโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚โ€โžก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚๏ธโ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ๐Ÿฟโ€โ™‚โ€โžก", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ƒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ƒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ƒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ƒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ƒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•บ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ•บ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•บ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•บ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•บ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ด๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฏโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฏโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฏโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฏโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง–", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง–โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง–๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง—", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง—โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง—๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคบ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โ›ท๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๏ธโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๏ธโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๏ธโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๏ธโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŒโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ„", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ„โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฃ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŠ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐ŸŠโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐ŸŠโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›น๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿป", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿผ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿพ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("โ›น๏ธโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›นโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๏ธโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›นโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("โ›น๏ธโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›นโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๏ธโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›นโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ›น๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๏ธโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๏ธโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๏ธโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๏ธโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšด", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿšดโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšดโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšดโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšดโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšด๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšต", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿšตโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšตโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšตโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšตโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿšต๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคธโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคธ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฝ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคพ๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคน", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿคนโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคนโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿคนโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคนโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿคน๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜โ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜โ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™‚", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜โ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜โ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿปโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿผโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฝโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿพโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿง˜๐Ÿฟโ€โ™€", Boolean.TRUE); + emojiTrie.put("๐Ÿ›€", Boolean.TRUE); + emojiTrie.put("๐Ÿ›€๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ›€๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›€๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›€๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›€๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Œ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Œ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Œ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Œ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Œ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ญ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ญ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ญ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ญ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ญ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ซ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ซ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ซ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ซ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ซ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฌ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฌ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฌ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฌ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฌ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿปโ€โคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿผโ€โคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฝโ€โคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿพโ€โคโ€๐Ÿง‘๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘๐Ÿฟโ€โคโ€๐Ÿง‘๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€โคโ€๐Ÿ‘จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿปโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿผโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฝโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿพโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จ๐Ÿฟโ€โคโ€๐Ÿ‘จ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€โคโ€๐Ÿ‘ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿปโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿผโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฝโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿพโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ฃ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ช", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿง’", Boolean.TRUE); + emojiTrie.put("๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆณ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿต", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆง", Boolean.TRUE); + emojiTrie.put("๐Ÿถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•โ€๐Ÿฆบ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿบ", Boolean.TRUE); + emojiTrie.put("๐ŸฆŠ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆโ€โฌ›", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ…", Boolean.TRUE); + emojiTrie.put("๐Ÿ†", Boolean.TRUE); + emojiTrie.put("๐Ÿด", Boolean.TRUE); + emojiTrie.put("๐ŸซŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ„", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ“", Boolean.TRUE); + emojiTrie.put("๐ŸฆŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„", Boolean.TRUE); + emojiTrie.put("๐Ÿท", Boolean.TRUE); + emojiTrie.put("๐Ÿ–", Boolean.TRUE); + emojiTrie.put("๐Ÿ—", Boolean.TRUE); + emojiTrie.put("๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); + emojiTrie.put("๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ™", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ›", Boolean.TRUE); + emojiTrie.put("๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ€", Boolean.TRUE); + emojiTrie.put("๐Ÿน", Boolean.TRUE); + emojiTrie.put("๐Ÿฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡", Boolean.TRUE); + emojiTrie.put("๐Ÿฟ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ”", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ‡", Boolean.TRUE); + emojiTrie.put("๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿปโ€โ„๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿปโ€โ„", Boolean.TRUE); + emojiTrie.put("๐Ÿจ", Boolean.TRUE); + emojiTrie.put("๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆจ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿฆก", Boolean.TRUE); + emojiTrie.put("๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿ•Š๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•Š", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ…", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ†", Boolean.TRUE); + emojiTrie.put("๐Ÿฆข", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ‰", Boolean.TRUE); + emojiTrie.put("๐Ÿฆค", Boolean.TRUE); + emojiTrie.put("๐Ÿชถ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆš", Boolean.TRUE); + emojiTrie.put("๐Ÿฆœ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆโ€โฌ›", Boolean.TRUE); + emojiTrie.put("๐Ÿชฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆโ€๐Ÿ”ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿธ", Boolean.TRUE); + emojiTrie.put("๐ŸŠ", Boolean.TRUE); + emojiTrie.put("๐Ÿข", Boolean.TRUE); + emojiTrie.put("๐ŸฆŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‰", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ•", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ–", Boolean.TRUE); + emojiTrie.put("๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹", Boolean.TRUE); + emojiTrie.put("๐Ÿฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆญ", Boolean.TRUE); + emojiTrie.put("๐ŸŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿ ", Boolean.TRUE); + emojiTrie.put("๐Ÿก", Boolean.TRUE); + emojiTrie.put("๐Ÿฆˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐Ÿชธ", Boolean.TRUE); + emojiTrie.put("๐Ÿชผ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐Ÿœ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿž", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ—", Boolean.TRUE); + emojiTrie.put("๐Ÿชณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ท๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ธ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ‚", Boolean.TRUE); + emojiTrie.put("๐ŸฆŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐ŸŒธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿชท", Boolean.TRUE); + emojiTrie.put("๐Ÿต๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿต", Boolean.TRUE); + emojiTrie.put("๐ŸŒน", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ€", Boolean.TRUE); + emojiTrie.put("๐ŸŒบ", Boolean.TRUE); + emojiTrie.put("๐ŸŒป", Boolean.TRUE); + emojiTrie.put("๐ŸŒผ", Boolean.TRUE); + emojiTrie.put("๐ŸŒท", Boolean.TRUE); + emojiTrie.put("๐Ÿชป", Boolean.TRUE); + emojiTrie.put("๐ŸŒฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿชด", Boolean.TRUE); + emojiTrie.put("๐ŸŒฒ", Boolean.TRUE); + emojiTrie.put("๐ŸŒณ", Boolean.TRUE); + emojiTrie.put("๐ŸŒด", Boolean.TRUE); + emojiTrie.put("๐ŸŒต", Boolean.TRUE); + emojiTrie.put("๐ŸŒพ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฟ", Boolean.TRUE); + emojiTrie.put("โ˜˜๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ€", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿชน", Boolean.TRUE); + emojiTrie.put("๐Ÿชบ", Boolean.TRUE); + emojiTrie.put("๐Ÿ„", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡", Boolean.TRUE); + emojiTrie.put("๐Ÿˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‰", Boolean.TRUE); + emojiTrie.put("๐ŸŠ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ‹โ€๐ŸŸฉ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅญ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ…", Boolean.TRUE); + emojiTrie.put("๐Ÿซ’", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ†", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ”", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ•", Boolean.TRUE); + emojiTrie.put("๐ŸŒฝ", Boolean.TRUE); + emojiTrie.put("๐ŸŒถ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒถ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ’", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง„", Boolean.TRUE); + emojiTrie.put("๐Ÿง…", Boolean.TRUE); + emojiTrie.put("๐Ÿฅœ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ˜", Boolean.TRUE); + emojiTrie.put("๐ŸŒฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿซš", Boolean.TRUE); + emojiTrie.put("๐Ÿซ›", Boolean.TRUE); + emojiTrie.put("๐Ÿ„โ€๐ŸŸซ", Boolean.TRUE); + emojiTrie.put("๐Ÿž", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ–", Boolean.TRUE); + emojiTrie.put("๐Ÿซ“", Boolean.TRUE); + emojiTrie.put("๐Ÿฅจ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅž", Boolean.TRUE); + emojiTrie.put("๐Ÿง‡", Boolean.TRUE); + emojiTrie.put("๐Ÿง€", Boolean.TRUE); + emojiTrie.put("๐Ÿ–", Boolean.TRUE); + emojiTrie.put("๐Ÿ—", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐ŸŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•", Boolean.TRUE); + emojiTrie.put("๐ŸŒญ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅช", Boolean.TRUE); + emojiTrie.put("๐ŸŒฎ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ”", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ™", Boolean.TRUE); + emojiTrie.put("๐Ÿง†", Boolean.TRUE); + emojiTrie.put("๐Ÿฅš", Boolean.TRUE); + emojiTrie.put("๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ•", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ—", Boolean.TRUE); + emojiTrie.put("๐Ÿฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿงˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฅซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ™", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐Ÿœ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ ", Boolean.TRUE); + emojiTrie.put("๐Ÿข", Boolean.TRUE); + emojiTrie.put("๐Ÿฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿก", Boolean.TRUE); + emojiTrie.put("๐ŸฅŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅก", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆž", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿฆช", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿจ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); + emojiTrie.put("๐ŸŽ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿฅง", Boolean.TRUE); + emojiTrie.put("๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ›", Boolean.TRUE); + emojiTrie.put("โ˜•", Boolean.TRUE); + emojiTrie.put("๐Ÿซ–", Boolean.TRUE); + emojiTrie.put("๐Ÿต", Boolean.TRUE); + emojiTrie.put("๐Ÿถ", Boolean.TRUE); + emojiTrie.put("๐Ÿพ", Boolean.TRUE); + emojiTrie.put("๐Ÿท", Boolean.TRUE); + emojiTrie.put("๐Ÿธ", Boolean.TRUE); + emojiTrie.put("๐Ÿน", Boolean.TRUE); + emojiTrie.put("๐Ÿบ", Boolean.TRUE); + emojiTrie.put("๐Ÿป", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿฅƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ—", Boolean.TRUE); + emojiTrie.put("๐Ÿฅค", Boolean.TRUE); + emojiTrie.put("๐Ÿง‹", Boolean.TRUE); + emojiTrie.put("๐Ÿงƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿง‰", Boolean.TRUE); + emojiTrie.put("๐ŸงŠ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅข", Boolean.TRUE); + emojiTrie.put("๐Ÿฝ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿด", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ„", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ช", Boolean.TRUE); + emojiTrie.put("๐Ÿซ™", Boolean.TRUE); + emojiTrie.put("๐Ÿบ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐ŸŒŽ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—บ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—พ", Boolean.TRUE); + emojiTrie.put("๐Ÿงญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("โ›ฐ๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ฐ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ•๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–", Boolean.TRUE); + emojiTrie.put("๐Ÿœ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿœ", Boolean.TRUE); + emojiTrie.put("๐Ÿ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿž๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿž", Boolean.TRUE); + emojiTrie.put("๐ŸŸ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐Ÿ—๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—", Boolean.TRUE); + emojiTrie.put("๐Ÿงฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿชจ", Boolean.TRUE); + emojiTrie.put("๐Ÿชต", Boolean.TRUE); + emojiTrie.put("๐Ÿ›–", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ˜", Boolean.TRUE); + emojiTrie.put("๐Ÿš๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐Ÿ ", Boolean.TRUE); + emojiTrie.put("๐Ÿก", Boolean.TRUE); + emojiTrie.put("๐Ÿข", Boolean.TRUE); + emojiTrie.put("๐Ÿฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿค", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿจ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); + emojiTrie.put("๐Ÿซ", Boolean.TRUE); + emojiTrie.put("๐Ÿฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿญ", Boolean.TRUE); + emojiTrie.put("๐Ÿฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’’", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ฝ", Boolean.TRUE); + emojiTrie.put("โ›ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ•Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›•", Boolean.TRUE); + emojiTrie.put("๐Ÿ•", Boolean.TRUE); + emojiTrie.put("โ›ฉ๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•‹", Boolean.TRUE); + emojiTrie.put("โ›ฒ", Boolean.TRUE); + emojiTrie.put("โ›บ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐ŸŒƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ™", Boolean.TRUE); + emojiTrie.put("๐ŸŒ„", Boolean.TRUE); + emojiTrie.put("๐ŸŒ…", Boolean.TRUE); + emojiTrie.put("๐ŸŒ†", Boolean.TRUE); + emojiTrie.put("๐ŸŒ‡", Boolean.TRUE); + emojiTrie.put("๐ŸŒ‰", Boolean.TRUE); + emojiTrie.put("โ™จ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™จ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐ŸŽก", Boolean.TRUE); + emojiTrie.put("๐ŸŽข", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ˆ", Boolean.TRUE); + emojiTrie.put("๐ŸŽช", Boolean.TRUE); + emojiTrie.put("๐Ÿš‚", Boolean.TRUE); + emojiTrie.put("๐Ÿšƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿš„", Boolean.TRUE); + emojiTrie.put("๐Ÿš…", Boolean.TRUE); + emojiTrie.put("๐Ÿš†", Boolean.TRUE); + emojiTrie.put("๐Ÿš‡", Boolean.TRUE); + emojiTrie.put("๐Ÿšˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿš‰", Boolean.TRUE); + emojiTrie.put("๐ŸšŠ", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐Ÿšž", Boolean.TRUE); + emojiTrie.put("๐Ÿš‹", Boolean.TRUE); + emojiTrie.put("๐ŸšŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐ŸšŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐Ÿš‘", Boolean.TRUE); + emojiTrie.put("๐Ÿš’", Boolean.TRUE); + emojiTrie.put("๐Ÿš“", Boolean.TRUE); + emojiTrie.put("๐Ÿš”", Boolean.TRUE); + emojiTrie.put("๐Ÿš•", Boolean.TRUE); + emojiTrie.put("๐Ÿš–", Boolean.TRUE); + emojiTrie.put("๐Ÿš—", Boolean.TRUE); + emojiTrie.put("๐Ÿš˜", Boolean.TRUE); + emojiTrie.put("๐Ÿš™", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ป", Boolean.TRUE); + emojiTrie.put("๐Ÿšš", Boolean.TRUE); + emojiTrie.put("๐Ÿš›", Boolean.TRUE); + emojiTrie.put("๐Ÿšœ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ต", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›บ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ›น", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฃ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ค๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ข๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ข", Boolean.TRUE); + emojiTrie.put("โ›ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ž", Boolean.TRUE); + emojiTrie.put("๐Ÿšจ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›‘", Boolean.TRUE); + emojiTrie.put("๐Ÿšง", Boolean.TRUE); + emojiTrie.put("โš“", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Ÿ", Boolean.TRUE); + emojiTrie.put("โ›ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿšค", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ณ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ณ", Boolean.TRUE); + emojiTrie.put("โ›ด๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฅ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿšข", Boolean.TRUE); + emojiTrie.put("โœˆ๏ธ", Boolean.TRUE); + emojiTrie.put("โœˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฉ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿช‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ’บ", Boolean.TRUE); + emojiTrie.put("๐Ÿš", Boolean.TRUE); + emojiTrie.put("๐ŸšŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿš ", Boolean.TRUE); + emojiTrie.put("๐Ÿšก", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฐ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿš€", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Ž๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿงณ", Boolean.TRUE); + emojiTrie.put("โŒ›", Boolean.TRUE); + emojiTrie.put("โณ", Boolean.TRUE); + emojiTrie.put("โŒš", Boolean.TRUE); + emojiTrie.put("โฐ", Boolean.TRUE); + emojiTrie.put("โฑ๏ธ", Boolean.TRUE); + emojiTrie.put("โฑ", Boolean.TRUE); + emojiTrie.put("โฒ๏ธ", Boolean.TRUE); + emojiTrie.put("โฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฐ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•›", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ•", Boolean.TRUE); + emojiTrie.put("๐Ÿ•œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ•", Boolean.TRUE); + emojiTrie.put("๐Ÿ•’", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ•“", Boolean.TRUE); + emojiTrie.put("๐Ÿ•Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•”", Boolean.TRUE); + emojiTrie.put("๐Ÿ• ", Boolean.TRUE); + emojiTrie.put("๐Ÿ••", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ก", Boolean.TRUE); + emojiTrie.put("๐Ÿ•–", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ข", Boolean.TRUE); + emojiTrie.put("๐Ÿ•—", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ•™", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•š", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฆ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ‘", Boolean.TRUE); + emojiTrie.put("๐ŸŒ’", Boolean.TRUE); + emojiTrie.put("๐ŸŒ“", Boolean.TRUE); + emojiTrie.put("๐ŸŒ”", Boolean.TRUE); + emojiTrie.put("๐ŸŒ•", Boolean.TRUE); + emojiTrie.put("๐ŸŒ–", Boolean.TRUE); + emojiTrie.put("๐ŸŒ—", Boolean.TRUE); + emojiTrie.put("๐ŸŒ˜", Boolean.TRUE); + emojiTrie.put("๐ŸŒ™", Boolean.TRUE); + emojiTrie.put("๐ŸŒš", Boolean.TRUE); + emojiTrie.put("๐ŸŒ›", Boolean.TRUE); + emojiTrie.put("๐ŸŒœ", Boolean.TRUE); + emojiTrie.put("๐ŸŒก๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒก", Boolean.TRUE); + emojiTrie.put("โ˜€๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜€", Boolean.TRUE); + emojiTrie.put("๐ŸŒ", Boolean.TRUE); + emojiTrie.put("๐ŸŒž", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); + emojiTrie.put("โญ", Boolean.TRUE); + emojiTrie.put("๐ŸŒŸ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ ", Boolean.TRUE); + emojiTrie.put("๐ŸŒŒ", Boolean.TRUE); + emojiTrie.put("โ˜๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜", Boolean.TRUE); + emojiTrie.put("โ›…", Boolean.TRUE); + emojiTrie.put("โ›ˆ๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ˆ", Boolean.TRUE); + emojiTrie.put("๐ŸŒค๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒค", Boolean.TRUE); + emojiTrie.put("๐ŸŒฅ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฅ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฆ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฆ", Boolean.TRUE); + emojiTrie.put("๐ŸŒง๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒง", Boolean.TRUE); + emojiTrie.put("๐ŸŒจ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒจ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฉ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฉ", Boolean.TRUE); + emojiTrie.put("๐ŸŒช๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒช", Boolean.TRUE); + emojiTrie.put("๐ŸŒซ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒซ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฌ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŒฌ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ€", Boolean.TRUE); + emojiTrie.put("๐ŸŒˆ", Boolean.TRUE); + emojiTrie.put("๐ŸŒ‚", Boolean.TRUE); + emojiTrie.put("โ˜‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜‚", Boolean.TRUE); + emojiTrie.put("โ˜”", Boolean.TRUE); + emojiTrie.put("โ›ฑ๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ฑ", Boolean.TRUE); + emojiTrie.put("โšก", Boolean.TRUE); + emojiTrie.put("โ„๏ธ", Boolean.TRUE); + emojiTrie.put("โ„", Boolean.TRUE); + emojiTrie.put("โ˜ƒ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ƒ", Boolean.TRUE); + emojiTrie.put("โ›„", Boolean.TRUE); + emojiTrie.put("โ˜„๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜„", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ง", Boolean.TRUE); + emojiTrie.put("๐ŸŒŠ", Boolean.TRUE); + emojiTrie.put("๐ŸŽƒ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ„", Boolean.TRUE); + emojiTrie.put("๐ŸŽ†", Boolean.TRUE); + emojiTrie.put("๐ŸŽ‡", Boolean.TRUE); + emojiTrie.put("๐Ÿงจ", Boolean.TRUE); + emojiTrie.put("โœจ", Boolean.TRUE); + emojiTrie.put("๐ŸŽˆ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ‰", Boolean.TRUE); + emojiTrie.put("๐ŸŽŠ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ‹", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐ŸŽŽ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿงง", Boolean.TRUE); + emojiTrie.put("๐ŸŽ€", Boolean.TRUE); + emojiTrie.put("๐ŸŽ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ—๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ—", Boolean.TRUE); + emojiTrie.put("๐ŸŽŸ๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽŸ", Boolean.TRUE); + emojiTrie.put("๐ŸŽซ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ–๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ–", Boolean.TRUE); + emojiTrie.put("๐Ÿ†", Boolean.TRUE); + emojiTrie.put("๐Ÿ…", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ‡", Boolean.TRUE); + emojiTrie.put("๐Ÿฅˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ‰", Boolean.TRUE); + emojiTrie.put("โšฝ", Boolean.TRUE); + emojiTrie.put("โšพ", Boolean.TRUE); + emojiTrie.put("๐ŸฅŽ", Boolean.TRUE); + emojiTrie.put("๐Ÿ€", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‰", Boolean.TRUE); + emojiTrie.put("๐ŸŽพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐ŸŽณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿธ", Boolean.TRUE); + emojiTrie.put("๐ŸฅŠ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ‹", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ…", Boolean.TRUE); + emojiTrie.put("โ›ณ", Boolean.TRUE); + emojiTrie.put("โ›ธ๏ธ", Boolean.TRUE); + emojiTrie.put("โ›ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿคฟ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฝ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ท", Boolean.TRUE); + emojiTrie.put("๐ŸฅŒ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿช€", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ซ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿช„", Boolean.TRUE); + emojiTrie.put("๐ŸŽฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•น๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•น", Boolean.TRUE); + emojiTrie.put("๐ŸŽฐ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿงธ", Boolean.TRUE); + emojiTrie.put("๐Ÿช…", Boolean.TRUE); + emojiTrie.put("๐Ÿชฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿช†", Boolean.TRUE); + emojiTrie.put("โ™ ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™ ", Boolean.TRUE); + emojiTrie.put("โ™ฅ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™ฅ", Boolean.TRUE); + emojiTrie.put("โ™ฆ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™ฆ", Boolean.TRUE); + emojiTrie.put("โ™ฃ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™ฃ", Boolean.TRUE); + emojiTrie.put("โ™Ÿ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ€„", Boolean.TRUE); + emojiTrie.put("๐ŸŽด", Boolean.TRUE); + emojiTrie.put("๐ŸŽญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ผ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ผ", Boolean.TRUE); + emojiTrie.put("๐ŸŽจ", Boolean.TRUE); + emojiTrie.put("๐Ÿงต", Boolean.TRUE); + emojiTrie.put("๐Ÿชก", Boolean.TRUE); + emojiTrie.put("๐Ÿงถ", Boolean.TRUE); + emojiTrie.put("๐Ÿชข", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘“", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ถ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆบ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘”", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘•", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘–", Boolean.TRUE); + emojiTrie.put("๐Ÿงฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿงค", Boolean.TRUE); + emojiTrie.put("๐Ÿงฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘—", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘˜", Boolean.TRUE); + emojiTrie.put("๐Ÿฅป", Boolean.TRUE); + emojiTrie.put("๐Ÿฉฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘™", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘š", Boolean.TRUE); + emojiTrie.put("๐Ÿชญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘›", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ›๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐ŸŽ’", Boolean.TRUE); + emojiTrie.put("๐Ÿฉด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅพ", Boolean.TRUE); + emojiTrie.put("๐Ÿฅฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ก", Boolean.TRUE); + emojiTrie.put("๐Ÿฉฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘ข", Boolean.TRUE); + emojiTrie.put("๐Ÿชฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ‘’", Boolean.TRUE); + emojiTrie.put("๐ŸŽฉ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ“", Boolean.TRUE); + emojiTrie.put("๐Ÿงข", Boolean.TRUE); + emojiTrie.put("๐Ÿช–", Boolean.TRUE); + emojiTrie.put("โ›‘๏ธ", Boolean.TRUE); + emojiTrie.put("โ›‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’„", Boolean.TRUE); + emojiTrie.put("๐Ÿ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ’Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ”‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”‰", Boolean.TRUE); + emojiTrie.put("๐Ÿ”Š", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ข", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ””", Boolean.TRUE); + emojiTrie.put("๐Ÿ”•", Boolean.TRUE); + emojiTrie.put("๐ŸŽผ", Boolean.TRUE); + emojiTrie.put("๐ŸŽต", Boolean.TRUE); + emojiTrie.put("๐ŸŽถ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ™๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ™", Boolean.TRUE); + emojiTrie.put("๐ŸŽš๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽš", Boolean.TRUE); + emojiTrie.put("๐ŸŽ›๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽ›", Boolean.TRUE); + emojiTrie.put("๐ŸŽค", Boolean.TRUE); + emojiTrie.put("๐ŸŽง", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ป", Boolean.TRUE); + emojiTrie.put("๐ŸŽท", Boolean.TRUE); + emojiTrie.put("๐Ÿช—", Boolean.TRUE); + emojiTrie.put("๐ŸŽธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽน", Boolean.TRUE); + emojiTrie.put("๐ŸŽบ", Boolean.TRUE); + emojiTrie.put("๐ŸŽป", Boolean.TRUE); + emojiTrie.put("๐Ÿช•", Boolean.TRUE); + emojiTrie.put("๐Ÿฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿช˜", Boolean.TRUE); + emojiTrie.put("๐Ÿช‡", Boolean.TRUE); + emojiTrie.put("๐Ÿชˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฒ", Boolean.TRUE); + emojiTrie.put("โ˜Ž๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ“Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”‹", Boolean.TRUE); + emojiTrie.put("๐Ÿชซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ฅ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–จ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–จ", Boolean.TRUE); + emojiTrie.put("โŒจ๏ธ", Boolean.TRUE); + emojiTrie.put("โŒจ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ฑ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ฒ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“€", Boolean.TRUE); + emojiTrie.put("๐Ÿงฎ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฅ", Boolean.TRUE); + emojiTrie.put("๐ŸŽž๏ธ", Boolean.TRUE); + emojiTrie.put("๐ŸŽž", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฝ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฝ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“น", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐Ÿ”Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฏ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ก", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿช”", Boolean.TRUE); + emojiTrie.put("๐Ÿ“”", Boolean.TRUE); + emojiTrie.put("๐Ÿ“•", Boolean.TRUE); + emojiTrie.put("๐Ÿ“–", Boolean.TRUE); + emojiTrie.put("๐Ÿ“—", Boolean.TRUE); + emojiTrie.put("๐Ÿ“˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ“™", Boolean.TRUE); + emojiTrie.put("๐Ÿ“š", Boolean.TRUE); + emojiTrie.put("๐Ÿ““", Boolean.TRUE); + emojiTrie.put("๐Ÿ“’", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“„", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ž๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ“‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ”–", Boolean.TRUE); + emojiTrie.put("๐Ÿท๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿท", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿช™", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿงพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’น", Boolean.TRUE); + emojiTrie.put("โœ‰๏ธ", Boolean.TRUE); + emojiTrie.put("โœ‰", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ“จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ณ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ณ", Boolean.TRUE); + emojiTrie.put("โœ๏ธ", Boolean.TRUE); + emojiTrie.put("โœ", Boolean.TRUE); + emojiTrie.put("โœ’๏ธ", Boolean.TRUE); + emojiTrie.put("โœ’", Boolean.TRUE); + emojiTrie.put("๐Ÿ–‹๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ–Š๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–Š", Boolean.TRUE); + emojiTrie.put("๐Ÿ–Œ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ“‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ—‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ“…", Boolean.TRUE); + emojiTrie.put("๐Ÿ“†", Boolean.TRUE); + emojiTrie.put("๐Ÿ—’๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—’", Boolean.TRUE); + emojiTrie.put("๐Ÿ—“๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—“", Boolean.TRUE); + emojiTrie.put("๐Ÿ“‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“‰", Boolean.TRUE); + emojiTrie.put("๐Ÿ“Š", Boolean.TRUE); + emojiTrie.put("๐Ÿ“‹", Boolean.TRUE); + emojiTrie.put("๐Ÿ“Œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ“Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ–‡๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ–‡", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("๐Ÿ“", Boolean.TRUE); + emojiTrie.put("โœ‚๏ธ", Boolean.TRUE); + emojiTrie.put("โœ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ƒ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—„๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—„", Boolean.TRUE); + emojiTrie.put("๐Ÿ—‘๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ”’", Boolean.TRUE); + emojiTrie.put("๐Ÿ”“", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐Ÿ”‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ—๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—", Boolean.TRUE); + emojiTrie.put("๐Ÿ”จ", Boolean.TRUE); + emojiTrie.put("๐Ÿช“", Boolean.TRUE); + emojiTrie.put("โ›๏ธ", Boolean.TRUE); + emojiTrie.put("โ›", Boolean.TRUE); + emojiTrie.put("โš’๏ธ", Boolean.TRUE); + emojiTrie.put("โš’", Boolean.TRUE); + emojiTrie.put("๐Ÿ› ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ› ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ก", Boolean.TRUE); + emojiTrie.put("โš”๏ธ", Boolean.TRUE); + emojiTrie.put("โš”", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿชƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿน", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ก๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ก", Boolean.TRUE); + emojiTrie.put("๐Ÿชš", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ง", Boolean.TRUE); + emojiTrie.put("๐Ÿช›", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฉ", Boolean.TRUE); + emojiTrie.put("โš™๏ธ", Boolean.TRUE); + emojiTrie.put("โš™", Boolean.TRUE); + emojiTrie.put("๐Ÿ—œ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—œ", Boolean.TRUE); + emojiTrie.put("โš–๏ธ", Boolean.TRUE); + emojiTrie.put("โš–", Boolean.TRUE); + emojiTrie.put("๐Ÿฆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”—", Boolean.TRUE); + emojiTrie.put("โ›“๏ธโ€๐Ÿ’ฅ", Boolean.TRUE); + emojiTrie.put("โ›“โ€๐Ÿ’ฅ", Boolean.TRUE); + emojiTrie.put("โ›“๏ธ", Boolean.TRUE); + emojiTrie.put("โ›“", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); + emojiTrie.put("๐Ÿงฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿชœ", Boolean.TRUE); + emojiTrie.put("โš—๏ธ", Boolean.TRUE); + emojiTrie.put("โš—", Boolean.TRUE); + emojiTrie.put("๐Ÿงช", Boolean.TRUE); + emojiTrie.put("๐Ÿงซ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ก", Boolean.TRUE); + emojiTrie.put("๐Ÿ’‰", Boolean.TRUE); + emojiTrie.put("๐Ÿฉธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’Š", Boolean.TRUE); + emojiTrie.put("๐Ÿฉน", Boolean.TRUE); + emojiTrie.put("๐Ÿฉผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉบ", Boolean.TRUE); + emojiTrie.put("๐Ÿฉป", Boolean.TRUE); + emojiTrie.put("๐Ÿšช", Boolean.TRUE); + emojiTrie.put("๐Ÿ›—", Boolean.TRUE); + emojiTrie.put("๐Ÿชž", Boolean.TRUE); + emojiTrie.put("๐ŸชŸ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐Ÿ›‹๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›‹", Boolean.TRUE); + emojiTrie.put("๐Ÿช‘", Boolean.TRUE); + emojiTrie.put("๐Ÿšฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿช ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("๐Ÿชค", Boolean.TRUE); + emojiTrie.put("๐Ÿช’", Boolean.TRUE); + emojiTrie.put("๐Ÿงด", Boolean.TRUE); + emojiTrie.put("๐Ÿงท", Boolean.TRUE); + emojiTrie.put("๐Ÿงน", Boolean.TRUE); + emojiTrie.put("๐Ÿงบ", Boolean.TRUE); + emojiTrie.put("๐Ÿงป", Boolean.TRUE); + emojiTrie.put("๐Ÿชฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿงผ", Boolean.TRUE); + emojiTrie.put("๐Ÿซง", Boolean.TRUE); + emojiTrie.put("๐Ÿชฅ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›’", Boolean.TRUE); + emojiTrie.put("๐Ÿšฌ", Boolean.TRUE); + emojiTrie.put("โšฐ๏ธ", Boolean.TRUE); + emojiTrie.put("โšฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฆ", Boolean.TRUE); + emojiTrie.put("โšฑ๏ธ", Boolean.TRUE); + emojiTrie.put("โšฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿงฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ—ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿชง", Boolean.TRUE); + emojiTrie.put("๐Ÿชช", Boolean.TRUE); + emojiTrie.put("๐Ÿง", Boolean.TRUE); + emojiTrie.put("๐Ÿšฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฐ", Boolean.TRUE); + emojiTrie.put("โ™ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿšน", Boolean.TRUE); + emojiTrie.put("๐Ÿšบ", Boolean.TRUE); + emojiTrie.put("๐Ÿšป", Boolean.TRUE); + emojiTrie.put("๐Ÿšผ", Boolean.TRUE); + emojiTrie.put("๐Ÿšพ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ›ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›„", Boolean.TRUE); + emojiTrie.put("๐Ÿ›…", Boolean.TRUE); + emojiTrie.put("โš ๏ธ", Boolean.TRUE); + emojiTrie.put("โš ", Boolean.TRUE); + emojiTrie.put("๐Ÿšธ", Boolean.TRUE); + emojiTrie.put("โ›”", Boolean.TRUE); + emojiTrie.put("๐Ÿšซ", Boolean.TRUE); + emojiTrie.put("๐Ÿšณ", Boolean.TRUE); + emojiTrie.put("๐Ÿšญ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿšท", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ž", Boolean.TRUE); + emojiTrie.put("โ˜ข๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ข", Boolean.TRUE); + emojiTrie.put("โ˜ฃ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ฃ", Boolean.TRUE); + emojiTrie.put("โฌ†๏ธ", Boolean.TRUE); + emojiTrie.put("โฌ†", Boolean.TRUE); + emojiTrie.put("โ†—๏ธ", Boolean.TRUE); + emojiTrie.put("โ†—", Boolean.TRUE); + emojiTrie.put("โžก๏ธ", Boolean.TRUE); + emojiTrie.put("โžก", Boolean.TRUE); + emojiTrie.put("โ†˜๏ธ", Boolean.TRUE); + emojiTrie.put("โ†˜", Boolean.TRUE); + emojiTrie.put("โฌ‡๏ธ", Boolean.TRUE); + emojiTrie.put("โฌ‡", Boolean.TRUE); + emojiTrie.put("โ†™๏ธ", Boolean.TRUE); + emojiTrie.put("โ†™", Boolean.TRUE); + emojiTrie.put("โฌ…๏ธ", Boolean.TRUE); + emojiTrie.put("โฌ…", Boolean.TRUE); + emojiTrie.put("โ†–๏ธ", Boolean.TRUE); + emojiTrie.put("โ†–", Boolean.TRUE); + emojiTrie.put("โ†•๏ธ", Boolean.TRUE); + emojiTrie.put("โ†•", Boolean.TRUE); + emojiTrie.put("โ†”๏ธ", Boolean.TRUE); + emojiTrie.put("โ†”", Boolean.TRUE); + emojiTrie.put("โ†ฉ๏ธ", Boolean.TRUE); + emojiTrie.put("โ†ฉ", Boolean.TRUE); + emojiTrie.put("โ†ช๏ธ", Boolean.TRUE); + emojiTrie.put("โ†ช", Boolean.TRUE); + emojiTrie.put("โคด๏ธ", Boolean.TRUE); + emojiTrie.put("โคด", Boolean.TRUE); + emojiTrie.put("โคต๏ธ", Boolean.TRUE); + emojiTrie.put("โคต", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ƒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”„", Boolean.TRUE); + emojiTrie.put("๐Ÿ”™", Boolean.TRUE); + emojiTrie.put("๐Ÿ”š", Boolean.TRUE); + emojiTrie.put("๐Ÿ”›", Boolean.TRUE); + emojiTrie.put("๐Ÿ”œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐Ÿ›", Boolean.TRUE); + emojiTrie.put("โš›๏ธ", Boolean.TRUE); + emojiTrie.put("โš›", Boolean.TRUE); + emojiTrie.put("๐Ÿ•‰๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•‰", Boolean.TRUE); + emojiTrie.put("โœก๏ธ", Boolean.TRUE); + emojiTrie.put("โœก", Boolean.TRUE); + emojiTrie.put("โ˜ธ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ธ", Boolean.TRUE); + emojiTrie.put("โ˜ฏ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ฏ", Boolean.TRUE); + emojiTrie.put("โœ๏ธ", Boolean.TRUE); + emojiTrie.put("โœ", Boolean.TRUE); + emojiTrie.put("โ˜ฆ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ฆ", Boolean.TRUE); + emojiTrie.put("โ˜ช๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ช", Boolean.TRUE); + emojiTrie.put("โ˜ฎ๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ•Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿชฏ", Boolean.TRUE); + emojiTrie.put("โ™ˆ", Boolean.TRUE); + emojiTrie.put("โ™‰", Boolean.TRUE); + emojiTrie.put("โ™Š", Boolean.TRUE); + emojiTrie.put("โ™‹", Boolean.TRUE); + emojiTrie.put("โ™Œ", Boolean.TRUE); + emojiTrie.put("โ™", Boolean.TRUE); + emojiTrie.put("โ™Ž", Boolean.TRUE); + emojiTrie.put("โ™", Boolean.TRUE); + emojiTrie.put("โ™", Boolean.TRUE); + emojiTrie.put("โ™‘", Boolean.TRUE); + emojiTrie.put("โ™’", Boolean.TRUE); + emojiTrie.put("โ™“", Boolean.TRUE); + emojiTrie.put("โ›Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ”€", Boolean.TRUE); + emojiTrie.put("๐Ÿ”", Boolean.TRUE); + emojiTrie.put("๐Ÿ”‚", Boolean.TRUE); + emojiTrie.put("โ–ถ๏ธ", Boolean.TRUE); + emojiTrie.put("โ–ถ", Boolean.TRUE); + emojiTrie.put("โฉ", Boolean.TRUE); + emojiTrie.put("โญ๏ธ", Boolean.TRUE); + emojiTrie.put("โญ", Boolean.TRUE); + emojiTrie.put("โฏ๏ธ", Boolean.TRUE); + emojiTrie.put("โฏ", Boolean.TRUE); + emojiTrie.put("โ—€๏ธ", Boolean.TRUE); + emojiTrie.put("โ—€", Boolean.TRUE); + emojiTrie.put("โช", Boolean.TRUE); + emojiTrie.put("โฎ๏ธ", Boolean.TRUE); + emojiTrie.put("โฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ผ", Boolean.TRUE); + emojiTrie.put("โซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฝ", Boolean.TRUE); + emojiTrie.put("โฌ", Boolean.TRUE); + emojiTrie.put("โธ๏ธ", Boolean.TRUE); + emojiTrie.put("โธ", Boolean.TRUE); + emojiTrie.put("โน๏ธ", Boolean.TRUE); + emojiTrie.put("โน", Boolean.TRUE); + emojiTrie.put("โบ๏ธ", Boolean.TRUE); + emojiTrie.put("โบ", Boolean.TRUE); + emojiTrie.put("โ๏ธ", Boolean.TRUE); + emojiTrie.put("โ", Boolean.TRUE); + emojiTrie.put("๐ŸŽฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”…", Boolean.TRUE); + emojiTrie.put("๐Ÿ”†", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ›œ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“ด", Boolean.TRUE); + emojiTrie.put("โ™€๏ธ", Boolean.TRUE); + emojiTrie.put("โ™€", Boolean.TRUE); + emojiTrie.put("โ™‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ™‚", Boolean.TRUE); + emojiTrie.put("โšง๏ธ", Boolean.TRUE); + emojiTrie.put("โšง", Boolean.TRUE); + emojiTrie.put("โœ–๏ธ", Boolean.TRUE); + emojiTrie.put("โœ–", Boolean.TRUE); + emojiTrie.put("โž•", Boolean.TRUE); + emojiTrie.put("โž–", Boolean.TRUE); + emojiTrie.put("โž—", Boolean.TRUE); + emojiTrie.put("๐ŸŸฐ", Boolean.TRUE); + emojiTrie.put("โ™พ๏ธ", Boolean.TRUE); + emojiTrie.put("โ™พ", Boolean.TRUE); + emojiTrie.put("โ€ผ๏ธ", Boolean.TRUE); + emojiTrie.put("โ€ผ", Boolean.TRUE); + emojiTrie.put("โ‰๏ธ", Boolean.TRUE); + emojiTrie.put("โ‰", Boolean.TRUE); + emojiTrie.put("โ“", Boolean.TRUE); + emojiTrie.put("โ”", Boolean.TRUE); + emojiTrie.put("โ•", Boolean.TRUE); + emojiTrie.put("โ—", Boolean.TRUE); + emojiTrie.put("ใ€ฐ๏ธ", Boolean.TRUE); + emojiTrie.put("ใ€ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ฒ", Boolean.TRUE); + emojiTrie.put("โš•๏ธ", Boolean.TRUE); + emojiTrie.put("โš•", Boolean.TRUE); + emojiTrie.put("โ™ป๏ธ", Boolean.TRUE); + emojiTrie.put("โ™ป", Boolean.TRUE); + emojiTrie.put("โšœ๏ธ", Boolean.TRUE); + emojiTrie.put("โšœ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ“›", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฐ", Boolean.TRUE); + emojiTrie.put("โญ•", Boolean.TRUE); + emojiTrie.put("โœ…", Boolean.TRUE); + emojiTrie.put("โ˜‘๏ธ", Boolean.TRUE); + emojiTrie.put("โ˜‘", Boolean.TRUE); + emojiTrie.put("โœ”๏ธ", Boolean.TRUE); + emojiTrie.put("โœ”", Boolean.TRUE); + emojiTrie.put("โŒ", Boolean.TRUE); + emojiTrie.put("โŽ", Boolean.TRUE); + emojiTrie.put("โžฐ", Boolean.TRUE); + emojiTrie.put("โžฟ", Boolean.TRUE); + emojiTrie.put("ใ€ฝ๏ธ", Boolean.TRUE); + emojiTrie.put("ใ€ฝ", Boolean.TRUE); + emojiTrie.put("โœณ๏ธ", Boolean.TRUE); + emojiTrie.put("โœณ", Boolean.TRUE); + emojiTrie.put("โœด๏ธ", Boolean.TRUE); + emojiTrie.put("โœด", Boolean.TRUE); + emojiTrie.put("โ‡๏ธ", Boolean.TRUE); + emojiTrie.put("โ‡", Boolean.TRUE); + emojiTrie.put("ยฉ๏ธ", Boolean.TRUE); + emojiTrie.put("ยฉ", Boolean.TRUE); + emojiTrie.put("ยฎ๏ธ", Boolean.TRUE); + emojiTrie.put("ยฎ", Boolean.TRUE); + emojiTrie.put("โ„ข๏ธ", Boolean.TRUE); + emojiTrie.put("โ„ข", Boolean.TRUE); + emojiTrie.put("#๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("#โƒฃ", Boolean.TRUE); + emojiTrie.put("*๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("*โƒฃ", Boolean.TRUE); + emojiTrie.put("0๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("0โƒฃ", Boolean.TRUE); + emojiTrie.put("1๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("1โƒฃ", Boolean.TRUE); + emojiTrie.put("2๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("2โƒฃ", Boolean.TRUE); + emojiTrie.put("3๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("3โƒฃ", Boolean.TRUE); + emojiTrie.put("4๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("4โƒฃ", Boolean.TRUE); + emojiTrie.put("5๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("5โƒฃ", Boolean.TRUE); + emojiTrie.put("6๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("6โƒฃ", Boolean.TRUE); + emojiTrie.put("7๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("7โƒฃ", Boolean.TRUE); + emojiTrie.put("8๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("8โƒฃ", Boolean.TRUE); + emojiTrie.put("9๏ธโƒฃ", Boolean.TRUE); + emojiTrie.put("9โƒฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿ” ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ก", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ข", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ค", Boolean.TRUE); + emojiTrie.put("๐Ÿ…ฐ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ…ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ†Ž", Boolean.TRUE); + emojiTrie.put("๐Ÿ…ฑ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ…ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ†‘", Boolean.TRUE); + emojiTrie.put("๐Ÿ†’", Boolean.TRUE); + emojiTrie.put("๐Ÿ†“", Boolean.TRUE); + emojiTrie.put("โ„น๏ธ", Boolean.TRUE); + emojiTrie.put("โ„น", Boolean.TRUE); + emojiTrie.put("๐Ÿ†”", Boolean.TRUE); + emojiTrie.put("โ“‚๏ธ", Boolean.TRUE); + emojiTrie.put("โ“‚", Boolean.TRUE); + emojiTrie.put("๐Ÿ†•", Boolean.TRUE); + emojiTrie.put("๐Ÿ†–", Boolean.TRUE); + emojiTrie.put("๐Ÿ…พ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ…พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ†—", Boolean.TRUE); + emojiTrie.put("๐Ÿ…ฟ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ…ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ†˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ†™", Boolean.TRUE); + emojiTrie.put("๐Ÿ†š", Boolean.TRUE); + emojiTrie.put("๐Ÿˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆ‚๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆ‚", Boolean.TRUE); + emojiTrie.put("๐Ÿˆท๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆท", Boolean.TRUE); + emojiTrie.put("๐Ÿˆถ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‰", Boolean.TRUE); + emojiTrie.put("๐Ÿˆน", Boolean.TRUE); + emojiTrie.put("๐Ÿˆš", Boolean.TRUE); + emojiTrie.put("๐Ÿˆฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‰‘", Boolean.TRUE); + emojiTrie.put("๐Ÿˆธ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆด", Boolean.TRUE); + emojiTrie.put("๐Ÿˆณ", Boolean.TRUE); + emojiTrie.put("ใŠ—๏ธ", Boolean.TRUE); + emojiTrie.put("ใŠ—", Boolean.TRUE); + emojiTrie.put("ใŠ™๏ธ", Boolean.TRUE); + emojiTrie.put("ใŠ™", Boolean.TRUE); + emojiTrie.put("๐Ÿˆบ", Boolean.TRUE); + emojiTrie.put("๐Ÿˆต", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ด", Boolean.TRUE); + emojiTrie.put("๐ŸŸ ", Boolean.TRUE); + emojiTrie.put("๐ŸŸก", Boolean.TRUE); + emojiTrie.put("๐ŸŸข", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ต", Boolean.TRUE); + emojiTrie.put("๐ŸŸฃ", Boolean.TRUE); + emojiTrie.put("๐ŸŸค", Boolean.TRUE); + emojiTrie.put("โšซ", Boolean.TRUE); + emojiTrie.put("โšช", Boolean.TRUE); + emojiTrie.put("๐ŸŸฅ", Boolean.TRUE); + emojiTrie.put("๐ŸŸง", Boolean.TRUE); + emojiTrie.put("๐ŸŸจ", Boolean.TRUE); + emojiTrie.put("๐ŸŸฉ", Boolean.TRUE); + emojiTrie.put("๐ŸŸฆ", Boolean.TRUE); + emojiTrie.put("๐ŸŸช", Boolean.TRUE); + emojiTrie.put("๐ŸŸซ", Boolean.TRUE); + emojiTrie.put("โฌ›", Boolean.TRUE); + emojiTrie.put("โฌœ", Boolean.TRUE); + emojiTrie.put("โ—ผ๏ธ", Boolean.TRUE); + emojiTrie.put("โ—ผ", Boolean.TRUE); + emojiTrie.put("โ—ป๏ธ", Boolean.TRUE); + emojiTrie.put("โ—ป", Boolean.TRUE); + emojiTrie.put("โ—พ", Boolean.TRUE); + emojiTrie.put("โ—ฝ", Boolean.TRUE); + emojiTrie.put("โ–ช๏ธ", Boolean.TRUE); + emojiTrie.put("โ–ช", Boolean.TRUE); + emojiTrie.put("โ–ซ๏ธ", Boolean.TRUE); + emojiTrie.put("โ–ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”น", Boolean.TRUE); + emojiTrie.put("๐Ÿ”บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ’ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”˜", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ”ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ", Boolean.TRUE); + emojiTrie.put("๐Ÿšฉ", Boolean.TRUE); + emojiTrie.put("๐ŸŽŒ", Boolean.TRUE); + emojiTrie.put("๐Ÿด", Boolean.TRUE); + emojiTrie.put("๐Ÿณ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿณ", Boolean.TRUE); + emojiTrie.put("๐Ÿณ๏ธโ€๐ŸŒˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿณโ€๐ŸŒˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿณ๏ธโ€โšง๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿณโ€โšง๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿณ๏ธโ€โšง", Boolean.TRUE); + emojiTrie.put("๐Ÿณโ€โšง", Boolean.TRUE); + emojiTrie.put("๐Ÿดโ€โ˜ ๏ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿดโ€โ˜ ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฆ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ง๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฉ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ช๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ซ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฌ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ญ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฎ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฏ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฐ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฑ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ถ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฒ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ณ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ด๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ต๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ถ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ท๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ท๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ง", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฝ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ธ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฉ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ญ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฏ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฑ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ด", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ท", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ป", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡น๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡พ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡บ๐Ÿ‡ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡จ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ฌ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ฎ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡ณ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ป๐Ÿ‡บ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ผ๐Ÿ‡ซ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ผ๐Ÿ‡ธ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฝ๐Ÿ‡ฐ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡พ๐Ÿ‡ช", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡พ๐Ÿ‡น", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฟ๐Ÿ‡ฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฟ๐Ÿ‡ฒ", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡ฟ๐Ÿ‡ผ", Boolean.TRUE); + emojiTrie.put("๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ", Boolean.TRUE); + emojiTrie.put("๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ", Boolean.TRUE); } private Emojis() { From d3b4548eead2b576d2e8cdf16928ef954f693384 Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Mon, 14 Apr 2025 23:44:59 +0200 Subject: [PATCH 04/93] =?UTF-8?q?Inserts=20new=20emojis=20=F0=9F=A7=91?= =?UTF-8?q?=E2=80=8D=F0=9F=8E=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/sirius/kernel/commons/Emojis.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/sirius/kernel/commons/Emojis.java b/src/main/java/sirius/kernel/commons/Emojis.java index 16e23f55..003de683 100644 --- a/src/main/java/sirius/kernel/commons/Emojis.java +++ b/src/main/java/sirius/kernel/commons/Emojis.java @@ -81,6 +81,7 @@ public class Emojis { emojiTrie.put("๐Ÿ˜ช", Boolean.TRUE); emojiTrie.put("๐Ÿคค", Boolean.TRUE); emojiTrie.put("๐Ÿ˜ด", Boolean.TRUE); + emojiTrie.put("๐Ÿซฉ", Boolean.TRUE); emojiTrie.put("๐Ÿ˜ท", Boolean.TRUE); emojiTrie.put("๐Ÿค’", Boolean.TRUE); emojiTrie.put("๐Ÿค•", Boolean.TRUE); @@ -3494,6 +3495,7 @@ public class Emojis { emojiTrie.put("๐Ÿง‘โ€๐Ÿง’", Boolean.TRUE); emojiTrie.put("๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’", Boolean.TRUE); emojiTrie.put("๐Ÿ‘ฃ", Boolean.TRUE); + emojiTrie.put("๐Ÿซ†", Boolean.TRUE); emojiTrie.put("๐Ÿป", Boolean.TRUE); emojiTrie.put("๐Ÿผ", Boolean.TRUE); emojiTrie.put("๐Ÿฝ", Boolean.TRUE); @@ -3663,6 +3665,7 @@ public class Emojis { emojiTrie.put("๐Ÿชน", Boolean.TRUE); emojiTrie.put("๐Ÿชบ", Boolean.TRUE); emojiTrie.put("๐Ÿ„", Boolean.TRUE); + emojiTrie.put("๐Ÿชพ", Boolean.TRUE); emojiTrie.put("๐Ÿ‡", Boolean.TRUE); emojiTrie.put("๐Ÿˆ", Boolean.TRUE); emojiTrie.put("๐Ÿ‰", Boolean.TRUE); @@ -3702,6 +3705,7 @@ public class Emojis { emojiTrie.put("๐Ÿซš", Boolean.TRUE); emojiTrie.put("๐Ÿซ›", Boolean.TRUE); emojiTrie.put("๐Ÿ„โ€๐ŸŸซ", Boolean.TRUE); + emojiTrie.put("๐Ÿซœ", Boolean.TRUE); emojiTrie.put("๐Ÿž", Boolean.TRUE); emojiTrie.put("๐Ÿฅ", Boolean.TRUE); emojiTrie.put("๐Ÿฅ–", Boolean.TRUE); @@ -4245,6 +4249,7 @@ public class Emojis { emojiTrie.put("๐Ÿช˜", Boolean.TRUE); emojiTrie.put("๐Ÿช‡", Boolean.TRUE); emojiTrie.put("๐Ÿชˆ", Boolean.TRUE); + emojiTrie.put("๐Ÿช‰", Boolean.TRUE); emojiTrie.put("๐Ÿ“ฑ", Boolean.TRUE); emojiTrie.put("๐Ÿ“ฒ", Boolean.TRUE); emojiTrie.put("โ˜Ž๏ธ", Boolean.TRUE); @@ -4422,6 +4427,7 @@ public class Emojis { emojiTrie.put("๐Ÿงฐ", Boolean.TRUE); emojiTrie.put("๐Ÿงฒ", Boolean.TRUE); emojiTrie.put("๐Ÿชœ", Boolean.TRUE); + emojiTrie.put("๐Ÿช", Boolean.TRUE); emojiTrie.put("โš—๏ธ", Boolean.TRUE); emojiTrie.put("โš—", Boolean.TRUE); emojiTrie.put("๐Ÿงช", Boolean.TRUE); @@ -4667,6 +4673,7 @@ public class Emojis { emojiTrie.put("ยฎ", Boolean.TRUE); emojiTrie.put("โ„ข๏ธ", Boolean.TRUE); emojiTrie.put("โ„ข", Boolean.TRUE); + emojiTrie.put("๐ŸซŸ", Boolean.TRUE); emojiTrie.put("#๏ธโƒฃ", Boolean.TRUE); emojiTrie.put("#โƒฃ", Boolean.TRUE); emojiTrie.put("*๏ธโƒฃ", Boolean.TRUE); @@ -4844,6 +4851,7 @@ public class Emojis { emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ณ", Boolean.TRUE); emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ด", Boolean.TRUE); emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ต", Boolean.TRUE); + emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ถ", Boolean.TRUE); emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ท", Boolean.TRUE); emojiTrie.put("๐Ÿ‡จ๐Ÿ‡บ", Boolean.TRUE); emojiTrie.put("๐Ÿ‡จ๐Ÿ‡ป", Boolean.TRUE); From fdb57676c32182d9d9280224da3891d65265dc2e Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Mon, 14 Apr 2025 23:45:16 +0200 Subject: [PATCH 05/93] =?UTF-8?q?Adapts=20sorting=20to=20official=20list?= =?UTF-8?q?=20=F0=9F=91=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/sirius/kernel/commons/Emojis.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Emojis.java b/src/main/java/sirius/kernel/commons/Emojis.java index 003de683..bf3d61dd 100644 --- a/src/main/java/sirius/kernel/commons/Emojis.java +++ b/src/main/java/sirius/kernel/commons/Emojis.java @@ -3617,6 +3617,11 @@ public class Emojis { emojiTrie.put("๐Ÿš", Boolean.TRUE); emojiTrie.put("๐Ÿชธ", Boolean.TRUE); emojiTrie.put("๐Ÿชผ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ€", Boolean.TRUE); + emojiTrie.put("๐Ÿฆž", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ", Boolean.TRUE); + emojiTrie.put("๐Ÿฆ‘", Boolean.TRUE); + emojiTrie.put("๐Ÿฆช", Boolean.TRUE); emojiTrie.put("๐ŸŒ", Boolean.TRUE); emojiTrie.put("๐Ÿฆ‹", Boolean.TRUE); emojiTrie.put("๐Ÿ›", Boolean.TRUE); @@ -3757,11 +3762,6 @@ public class Emojis { emojiTrie.put("๐ŸฅŸ", Boolean.TRUE); emojiTrie.put("๐Ÿฅ ", Boolean.TRUE); emojiTrie.put("๐Ÿฅก", Boolean.TRUE); - emojiTrie.put("๐Ÿฆ€", Boolean.TRUE); - emojiTrie.put("๐Ÿฆž", Boolean.TRUE); - emojiTrie.put("๐Ÿฆ", Boolean.TRUE); - emojiTrie.put("๐Ÿฆ‘", Boolean.TRUE); - emojiTrie.put("๐Ÿฆช", Boolean.TRUE); emojiTrie.put("๐Ÿฆ", Boolean.TRUE); emojiTrie.put("๐Ÿง", Boolean.TRUE); emojiTrie.put("๐Ÿจ", Boolean.TRUE); From 3ec78e1c6a914c994fa814a6bfe5c923033230b7 Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Mon, 14 Apr 2025 23:46:24 +0200 Subject: [PATCH 06/93] =?UTF-8?q?Tests=20one=20of=20the=20new=20emojis=20?= =?UTF-8?q?=F0=9F=A7=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/kotlin/sirius/kernel/commons/EmojiTest.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/kotlin/sirius/kernel/commons/EmojiTest.kt b/src/test/kotlin/sirius/kernel/commons/EmojiTest.kt index b5a484e0..5cb0e464 100644 --- a/src/test/kotlin/sirius/kernel/commons/EmojiTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/EmojiTest.kt @@ -32,6 +32,7 @@ class EmojiTest { assertTrue { Emojis.isEmoji("๐Ÿ”ฃ") } assertTrue { Emojis.isEmoji("๐ŸŽŽ") } assertTrue { Emojis.isEmoji("๐Ÿฅบ") } + assertTrue { Emojis.isEmoji("๐Ÿซ†") } assertFalse { Emojis.isEmoji("") } assertFalse { Emojis.isEmoji("a") } From 0bea9f1127087e78f107b2054273d444635715ba Mon Sep 17 00:00:00 2001 From: scireumskip Date: Tue, 22 Apr 2025 13:09:27 +0200 Subject: [PATCH 07/93] Lokalise: updates --- src/main/resources/kernel_cs.properties | 2 +- src/main/resources/kernel_en.properties | 10 +++++----- src/main/resources/kernel_es.properties | 10 +++++----- src/main/resources/kernel_fr.properties | 4 ++-- src/main/resources/kernel_it.properties | 14 +++++++------- src/main/resources/kernel_pl.properties | 10 +++++----- src/main/resources/kernel_sk.properties | 6 +++--- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/main/resources/kernel_cs.properties b/src/main/resources/kernel_cs.properties index 2fe5e9dc..7bbd8e6e 100644 --- a/src/main/resources/kernel_cs.properties +++ b/src/main/resources/kernel_cs.properties @@ -57,7 +57,7 @@ NLS.may = Kvฤ›ten NLS.millisecond = Mmilisekundu NLS.milliseconds = 1 milisekundu | ${count} milisekund NLS.minute = Minuta -NLS.minutes = 1 Minuta | ${count} minut +NLS.minutes = 1 minuta | ${count} minut NLS.monday = Pondฤ›lรญ NLS.month = Mฤ›sรญc NLS.more = vรญce diff --git a/src/main/resources/kernel_en.properties b/src/main/resources/kernel_en.properties index 864c456e..653d8f59 100644 --- a/src/main/resources/kernel_en.properties +++ b/src/main/resources/kernel_en.properties @@ -32,7 +32,7 @@ NLS.back = Back NLS.cancel = Cancel NLS.close = Close NLS.day = Day -NLS.days = 1 Day | ${count} Days +NLS.days = 1 day | ${count} days NLS.december = December NLS.decimalSeparator = . NLS.delete = Delete @@ -47,7 +47,7 @@ NLS.filter = Filter NLS.friday = Friday NLS.groupingSeparator = , NLS.hour = Hour -NLS.hours = 1 Hour | ${count} Hours +NLS.hours = 1 hour | ${count} hours NLS.inNHours = in ${hours} hours NLS.january = January NLS.july = July @@ -55,9 +55,9 @@ NLS.june = June NLS.march = March NLS.may = May NLS.millisecond = Millisecond -NLS.milliseconds = 1 Millisecond | ${count} Milliseconds +NLS.milliseconds = 1 millisecond | ${count} milliseconds NLS.minute = Minute -NLS.minutes = 1 Minute | ${count} Minutes +NLS.minutes = 1 minute | ${count} minutes NLS.monday = Monday NLS.month = Month NLS.more = more @@ -87,7 +87,7 @@ NLS.search = Search NLS.searchResult = Search result NLS.searchkey = Search... NLS.second = Second -NLS.seconds = 1 Second | ${count} Seconds +NLS.seconds = 1 second | ${count} seconds NLS.september = September NLS.someMinutesAgo = some minutes ago NLS.sunday = Sunday diff --git a/src/main/resources/kernel_es.properties b/src/main/resources/kernel_es.properties index 06391095..72e850f3 100644 --- a/src/main/resources/kernel_es.properties +++ b/src/main/resources/kernel_es.properties @@ -32,7 +32,7 @@ NLS.back = Volver NLS.cancel = Cancelar NLS.close = Cerrar NLS.day = Dรญa -NLS.days = 1 Dรญa | ${count} Dรญas +NLS.days = 1 dรญa | ${count} dรญas NLS.december = Diciembre NLS.decimalSeparator = , NLS.delete = Borrar @@ -47,7 +47,7 @@ NLS.filter = Filtro NLS.friday = Viernes NLS.groupingSeparator = , NLS.hour = Hora -NLS.hours = 1 Hora | ${count} Horas +NLS.hours = 1 hora | ${count} horas NLS.inNHours = en ${horas} horas NLS.january = Enero NLS.july = Julio @@ -55,9 +55,9 @@ NLS.june = Junio NLS.march = Marzo NLS.may = Mayo NLS.millisecond = Milisegundo -NLS.milliseconds = 1 Milisegundo | ${count} Milisegundos +NLS.milliseconds = 1 milisegundo | ${count} milisegundos NLS.minute = Minuto -NLS.minutes = 1 Minuto | ${count} Minutos +NLS.minutes = 1 minuto | ${count} minutos NLS.monday = Lunes NLS.month = Mes NLS.more = mรกs @@ -87,7 +87,7 @@ NLS.search = Buscar en NLS.searchResult = Resultado de la bรบsqueda NLS.searchkey = Tรฉrmino de bรบsqueda... NLS.second = Segundo -NLS.seconds = 1 Segundo | ${count} Segundos +NLS.seconds = 1 segundo | ${count} segundos NLS.september = Septiembre NLS.someMinutesAgo = hace unos minutos NLS.sunday = Domingo diff --git a/src/main/resources/kernel_fr.properties b/src/main/resources/kernel_fr.properties index 32f33c08..09985b73 100644 --- a/src/main/resources/kernel_fr.properties +++ b/src/main/resources/kernel_fr.properties @@ -32,7 +32,7 @@ NLS.back = Retour NLS.cancel = Annuler NLS.close = Fermer NLS.day = Jour -NLS.days = 1 Jour | ${count} jours +NLS.days = 1 jour | ${count} jours NLS.december = Dรฉcembre NLS.decimalSeparator = , NLS.delete = Supprimer @@ -62,7 +62,7 @@ NLS.monday = Lundi NLS.month = Mois NLS.more = plus NLS.nHoursAgo = il y a ${hours} heures -NLS.nMinutesAgo = Il y a ${minutes} minutes +NLS.nMinutesAgo = il y a ${minutes} minutes NLS.name = Nom NLS.new = Nouveau NLS.nextHour = dans l'heure qui suit diff --git a/src/main/resources/kernel_it.properties b/src/main/resources/kernel_it.properties index f1b8acb5..a9f81c7d 100644 --- a/src/main/resources/kernel_it.properties +++ b/src/main/resources/kernel_it.properties @@ -32,7 +32,7 @@ NLS.back = Indietro NLS.cancel = Annulla NLS.close = Vicino NLS.day = Giorno -NLS.days = 1 Giorno | ${count} Giorni +NLS.days = 1 giorno | $ {count} giorni NLS.december = Dicembre NLS.decimalSeparator = , NLS.delete = Elimina @@ -47,7 +47,7 @@ NLS.filter = Filtro NLS.friday = Venerdรฌ NLS.groupingSeparator = . NLS.hour = Ora -NLS.hours = 1 Ora | ${count} Ore +NLS.hours = 1 ora | ${count} ore NLS.inNHours = in ${hours} ore NLS.january = Gennaio NLS.july = Luglio @@ -55,9 +55,9 @@ NLS.june = Giugno NLS.march = Marzo NLS.may = Maggio NLS.millisecond = Millisecondo -NLS.milliseconds = 1 Millisecondo | ${count} Millisecondi +NLS.milliseconds = 1 millisecondo | ${count} millisecondi NLS.minute = Minuto -NLS.minutes = 1 Minuto | ${count} Minuti +NLS.minutes = 1 minuto | ${count} minuti NLS.monday = Lunedรฌ NLS.month = Mese NLS.more = piรน @@ -87,13 +87,13 @@ NLS.search = Ricerca NLS.searchResult = Risultato della ricerca NLS.searchkey = Ricerca... NLS.second = Secondo -NLS.seconds = 1 Secondo | ${count} Secondi +NLS.seconds = 1 secondo | ${count} secondi NLS.september = Settembre NLS.someMinutesAgo = alcuni minuti fa NLS.sunday = Domenica NLS.thursday = Giovedรฌ -NLS.today = Oggi -NLS.tomorrow = Domani +NLS.today = oggi +NLS.tomorrow = domani NLS.tuesday = Martedรฌ NLS.wednesday = Mercoledรฌ NLS.year = Anno diff --git a/src/main/resources/kernel_pl.properties b/src/main/resources/kernel_pl.properties index d1c5b982..b5895971 100644 --- a/src/main/resources/kernel_pl.properties +++ b/src/main/resources/kernel_pl.properties @@ -32,7 +32,7 @@ NLS.back = Z powrotem NLS.cancel = Anuluj NLS.close = Zamknij NLS.day = Dzieล„ -NLS.days = 1 Dzieล„ | ${count} dni +NLS.days = 1 dzieล„ | ${count} dni NLS.december = Grudzieล„ NLS.decimalSeparator = , NLS.delete = Skreล›liฤ‡ @@ -55,7 +55,7 @@ NLS.june = Czerwiec NLS.march = Marzec NLS.may = Maj NLS.millisecond = Milisekunda -NLS.milliseconds = 1 Milisekunda | ${count} Milisekundy +NLS.milliseconds = 1 milisekunda | ${count} milisekund NLS.minute = Minuta NLS.minutes = 1 minuta | ${count} minuty NLS.monday = Poniedziaล‚ek @@ -92,10 +92,10 @@ NLS.september = Wrzesieล„ NLS.someMinutesAgo = kilka minut temu NLS.sunday = Niedziela NLS.thursday = Czwartek -NLS.today = Dziล› -NLS.tomorrow = Jutro +NLS.today = dzisiaj +NLS.tomorrow = jutro NLS.tuesday = Wtorek NLS.wednesday = ลšroda NLS.year = Rok NLS.yes = Tak -NLS.yesterday = Wczoraj +NLS.yesterday = wczoraj diff --git a/src/main/resources/kernel_sk.properties b/src/main/resources/kernel_sk.properties index 9c21f041..460d7bdc 100644 --- a/src/main/resources/kernel_sk.properties +++ b/src/main/resources/kernel_sk.properties @@ -32,7 +32,7 @@ NLS.back = Spรคลฅ NLS.cancel = Zruลกiลฅ NLS.close = Zatvoriลฅ NLS.day = Deลˆ -NLS.days = 1 deลˆ | ${count} Dni +NLS.days = 1 deลˆ | ${count} dnรญ NLS.december = December NLS.decimalSeparator = , NLS.delete = Odstrรกniลฅ @@ -55,7 +55,7 @@ NLS.june = Jรบn NLS.march = Marec NLS.may = Mรกj NLS.millisecond = Milisekundy -NLS.milliseconds = 1 milisekunda | ${count} Milisekundy +NLS.milliseconds = 1 milisekunda | ${count} milisekรบnd NLS.minute = Minรบta NLS.minutes = 1 minรบta | ${count} minรบt NLS.monday = Pondelok @@ -87,7 +87,7 @@ NLS.search = Vyhฤพadรกvanie NLS.searchResult = Vรฝsledok vyhฤพadรกvania NLS.searchkey = Vyhฤพadรกvanie... NLS.second = Druhรฝ -NLS.seconds = 1 sekunda | ${count} Sekundy +NLS.seconds = 1 sekunda | ${count} sekundy NLS.september = September NLS.someMinutesAgo = pred niekoฤพkรฝmi minรบtami NLS.sunday = Nedeฤพa From 9b5d5df929fa3574cb4eaa54bee92f9e443228f5 Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Tue, 22 Apr 2025 13:12:24 +0200 Subject: [PATCH 08/93] =?UTF-8?q?Fixes=20typo=20=F0=9F=91=A9=E2=80=8D?= =?UTF-8?q?=F0=9F=8F=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/kernel_it.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/kernel_it.properties b/src/main/resources/kernel_it.properties index a9f81c7d..b4a7bc06 100644 --- a/src/main/resources/kernel_it.properties +++ b/src/main/resources/kernel_it.properties @@ -32,7 +32,7 @@ NLS.back = Indietro NLS.cancel = Annulla NLS.close = Vicino NLS.day = Giorno -NLS.days = 1 giorno | $ {count} giorni +NLS.days = 1 giorno | ${count} giorni NLS.december = Dicembre NLS.decimalSeparator = , NLS.delete = Elimina From 792c6727aedebf4a04768b05f75e3064281970d0 Mon Sep 17 00:00:00 2001 From: scireumskip Date: Fri, 25 Apr 2025 12:20:44 +0200 Subject: [PATCH 09/93] Lokalise: updates --- src/main/resources/kernel_es.properties | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/resources/kernel_es.properties b/src/main/resources/kernel_es.properties index 72e850f3..89c69282 100644 --- a/src/main/resources/kernel_es.properties +++ b/src/main/resources/kernel_es.properties @@ -39,16 +39,16 @@ NLS.delete = Borrar NLS.description = Descripciรณn NLS.edit = Editar NLS.errInvalidDate = Introduzca una fecha vรกlida con el formato '${format}'. '${value}' no es vรกlido. -NLS.errInvalidDecimalNumber = Introduzca un nรบmero decimal vรกlido. '${valor}' no es vรกlido. -NLS.errInvalidIntegerNumber = Introduzca un nรบmero entero vรกlido. '${valor}' no es vรกlido. -NLS.errInvalidTime = Introduzca una hora vรกlida en formato 'HH:MM'. '${valor}' no es vรกlido. +NLS.errInvalidDecimalNumber = Introduzca un nรบmero decimal vรกlido. '${value}' no es vรกlido. +NLS.errInvalidIntegerNumber = Introduzca un nรบmero entero vรกlido. '${value}' no es vรกlido. +NLS.errInvalidTime = Introduzca una hora vรกlida en formato 'HH:MM'. '${value}' no es vรกlido. NLS.february = Febrero NLS.filter = Filtro NLS.friday = Viernes NLS.groupingSeparator = , NLS.hour = Hora NLS.hours = 1 hora | ${count} horas -NLS.inNHours = en ${horas} horas +NLS.inNHours = en ${hours} horas NLS.january = Enero NLS.july = Julio NLS.june = Junio @@ -61,8 +61,8 @@ NLS.minutes = 1 minuto | ${count} minutos NLS.monday = Lunes NLS.month = Mes NLS.more = mรกs -NLS.nHoursAgo = hace ${horas} horas -NLS.nMinutesAgo = hace ${minutos} minutos +NLS.nHoursAgo = hace ${hours} horas +NLS.nMinutesAgo = hace ${minutes} minutos NLS.name = Nombre NLS.new = Nuevo NLS.nextHour = en la prรณxima hora From 9e808549e3876d9a5708d9615bbb855d9d072189 Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Tue, 29 Apr 2025 09:25:51 +0200 Subject: [PATCH 10/93] Adds the Strings.areAllFilled We have an areAllEmpty, but areAllFilled is not the same as !areAllEmpty Fixes: OX-11912 --- .../java/sirius/kernel/commons/Strings.java | 19 +++++++++++++++++++ .../sirius/kernel/commons/StringsTest.kt | 15 +++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/main/java/sirius/kernel/commons/Strings.java b/src/main/java/sirius/kernel/commons/Strings.java index efa17b90..558a4155 100644 --- a/src/main/java/sirius/kernel/commons/Strings.java +++ b/src/main/java/sirius/kernel/commons/Strings.java @@ -139,6 +139,25 @@ public static boolean areAllEmpty(Object first, Object second, Object... further return true; } + /** + * Checks if the string representations of the given objects are not "" or null. + * + * @param first the first object which is to be checked + * @param second the second object which is to be checked + * @param further additional objects to be checked + * @return true if all strings are not null or "", false if one of them is empty + * @see #isFilled(Object) + */ + public static boolean areAllFilled(Object first, Object second, Object... further) { + if (Strings.isEmpty(first) || Strings.isEmpty(second)) { + return false; + } + if (further != null) { + return Stream.of(further).allMatch(Strings::isFilled); + } + return true; + } + /** * Compares the given Strings while treating upper- and lowercase characters as equal. *

diff --git a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt index b61a3463..25ce1764 100644 --- a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt @@ -50,6 +50,21 @@ class StringsTest { assertFalse { Strings.areAllEmpty(null, "", null, "", "Test") } } + @Test + fun areAllFilled() { + assertFalse { Strings.areAllFilled(null, null) } + assertFalse { Strings.areAllFilled("", "") } + assertFalse { Strings.areAllFilled("", null) } + assertFalse { Strings.areAllFilled(null, "") } + assertFalse { Strings.areAllFilled(null, "", null, "") } + assertFalse { Strings.areAllFilled("Test", null) } + assertFalse { Strings.areAllFilled(null, "Test") } + assertTrue { Strings.areAllFilled("Test", "Test") } + assertFalse { Strings.areAllFilled(null, "", null, "", "Test") } + assertFalse { Strings.areAllFilled(null, "", "Test") } + assertTrue { Strings.areAllFilled("Test", "Test", "Test") } + } + @Test fun equalIgnoreCase() { assertTrue { Strings.equalIgnoreCase("A", "a") } From 7dd23e93f389db9643554309058400a452e9afda Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Tue, 29 Apr 2025 10:06:37 +0200 Subject: [PATCH 11/93] Removes a deprecated method Fixes: OX-11912 --- src/main/java/sirius/kernel/commons/Strings.java | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Strings.java b/src/main/java/sirius/kernel/commons/Strings.java index 558a4155..d410360d 100644 --- a/src/main/java/sirius/kernel/commons/Strings.java +++ b/src/main/java/sirius/kernel/commons/Strings.java @@ -735,19 +735,6 @@ public static boolean containsAllowedHtml(@Nullable String content) { return DETECT_ALLOWED_HTML_REGEX.matcher(content).find(); } - /** - * Removes all umlauts and other decorated latin characters. - * - * @param input the term to reduce characters in - * @return the term with all decorated latin characters replaced - * @deprecated Use {@link StringCleanup#reduceCharacters(String)} or - * * {@code Strings.cleanup(input, Cleanup::reduceCharacters)} instead - */ - @Deprecated - public static String reduceCharacters(String input) { - return StringCleanup.reduceCharacters(input); - } - /** * Shortens a string to the given number of chars, * cutting of at most half of the string and adding ... if something has been cut of. From 1210c6efd8eb4860640e605a1c66c657b7bcdfb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 11:16:38 +0200 Subject: [PATCH 12/93] First try for PR automatic tests with github-actions - fixes: DO-409 --- .github/workflows/pull-request.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/pull-request.yml diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 00000000..a3c3f6e8 --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,15 @@ +name: Pull Request +on: + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + container: + image: scireum/sirius-build-jdk23 + steps: + - name: Checkout project + uses: actions/checkout@v4 + + - name: Compile and test project without nightly tests + run: mvn clean compile test -Dtest.excluded.groups=nightly From 295a12bfa681706119ce623382092348229998b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 11:37:18 +0200 Subject: [PATCH 13/93] add compile step on pushing to master - fixes: DO-409 --- .github/workflows/pull-request.yml | 2 +- .github/workflows/push-master.yml | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/push-master.yml diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index a3c3f6e8..1698bbbd 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,4 +1,4 @@ -name: Pull Request +name: Execute Tests on Pull Request on: pull_request: diff --git a/.github/workflows/push-master.yml b/.github/workflows/push-master.yml new file mode 100644 index 00000000..774964e9 --- /dev/null +++ b/.github/workflows/push-master.yml @@ -0,0 +1,16 @@ +name: Compile on push to master branch +on: + push: + branches: + - master +jobs: + compile: + runs-on: ubuntu-latest + container: + image: scireum/sirius-build-jdk23 + steps: + - name: Checkout project + uses: actions/checkout@v4 + + - name: Compile project + run: mvn clean compile From 6ae57c44fee09d06f9707c810019e994095eb1b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 12:21:12 +0200 Subject: [PATCH 14/93] cache dependencies to reduce build-time - fixes: DO-409 --- .github/workflows/pull-request.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 1698bbbd..a95ac036 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -11,5 +11,13 @@ jobs: - name: Checkout project uses: actions/checkout@v4 + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Compile and test project without nightly tests run: mvn clean compile test -Dtest.excluded.groups=nightly From fdc70276b041695778d33df9bb0017f9be1ddb7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 12:34:00 +0200 Subject: [PATCH 15/93] try to fix cache not working - fixes: DO-409 --- .github/workflows/pull-request.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index a95ac036..dceabcb7 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -14,7 +14,9 @@ jobs: - name: Cache local Maven repository uses: actions/cache@v4 with: - path: ~/.m2/repository + path: | + ~/.m2/repository + /root/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- From 27d82df7d88a8da917a60ba0ef9a2e37dd5565e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 12:39:03 +0200 Subject: [PATCH 16/93] use cached mvn dependencies - fixes: DO-409 --- .github/workflows/pull-request.yml | 2 +- .github/workflows/push-master.yml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index dceabcb7..15e4868b 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -11,7 +11,7 @@ jobs: - name: Checkout project uses: actions/checkout@v4 - - name: Cache local Maven repository + - name: Cache Maven dependencies uses: actions/cache@v4 with: path: | diff --git a/.github/workflows/push-master.yml b/.github/workflows/push-master.yml index 774964e9..1436d2d8 100644 --- a/.github/workflows/push-master.yml +++ b/.github/workflows/push-master.yml @@ -12,5 +12,15 @@ jobs: - name: Checkout project uses: actions/checkout@v4 + - name: Cache Maven dependencies + uses: actions/cache@v4 + with: + path: | + ~/.m2/repository + /root/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Compile project run: mvn clean compile From 392af45d57166a8138403443799a38c935d75d80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 16:10:02 +0200 Subject: [PATCH 17/93] try nightly test with mio secret and notification for failing tests - fixes: DO-409 --- .github/workflows/nightly-test.yml | 36 +++++++++++++++++++ .../kotlin/sirius/kernel/nls/FormatterTest.kt | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/nightly-test.yml diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml new file mode 100644 index 00000000..60e9bb5d --- /dev/null +++ b/.github/workflows/nightly-test.yml @@ -0,0 +1,36 @@ +name: Nightly Tests +on: + schedule: + - cron: '12 16 * * *' # Every day at midnight TODO 0 Uhr +jobs: + test: + runs-on: ubuntu-latest + container: + image: scireum/sirius-build-jdk23 + steps: + - name: Checkout project + uses: actions/checkout@v4 + + - name: Cache Maven dependencies + uses: actions/cache@v4 + with: + path: | + ~/.m2/repository + /root/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: Compile project + run: mvn clean test + + notify: + if: failure() # Nur bei Fehlern benachrichtigen + runs-on: ubuntu-latest + steps: + - name: Send Slack notification + run: | + curl -X POST -H 'Content-type: application/json' --data '{ + "channel": "scireum-dev", + "text": "TEST TEST TEST Nightly Tests failed [Details](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + }' ${{secrets.MEMOIO_SCIREUM_DEV}} diff --git a/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt b/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt index ebed00c7..aa2413aa 100644 --- a/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt +++ b/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt @@ -27,7 +27,7 @@ class FormatterTest { val result = Formatter.create(pattern).set("foo", "bar").format() - assertEquals("Test bar", result) + assertEquals("Test TODO REMOVE bar", result) } @Test From 698f00615b44e90b8bf179f552682f1d379b88f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 16:17:00 +0200 Subject: [PATCH 18/93] try UTC time fix - fixes: DO-409 --- .github/workflows/nightly-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index 60e9bb5d..bb6e9a98 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -1,7 +1,7 @@ name: Nightly Tests on: schedule: - - cron: '12 16 * * *' # Every day at midnight TODO 0 Uhr + - cron: '20 14 * * *' # Every day at midnight TODO 0 Uhr jobs: test: runs-on: ubuntu-latest From e139e70964786c51f77db25bfbfa2b8388356ed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 16:34:54 +0200 Subject: [PATCH 19/93] try to fix - fixes: DO-409 --- .github/workflows/nightly-test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index bb6e9a98..4450c171 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -1,7 +1,8 @@ name: Nightly Tests on: schedule: - - cron: '20 14 * * *' # Every day at midnight TODO 0 Uhr + - cron: '40 * * * *' # Every day at midnight TODO 0 Uhr + jobs: test: runs-on: ubuntu-latest @@ -21,7 +22,7 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: Compile project + - name: Test project inlcuding nightly tests run: mvn clean test notify: From ccbb6d5949af4782af06a59f66641e217139bb5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 12 May 2025 16:45:57 +0200 Subject: [PATCH 20/93] fix test again and notify every time for first try. schedule will only work for default-branch so we must try it "life" - fixes: DO-409 --- .github/workflows/nightly-test.yml | 10 +++++----- src/test/kotlin/sirius/kernel/nls/FormatterTest.kt | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index 4450c171..94a1cef8 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -1,7 +1,7 @@ name: Nightly Tests on: schedule: - - cron: '40 * * * *' # Every day at midnight TODO 0 Uhr + - cron: '0 0 * * *' jobs: test: @@ -22,16 +22,16 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: Test project inlcuding nightly tests + - name: Test project including nightly tests run: mvn clean test notify: - if: failure() # Nur bei Fehlern benachrichtigen + #if: failure() # Nur bei Fehlern benachrichtigen TODO DO-409 runs-on: ubuntu-latest steps: - name: Send Slack notification run: | curl -X POST -H 'Content-type: application/json' --data '{ "channel": "scireum-dev", - "text": "TEST TEST TEST Nightly Tests failed [Details](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - }' ${{secrets.MEMOIO_SCIREUM_DEV}} + "text": "Nightly Tests failed [Details](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + }' ${{ secrets.MEMOIO_SCIREUM_DEV }} diff --git a/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt b/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt index aa2413aa..ebed00c7 100644 --- a/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt +++ b/src/test/kotlin/sirius/kernel/nls/FormatterTest.kt @@ -27,7 +27,7 @@ class FormatterTest { val result = Formatter.create(pattern).set("foo", "bar").format() - assertEquals("Test TODO REMOVE bar", result) + assertEquals("Test bar", result) } @Test From 3aa10310a292276bd638a51c409115248b5e7208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Thu, 15 May 2025 16:59:28 +0200 Subject: [PATCH 21/93] fix broken link/adjust text and only send notification on failures - fixes: DO-409 --- .github/workflows/nightly-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index 94a1cef8..e24885fe 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -26,12 +26,12 @@ jobs: run: mvn clean test notify: - #if: failure() # Nur bei Fehlern benachrichtigen TODO DO-409 + if: failure() runs-on: ubuntu-latest steps: - name: Send Slack notification run: | curl -X POST -H 'Content-type: application/json' --data '{ "channel": "scireum-dev", - "text": "Nightly Tests failed [Details](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + "text": "Nightly Tests failed for **${{ github.event.repository.name }}**: [Details](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" }' ${{ secrets.MEMOIO_SCIREUM_DEV }} From b692d17b8264aeb378dd6944c9bdce300a1cfa5a Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 16 May 2025 09:40:00 +0200 Subject: [PATCH 22/93] =?UTF-8?q?Adds=20helper=20for=20quoting=20a=20strin?= =?UTF-8?q?g=20=E2=9D=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit โ€ฆrespecting i18n settings. OX-11996 --- src/main/java/sirius/kernel/nls/NLS.java | 21 +++++++++++++++++++++ src/main/resources/kernel_de.properties | 1 + src/main/resources/kernel_en.properties | 1 + 3 files changed, 23 insertions(+) diff --git a/src/main/java/sirius/kernel/nls/NLS.java b/src/main/java/sirius/kernel/nls/NLS.java index eedfe8c1..24047117 100644 --- a/src/main/java/sirius/kernel/nls/NLS.java +++ b/src/main/java/sirius/kernel/nls/NLS.java @@ -1454,4 +1454,25 @@ public static String formatSize(long size) { + " " + UNITS[index]; } + + /** + * Quotes the given string for use in a NLS message using localized quotation marks. + * + * @param value the string to be quoted + * @return the quoted string + */ + public static String quote(String value) { + return NLS.fmtr("NLS.quoted").set("value", value).format(); + } + + /** + * Quotes the given string for use in a NLS message using localized quotation marks. + * + * @param value the string to be quoted + * @param language a two-letter language code for which quoting is requested + * @return the quoted string + */ + public static String quote(String value, String language) { + return NLS.fmtr("NLS.quoted", language).set("value", value).format(); + } } diff --git a/src/main/resources/kernel_de.properties b/src/main/resources/kernel_de.properties index 2e0c5e7a..cb9d4fe9 100644 --- a/src/main/resources/kernel_de.properties +++ b/src/main/resources/kernel_de.properties @@ -80,6 +80,7 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm +NLS.quoted = โ€ž${value}โ€œ NLS.refresh = Aktualisieren NLS.saturday = Samstag NLS.save = Speichern diff --git a/src/main/resources/kernel_en.properties b/src/main/resources/kernel_en.properties index 653d8f59..25627848 100644 --- a/src/main/resources/kernel_en.properties +++ b/src/main/resources/kernel_en.properties @@ -80,6 +80,7 @@ NLS.patternFullTime = hh:mm:ss a NLS.patternParseTime = h[:mm[:ss]] a NLS.patternShortDate = MM/dd/yy NLS.patternTime = hh:mm a +NLS.quoted = โ€œ${value}โ€ NLS.refresh = Refresh NLS.saturday = Saturday NLS.save = Save From 1e17c0bec7cccab6e9683f5c24a2dfa027f5edfa Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 16 May 2025 09:40:48 +0200 Subject: [PATCH 23/93] =?UTF-8?q?Adds=20tests=20for=20quoting=20strings=20?= =?UTF-8?q?=F0=9F=A7=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OX-11996 --- src/test/kotlin/sirius/kernel/nls/NLStest.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/kotlin/sirius/kernel/nls/NLStest.kt b/src/test/kotlin/sirius/kernel/nls/NLStest.kt index 864a927f..a1976ab0 100644 --- a/src/test/kotlin/sirius/kernel/nls/NLStest.kt +++ b/src/test/kotlin/sirius/kernel/nls/NLStest.kt @@ -466,4 +466,15 @@ class NLSTest { assertEquals("", NLS.convertDuration(Duration.ofSeconds(33L), false, false)) } + @Test + fun `quoting works in German`() { + val result = NLS.quote("test", "de") + assertEquals("โ€žtestโ€œ", result) + } + + @Test + fun `quoting works in English`() { + val result = NLS.quote("test", "en") + assertEquals("โ€œtestโ€", result) + } } From cd256a58b5ddc20883032a48d24374febdb7a84c Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 16 May 2025 09:43:32 +0200 Subject: [PATCH 24/93] =?UTF-8?q?Removes=20`@Nonnull`=20annotation=20?= =?UTF-8?q?=F0=9F=A7=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit โ€ฆas the `null` case is explicitly handled in the code, and some code locations in OX did not respect the constraint anyway. --- src/main/java/sirius/kernel/nls/NLS.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/nls/NLS.java b/src/main/java/sirius/kernel/nls/NLS.java index 24047117..9e51ea0a 100644 --- a/src/main/java/sirius/kernel/nls/NLS.java +++ b/src/main/java/sirius/kernel/nls/NLS.java @@ -460,7 +460,7 @@ public static String safeGet(@Nonnull String property, @Nonnull String fallback) * @return the translated string or the original string if it doesn't start with a $ sign or if no matching * translation was found */ - public static String smartGet(@Nonnull String keyOrString) { + public static String smartGet(String keyOrString) { return smartGet(keyOrString, null); } @@ -474,7 +474,7 @@ public static String smartGet(@Nonnull String keyOrString) { */ @SuppressWarnings("squid:S2583") @Explain("Duplicate null check as predicate is not enforced by the compiler") - public static String smartGet(@Nonnull String keyOrString, @Nullable String language) { + public static String smartGet(String keyOrString, @Nullable String language) { if (keyOrString == null) { return keyOrString; } From 45dcffadc2856d5c3e87c0a99494d4f4233a18e7 Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 16 May 2025 09:44:11 +0200 Subject: [PATCH 25/93] =?UTF-8?q?Fixes=20typos=20=F0=9F=91=A8=E2=80=8D?= =?UTF-8?q?=F0=9F=8F=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/sirius/kernel/nls/NLS.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/sirius/kernel/nls/NLS.java b/src/main/java/sirius/kernel/nls/NLS.java index 9e51ea0a..f77e14b6 100644 --- a/src/main/java/sirius/kernel/nls/NLS.java +++ b/src/main/java/sirius/kernel/nls/NLS.java @@ -487,9 +487,9 @@ public static String smartGet(String keyOrString, @Nullable String language) { } /** - * Creates a formatted using the pattern supplied by the translation value for the given property. + * Creates a formatter using the pattern supplied by the translation value for the given property. * - * @param property the property to used to retrieve a translated pattern + * @param property the property to use for retrieving a translated pattern * @return a Formatter initialized with the translated text of the given property */ public static Formatter fmtr(@Nonnull String property) { @@ -497,9 +497,9 @@ public static Formatter fmtr(@Nonnull String property) { } /** - * Creates a formatted using the pattern supplied by the translation value for the given property. + * Creates a formatter using the pattern supplied by the translation value for the given property. * - * @param property the property to used to retrieve a translated pattern + * @param property the property to use for retrieving a translated pattern * @param language a two-letter language code for which the translation is requested * @return a Formatter initialized with the translated text of the given property */ From 358ca9a185567ee8a08a8c281b0e0f8fd69cca1e Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 16 May 2025 09:49:30 +0200 Subject: [PATCH 26/93] =?UTF-8?q?Improves=20documentation=20=E2=9C=8D?= =?UTF-8?q?=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/sirius/kernel/nls/NLS.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/nls/NLS.java b/src/main/java/sirius/kernel/nls/NLS.java index f77e14b6..08aea75d 100644 --- a/src/main/java/sirius/kernel/nls/NLS.java +++ b/src/main/java/sirius/kernel/nls/NLS.java @@ -1456,7 +1456,7 @@ public static String formatSize(long size) { } /** - * Quotes the given string for use in a NLS message using localized quotation marks. + * Quotes the given string using localized quotation marks. * * @param value the string to be quoted * @return the quoted string @@ -1466,7 +1466,7 @@ public static String quote(String value) { } /** - * Quotes the given string for use in a NLS message using localized quotation marks. + * Quotes the given string using localized quotation marks. * * @param value the string to be quoted * @param language a two-letter language code for which quoting is requested From 5f485e38d9f4b8bc06abb4a589512a71e9710c57 Mon Sep 17 00:00:00 2001 From: Jakob Vogel Date: Fri, 16 May 2025 10:13:20 +0200 Subject: [PATCH 27/93] =?UTF-8?q?Adds=20support=20for=20secondary=20quotat?= =?UTF-8?q?ion=20marks=20=E2=9D=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OX-11996 --- src/main/java/sirius/kernel/nls/NLS.java | 33 +++++++++++++++++--- src/main/resources/kernel_de.properties | 3 +- src/main/resources/kernel_en.properties | 3 +- src/test/kotlin/sirius/kernel/nls/NLStest.kt | 14 ++++++--- 4 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/main/java/sirius/kernel/nls/NLS.java b/src/main/java/sirius/kernel/nls/NLS.java index 08aea75d..519024e2 100644 --- a/src/main/java/sirius/kernel/nls/NLS.java +++ b/src/main/java/sirius/kernel/nls/NLS.java @@ -1456,23 +1456,48 @@ public static String formatSize(long size) { } /** - * Quotes the given string using localized quotation marks. + * Quotes the given string using localized primary quotation marks. In English, for instance, a string will be + * wrapped into โ€œโ€ฆโ€. * * @param value the string to be quoted * @return the quoted string */ public static String quote(String value) { - return NLS.fmtr("NLS.quoted").set("value", value).format(); + return NLS.fmtr("NLS.quoted.primary").set("value", value).format(); } /** - * Quotes the given string using localized quotation marks. + * Quotes the given string using localized primary quotation marks. In English, for instance, a string will be + * wrapped into โ€œโ€ฆโ€. * * @param value the string to be quoted * @param language a two-letter language code for which quoting is requested * @return the quoted string */ public static String quote(String value, String language) { - return NLS.fmtr("NLS.quoted", language).set("value", value).format(); + return NLS.fmtr("NLS.quoted.primary", language).set("value", value).format(); + } + + /** + * Quotes the given string using localized secondary quotation marks. In English, for instance, a string will be + * wrapped into โ€˜โ€ฆโ€™. + * + * @param value the string to be quoted + * @return the quoted string + */ + public static String quoteSecondary(String value) { + return NLS.fmtr("NLS.quoted.secondary").set("value", value).format(); + } + + /** + * Quotes the given string using localized secondary quotation marks. In English, for instance, a string will be + * wrapped into โ€˜โ€ฆโ€™. + * + * @param value the string to be quoted + * @param language a two-letter language code for which quoting is requested + * @return the quoted string + */ + public static String quoteSecondary(String value, String language) { + return NLS.fmtr("NLS.quoted.secondary", language).set("value", value).format(); } } diff --git a/src/main/resources/kernel_de.properties b/src/main/resources/kernel_de.properties index cb9d4fe9..ff3ca3bf 100644 --- a/src/main/resources/kernel_de.properties +++ b/src/main/resources/kernel_de.properties @@ -80,7 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm -NLS.quoted = โ€ž${value}โ€œ +NLS.quoted.primary = โ€ž${value}โ€œ +NLS.quoted.secondary = โ€š${value}โ€˜ NLS.refresh = Aktualisieren NLS.saturday = Samstag NLS.save = Speichern diff --git a/src/main/resources/kernel_en.properties b/src/main/resources/kernel_en.properties index 25627848..d8710111 100644 --- a/src/main/resources/kernel_en.properties +++ b/src/main/resources/kernel_en.properties @@ -80,7 +80,8 @@ NLS.patternFullTime = hh:mm:ss a NLS.patternParseTime = h[:mm[:ss]] a NLS.patternShortDate = MM/dd/yy NLS.patternTime = hh:mm a -NLS.quoted = โ€œ${value}โ€ +NLS.quoted.primary = โ€œ${value}โ€ +NLS.quoted.secondary = โ€˜${value}โ€™ NLS.refresh = Refresh NLS.saturday = Saturday NLS.save = Save diff --git a/src/test/kotlin/sirius/kernel/nls/NLStest.kt b/src/test/kotlin/sirius/kernel/nls/NLStest.kt index a1976ab0..b3ade35e 100644 --- a/src/test/kotlin/sirius/kernel/nls/NLStest.kt +++ b/src/test/kotlin/sirius/kernel/nls/NLStest.kt @@ -468,13 +468,19 @@ class NLSTest { @Test fun `quoting works in German`() { - val result = NLS.quote("test", "de") - assertEquals("โ€žtestโ€œ", result) + val resultPrimary = NLS.quote("test", "de") + assertEquals("โ€žtestโ€œ", resultPrimary) + + val resultSecondary = NLS.quoteSecondary("test", "de") + assertEquals("โ€štestโ€˜", resultSecondary) } @Test fun `quoting works in English`() { - val result = NLS.quote("test", "en") - assertEquals("โ€œtestโ€", result) + val resultPrimary = NLS.quote("test", "en") + assertEquals("โ€œtestโ€", resultPrimary) + + val resultSecondary = NLS.quoteSecondary("test", "en") + assertEquals("โ€˜testโ€™", resultSecondary) } } From 58519b1e4daf20b5a6f1f7cba2726d40bf54c61e Mon Sep 17 00:00:00 2001 From: scireumskip Date: Fri, 16 May 2025 10:25:25 +0200 Subject: [PATCH 28/93] Lokalise: updates --- src/main/resources/kernel_cs.properties | 4 +++- src/main/resources/kernel_es.properties | 2 ++ src/main/resources/kernel_fr.properties | 2 ++ src/main/resources/kernel_it.properties | 2 ++ src/main/resources/kernel_nl.properties | 2 ++ src/main/resources/kernel_pl.properties | 2 ++ src/main/resources/kernel_sk.properties | 2 ++ 7 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/resources/kernel_cs.properties b/src/main/resources/kernel_cs.properties index 7bbd8e6e..f6f2503d 100644 --- a/src/main/resources/kernel_cs.properties +++ b/src/main/resources/kernel_cs.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm +NLS.quoted.primary = โ€ž${value}โ€œ +NLS.quoted.secondary = โ€š${value}โ€˜ NLS.refresh = Aktualizovat NLS.saturday = Sobota NLS.save = Uloลพit @@ -97,5 +99,5 @@ NLS.tomorrow = zรญtra NLS.tuesday = รšterรฝ NLS.wednesday = Stล™eda NLS.year = Rok -NLS.yes = Jo +NLS.yes = Ano NLS.yesterday = vฤera diff --git a/src/main/resources/kernel_es.properties b/src/main/resources/kernel_es.properties index 89c69282..9879a175 100644 --- a/src/main/resources/kernel_es.properties +++ b/src/main/resources/kernel_es.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd/MM/yy NLS.patternTime = HH:mm +NLS.quoted.primary = ยซ${value}ยป +NLS.quoted.secondary = โ€˜${value}โ€™ NLS.refresh = Actualizar NLS.saturday = Sรกbado NLS.save = Guardar diff --git a/src/main/resources/kernel_fr.properties b/src/main/resources/kernel_fr.properties index 09985b73..2bd55423 100644 --- a/src/main/resources/kernel_fr.properties +++ b/src/main/resources/kernel_fr.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm +NLS.quoted.primary = ยซโ€ฏ${value}โ€ฏยป +NLS.quoted.secondary = โ€นโ€ฏ${value}โ€ฏโ€บ NLS.refresh = Mise ร  jour NLS.saturday = Samedi NLS.save = Sauvegarder diff --git a/src/main/resources/kernel_it.properties b/src/main/resources/kernel_it.properties index b4a7bc06..a3fcedda 100644 --- a/src/main/resources/kernel_it.properties +++ b/src/main/resources/kernel_it.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm +NLS.quoted.primary = โ€œ${value}โ€ +NLS.quoted.secondary = โ€˜${value}โ€™ NLS.refresh = Aggiornare NLS.saturday = Sabato NLS.save = Salva diff --git a/src/main/resources/kernel_nl.properties b/src/main/resources/kernel_nl.properties index 72f484f9..ad57976e 100644 --- a/src/main/resources/kernel_nl.properties +++ b/src/main/resources/kernel_nl.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm +NLS.quoted.primary = โ€ž${value}โ€ +NLS.quoted.secondary = โ€š${value}โ€™ NLS.refresh = actualiseren NLS.saturday = Zaterdag NLS.save = Opslaan diff --git a/src/main/resources/kernel_pl.properties b/src/main/resources/kernel_pl.properties index b5895971..a8cd458c 100644 --- a/src/main/resources/kernel_pl.properties +++ b/src/main/resources/kernel_pl.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = HH:mm +NLS.quoted.primary = โ€ž${value}โ€ +NLS.quoted.secondary = โ€˜${value}โ€™ NLS.refresh = Aktualizacja NLS.saturday = Sobota NLS.save = Zapisz diff --git a/src/main/resources/kernel_sk.properties b/src/main/resources/kernel_sk.properties index 460d7bdc..db8ada38 100644 --- a/src/main/resources/kernel_sk.properties +++ b/src/main/resources/kernel_sk.properties @@ -80,6 +80,8 @@ NLS.patternFullTime = HH:mm:ss NLS.patternParseTime = H[:mm[:ss]] NLS.patternShortDate = dd.MM.yy NLS.patternTime = hh:mm a +NLS.quoted.primary = โ€ž${value}โ€œ +NLS.quoted.secondary = โ€š${value}โ€˜ NLS.refresh = Obnoviลฅ NLS.saturday = Sobota NLS.save = Uloลพiลฅ From 55e04d4557001fb6cf12df73ef70a62d37f6689a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Mon, 19 May 2025 13:36:23 +0200 Subject: [PATCH 29/93] modernize auto release on tag-push after pushing a tag with dev-*.*.* we will then create a release automatically - fixes: DO-409 --- .github/workflows/main.yml | 23 ----------------------- .github/workflows/release-on-tag.yml | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 23 deletions(-) delete mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/release-on-tag.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 193dd207..00000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Automatic Releases - -on: - push: - branches: [ "develop" ] - tags: - - "dev-*.*.*" - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - if: startsWith(github.ref, 'refs/tags/') - - - name: Release - uses: softprops/action-gh-release@v0.1.14 - if: startsWith(github.ref, 'refs/tags/') - with: - prerelease: true - generate_release_notes: true diff --git a/.github/workflows/release-on-tag.yml b/.github/workflows/release-on-tag.yml new file mode 100644 index 00000000..b9237254 --- /dev/null +++ b/.github/workflows/release-on-tag.yml @@ -0,0 +1,20 @@ +name: Automatic Release on dev-Tag + +on: + push: + tags: + - "dev-*.*.*" + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Release + uses: softprops/action-gh-release@v2.2.2 + with: + prerelease: true + generate_release_notes: true From 9f0c2f4fa40f7fdff07b64ee7f6a077535b3afb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Wed, 21 May 2025 16:04:18 +0200 Subject: [PATCH 30/93] first try for sonarqube on github-actions with github-authenticated sonarqube. - fixes: DO-409 --- .github/workflows/sonarqube.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/sonarqube.yml diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml new file mode 100644 index 00000000..69f7c620 --- /dev/null +++ b/.github/workflows/sonarqube.yml @@ -0,0 +1,30 @@ +name: SonarQube Analysis +on: + push: + branches: + - feature/ymo/DO-409-mvn-sonar + +jobs: + sonarqube: + runs-on: ubuntu-latest + container: + image: scireum/sirius-build-jdk23 + steps: + - name: Checkout project + uses: actions/checkout@v4 + + - name: Cache Maven dependencies + uses: actions/cache@v4 + with: + path: | + ~/.m2/repository + /root/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: Replace version in pom.xml + run: sed -i 's/DEVELOPMENT-SNAPSHOT/${{ github.ref_name }}/g' pom.xml + + - name: Analyze project with SonarQube + run: mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=scireum_sirius-kernel_81e9dc44-1749-4a49-a1f6-686fdb86bad3 -Dsonar.token=${{ secrets.SONAR_TOKEN }} -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} From 38b3c37949e8f82fa0aa2c238843cd0754812b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Wed, 21 May 2025 16:15:07 +0200 Subject: [PATCH 31/93] change to fix-value for test now - fixes: DO-409 --- .github/workflows/sonarqube.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index 69f7c620..111c211b 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -24,7 +24,7 @@ jobs: ${{ runner.os }}-maven- - name: Replace version in pom.xml - run: sed -i 's/DEVELOPMENT-SNAPSHOT/${{ github.ref_name }}/g' pom.xml + run: sed -i 's/DEVELOPMENT-SNAPSHOT/sonar-test/g' pom.xml - name: Analyze project with SonarQube run: mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=scireum_sirius-kernel_81e9dc44-1749-4a49-a1f6-686fdb86bad3 -Dsonar.token=${{ secrets.SONAR_TOKEN }} -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} From b0348096e0c1122b7979a35010e2228971f1bfdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Wed, 21 May 2025 16:28:16 +0200 Subject: [PATCH 32/93] try with organization... - fixes: DO-409 --- .github/workflows/sonarqube.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index 111c211b..bc005845 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -27,4 +27,4 @@ jobs: run: sed -i 's/DEVELOPMENT-SNAPSHOT/sonar-test/g' pom.xml - name: Analyze project with SonarQube - run: mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=scireum_sirius-kernel_81e9dc44-1749-4a49-a1f6-686fdb86bad3 -Dsonar.token=${{ secrets.SONAR_TOKEN }} -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} + run: mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=scireum_sirius-kernel_81e9dc44-1749-4a49-a1f6-686fdb86bad3 -Dsonar.token=${{ secrets.SONAR_TOKEN }} -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} -Dsonar.organization=scireum From be51ae660abaa8ec51bd52b7d86b81b87fb30d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannick=20Mo=CC=88ller?= Date: Thu, 22 May 2025 08:29:12 +0200 Subject: [PATCH 33/93] try to trigger manually for testing sonarqube connection and execution - fixes: DO-409 --- .github/workflows/sonarqube.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index bc005845..7e277196 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -1,8 +1,6 @@ name: SonarQube Analysis on: - push: - branches: - - feature/ymo/DO-409-mvn-sonar + workflow_dispatch: jobs: sonarqube: From 210d7dcdc2f527673c0a2a21725325a58aca0cd3 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 08:51:49 +0200 Subject: [PATCH 34/93] Enhances test case - to proof that the csv reader can already handle escaping quotes properly Fixes: SIRI-1110 --- src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt index e9ebaac0..1f6ba238 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt @@ -69,16 +69,19 @@ class CSVReaderTest { @Test fun `escaping works`() { val data = """ - \"a;\;;\\;x + \"a;\;;\\;x;a quotationMark: " ;"a aQuotationMarkWithinQuotationMarks: "" ";theEnd """.trimIndent() val output = mutableListOf() CSVReader(StringReader(data)).execute { output.add(it) } assertEquals(1, output.size) - assertEquals("\"a", output[0].at("A").rawString) + assertEquals(""""a""", output[0].at("A").rawString) assertEquals(";", output[0].at("B").rawString) - assertEquals("\\", output[0].at("C").rawString) + assertEquals("""\""", output[0].at("C").rawString) assertEquals("x", output[0].at("D").rawString) + assertEquals("""a quotationMark: " """, output[0].at("E").rawString) + assertEquals("""a aQuotationMarkWithinQuotationMarks: " """, output[0].at("F").rawString) + assertEquals("theEnd", output[0].at("G").rawString) } @Test From a42af95926885270611d4041e55b44b6a0e30514 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 10:01:51 +0200 Subject: [PATCH 35/93] Introduces a failing test case for csv escaped quote writing - currently unquoted quotation marks get quotes. that is wrong - the quotation mark inside the quote already gets handled properly by escaping it using another quotation mark - note that ${'"'} is required to not end the textblock by three " Fixes: SIRI-1110 --- .../kotlin/sirius/kernel/commons/CSVWriterTest.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt index e51b18b2..677c95fe 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt @@ -117,6 +117,20 @@ class CSVWriterTest { } } + @Test + fun `escaping works for escape character and quotation with rfc escape character`() { + StringWriter().use { output -> + val writer = CSVWriter(output) + writer.withEscape('"') + + writer.writeArray("quote and separator: a;b\"", "quote only: c\"") + + assertEquals(""" + "quote and separator: a;b""${'"'};quote only: c" + """.trimIndent().trim(), output.toString()) + } + } + @Test fun `throw an exception if we have to escape quotes, but there is no escape-char`() { StringWriter().use { output -> From 2d8bd69270c1ab75b082d4fcb968720df0a40389 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 11:26:10 +0200 Subject: [PATCH 36/93] Changes the csv write behavior of quoting - also enforces quoting if the field value contains a quotation character Fixes: SIRI-1110 --- src/main/java/sirius/kernel/commons/CSVWriter.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/CSVWriter.java b/src/main/java/sirius/kernel/commons/CSVWriter.java index 05eb2cd7..6917707d 100644 --- a/src/main/java/sirius/kernel/commons/CSVWriter.java +++ b/src/main/java/sirius/kernel/commons/CSVWriter.java @@ -32,8 +32,9 @@ public class CSVWriter implements Closeable { private final Writer writer; private boolean firstLine = true; private char separator = ';'; - private String separatorString = String.valueOf(';'); + private String separatorString = String.valueOf(separator); private char quotation = '"'; + private String quotationString = String.valueOf(quotation); private boolean isQuotationEmpty = false; private boolean forceQuotation = false; private char escape = '\\'; @@ -90,6 +91,7 @@ public CSVWriter withSeparator(char separator) { */ public CSVWriter withQuotation(char quotation) { this.quotation = quotation; + this.quotationString = String.valueOf(quotation); this.isQuotationEmpty = quotation == '\0'; return this; } @@ -137,10 +139,10 @@ public CSVWriter withLineSeparator(String lineSeparator) { } /** - * Specifies wether or not all fields in the generated CSV should be enclosed with the specified quotation character. + * Specifies whether all fields in the generated CSV should be enclosed with the specified quotation character. *

- * By default this is false, which means only fields that require quotation because they contain - * the separator character or a line break are enclosed with quotations. + * By default, this is false, which means only fields that require quotation because they contain + * the separator character, the quotation character or a line break are enclosed with quotations. * * @param force if all fields should be quoted regardless of content or not * @return the writer itself for fluent method calls @@ -230,7 +232,8 @@ private boolean shouldQuote(String stringValue) { if (forceQuotation) { return true; } - return stringValue.contains(separatorString) || stringValue.contains("\n") || stringValue.contains("\r"); + return stringValue.contains(separatorString) || stringValue.contains(quotationString) || stringValue.contains( + "\n") || stringValue.contains("\r"); } /** From 3b3b2cb39dc347b7f57410e2999a6fef3d0da440 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 11:27:12 +0200 Subject: [PATCH 37/93] Fixes previously introduced test Fixes: SIRI-1110 --- src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt index 677c95fe..6d75694b 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt @@ -125,9 +125,13 @@ class CSVWriterTest { writer.writeArray("quote and separator: a;b\"", "quote only: c\"") - assertEquals(""" - "quote and separator: a;b""${'"'};quote only: c" - """.trimIndent().trim(), output.toString()) + assertEquals( + """ + "quote and separator: a;b""${'"'};"quote only: c""${'"'} + """.trimIndent().trim(), output.toString() + ) + } + } } } From c260ff6083b977c3b37c9745702148a40f819fe3 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 11:28:44 +0200 Subject: [PATCH 38/93] Improves readability using text block Fixes: SIRI-1110 --- src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt index 6d75694b..1e7fbe08 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt @@ -102,7 +102,7 @@ class CSVWriterTest { writer.writeArray("a;b\"", "\\", "c") - assertEquals("\"a;b\\\"\";\\\\;c", output.toString()) + assertEquals(""""a;b\"";\\;c""", output.toString()) } } From d34681c968a7bdb48c27aa0ae28eaba77fd1078e Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 11:29:56 +0200 Subject: [PATCH 39/93] Adds some tests using the examples from rfc 4180 - see: https://datatracker.ietf.org/doc/html/rfc4180 Fixes: SIRI-1110 --- .../sirius/kernel/commons/CSVReaderTest.kt | 61 ++++++++++++++++- .../sirius/kernel/commons/CSVWriterTest.kt | 65 +++++++++++++++++-- 2 files changed, 118 insertions(+), 8 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt index 1f6ba238..2d9a540a 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt @@ -84,6 +84,63 @@ class CSVReaderTest { assertEquals("theEnd", output[0].at("G").rawString) } + @Test + fun `rfc4180 example 2-5`() { + val data = """ + "aaa","bbb","ccc" + zzz,yyy,xxx + """.trimIndent() + val output = mutableListOf() + val csvReader = CSVReader(StringReader(data)) + csvReader.withSeparator(',').withQuotation('"') + csvReader.execute { output.add(it) } + + assertEquals(2, output.size) + assertEquals("aaa", output[0].at(0).rawString) + assertEquals("bbb", output[0].at(1).rawString) + assertEquals("ccc", output[0].at(2).rawString) + assertEquals("zzz", output[1].at(0).rawString) + assertEquals("yyy", output[1].at(1).rawString) + assertEquals("xxx", output[1].at(2).rawString) + } + + @Test + fun `rfc4180 example 2-6`() { + val data = """ + "aaa","b + bb","ccc" + zzz,yyy,xxx + """.trimIndent() + val output = mutableListOf() + val csvReader = CSVReader(StringReader(data)) + csvReader.withSeparator(',').withQuotation('"') + csvReader.execute { output.add(it) } + + assertEquals(2, output.size) + assertEquals("aaa", output[0].at(0).rawString) + assertEquals("b\nbb", output[0].at(1).rawString) + assertEquals("ccc", output[0].at(2).rawString) + assertEquals("zzz", output[1].at(0).rawString) + assertEquals("yyy", output[1].at(1).rawString) + assertEquals("xxx", output[1].at(2).rawString) + } + + @Test + fun `rfc4180 example 2-7`() { + val data = """ + "aaa","b""bb","ccc" + """.trimIndent() + val output = mutableListOf() + val csvReader = CSVReader(StringReader(data)) + csvReader.withSeparator(',').withQuotation('"') + csvReader.execute { output.add(it) } + + assertEquals(1, output.size) + assertEquals("aaa", output[0].at(0).rawString) + assertEquals("b\"bb", output[0].at(1).rawString) + assertEquals("ccc", output[0].at(2).rawString) + } + @Test fun `empty cells work with and without quotation`() { val data = """ @@ -133,7 +190,7 @@ class CSVReaderTest { val output = mutableListOf() CSVReader(StringReader(data)).withSeparator(':').withQuotation('!').withEscape('&').notIgnoringWhitespaces() - .execute { output.add(it) } + .execute { output.add(it) } assertEquals(1, output.size) assertEquals("a", output[0].at("A").rawString) @@ -170,7 +227,7 @@ class CSVReaderTest { val output = mutableListOf() CSVReader(StringReader(completeData)).withLimit(Limit(250, 100)) - .execute { output.add(it) } + .execute { output.add(it) } assertEquals(50, output.size) } diff --git a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt index 1e7fbe08..810314e1 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVWriterTest.kt @@ -132,9 +132,62 @@ class CSVWriterTest { ) } } + + @Test + fun `rfc4180 example 2-5`() { + StringWriter().use { output -> + val writer = CSVWriter(output) + writer.withEscape('"').withSeparator(',').withForceQuotation(true) + writer.writeArray("aaa", "bbb", "ccc") + writer.withForceQuotation(false) + writer.writeArray("zzz", "yyy", "xxx") + + assertEquals( + """ + "aaa","bbb","ccc" + zzz,yyy,xxx""".trimIndent(), output.toString() + ) + } + } + + @Test + fun `rfc4180 example 2-6`() { + StringWriter().use { output -> + val writer = CSVWriter(output) + writer.withEscape('"').withSeparator(',').withForceQuotation(true) + writer.writeArray("aaa", "b\nbb", "ccc") + writer.withForceQuotation(false) + writer.writeArray("zzz", "yyy", "xxx") + + assertEquals( + """ + "aaa","b + bb","ccc" + zzz,yyy,xxx + """.trimIndent(), output.toString() + ) } } + @Test + fun `rfc4180 example 2-7 + extra line`() { + StringWriter().use { output -> + val writer = CSVWriter(output) + writer.withEscape('"').withSeparator(',').withForceQuotation(true) + writer.writeArray("aaa", "b\"bb", "ccc") + writer.withForceQuotation(false) + writer.writeArray("z\"zz", "yyy", "xxx") + + assertEquals( + """ + "aaa","b""bb","ccc" + "z""zz",yyy,xxx + """.trimIndent(), output.toString() + ) + } + } + + @Test fun `throw an exception if we have to escape quotes, but there is no escape-char`() { StringWriter().use { output -> @@ -144,8 +197,8 @@ class CSVWriterTest { writer.writeArray("\"a\";b") } assertEquals( - "Cannot output a quotation character within a quoted string without an escape character.", - exception.message + "Cannot output a quotation character within a quoted string without an escape character.", + exception.message ) } } @@ -159,8 +212,8 @@ class CSVWriterTest { writer.writeArray("'a;b") } assertEquals( - "Cannot output a column which contains the separator character ';' without an escape or quotation character.", - exception.message + "Cannot output a column which contains the separator character ';' without an escape or quotation character.", + exception.message ) } } @@ -174,8 +227,8 @@ class CSVWriterTest { writer.writeArray("a\nb") } assertEquals( - "Cannot output a column which contains a line break without an quotation character.", - exception.message + "Cannot output a column which contains a line break without an quotation character.", + exception.message ) } } From fd07ecf02d4e5598ac01acad2c418590a3ad4eea Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Tue, 3 Jun 2025 11:38:00 +0200 Subject: [PATCH 40/93] Fixes newly introduces test - the unquoted quotation mark is actually not correct, it is ok to support it. but we should not explicitly test this non-standard behavior Fixes: SIRI-1110 --- src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt b/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt index 2d9a540a..2666f033 100644 --- a/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/CSVReaderTest.kt @@ -69,7 +69,7 @@ class CSVReaderTest { @Test fun `escaping works`() { val data = """ - \"a;\;;\\;x;a quotationMark: " ;"a aQuotationMarkWithinQuotationMarks: "" ";theEnd + \"a;\;;\\;x;"a aQuotationMarkWithinQuotationMarks: "" " """.trimIndent() val output = mutableListOf() CSVReader(StringReader(data)).execute { output.add(it) } @@ -79,9 +79,7 @@ class CSVReaderTest { assertEquals(";", output[0].at("B").rawString) assertEquals("""\""", output[0].at("C").rawString) assertEquals("x", output[0].at("D").rawString) - assertEquals("""a quotationMark: " """, output[0].at("E").rawString) - assertEquals("""a aQuotationMarkWithinQuotationMarks: " """, output[0].at("F").rawString) - assertEquals("theEnd", output[0].at("G").rawString) + assertEquals("""a aQuotationMarkWithinQuotationMarks: " """, output[0].at("E").rawString) } @Test From 6f82fc1949a7c9165d483ec9ecf6f28dfc6dfe89 Mon Sep 17 00:00:00 2001 From: Sascha Bieberstein Date: Wed, 11 Jun 2025 09:20:40 +0200 Subject: [PATCH 41/93] Provide helper for quoting spaces in URLs We known that spaces in URLs are prohibited but in some cases they are provided as such in XML-files. This is necessary as the URI constructor that handles a full URL string does not do this automatically. Before the deprecation of the URL constructors we would use a workaround where we first create a URL and then pass all components of the URL in the specific URI constructor which would escape the path and query accordingly. With the deprecation that logic was switched back to the URI constructor and the functionality broke. With this helper we now can explicitly force this behavior where necessary. Fixes: OX-11739 --- src/main/java/sirius/kernel/commons/Urls.java | 34 +++++++++++++++++++ .../kotlin/sirius/kernel/commons/UrlsTest.kt | 28 +++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 src/main/java/sirius/kernel/commons/Urls.java create mode 100644 src/test/kotlin/sirius/kernel/commons/UrlsTest.kt diff --git a/src/main/java/sirius/kernel/commons/Urls.java b/src/main/java/sirius/kernel/commons/Urls.java new file mode 100644 index 00000000..113838b6 --- /dev/null +++ b/src/main/java/sirius/kernel/commons/Urls.java @@ -0,0 +1,34 @@ +/* + * Made with all the love in the world + * by scireum in Remshalden, Germany + * + * Copyright by scireum GmbH + * http://www.scireum.de - info@scireum.de + */ + +package sirius.kernel.commons; + +/** + * Provides various helper methods for working with {@linkplain java.net.URI URIs} and {@linkplain java.net.URL URLs}. + *

+ * This class can and should not be instantiated, as all methods are static. + */ +public class Urls { + + private Urls() { + // prevent instantiation + } + + /** + * Tries to fix the given URL by replacing spaces with "%20". + * + * @param url the URL to fix + * @return the fixed URL with spaces replaced by "%20", or the original URL if it was null or empty + */ + public static String quoteSpaces(String url) { + if (Strings.isEmpty(url)) { + return url; + } + return url.replace(" ", "%20"); + } +} diff --git a/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt b/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt new file mode 100644 index 00000000..8a094f76 --- /dev/null +++ b/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt @@ -0,0 +1,28 @@ +/* + * Made with all the love in the world + * by scireum in Remshalden, Germany + * + * Copyright by scireum GmbH + * http://www.scireum.de - info@scireum.de + */ + +package sirius.kernel.commons + +import org.junit.jupiter.api.Test +import kotlin.test.assertEquals + +/** + * Tests the [Strings] class. + */ +class UrlsTest { + + @Test + fun quoteSpaces() { + assertEquals("https://example.com/hello%20world", Urls.quoteSpaces("https://example.com/hello world")) + assertEquals("https://example.com/hello%20world", Urls.quoteSpaces("https://example.com/hello%20world")) + assertEquals("https://example.com/hello+world", Urls.quoteSpaces("https://example.com/hello+world")) + assertEquals("https://example.com/helloworld?test=a%20b", Urls.quoteSpaces("https://example.com/helloworld?test=a b")) + assertEquals("https://example.com/helloworld?test=a%20b", Urls.quoteSpaces("https://example.com/helloworld?test=a%20b")) + assertEquals("https://example.com/helloworld?test=a+b", Urls.quoteSpaces("https://example.com/helloworld?test=a+b")) + } +} From 7069e479d6edaf22eb1a3f984f11bf3ca80370a8 Mon Sep 17 00:00:00 2001 From: Sascha Bieberstein Date: Wed, 11 Jun 2025 09:29:34 +0200 Subject: [PATCH 42/93] Fix copy & paste typo Co-authored-by: Matthias Keck <60612914+mkeckmkeck@users.noreply.github.com> --- src/test/kotlin/sirius/kernel/commons/UrlsTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt b/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt index 8a094f76..faa2803f 100644 --- a/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt @@ -12,7 +12,7 @@ import org.junit.jupiter.api.Test import kotlin.test.assertEquals /** - * Tests the [Strings] class. + * Tests the [Urls] class. */ class UrlsTest { From d09c0a4c5030e45d782c74fb3af7f44a2527d98c Mon Sep 17 00:00:00 2001 From: Sascha Bieberstein Date: Wed, 11 Jun 2025 11:00:36 +0200 Subject: [PATCH 43/93] Move some URL related helpers to the new helper class And deprecate the old methods. Fixes: OX-11739 --- .../java/sirius/kernel/commons/Strings.java | 41 ++++------- src/main/java/sirius/kernel/commons/Urls.java | 69 +++++++++++++++++++ .../sirius/kernel/commons/StringsTest.kt | 52 -------------- .../kotlin/sirius/kernel/commons/UrlsTest.kt | 64 ++++++++++++++++- 4 files changed, 142 insertions(+), 84 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Strings.java b/src/main/java/sirius/kernel/commons/Strings.java index d410360d..e0908d3a 100644 --- a/src/main/java/sirius/kernel/commons/Strings.java +++ b/src/main/java/sirius/kernel/commons/Strings.java @@ -12,18 +12,12 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.net.URI; -import java.net.URL; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.function.Predicate; import java.util.function.UnaryOperator; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -290,10 +284,11 @@ public static String firstFilled(String... values) { * * @param value the string to check * @return true if the given string is an HTTP(S) URL, false otherwise + * @deprecated use {@link Urls#isHttpUrl(String)} instead. */ + @Deprecated(since = "2025-06-11", forRemoval = true) public static boolean isHttpUrl(@Nullable String value) { - return isUrl(value, - url -> "http".equalsIgnoreCase(url.getProtocol()) || "https".equalsIgnoreCase(url.getProtocol())); + return Urls.isHttpUrl(value); } /** @@ -301,21 +296,11 @@ public static boolean isHttpUrl(@Nullable String value) { * * @param value the string to check * @return true if the given string is an HTTPS URL, false otherwise + * @deprecated use {@link Urls#isHttpsUrl(String)} instead. */ + @Deprecated(since = "2025-06-11", forRemoval = true) public static boolean isHttpsUrl(@Nullable String value) { - return isUrl(value, url -> "https".equalsIgnoreCase(url.getProtocol())); - } - - protected static boolean isUrl(@Nullable String value, Predicate checker) { - if (isEmpty(value)) { - return false; - } - - try { - return checker.test(URI.create(value).toURL()); - } catch (Exception exception) { - return false; - } + return Urls.isHttpsUrl(value); } /** @@ -323,13 +308,12 @@ protected static boolean isUrl(@Nullable String value, Predicate checker) { * * @param value the value to be encoded. * @return an url encoded representation of value, using UTF-8 as character encoding. + * @deprecated use {@link Urls#encode(String)} instead. */ @Nullable + @Deprecated(since = "2025-06-11", forRemoval = true) public static String urlEncode(@Nullable String value) { - if (isFilled(value)) { - return URLEncoder.encode(value, StandardCharsets.UTF_8); - } - return value; + return Urls.encode(value); } /** @@ -337,13 +321,12 @@ public static String urlEncode(@Nullable String value) { * * @param value the value to be decoded. * @return an url decoded representation of value, using UTF-8 as character encoding. + * @deprecated use {@link Urls#decode(String)} instead. */ @Nullable + @Deprecated(since = "2025-06-11", forRemoval = true) public static String urlDecode(@Nullable String value) { - if (isFilled(value)) { - return URLDecoder.decode(value, StandardCharsets.UTF_8); - } - return value; + return Urls.decode(value); } /** diff --git a/src/main/java/sirius/kernel/commons/Urls.java b/src/main/java/sirius/kernel/commons/Urls.java index 113838b6..30383b28 100644 --- a/src/main/java/sirius/kernel/commons/Urls.java +++ b/src/main/java/sirius/kernel/commons/Urls.java @@ -8,6 +8,14 @@ package sirius.kernel.commons; +import javax.annotation.Nullable; +import java.net.URI; +import java.net.URL; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.function.Predicate; + /** * Provides various helper methods for working with {@linkplain java.net.URI URIs} and {@linkplain java.net.URL URLs}. *

@@ -19,6 +27,67 @@ private Urls() { // prevent instantiation } + /** + * Returns if the given string is an HTTP(S) URL. + * + * @param value the string to check + * @return true if the given string is an HTTP(S) URL, false otherwise + */ + public static boolean isHttpUrl(@Nullable String value) { + return isUrl(value, + url -> "http".equalsIgnoreCase(url.getProtocol()) || "https".equalsIgnoreCase(url.getProtocol())); + } + + /** + * Returns if the given string is an HTTPS URL, explicitly excluding unencrypted HTTP URLs. + * + * @param value the string to check + * @return true if the given string is an HTTPS URL, false otherwise + */ + public static boolean isHttpsUrl(@Nullable String value) { + return isUrl(value, url -> "https".equalsIgnoreCase(url.getProtocol())); + } + + private static boolean isUrl(@Nullable String value, Predicate checker) { + if (Strings.isEmpty(value)) { + return false; + } + + try { + return checker.test(URI.create(value).toURL()); + } catch (Exception exception) { + return false; + } + } + + /** + * Returns a URL-encoded representation of the given value with UTF-8 as character encoding. + * + * @param value the value to be encoded. + * @return a URL-encoded representation of value, using UTF-8 as character encoding. + */ + @Nullable + public static String encode(@Nullable String value) { + if (Strings.isFilled(value)) { + return URLEncoder.encode(value, StandardCharsets.UTF_8); + } + return value; + } + + /** + * Returns a URL-decoded representation of the given value with UTF-8 as character encoding. + * + * @param value the value to be decoded. + * @return a URL-decoded representation of value, using UTF-8 as character encoding. + */ + @Nullable + public static String decode(@Nullable String value) { + if (Strings.isFilled(value)) { + return URLDecoder.decode(value, StandardCharsets.UTF_8); + } + return value; + } + /** * Tries to fix the given URL by replacing spaces with "%20". * diff --git a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt index 25ce1764..3783fa4d 100644 --- a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt @@ -9,8 +9,6 @@ package sirius.kernel.commons import org.junit.jupiter.api.Test -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.CsvSource import java.util.* import java.util.function.UnaryOperator import java.util.regex.Pattern @@ -123,56 +121,6 @@ class StringsTest { assertNull(Strings.firstFilled("")) } - @ParameterizedTest - @CsvSource( - "true, https://example.com", - "true, HTTPS://example.com", - "true, http://example.com", - "true, Http://example.com?foo=bar", - "true, http://user:password@server.com/path", - "true, http://user@server.com/path", - "true, https://example.com/my/sample/page", - "true, http://example.com:8080/my/sample/page?user=foo&password=bar", - "false, https:// ;%@@ lol whatever i don't care", - "false, HttpS", - "false, ", - "false, ''", - "false, For testing look at https://example.com" - ) - fun isHttpUrl(isUrl: Boolean, url: String?) { - assertEquals(isUrl, Strings.isHttpUrl(url)) - } - - @ParameterizedTest - @CsvSource( - "true, https://example.com", - "true, HTTPS://example.com", - "false, http://example.com", - "false, Http://example.com?foo=bar", - "false, http://user:password@server.com/path", - "false, http://user@server.com/path", - "true, https://example.com/my/sample/page", - "false, http://example.com:8080/my/sample/page?user=foo&password=bar", - "false, https:// ;%@@ lol whatever i don't care", - "false, HttpS", - "false, ", - "false, ''", - "false, For testing look at https://example.com" - ) - fun isHttpsUrl(isUrl: Boolean, url: String?) { - assertEquals(isUrl, Strings.isHttpsUrl(url)) - } - - @Test - fun urlEncode() { - assertEquals("A%3FTEST%26B%C3%84%C3%96%C3%9C", Strings.urlEncode("A?TEST&Bร„ร–รœ")) - } - - @Test - fun urlDecode() { - assertEquals("A?TEST&Bร„ร–รœ", Strings.urlDecode("A%3FTEST%26B%C3%84%C3%96%C3%9C")) - } - @Test fun split() { assertEquals(Tuple.create("A", "B"), Strings.split("A|B", "|")) diff --git a/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt b/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt index faa2803f..f81acbbf 100644 --- a/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/UrlsTest.kt @@ -9,6 +9,8 @@ package sirius.kernel.commons import org.junit.jupiter.api.Test +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.CsvSource import kotlin.test.assertEquals /** @@ -16,13 +18,69 @@ import kotlin.test.assertEquals */ class UrlsTest { + @ParameterizedTest + @CsvSource( + "true, https://example.com", + "true, HTTPS://example.com", + "true, http://example.com", + "true, Http://example.com?foo=bar", + "true, http://user:password@server.com/path", + "true, http://user@server.com/path", + "true, https://example.com/my/sample/page", + "true, http://example.com:8080/my/sample/page?user=foo&password=bar", + "false, https:// ;%@@ lol whatever i don't care", + "false, HttpS", + "false, ", + "false, ''", + "false, For testing look at https://example.com" + ) + fun isHttpUrl(isUrl: Boolean, url: String?) { + assertEquals(isUrl, Urls.isHttpUrl(url)) + } + + @ParameterizedTest + @CsvSource( + "true, https://example.com", + "true, HTTPS://example.com", + "false, http://example.com", + "false, Http://example.com?foo=bar", + "false, http://user:password@server.com/path", + "false, http://user@server.com/path", + "true, https://example.com/my/sample/page", + "false, http://example.com:8080/my/sample/page?user=foo&password=bar", + "false, https:// ;%@@ lol whatever i don't care", + "false, HttpS", + "false, ", + "false, ''", + "false, For testing look at https://example.com" + ) + fun isHttpsUrl(isUrl: Boolean, url: String?) { + assertEquals(isUrl, Urls.isHttpsUrl(url)) + } + + @Test + fun encode() { + assertEquals("A%3FTEST%26B%C3%84%C3%96%C3%9C", Urls.encode("A?TEST&Bร„ร–รœ")) + } + + @Test + fun decode() { + assertEquals("A?TEST&Bร„ร–รœ", Urls.decode("A%3FTEST%26B%C3%84%C3%96%C3%9C")) + } + @Test fun quoteSpaces() { assertEquals("https://example.com/hello%20world", Urls.quoteSpaces("https://example.com/hello world")) assertEquals("https://example.com/hello%20world", Urls.quoteSpaces("https://example.com/hello%20world")) assertEquals("https://example.com/hello+world", Urls.quoteSpaces("https://example.com/hello+world")) - assertEquals("https://example.com/helloworld?test=a%20b", Urls.quoteSpaces("https://example.com/helloworld?test=a b")) - assertEquals("https://example.com/helloworld?test=a%20b", Urls.quoteSpaces("https://example.com/helloworld?test=a%20b")) - assertEquals("https://example.com/helloworld?test=a+b", Urls.quoteSpaces("https://example.com/helloworld?test=a+b")) + assertEquals( + "https://example.com/helloworld?test=a%20b", Urls.quoteSpaces("https://example.com/helloworld?test=a b") + ) + assertEquals( + "https://example.com/helloworld?test=a%20b", Urls.quoteSpaces("https://example.com/helloworld?test=a%20b") + ) + assertEquals( + "https://example.com/helloworld?test=a+b", Urls.quoteSpaces("https://example.com/helloworld?test=a+b") + ) } } From b2892349f2e4670d9a34a0f80782c2f26e8de4bd Mon Sep 17 00:00:00 2001 From: Sascha Bieberstein Date: Wed, 11 Jun 2025 11:10:30 +0200 Subject: [PATCH 44/93] Call new moved helpers where possible Fixes: OX-11739 --- src/main/java/sirius/kernel/commons/URLBuilder.java | 2 +- src/main/java/sirius/kernel/nls/Formatter.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/URLBuilder.java b/src/main/java/sirius/kernel/commons/URLBuilder.java index 89ac917e..5242aa1f 100644 --- a/src/main/java/sirius/kernel/commons/URLBuilder.java +++ b/src/main/java/sirius/kernel/commons/URLBuilder.java @@ -187,7 +187,7 @@ public URLBuilder addParameter(@Nonnull String key, @Nullable Object value, bool url.append("="); String stringValue = value == null ? "" : value.toString(); if (urlEncode) { - stringValue = Strings.urlEncode(stringValue); + stringValue = Urls.encode(stringValue); } url.append(stringValue); diff --git a/src/main/java/sirius/kernel/nls/Formatter.java b/src/main/java/sirius/kernel/nls/Formatter.java index 83eeae5e..e92a8259 100644 --- a/src/main/java/sirius/kernel/nls/Formatter.java +++ b/src/main/java/sirius/kernel/nls/Formatter.java @@ -9,6 +9,7 @@ package sirius.kernel.nls; import sirius.kernel.commons.Strings; +import sirius.kernel.commons.Urls; import java.util.ArrayList; import java.util.List; @@ -233,7 +234,7 @@ public Formatter setDirect(String property, String value) { } if (urlEncode) { - replacement.put(property, Strings.urlEncode(value)); + replacement.put(property, Urls.encode(value)); return this; } From f43335b2e2611e63feae90bcd152dd5b2ef5b4e3 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Wed, 25 Jun 2025 15:46:51 +0200 Subject: [PATCH 45/93] Revert "Refactoring" This reverts commit d92882ee7cf7e44e778763daf7bf5ef11fc19771. --- src/main/java/sirius/kernel/xml/Outcall.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index 5398f734..38a315e0 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -499,7 +499,7 @@ private void checkTimeoutBlacklist() throws IOException { } Tuple blacklistedHostInformation = timeoutBlacklist.get(blacklistId); - if (blacklistedHostInformation == null) { + if(blacklistedHostInformation == null) { return; } @@ -526,7 +526,7 @@ private void addToTimeoutBlacklist() { } long now = System.currentTimeMillis(); - timeoutBlacklist.put(blacklistId, Tuple.create(now + connectTimeoutBlacklistDuration.toMillis(), false)); + timeoutBlacklist.put(blacklistId, new Tuple<>(now + connectTimeoutBlacklistDuration.toMillis(), false)); if (timeoutBlacklist.size() > TIMEOUT_BLACKLIST_HIGH_WATERMARK) { // We collected a bunch of hosts - try to some cleanup (remove all hosts for which the timeout expired)... timeoutBlacklist.forEach((id, timeout) -> { From 403d139d68163e7bb603addefda726724ba182e9 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Wed, 25 Jun 2025 15:46:56 +0200 Subject: [PATCH 46/93] Revert "Reduces logging for blacklisted hosts" This reverts commit 5e590a1fd234acaee202c3c3699e84bfa46fd118. --- src/main/java/sirius/kernel/xml/Outcall.java | 30 ++++++-------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index 38a315e0..f8d6f0ce 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -15,7 +15,6 @@ import sirius.kernel.commons.Monoflop; import sirius.kernel.commons.Streams; import sirius.kernel.commons.Strings; -import sirius.kernel.commons.Tuple; import sirius.kernel.commons.Watch; import sirius.kernel.di.std.ConfigValue; import sirius.kernel.health.Average; @@ -111,11 +110,8 @@ public class Outcall { *

* These hosts are blacklisted for a short amount of time ({@link #connectTimeoutBlacklistDuration}) to prevent * cascading failures. - *

- * We log a warning for each host which is blacklisted and is called again. To make sure this doesn't spam the logs, - * we only log once and then set the second value of the tuple to true to prevent further log messages. */ - private static final Map> timeoutBlacklist = new ConcurrentHashMap<>(); + private static final Map timeoutBlacklist = new ConcurrentHashMap<>(); /** * If the {@link #timeoutBlacklist} contains more than the given number of entries, we remove all expired ones @@ -498,25 +494,15 @@ private void checkTimeoutBlacklist() throws IOException { return; } - Tuple blacklistedHostInformation = timeoutBlacklist.get(blacklistId); - if(blacklistedHostInformation == null) { - return; - } - - Long timeout = blacklistedHostInformation.getFirst(); - if (timeout == null) { - return; - } - - if (timeout > System.currentTimeMillis()) { - if (Boolean.FALSE.equals(blacklistedHostInformation.getSecond())) { - blacklistedHostInformation.setSecond(true); + Long timeout = timeoutBlacklist.get(blacklistId); + if (timeout != null) { + if (timeout > System.currentTimeMillis()) { throw new IOException(Strings.apply( "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", blacklistId)); + } else { + timeoutBlacklist.remove(blacklistId); } - } else { - timeoutBlacklist.remove(blacklistId); } } @@ -526,11 +512,11 @@ private void addToTimeoutBlacklist() { } long now = System.currentTimeMillis(); - timeoutBlacklist.put(blacklistId, new Tuple<>(now + connectTimeoutBlacklistDuration.toMillis(), false)); + timeoutBlacklist.put(blacklistId, now + connectTimeoutBlacklistDuration.toMillis()); if (timeoutBlacklist.size() > TIMEOUT_BLACKLIST_HIGH_WATERMARK) { // We collected a bunch of hosts - try to some cleanup (remove all hosts for which the timeout expired)... timeoutBlacklist.forEach((id, timeout) -> { - if (timeout.getFirst() < now) { + if (timeout < now) { timeoutBlacklist.remove(id); } }); From c2918e06a653298a9f4eeada1ad5daf09e597775 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 27 Jun 2025 11:46:07 +0200 Subject: [PATCH 47/93] Properly reads Objects from Json Fixes: SE-14628 --- src/main/java/sirius/kernel/commons/Json.java | 17 +++++++++++++ .../kotlin/sirius/kernel/commons/JsonTest.kt | 24 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/main/java/sirius/kernel/commons/Json.java b/src/main/java/sirius/kernel/commons/Json.java index 09db0df4..92466cbc 100644 --- a/src/main/java/sirius/kernel/commons/Json.java +++ b/src/main/java/sirius/kernel/commons/Json.java @@ -573,6 +573,9 @@ public static Amount getValueAmount(@Nonnull JsonNode jsonNode, String fieldName if (node.isTextual()) { return Amount.ofMachineString(node.textValue()); } + if (node.isPojo()) { + return tryGetFromPojoNode(node, Amount.class).orElse(Amount.NOTHING); + } return Amount.NOTHING; } @@ -587,6 +590,9 @@ public static Amount getValueAmount(@Nonnull JsonNode jsonNode, String fieldName @Nonnull public static Optional tryValueDate(@Nonnull JsonNode jsonNode, String fieldName) { JsonNode node = jsonNode.get(fieldName); + if (node != null && node.isPojo()) { + return tryGetFromPojoNode(node, LocalDate.class); + } if (node == null || node.isNull() || !node.isTextual()) { return Optional.empty(); } @@ -609,6 +615,9 @@ public static Optional tryValueDate(@Nonnull JsonNode jsonNode, Strin @Nonnull public static Optional tryValueDateTime(@Nonnull JsonNode jsonNode, String fieldName) { JsonNode node = jsonNode.get(fieldName); + if (node != null && node.isPojo()) { + return tryGetFromPojoNode(node, LocalDateTime.class); + } if (node == null || node.isNull() || !node.isTextual()) { return Optional.empty(); } @@ -618,4 +627,12 @@ public static Optional tryValueDateTime(@Nonnull JsonNode jsonNod return Optional.empty(); } } + + private static Optional tryGetFromPojoNode(JsonNode node, Class targetClass) { + if (node.isPojo() && node instanceof POJONode pojoNode && targetClass.isInstance(pojoNode.getPojo())) { + return Optional.of(targetClass.cast(pojoNode.getPojo())); + } + + return Optional.empty(); + } } diff --git a/src/test/kotlin/sirius/kernel/commons/JsonTest.kt b/src/test/kotlin/sirius/kernel/commons/JsonTest.kt index e8bb6a0c..08614b90 100644 --- a/src/test/kotlin/sirius/kernel/commons/JsonTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/JsonTest.kt @@ -421,4 +421,28 @@ class JsonTest { assertEquals(inputAmount, parsedAmount) } + @Test + fun `Read Amount from POJONode`() { + val inputAmount = Amount.ofRounded(BigDecimal("1.23456789")) + val objectNode = Json.createObject().putPOJO("amount", inputAmount) + val amountFromPojo = Json.getValueAmount(objectNode, "amount") + assertEquals(inputAmount, amountFromPojo) + } + + @Test + fun `Read LocalDate from POJONode`() { + val inputDate = LocalDate.now() + val objectNode = Json.createObject().putPOJO("localDate", inputDate) + val localDateFromPojo = Json.tryValueDate(objectNode, "localDate").orElse(null) + assertEquals(inputDate, localDateFromPojo) + } + + @Test + fun `Read LocalDateTime from POJONode`() { + val inputDateTime = LocalDateTime.now() + val objectNode = Json.createObject().putPOJO("localDateTime", inputDateTime) + val localDateTimeFromPojo = Json.tryValueDateTime(objectNode, "localDateTime").orElse(null) + assertEquals(inputDateTime, localDateTimeFromPojo) + } + } From 9e1b21db9e285bb9415639df592f091a96d44583 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 27 Jun 2025 11:46:57 +0200 Subject: [PATCH 48/93] Formatting only Fixes: SE-14628 --- src/main/java/sirius/kernel/commons/Json.java | 3 ++- src/test/kotlin/sirius/kernel/commons/JsonTest.kt | 14 +++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Json.java b/src/main/java/sirius/kernel/commons/Json.java index 92466cbc..db19efb0 100644 --- a/src/main/java/sirius/kernel/commons/Json.java +++ b/src/main/java/sirius/kernel/commons/Json.java @@ -64,7 +64,8 @@ public class Json { .registerModule(new JavaTimeModule()); static { - MAPPER.getFactory().setStreamReadConstraints(StreamReadConstraints.builder().maxStringLength(25_000_000).build()); + MAPPER.getFactory() + .setStreamReadConstraints(StreamReadConstraints.builder().maxStringLength(25_000_000).build()); } private Json() { diff --git a/src/test/kotlin/sirius/kernel/commons/JsonTest.kt b/src/test/kotlin/sirius/kernel/commons/JsonTest.kt index 08614b90..fd29455e 100644 --- a/src/test/kotlin/sirius/kernel/commons/JsonTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/JsonTest.kt @@ -93,10 +93,10 @@ class JsonTest { val date = LocalDate.now() val time = LocalDateTime.now() val node = Json.createObject() - .put("foo", 123) - .put("bar", "baz") - .putPOJO("date", date) - .putPOJO("time", time) + .put("foo", 123) + .put("bar", "baz") + .putPOJO("date", date) + .putPOJO("time", time) val formattedTime = DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(time) val json = Json.write(node) assertEquals("""{"foo":123,"bar":"baz","date":"$date","time":"$formattedTime"}""", json) @@ -281,7 +281,7 @@ class JsonTest { @Test fun `tryGetArrayAt works with arrays as POJO Nodes`() { val node = Json.createObject() - .set("nested", Json.createObject().putPOJO("foo", listOf(1, 2, 3)).put("bar", 123)) + .set("nested", Json.createObject().putPOJO("foo", listOf(1, 2, 3)).put("bar", 123)) val presentArray: Optional = Json.tryGetArrayAt(node, Json.createPointer("nested/foo")) assertTrue(presentArray.isPresent) @@ -346,7 +346,7 @@ class JsonTest { @Test fun `getValueAmount reads value from number and string`() { val json = - """{"number_1": 123,"number_2": -123,"number_3": 12.3,"number_4": 1.0E+2,"string": "123","null":null}""" + """{"number_1": 123,"number_2": -123,"number_3": 12.3,"number_4": 1.0E+2,"string": "123","null":null}""" val node = Json.parseObject(json) assertEquals(Amount.of(123L), Json.getValueAmount(node, "number_1")) @@ -373,7 +373,7 @@ class JsonTest { @Test fun `tryValueString reads string value from string, number and boolean`() { val json = - """{ "number": 123, "string": "blablabla", "null": null, "bool": true, "obj": {"a": "b"}, "array": [] }""" + """{ "number": 123, "string": "blablabla", "null": null, "bool": true, "obj": {"a": "b"}, "array": [] }""" val node = Json.parseObject(json) assertEquals("123", Json.tryValueString(node, "number").get()) From f111afc3df81f396cba17f790dccdc771ebfbf3a Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 4 Jul 2025 13:09:16 +0200 Subject: [PATCH 49/93] Removes an unused method - also it is questionably if values should be returned - and sonar (falsely) detects a NPE Fixes: SE-14326 --- .../java/sirius/kernel/commons/Files.java | 24 ------------------- .../kotlin/sirius/kernel/commons/FilesTest.kt | 8 ------- 2 files changed, 32 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Files.java b/src/main/java/sirius/kernel/commons/Files.java index 88ba06a2..bdb39207 100644 --- a/src/main/java/sirius/kernel/commons/Files.java +++ b/src/main/java/sirius/kernel/commons/Files.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.Optional; import java.util.regex.Pattern; -import java.util.stream.Stream; /** * Helperclass for handling files in Java 8. @@ -251,27 +250,4 @@ public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOEx } }); } - - /** - * Returns a stream of all parts of the given path. - *

- * The stream will contain the filename, the parent directory, the parent of the parent and so on. - * - * @param path the path to split - * @return a stream of all parts of the given path - */ - public static Stream streamPath(String path) { - if (Strings.isEmpty(path)) { - return Stream.empty(); - } - - Stream.Builder builder = Stream.builder(); - builder.add(Files.getFilenameAndExtension(path)); - String parent = Files.getBasepath(path); - while (Strings.isFilled(parent)) { - builder.add(Files.getFilenameAndExtension(parent)); - parent = Files.getBasepath(parent); - } - return builder.build(); - } } diff --git a/src/test/kotlin/sirius/kernel/commons/FilesTest.kt b/src/test/kotlin/sirius/kernel/commons/FilesTest.kt index 5294cff3..34a3d149 100644 --- a/src/test/kotlin/sirius/kernel/commons/FilesTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/FilesTest.kt @@ -106,12 +106,4 @@ internal class FilesTest { assertEquals(false, Files.isConsideredMetadata(null)); } - @Test - fun `streamPath works as expected`() { - assert(Files.streamPath("test1").toList().equals(listOf("test1"))); - assertEquals(listOf("test2", "test1"), Files.streamPath("/test1/test2").toList()); - assertEquals(listOf("test3", ".test2", "test1"), Files.streamPath("/test1/.test2/test3").toList()); - assertEquals(listOf("test4.png", "test3", "test2", "test1"), Files.streamPath("/test1/test2/test3/test4.png").toList()); - assertEquals(listOf(null, "test2", "test1"), Files.streamPath("/test1/test2/").toList()); - } } From c2b0626d17f5a674dfcab689a01599e89657aa10 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Mon, 7 Jul 2025 09:33:53 +0200 Subject: [PATCH 50/93] Improves regex against polynomial backtracking - make quantifier possessiv Fixes: SE-14326 --- .../sirius/kernel/commons/StringCleanup.java | 2 +- .../sirius/kernel/commons/StringsTest.kt | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/commons/StringCleanup.java b/src/main/java/sirius/kernel/commons/StringCleanup.java index 3995d52b..68b7118e 100644 --- a/src/main/java/sirius/kernel/commons/StringCleanup.java +++ b/src/main/java/sirius/kernel/commons/StringCleanup.java @@ -40,7 +40,7 @@ public class StringCleanup { private static final Pattern PATTERN_NON_DIGIT = Pattern.compile("\\D"); private static final Pattern PATTERN_DECIMAL_ENTITY = Pattern.compile("&(\\d+);"); private static final Pattern PATTERN_HEX_ENTITY = Pattern.compile("&x0*([0-9a-fA-F]+);"); - private static final Pattern PATTERN_BR_TAG = Pattern.compile("<(br|BR) */? *>"); + private static final Pattern PATTERN_BR_TAG = Pattern.compile("<(br|BR) *+/? *+>"); private static final Pattern PATTERN_LILI_TAG = Pattern.compile("<(/li|/LI)>\\r?\\n?\\t?<(li|LI)>"); private static final Pattern PATTERN_LI_TAG = Pattern.compile("<(/?li|/?LI)>"); private static final Pattern PATTERN_PP_TAG = Pattern.compile("<(/p|/P)>\\r?\\n?\\t?<([pP])>"); diff --git a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt index 3783fa4d..e6cfa609 100644 --- a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt @@ -372,4 +372,25 @@ class StringsTest { assertEquals("1โ€ฆ[โ€ฆ]โ€ฆ9", Strings.truncateMiddle("123456789-123456789-123456789", 1, 1)) assertEquals("12345678901234", Strings.truncateMiddle("12345678901234", 6, 6)) } + + @Test + fun htmlToPlain() { + assertEquals("", Strings.cleanup("", StringCleanup::htmlToPlainText)) + + assertEquals(""" + something + and another thing + """.trimIndent(), Strings.cleanup("

something
and another thing

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + + assertEquals(""" + first + + second + """.trimIndent(), Strings.cleanup("

first

second

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + + assertEquals(""" + after backtracking fix + """.trimIndent(), Strings.cleanup("after backtracking fix
", StringCleanup::htmlToPlainText, StringCleanup::trim)) + + } } From 8e4813791c3c8648800d8ec101ca942c11d336da Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Mon, 7 Jul 2025 10:12:57 +0200 Subject: [PATCH 51/93] Fixes html entity decoding regular expressions - see https://en.wikipedia.org/wiki/Character_encodings_in_HTML#HTML_character_references Fixes: SE-14326 --- src/main/java/sirius/kernel/commons/StringCleanup.java | 4 ++-- src/test/kotlin/sirius/kernel/commons/StringsTest.kt | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/StringCleanup.java b/src/main/java/sirius/kernel/commons/StringCleanup.java index 68b7118e..d5639246 100644 --- a/src/main/java/sirius/kernel/commons/StringCleanup.java +++ b/src/main/java/sirius/kernel/commons/StringCleanup.java @@ -38,8 +38,8 @@ public class StringCleanup { private static final Pattern PATTERN_NON_ALPHA_NUMERIC = Pattern.compile("([^\\p{L}\\d])"); private static final Pattern PATTERN_NON_LETTER = Pattern.compile("\\P{L}"); private static final Pattern PATTERN_NON_DIGIT = Pattern.compile("\\D"); - private static final Pattern PATTERN_DECIMAL_ENTITY = Pattern.compile("&(\\d+);"); - private static final Pattern PATTERN_HEX_ENTITY = Pattern.compile("&x0*([0-9a-fA-F]+);"); + private static final Pattern PATTERN_DECIMAL_ENTITY = Pattern.compile("&#(\\d+);"); + private static final Pattern PATTERN_HEX_ENTITY = Pattern.compile("&#x([0-9a-fA-F]+);"); private static final Pattern PATTERN_BR_TAG = Pattern.compile("<(br|BR) *+/? *+>"); private static final Pattern PATTERN_LILI_TAG = Pattern.compile("<(/li|/LI)>\\r?\\n?\\t?<(li|LI)>"); private static final Pattern PATTERN_LI_TAG = Pattern.compile("<(/?li|/?LI)>"); diff --git a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt index e6cfa609..2c8da998 100644 --- a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt @@ -392,5 +392,8 @@ class StringsTest { after backtracking fix """.trimIndent(), Strings.cleanup("after backtracking fix
", StringCleanup::htmlToPlainText, StringCleanup::trim)) + assertEquals("The euro sign as hex entity is: โ‚ฌ", Strings.cleanup("

The euro sign as hex entity is: €

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + assertEquals("The euro sign as decimal entity is: โ‚ฌ", Strings.cleanup("

The euro sign as decimal entity is: €

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + } } From 7ea4df594dca46c7cba31045f77f38aa4aad9c04 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Mon, 7 Jul 2025 10:20:00 +0200 Subject: [PATCH 52/93] Minor sonar fixes Fixes: SE-14326 --- .../java/sirius/kernel/settings/ExtendedSettings.java | 2 +- src/main/java/sirius/kernel/settings/Extension.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/settings/ExtendedSettings.java b/src/main/java/sirius/kernel/settings/ExtendedSettings.java index 2183c022..a6e8cce9 100644 --- a/src/main/java/sirius/kernel/settings/ExtendedSettings.java +++ b/src/main/java/sirius/kernel/settings/ExtendedSettings.java @@ -128,9 +128,9 @@ protected Extension getDefault(String type) { } ConfigObject cfg = getConfig().getConfig(type).root(); - ConfigObject def = (ConfigObject) cfg.get(Extension.DEFAULT); if (cfg.containsKey(Extension.DEFAULT)) { + ConfigObject def = (ConfigObject) cfg.get(Extension.DEFAULT); result = new Extension(type, Extension.DEFAULT, def, null); defaultsCache.put(type, result); return result; diff --git a/src/main/java/sirius/kernel/settings/Extension.java b/src/main/java/sirius/kernel/settings/Extension.java index cec402bb..ec7c0f0a 100644 --- a/src/main/java/sirius/kernel/settings/Extension.java +++ b/src/main/java/sirius/kernel/settings/Extension.java @@ -12,6 +12,7 @@ import sirius.kernel.Sirius; import sirius.kernel.async.ExecutionPoint; import sirius.kernel.commons.Context; +import sirius.kernel.commons.Explain; import sirius.kernel.commons.PriorityCollector; import sirius.kernel.commons.Strings; import sirius.kernel.commons.Value; @@ -41,6 +42,8 @@ public class Extension extends Settings implements Comparable { protected final String id; private final ConfigObject configObject; + @SuppressWarnings("java:S2259") + @Explain("There is a check for null in the withFallback method, so this is safe.") protected Extension(String type, String id, ConfigObject configObject, ConfigObject defaultConfig) { super(withFallback(configObject, defaultConfig).toConfig(), false); this.configObject = withFallback(configObject, defaultConfig); @@ -50,6 +53,12 @@ protected Extension(String type, String id, ConfigObject configObject, ConfigObj } private static ConfigObject withFallback(@Nullable ConfigObject config, @Nullable ConfigObject fallback) { + if (config == null && fallback == null) { + throw Exceptions.handle() + .to(LOG) + .withSystemErrorMessage("Cannot create an extension without a config or fallback") + .handle(); + } if (config == null || config.isEmpty()) { return fallback; } else if (fallback == null || fallback.isEmpty()) { From d84a05f6b7bd92f13503ddd3f9db7a24a9f86365 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Mon, 7 Jul 2025 10:20:19 +0200 Subject: [PATCH 53/93] Typo and formatting Fixes: SE-14326 --- .../java/sirius/kernel/commons/Files.java | 2 +- .../kotlin/sirius/kernel/commons/FilesTest.kt | 30 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Files.java b/src/main/java/sirius/kernel/commons/Files.java index bdb39207..f3889dde 100644 --- a/src/main/java/sirius/kernel/commons/Files.java +++ b/src/main/java/sirius/kernel/commons/Files.java @@ -86,7 +86,7 @@ public static String getFileExtension(@Nullable String path) { * Returns the basepath of the given path to a file. *

* The basepath is everything but the filename of the given path. So /foo/bar/test.txt - * will yield /foo/bar as as path. text.txt will yield null. + * will yield /foo/bar as the path. text.txt will yield null. *

* Note that both / and \ are accepted as path separators and are preserved in the output. * diff --git a/src/test/kotlin/sirius/kernel/commons/FilesTest.kt b/src/test/kotlin/sirius/kernel/commons/FilesTest.kt index 34a3d149..6f6921bd 100644 --- a/src/test/kotlin/sirius/kernel/commons/FilesTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/FilesTest.kt @@ -86,24 +86,24 @@ internal class FilesTest { } @Test - fun `isConsideredHidden works as expected`(){ - assertEquals(true, Files.isConsideredHidden(".test")); - assertEquals(true, Files.isConsideredHidden(".test.tmp")); - assertEquals(false, Files.isConsideredHidden("test")); - assertEquals(false, Files.isConsideredHidden("test.tmp")); - assertEquals(false,Files.isConsideredHidden(null)); + fun `isConsideredHidden works as expected`() { + assertEquals(true, Files.isConsideredHidden(".test")) + assertEquals(true, Files.isConsideredHidden(".test.tmp")) + assertEquals(false, Files.isConsideredHidden("test")) + assertEquals(false, Files.isConsideredHidden("test.tmp")) + assertEquals(false, Files.isConsideredHidden(null)) } @Test - fun `isConsideredMetadata works as expected`(){ - assertEquals(true, Files.isConsideredMetadata("__MACOSX")); - assertEquals(true, Files.isConsideredMetadata("__MACOSX/test")); - assertEquals(true, Files.isConsideredMetadata("__MACOSX/folder1/test")); - assertEquals(true, Files.isConsideredMetadata(".DS_Store")); - assertEquals(true, Files.isConsideredMetadata("Thumbs.db")); - assertEquals(false, Files.isConsideredMetadata("test.tmp")); - assertEquals(false, Files.isConsideredMetadata("thumbs.db")); - assertEquals(false, Files.isConsideredMetadata(null)); + fun `isConsideredMetadata works as expected`() { + assertEquals(true, Files.isConsideredMetadata("__MACOSX")) + assertEquals(true, Files.isConsideredMetadata("__MACOSX/test")) + assertEquals(true, Files.isConsideredMetadata("__MACOSX/folder1/test")) + assertEquals(true, Files.isConsideredMetadata(".DS_Store")) + assertEquals(true, Files.isConsideredMetadata("Thumbs.db")) + assertEquals(false, Files.isConsideredMetadata("test.tmp")) + assertEquals(false, Files.isConsideredMetadata("thumbs.db")) + assertEquals(false, Files.isConsideredMetadata(null)) } } From 946d4b5a9cf9de706d1edf22a1c7c92e6d8fdd44 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Mon, 7 Jul 2025 10:25:49 +0200 Subject: [PATCH 54/93] Drive by: Remove redundant sam constructor Fixes: SE-14326 --- .../sirius/kernel/commons/StringsTest.kt | 51 +++++++++---------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt index 2c8da998..b841f642 100644 --- a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt @@ -10,7 +10,6 @@ package sirius.kernel.commons import org.junit.jupiter.api.Test import java.util.* -import java.util.function.UnaryOperator import java.util.regex.Pattern import kotlin.test.* @@ -194,85 +193,85 @@ class StringsTest { @Test fun cleanup() { assertEquals( - "Hel lo", Strings.cleanup("Hel lo ", UnaryOperator { input: String? -> StringCleanup.trim(input!!) }) + "Hel lo", Strings.cleanup("Hel lo ", { input: String? -> StringCleanup.trim(input!!) }) ) assertEquals( "Hel lo ", Strings.cleanup( "Hel \tย \t \r\nย lo ", - UnaryOperator { input: String? -> StringCleanup.reduceWhitespace(input!!) }) + { input: String? -> StringCleanup.reduceWhitespace(input!!) }) ) assertEquals( "Hello", Strings.cleanup( "Hel \tย \t \nย lo ", - UnaryOperator { input: String? -> StringCleanup.removeWhitespace(input!!) }) + { input: String? -> StringCleanup.removeWhitespace(input!!) }) ) assertEquals( "Hello", - Strings.cleanup("Hรฉllo", UnaryOperator { term: String? -> StringCleanup.reduceCharacters(term) }) + Strings.cleanup("Hรฉllo", { term: String? -> StringCleanup.reduceCharacters(term) }) ) assertEquals( "hello", Strings.cleanup( "Hรฉllo", - UnaryOperator { term: String? -> StringCleanup.reduceCharacters(term) }, - UnaryOperator { input: String? -> StringCleanup.lowercase(input!!) }) + { term: String? -> StringCleanup.reduceCharacters(term) }, + { input: String? -> StringCleanup.lowercase(input!!) }) ) assertEquals( "HELLO", Strings.cleanup( "Hรฉllo", - UnaryOperator { term: String? -> StringCleanup.reduceCharacters(term) }, - UnaryOperator { input: String? -> StringCleanup.uppercase(input!!) }) + { term: String? -> StringCleanup.reduceCharacters(term) }, + { input: String? -> StringCleanup.uppercase(input!!) }) ) assertEquals( "Hello", - Strings.cleanup("hello", UnaryOperator { input: String? -> StringCleanup.capitalize(input!!) }) + Strings.cleanup("hello", { input: String? -> StringCleanup.capitalize(input!!) }) ) assertEquals( "HeLLo", - Strings.cleanup("heLLo", UnaryOperator { input: String? -> StringCleanup.capitalize(input!!) }) + Strings.cleanup("heLLo", { input: String? -> StringCleanup.capitalize(input!!) }) ) assertEquals( "-hello-", - Strings.cleanup("-hello-", UnaryOperator { input: String? -> StringCleanup.capitalize(input!!) }) + Strings.cleanup("-hello-", { input: String? -> StringCleanup.capitalize(input!!) }) ) assertEquals( "Hello", - Strings.cleanup("Hel-lo", UnaryOperator { input: String? -> StringCleanup.removePunctuation(input!!) }) + Strings.cleanup("Hel-lo", { input: String? -> StringCleanup.removePunctuation(input!!) }) ) assertEquals( "Hello", Strings.cleanup( "\u0008Hello", - UnaryOperator { input: String? -> StringCleanup.removeControlCharacters(input!!) }) + { input: String? -> StringCleanup.removeControlCharacters(input!!) }) ) assertEquals( "Test", Strings.cleanup( "Test", - UnaryOperator { input: String? -> StringCleanup.replaceXml(input) }, - UnaryOperator { input: String? -> StringCleanup.trim(input!!) }) + { input: String? -> StringCleanup.replaceXml(input) }, + { input: String? -> StringCleanup.trim(input!!) }) ) assertEquals( "Test", Strings.cleanup( "Test
", - UnaryOperator { input: String? -> StringCleanup.replaceXml(input) }, - UnaryOperator { input: String? -> StringCleanup.trim(input!!) }) + { input: String? -> StringCleanup.replaceXml(input) }, + { input: String? -> StringCleanup.trim(input!!) }) ) assertEquals( "Test Blubb", Strings.cleanup( "Test
Blubb
", - UnaryOperator { input: String? -> StringCleanup.replaceXml(input) }, - UnaryOperator { input: String? -> StringCleanup.trim(input!!) }) + { input: String? -> StringCleanup.replaceXml(input) }, + { input: String? -> StringCleanup.trim(input!!) }) ) assertEquals( "foo having < 3 m, with >= 3 m", Strings.cleanup( "foo having < 3 m, with >= 3 m", - UnaryOperator { input: String? -> StringCleanup.replaceXml(input) }, - UnaryOperator { input: String? -> StringCleanup.trim(input!!) }) + { input: String? -> StringCleanup.replaceXml(input) }, + { input: String? -> StringCleanup.trim(input!!) }) ) assertEquals( "<b>Foo <br /> Bar</b>", - Strings.cleanup("Foo
Bar
", UnaryOperator { input: String? -> + Strings.cleanup("Foo
Bar
", { input: String? -> StringCleanup.escapeXml( input ) @@ -280,18 +279,18 @@ class StringsTest { ) assertEquals( "Hello
World", - Strings.cleanup("Hello\nWorld", UnaryOperator { input: String? -> StringCleanup.nlToBr(input) }) + Strings.cleanup("Hello\nWorld", { input: String? -> StringCleanup.nlToBr(input) }) ) assertEquals( "Testalert('Hello World!')", Strings.cleanup( "Test", - UnaryOperator { input: String? -> StringCleanup.removeXml(input!!) }) + { input: String? -> StringCleanup.removeXml(input!!) }) ) assertEquals( " รครถรผร„ร–รœรŸ<>\"'&* * * * * * ", Strings.cleanup( " äöüÄÖÜß<>"'&••‣‣⁃⁃", - UnaryOperator { input: String? -> StringCleanup.decodeHtmlEntities(input!!) }) + { input: String? -> StringCleanup.decodeHtmlEntities(input!!) }) ) } From 84f0d5036c0d021d84883c8236f72f0a271d6cb7 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Mon, 7 Jul 2025 10:26:21 +0200 Subject: [PATCH 55/93] Autoformat Fixes: SE-14326 --- .../sirius/kernel/commons/StringsTest.kt | 47 +++++++++++++++---- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt index b841f642..8341f136 100644 --- a/src/test/kotlin/sirius/kernel/commons/StringsTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/StringsTest.kt @@ -376,23 +376,54 @@ class StringsTest { fun htmlToPlain() { assertEquals("", Strings.cleanup("", StringCleanup::htmlToPlainText)) - assertEquals(""" + assertEquals( + """ something and another thing - """.trimIndent(), Strings.cleanup("

something
and another thing

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + """.trimIndent(), + Strings.cleanup( + "

something
and another thing

", + StringCleanup::htmlToPlainText, + StringCleanup::trim + ) + ) - assertEquals(""" + assertEquals( + """ first second - """.trimIndent(), Strings.cleanup("

first

second

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + """.trimIndent(), + Strings.cleanup("

first

second

", StringCleanup::htmlToPlainText, StringCleanup::trim) + ) - assertEquals(""" + assertEquals( + """ after backtracking fix - """.trimIndent(), Strings.cleanup("after backtracking fix
", StringCleanup::htmlToPlainText, StringCleanup::trim)) + """.trimIndent(), + Strings.cleanup( + "after backtracking fix
", + StringCleanup::htmlToPlainText, + StringCleanup::trim + ) + ) - assertEquals("The euro sign as hex entity is: โ‚ฌ", Strings.cleanup("

The euro sign as hex entity is: €

", StringCleanup::htmlToPlainText, StringCleanup::trim)) - assertEquals("The euro sign as decimal entity is: โ‚ฌ", Strings.cleanup("

The euro sign as decimal entity is: €

", StringCleanup::htmlToPlainText, StringCleanup::trim)) + assertEquals( + "The euro sign as hex entity is: โ‚ฌ", + Strings.cleanup( + "

The euro sign as hex entity is: €

", + StringCleanup::htmlToPlainText, + StringCleanup::trim + ) + ) + assertEquals( + "The euro sign as decimal entity is: โ‚ฌ", + Strings.cleanup( + "

The euro sign as decimal entity is: €

", + StringCleanup::htmlToPlainText, + StringCleanup::trim + ) + ) } } From 056bca6e5c3d41925b7a45f982286ac931ad5ddc Mon Sep 17 00:00:00 2001 From: Matthias Keck <60612914+mkeckmkeck@users.noreply.github.com> Date: Mon, 7 Jul 2025 10:33:12 +0200 Subject: [PATCH 56/93] Update src/main/java/sirius/kernel/settings/Extension.java Co-authored-by: Sascha Bieberstein --- src/main/java/sirius/kernel/settings/Extension.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/settings/Extension.java b/src/main/java/sirius/kernel/settings/Extension.java index ec7c0f0a..e1267b22 100644 --- a/src/main/java/sirius/kernel/settings/Extension.java +++ b/src/main/java/sirius/kernel/settings/Extension.java @@ -56,7 +56,7 @@ private static ConfigObject withFallback(@Nullable ConfigObject config, @Nullabl if (config == null && fallback == null) { throw Exceptions.handle() .to(LOG) - .withSystemErrorMessage("Cannot create an extension without a config or fallback") + .withSystemErrorMessage("Cannot create an extension without a config and fallback") .handle(); } if (config == null || config.isEmpty()) { From 54d3178f287cd2d8ca4582018c29e8f5bdc776a5 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 11 Jul 2025 10:40:15 +0200 Subject: [PATCH 57/93] Upgrades to java24 and minor 3rd party lib upgrades Fixes: SIRI-1072 --- pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 1bf4e4b0..db03e194 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.scireum sirius-parent - 14.0.1 + 14.1.2 sirius-kernel SIRIUS kernel @@ -26,7 +26,7 @@ com.typesafe config - 1.4.3 + 1.4.4 @@ -34,7 +34,7 @@ com.google.guava guava - 33.4.0-jre + 33.4.8-jre @@ -42,7 +42,7 @@ com.github.spotbugs spotbugs-annotations - 4.9.1 + 4.9.3 @@ -50,7 +50,7 @@ org.slf4j slf4j-jdk14 - 2.0.16 + 2.0.17 @@ -75,7 +75,7 @@ commons-io commons-io - 2.18.0 + 2.19.0 From d349c413ecaecb0b13959a262c14d112a92768e2 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 11 Jul 2025 10:40:58 +0200 Subject: [PATCH 58/93] Uses new API in our json utility class Fixes: SIRI-1072 --- src/main/java/sirius/kernel/commons/Json.java | 30 +++++-------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Json.java b/src/main/java/sirius/kernel/commons/Json.java index db19efb0..df7d4554 100644 --- a/src/main/java/sirius/kernel/commons/Json.java +++ b/src/main/java/sirius/kernel/commons/Json.java @@ -34,9 +34,9 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; -import java.util.stream.StreamSupport; /** * Provides a simple wrapper for Jackson to provide a more fluent API with some additional functions that provide useful @@ -286,10 +286,12 @@ public static Value convertToValue(@Nullable JsonNode node) { * * @param arrayNode the node to stream * @return a stream of the entries of the given node + * @deprecated since 2025/07/11, use {@link ArrayNode#valueStream()} instead. */ + @Deprecated(since = "2025/07/11", forRemoval = true) @Nonnull public static Stream streamEntries(@Nonnull ArrayNode arrayNode) { - return StreamSupport.stream(arrayNode.spliterator(), false); + return arrayNode.valueStream(); } /** @@ -326,11 +328,7 @@ public static ObjectNode getObjectAtIndex(@Nonnull ArrayNode arrayNode, int inde */ @Nonnull public static Optional tryGetObjectAtIndex(@Nonnull ArrayNode arrayNode, int index) { - JsonNode node = arrayNode.get(index); - if (node == null || !node.isObject()) { - return Optional.empty(); - } - return Optional.of((ObjectNode) node); + return arrayNode.optional(index).filter(JsonNode::isObject).map(ObjectNode.class::cast); } /** @@ -356,11 +354,7 @@ public static ObjectNode getObject(@Nonnull ObjectNode objectNode, String fieldN */ @Nonnull public static Optional tryGetObject(@Nonnull ObjectNode objectNode, String fieldName) { - JsonNode node = objectNode.get(fieldName); - if (node == null || !node.isObject()) { - return Optional.empty(); - } - return Optional.of((ObjectNode) node); + return objectNode.optional(fieldName).filter(JsonNode::isObject).map(ObjectNode.class::cast); } /** @@ -491,11 +485,7 @@ private static Optional tryNodeAsArray(JsonNode node) { */ @Nonnull public static Optional tryGetAtIndex(@Nonnull ArrayNode arrayNode, int index) { - JsonNode node = arrayNode.get(index); - if (node == null || node.isNull()) { - return Optional.empty(); - } - return Optional.of(node); + return arrayNode.optional(index).filter(Predicate.not(JsonNode::isNull)); } /** @@ -507,11 +497,7 @@ public static Optional tryGetAtIndex(@Nonnull ArrayNode arrayNode, int */ @Nonnull public static Optional tryGet(@Nonnull ObjectNode objectNode, String fieldName) { - JsonNode node = objectNode.get(fieldName); - if (node == null || node.isNull()) { - return Optional.empty(); - } - return Optional.of(node); + return objectNode.optional(fieldName).filter(Predicate.not(JsonNode::isNull)); } /** From 3b2646b89c347010b033fa11bdd3786d77560948 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 11 Jul 2025 10:49:59 +0200 Subject: [PATCH 59/93] Suppresses deprecation warning - we still want to test this Fixes: SIRI-1072 --- src/test/kotlin/sirius/kernel/commons/JsonTest.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/kotlin/sirius/kernel/commons/JsonTest.kt b/src/test/kotlin/sirius/kernel/commons/JsonTest.kt index fd29455e..f3af34ca 100644 --- a/src/test/kotlin/sirius/kernel/commons/JsonTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/JsonTest.kt @@ -130,6 +130,7 @@ class JsonTest { assertEquals(mutableMapOf("foo" to 123, "bar" to "baz"), map) } + @Suppress("DEPRECATION", "removal") @Test fun `entries of array can be streamed properly`() { val array = Json.createArray().add(1).add(2).add(3) From 55bee2f3bf6e916f3607222858d4fd2733eb73bd Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 11 Jul 2025 12:12:15 +0200 Subject: [PATCH 60/93] Uses new java24 capable image to build and test in drone Fixes: SIRI-1072 --- .drone.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index d12e1bf1..3fb0f369 100644 --- a/.drone.yml +++ b/.drone.yml @@ -17,7 +17,7 @@ clone: steps: - name: compile - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 commands: - mvn clean compile volumes: *scireum_volumes @@ -28,7 +28,7 @@ steps: - push - name: cron_unit_tests - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 commands: - mvn clean test volumes: *scireum_volumes @@ -48,7 +48,7 @@ steps: - cron - name: test - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 commands: - mvn clean test -Dtest.excluded.groups=nightly volumes: *scireum_volumes @@ -57,7 +57,7 @@ steps: - pull_request - name: deploy - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 commands: - sed -i 's/DEVELOPMENT-SNAPSHOT/${DRONE_TAG}/g' pom.xml - mvn clean deploy -DskipTests @@ -77,7 +77,7 @@ steps: - tag - name: sonar - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 commands: - sed -i 's/DEVELOPMENT-SNAPSHOT/${DRONE_TAG}/g' pom.xml - mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=${DRONE_REPO_NAME} From 99dac087cd24a3dcd1069359f513951cf29f1942 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 11 Jul 2025 12:32:10 +0200 Subject: [PATCH 61/93] Uses new java24 capable image to build and test in github actions Fixes: SIRI-1072 --- .github/workflows/nightly-test.yml | 2 +- .github/workflows/pull-request.yml | 2 +- .github/workflows/push-master.yml | 2 +- .github/workflows/sonarqube.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index e24885fe..f08e0c8e 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -7,7 +7,7 @@ jobs: test: runs-on: ubuntu-latest container: - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 steps: - name: Checkout project uses: actions/checkout@v4 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 15e4868b..50effa98 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -6,7 +6,7 @@ jobs: test: runs-on: ubuntu-latest container: - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 steps: - name: Checkout project uses: actions/checkout@v4 diff --git a/.github/workflows/push-master.yml b/.github/workflows/push-master.yml index 1436d2d8..636ccb0c 100644 --- a/.github/workflows/push-master.yml +++ b/.github/workflows/push-master.yml @@ -7,7 +7,7 @@ jobs: compile: runs-on: ubuntu-latest container: - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 steps: - name: Checkout project uses: actions/checkout@v4 diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index 7e277196..001f56c2 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -6,7 +6,7 @@ jobs: sonarqube: runs-on: ubuntu-latest container: - image: scireum/sirius-build-jdk23 + image: scireum/sirius-build-jdk24 steps: - name: Checkout project uses: actions/checkout@v4 From 9421983b31ba72610c1dbaa7f161f80cbcfd85a4 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 25 Jul 2025 11:21:38 +0200 Subject: [PATCH 62/93] Format overrides of docker-compose-rule-core versions block-like Fixes: SIRI-1072 --- pom.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index db03e194..dd068141 100644 --- a/pom.xml +++ b/pom.xml @@ -70,14 +70,15 @@ - + + commons-io commons-io 2.19.0 - com.fasterxml.jackson.core @@ -87,5 +88,7 @@ com.fasterxml.jackson.datatype jackson-datatype-jsr310 + From 5a500642827c0b8710a67c896a805317001ce72d Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 25 Jul 2025 11:22:51 +0200 Subject: [PATCH 63/93] Includes current version of commons lang3 - as transitive dependency from docker-compose-rule-core is outdated and has security issues Fixes: SIRI-1072 --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index dd068141..a15ffb62 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,12 @@ com.fasterxml.jackson.datatype jackson-datatype-jsr310 + + + org.apache.commons + commons-lang3 + 3.18.0 + From 171b4dc664eee91ad8d7d93c0d560d733e4cfd62 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Wed, 24 Sep 2025 12:41:56 +0200 Subject: [PATCH 64/93] Reapply "Reduces logging for blacklisted hosts" This reverts commit 403d139d68163e7bb603addefda726724ba182e9. --- src/main/java/sirius/kernel/xml/Outcall.java | 30 ++++++++++++++------ 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index f8d6f0ce..38a315e0 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -15,6 +15,7 @@ import sirius.kernel.commons.Monoflop; import sirius.kernel.commons.Streams; import sirius.kernel.commons.Strings; +import sirius.kernel.commons.Tuple; import sirius.kernel.commons.Watch; import sirius.kernel.di.std.ConfigValue; import sirius.kernel.health.Average; @@ -110,8 +111,11 @@ public class Outcall { *

* These hosts are blacklisted for a short amount of time ({@link #connectTimeoutBlacklistDuration}) to prevent * cascading failures. + *

+ * We log a warning for each host which is blacklisted and is called again. To make sure this doesn't spam the logs, + * we only log once and then set the second value of the tuple to true to prevent further log messages. */ - private static final Map timeoutBlacklist = new ConcurrentHashMap<>(); + private static final Map> timeoutBlacklist = new ConcurrentHashMap<>(); /** * If the {@link #timeoutBlacklist} contains more than the given number of entries, we remove all expired ones @@ -494,15 +498,25 @@ private void checkTimeoutBlacklist() throws IOException { return; } - Long timeout = timeoutBlacklist.get(blacklistId); - if (timeout != null) { - if (timeout > System.currentTimeMillis()) { + Tuple blacklistedHostInformation = timeoutBlacklist.get(blacklistId); + if(blacklistedHostInformation == null) { + return; + } + + Long timeout = blacklistedHostInformation.getFirst(); + if (timeout == null) { + return; + } + + if (timeout > System.currentTimeMillis()) { + if (Boolean.FALSE.equals(blacklistedHostInformation.getSecond())) { + blacklistedHostInformation.setSecond(true); throw new IOException(Strings.apply( "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", blacklistId)); - } else { - timeoutBlacklist.remove(blacklistId); } + } else { + timeoutBlacklist.remove(blacklistId); } } @@ -512,11 +526,11 @@ private void addToTimeoutBlacklist() { } long now = System.currentTimeMillis(); - timeoutBlacklist.put(blacklistId, now + connectTimeoutBlacklistDuration.toMillis()); + timeoutBlacklist.put(blacklistId, new Tuple<>(now + connectTimeoutBlacklistDuration.toMillis(), false)); if (timeoutBlacklist.size() > TIMEOUT_BLACKLIST_HIGH_WATERMARK) { // We collected a bunch of hosts - try to some cleanup (remove all hosts for which the timeout expired)... timeoutBlacklist.forEach((id, timeout) -> { - if (timeout < now) { + if (timeout.getFirst() < now) { timeoutBlacklist.remove(id); } }); From 1dd2df960b6c60f1ad9636831773506442e30f88 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Wed, 24 Sep 2025 12:42:02 +0200 Subject: [PATCH 65/93] Reapply "Refactoring" This reverts commit f43335b2e2611e63feae90bcd152dd5b2ef5b4e3. --- src/main/java/sirius/kernel/xml/Outcall.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index 38a315e0..5398f734 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -499,7 +499,7 @@ private void checkTimeoutBlacklist() throws IOException { } Tuple blacklistedHostInformation = timeoutBlacklist.get(blacklistId); - if(blacklistedHostInformation == null) { + if (blacklistedHostInformation == null) { return; } @@ -526,7 +526,7 @@ private void addToTimeoutBlacklist() { } long now = System.currentTimeMillis(); - timeoutBlacklist.put(blacklistId, new Tuple<>(now + connectTimeoutBlacklistDuration.toMillis(), false)); + timeoutBlacklist.put(blacklistId, Tuple.create(now + connectTimeoutBlacklistDuration.toMillis(), false)); if (timeoutBlacklist.size() > TIMEOUT_BLACKLIST_HIGH_WATERMARK) { // We collected a bunch of hosts - try to some cleanup (remove all hosts for which the timeout expired)... timeoutBlacklist.forEach((id, timeout) -> { From d7d2e21e1e13e971cc2361ada17e9938f5065a03 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 26 Sep 2025 08:19:45 +0200 Subject: [PATCH 66/93] Marks blacklist follow-up exceptions to decide if they should be logged - Throwing a explicit blacklist exception would be nicer, but breaking - Piggy backing as IOException's cause is not wrong, as the blacklisting is actually the cause. Drawback is that each implementation needs to handle blacklist log skipping. But most do not even need it. Fixes: SIRI-1118 --- .../sirius/kernel/io/IoSkipLogException.java | 27 +++++++++++++++++++ src/main/java/sirius/kernel/xml/Outcall.java | 4 +++ 2 files changed, 31 insertions(+) create mode 100644 src/main/java/sirius/kernel/io/IoSkipLogException.java diff --git a/src/main/java/sirius/kernel/io/IoSkipLogException.java b/src/main/java/sirius/kernel/io/IoSkipLogException.java new file mode 100644 index 00000000..0523a69b --- /dev/null +++ b/src/main/java/sirius/kernel/io/IoSkipLogException.java @@ -0,0 +1,27 @@ +/* + * Made with all the love in the world + * by scireum in Stuttgart, Germany + * + * Copyright by scireum GmbH + * https://www.scireum.de - info@scireum.de + */ + +package sirius.kernel.io; + +import sirius.kernel.xml.Outcall; + +import java.io.IOException; +import java.io.Serial; + +/** + * This class gets used as an {@linkplain IOException#getCause() IOException's cause} to mark that this exception + * should not be logged. + *

+ * Possible, to be skipped log messages are those, that contain no information and only spoil the log file, like + * error from requests that not get executed due to the blacklisting feature of {@linkplain Outcall outcall}. + */ +public class IoSkipLogException extends Exception { + + @Serial + private static final long serialVersionUID = 4787224866678714833L; +} diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index 5398f734..dce1fb0b 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -21,6 +21,7 @@ import sirius.kernel.health.Average; import sirius.kernel.health.Exceptions; import sirius.kernel.health.Microtiming; +import sirius.kernel.io.IoSkipLogException; import sirius.kernel.nls.NLS; import sirius.kernel.settings.Extension; @@ -515,6 +516,9 @@ private void checkTimeoutBlacklist() throws IOException { "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", blacklistId)); } + throw new IOException(Strings.apply( + "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", + blacklistId), new IoSkipLogException()); } else { timeoutBlacklist.remove(blacklistId); } From 74c54de212f7a76c421f6aac28bff0d29ed82a48 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 26 Sep 2025 08:22:10 +0200 Subject: [PATCH 67/93] Implements blacklist log message skip for SOAPClient Fixes: SIRI-1118 --- .../java/sirius/kernel/xml/SOAPClient.java | 20 ++++++++ .../sirius/kernel/xml/SoapClientTest.kt | 51 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt diff --git a/src/main/java/sirius/kernel/xml/SOAPClient.java b/src/main/java/sirius/kernel/xml/SOAPClient.java index b8348333..a0e4fd69 100644 --- a/src/main/java/sirius/kernel/xml/SOAPClient.java +++ b/src/main/java/sirius/kernel/xml/SOAPClient.java @@ -15,6 +15,7 @@ import sirius.kernel.health.Exceptions; import sirius.kernel.health.HandledException; import sirius.kernel.health.Log; +import sirius.kernel.io.IoSkipLogException; import javax.annotation.CheckReturnValue; import javax.annotation.Nonnull; @@ -362,6 +363,8 @@ public StructuredNode call(@Nonnull String action, return handleResult(watch, action, effectiveEndpoint, result); } catch (SOAPFaultException | HandledException exception) { throw exception; + } catch (IOException exception) { + return handleIOException(watch, action, effectiveEndpoint, exception); } catch (Exception exception) { return handleGeneralFault(watch, action, effectiveEndpoint, exception); } @@ -483,6 +486,23 @@ protected StructuredNode handleGeneralFault(Watch watch, .handle()); } + private StructuredNode handleIOException(Watch watch, + String action, + URL effectiveEndpoint, + IOException ioException) { + if (ioException.getCause() instanceof IoSkipLogException) { + throw exceptionFilter.apply(Exceptions.createHandled() + .to(LOG) + .error(ioException) + .withSystemErrorMessage( + "An error occurred when executing '%s' against '%s': %s (%s)", + action, + effectiveEndpoint) + .handle()); + } + return handleGeneralFault(watch, action, effectiveEndpoint, ioException); + } + /** * Invokes the given action with a plain request object. *

diff --git a/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt b/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt new file mode 100644 index 00000000..046f81a5 --- /dev/null +++ b/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt @@ -0,0 +1,51 @@ +/* + * Made with all the love in the world + * by scireum in Remshalden, Germany + * + * Copyright by scireum GmbH + * http://www.scireum.de - info@scireum.de + */ + +package sirius.kernel.xml + +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.junit.jupiter.api.extension.ExtendWith +import sirius.kernel.SiriusExtension +import sirius.kernel.health.HandledException +import sirius.kernel.health.LogHelper +import java.net.URI +import java.util.logging.Level +import kotlin.test.assertFalse +import kotlin.test.assertTrue + +/** + * Tests the [SOAPClient] class. + */ +@ExtendWith(SiriusExtension::class) +internal class SOAPClientTest { + + @Test + fun `Unsuccessful SOAPClient calls getting blacklisted get logged only once`() { + // Use a non-existing endpoint to provoke an exception + val soapClient = SOAPClient(URI.create("http://localhost:2345").toURL()) + + // First call with an expected, non blacklist exception + assertThrows { soapClient.call("action") {} } + + // Second call, the first call being blacklisted with a blacklist message being logged + LogHelper.clearMessages() + assertThrows { soapClient.call("action") {} } + assertTrue { hasBlacklistLogMessage() } + + // On follow-up calls, no blacklisting messages must be logged + LogHelper.clearMessages() + assertThrows { soapClient.call("action") {} } + assertFalse { hasBlacklistLogMessage() } + } + + private fun hasBlacklistLogMessage(): Boolean { + return LogHelper.hasMessage(Level.SEVERE, SOAPClient.LOG, ".*blacklist identifier localhost.*") + } + +} From 4dd4774e83e8cf4bc8a78d935322973cfd53ab11 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 26 Sep 2025 08:25:46 +0200 Subject: [PATCH 68/93] Sonarlint fix Fixes: SIRI-1118 --- src/main/java/sirius/kernel/xml/Outcall.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index dce1fb0b..8a6edd85 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -480,7 +480,7 @@ private void performRequest() throws IOException { request = requestBuilder.build(); performRequest(); } - } catch (InterruptedException exception) { + } catch (InterruptedException _) { Thread.currentThread().interrupt(); throw new IOException("Thread was interrupted!"); } catch (HttpTimeoutException | ConnectException | SocketTimeoutException exception) { From b1a3478de6fc0cffbaae4a136901daca60608ecc Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 26 Sep 2025 08:27:06 +0200 Subject: [PATCH 69/93] Improves blacklist log message - when only one message per blacklist period gets logged, we can add some more details to it Fixes: SIRI-1118 --- src/main/java/sirius/kernel/xml/Outcall.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index 8a6edd85..44b7222c 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -513,8 +513,9 @@ private void checkTimeoutBlacklist() throws IOException { if (Boolean.FALSE.equals(blacklistedHostInformation.getSecond())) { blacklistedHostInformation.setSecond(true); throw new IOException(Strings.apply( - "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", - blacklistId)); + "Connections with blacklist identifier %s get rejected until %s due to connectivity issues.", + blacklistId, + LocalDateTime.ofEpochSecond(timeout / 1000, 0, ZoneOffset.UTC))); } throw new IOException(Strings.apply( "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", From 06ee780f880d9f29ae8fe2b4e8b97cb4bd63b8c6 Mon Sep 17 00:00:00 2001 From: Matthias Keck Date: Fri, 26 Sep 2025 11:01:42 +0200 Subject: [PATCH 70/93] Make non-logging mark by IOException subclass - this is more straight forward than the cause approach Fixes: SIRI-1118 --- ...Exception.java => IOExceptionSkipLog.java} | 8 +++-- src/main/java/sirius/kernel/xml/Outcall.java | 6 ++-- .../java/sirius/kernel/xml/SOAPClient.java | 33 +++++++++---------- 3 files changed, 24 insertions(+), 23 deletions(-) rename src/main/java/sirius/kernel/io/{IoSkipLogException.java => IOExceptionSkipLog.java} (72%) diff --git a/src/main/java/sirius/kernel/io/IoSkipLogException.java b/src/main/java/sirius/kernel/io/IOExceptionSkipLog.java similarity index 72% rename from src/main/java/sirius/kernel/io/IoSkipLogException.java rename to src/main/java/sirius/kernel/io/IOExceptionSkipLog.java index 0523a69b..d5036460 100644 --- a/src/main/java/sirius/kernel/io/IoSkipLogException.java +++ b/src/main/java/sirius/kernel/io/IOExceptionSkipLog.java @@ -14,14 +14,18 @@ import java.io.Serial; /** - * This class gets used as an {@linkplain IOException#getCause() IOException's cause} to mark that this exception + * This class gets used as a special kind of {@linkplain IOException} to mark that a failed IO operation * should not be logged. *

* Possible, to be skipped log messages are those, that contain no information and only spoil the log file, like * error from requests that not get executed due to the blacklisting feature of {@linkplain Outcall outcall}. */ -public class IoSkipLogException extends Exception { +public class IOExceptionSkipLog extends IOException { @Serial private static final long serialVersionUID = 4787224866678714833L; + + public IOExceptionSkipLog(String message) { + super(message); + } } diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/xml/Outcall.java index 44b7222c..ebbfddc3 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/xml/Outcall.java @@ -21,7 +21,7 @@ import sirius.kernel.health.Average; import sirius.kernel.health.Exceptions; import sirius.kernel.health.Microtiming; -import sirius.kernel.io.IoSkipLogException; +import sirius.kernel.io.IOExceptionSkipLog; import sirius.kernel.nls.NLS; import sirius.kernel.settings.Extension; @@ -517,9 +517,9 @@ private void checkTimeoutBlacklist() throws IOException { blacklistId, LocalDateTime.ofEpochSecond(timeout / 1000, 0, ZoneOffset.UTC))); } - throw new IOException(Strings.apply( + throw new IOExceptionSkipLog(Strings.apply( "Connections with blacklist identifier %s are currently rejected due to connectivity issues.", - blacklistId), new IoSkipLogException()); + blacklistId)); } else { timeoutBlacklist.remove(blacklistId); } diff --git a/src/main/java/sirius/kernel/xml/SOAPClient.java b/src/main/java/sirius/kernel/xml/SOAPClient.java index a0e4fd69..7bccb51e 100644 --- a/src/main/java/sirius/kernel/xml/SOAPClient.java +++ b/src/main/java/sirius/kernel/xml/SOAPClient.java @@ -15,7 +15,7 @@ import sirius.kernel.health.Exceptions; import sirius.kernel.health.HandledException; import sirius.kernel.health.Log; -import sirius.kernel.io.IoSkipLogException; +import sirius.kernel.io.IOExceptionSkipLog; import javax.annotation.CheckReturnValue; import javax.annotation.Nonnull; @@ -363,8 +363,8 @@ public StructuredNode call(@Nonnull String action, return handleResult(watch, action, effectiveEndpoint, result); } catch (SOAPFaultException | HandledException exception) { throw exception; - } catch (IOException exception) { - return handleIOException(watch, action, effectiveEndpoint, exception); + } catch (IOExceptionSkipLog exception) { + return handleIOExceptionSkipLog(watch, action, effectiveEndpoint, exception); } catch (Exception exception) { return handleGeneralFault(watch, action, effectiveEndpoint, exception); } @@ -486,21 +486,18 @@ protected StructuredNode handleGeneralFault(Watch watch, .handle()); } - private StructuredNode handleIOException(Watch watch, - String action, - URL effectiveEndpoint, - IOException ioException) { - if (ioException.getCause() instanceof IoSkipLogException) { - throw exceptionFilter.apply(Exceptions.createHandled() - .to(LOG) - .error(ioException) - .withSystemErrorMessage( - "An error occurred when executing '%s' against '%s': %s (%s)", - action, - effectiveEndpoint) - .handle()); - } - return handleGeneralFault(watch, action, effectiveEndpoint, ioException); + private StructuredNode handleIOExceptionSkipLog(Watch watch, + String action, + URL effectiveEndpoint, + IOExceptionSkipLog exception) { + throw exceptionFilter.apply(Exceptions.createHandled() + .to(LOG) + .error(exception) + .withSystemErrorMessage( + "An error occurred when executing '%s' against '%s': %s (%s)", + action, + effectiveEndpoint) + .handle()); } /** From 9b49a99e414f0d06472106a597d4da0cf7333798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Mu=CC=88ller?= Date: Tue, 30 Sep 2025 13:03:52 +0200 Subject: [PATCH 71/93] Fix the timer command extractScope removes the parameter from the list, which prevents all scopes except 'everyDay' from running. --- src/main/java/sirius/kernel/health/console/TimerCommand.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/health/console/TimerCommand.java b/src/main/java/sirius/kernel/health/console/TimerCommand.java index 84bc89b9..e69a2669 100644 --- a/src/main/java/sirius/kernel/health/console/TimerCommand.java +++ b/src/main/java/sirius/kernel/health/console/TimerCommand.java @@ -9,6 +9,7 @@ package sirius.kernel.health.console; import sirius.kernel.Sirius; +import sirius.kernel.commons.Strings; import sirius.kernel.commons.Tuple; import sirius.kernel.commons.Values; import sirius.kernel.di.std.Part; @@ -53,7 +54,7 @@ public void execute(Output output, String... parameters) throws Exception { boolean forced = extractForceParameter(parameterList); String scope = extractScope(parameterList); - if (parameterList.isEmpty()) { + if (Strings.isEmpty(scope)) { output.line(USAGE); } else if (!ACCEPTED_PARAMS.contains(scope.toLowerCase())) { output.apply("'%s' is not an accepted parameter!", scope); From 4283ab028e6a0eb694e8fb7a1c3fefaedee6ab2a Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Thu, 16 Oct 2025 10:25:40 +0200 Subject: [PATCH 72/93] Upgrades libs Fixes: SIRI-1146 --- pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index a15ffb62..000e04f9 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.scireum sirius-parent - 14.1.2 + 14.2.0 sirius-kernel SIRIUS kernel @@ -26,7 +26,7 @@ com.typesafe config - 1.4.4 + 1.4.5 @@ -34,7 +34,7 @@ com.google.guava guava - 33.4.8-jre + 33.5.0-jre @@ -42,7 +42,7 @@ com.github.spotbugs spotbugs-annotations - 4.9.3 + 4.9.7 @@ -77,7 +77,7 @@ commons-io commons-io - 2.19.0 + 2.20.0 @@ -92,7 +92,7 @@ org.apache.commons commons-lang3 - 3.18.0 + 3.19.0 From d0643b82e44a782deee43fbd16745bbdd7499955 Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Thu, 16 Oct 2025 10:26:01 +0200 Subject: [PATCH 73/93] Fixes test case failing after kotlin update Fixes: SIRI-1146 --- src/test/kotlin/sirius/kernel/commons/AmountConverter.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/kotlin/sirius/kernel/commons/AmountConverter.kt b/src/test/kotlin/sirius/kernel/commons/AmountConverter.kt index b8477d54..49656361 100644 --- a/src/test/kotlin/sirius/kernel/commons/AmountConverter.kt +++ b/src/test/kotlin/sirius/kernel/commons/AmountConverter.kt @@ -11,10 +11,10 @@ import org.junit.jupiter.api.extension.ParameterContext import org.junit.jupiter.params.converter.ArgumentConverter class AmountConverter : ArgumentConverter { - override fun convert(source: Any?, context: ParameterContext?): Any? { + override fun convert(source: Any?, context: ParameterContext): Any? { if (source !is String) { return Amount.NOTHING } return Amount.ofMachineString(source) } -} \ No newline at end of file +} From 00691fcc4ebe988bc051038ddfbe6f19a555da3a Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:18:39 +0100 Subject: [PATCH 74/93] Moves Outcall from xml package to commons Due to historic reasons, this class was placed in the xml package. As it evolved into a full block generic HTTP client, we moved it to the commons package. --- .../{xml => commons}/ContentDispositionParser.java | 8 +------- .../java/sirius/kernel/{xml => commons}/Outcall.java | 9 +-------- .../{xml => commons}/TrustingSelfSignedTrustManager.java | 2 +- .../kernel/health/metrics/SystemMetricProvider.java | 2 +- src/main/java/sirius/kernel/io/IOExceptionSkipLog.java | 2 +- src/main/java/sirius/kernel/xml/SOAPClient.java | 1 + src/main/java/sirius/kernel/xml/XMLCall.java | 1 + src/main/resources/component-050-kernel.conf | 2 +- .../{xml => commons}/ContentDispositionParserTest.kt | 2 +- 9 files changed, 9 insertions(+), 20 deletions(-) rename src/main/java/sirius/kernel/{xml => commons}/ContentDispositionParser.java (95%) rename src/main/java/sirius/kernel/{xml => commons}/Outcall.java (99%) rename src/main/java/sirius/kernel/{xml => commons}/TrustingSelfSignedTrustManager.java (97%) rename src/test/kotlin/sirius/kernel/{xml => commons}/ContentDispositionParserTest.kt (98%) diff --git a/src/main/java/sirius/kernel/xml/ContentDispositionParser.java b/src/main/java/sirius/kernel/commons/ContentDispositionParser.java similarity index 95% rename from src/main/java/sirius/kernel/xml/ContentDispositionParser.java rename to src/main/java/sirius/kernel/commons/ContentDispositionParser.java index 7c79ad09..3c8c35e2 100644 --- a/src/main/java/sirius/kernel/xml/ContentDispositionParser.java +++ b/src/main/java/sirius/kernel/commons/ContentDispositionParser.java @@ -4,16 +4,10 @@ * * Copyright by scireum GmbH * http://www.scireum.de - info@scireum.de - * - * Based on DownloadUtils by mozilla-mobile/android-components - * https://github.com/mozilla-mobile/android-components/blob/main/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt - * Right for use and modification was granted under the Mozilla Public License 2.0 , http://mozilla.org/MPL/2.0/ */ -package sirius.kernel.xml; +package sirius.kernel.commons; -import sirius.kernel.commons.Explain; -import sirius.kernel.commons.Strings; import sirius.kernel.health.Exceptions; import java.io.ByteArrayOutputStream; diff --git a/src/main/java/sirius/kernel/xml/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java similarity index 99% rename from src/main/java/sirius/kernel/xml/Outcall.java rename to src/main/java/sirius/kernel/commons/Outcall.java index ebbfddc3..3e13660f 100644 --- a/src/main/java/sirius/kernel/xml/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -6,17 +6,10 @@ * http://www.scireum.de - info@scireum.de */ -package sirius.kernel.xml; +package sirius.kernel.commons; import sirius.kernel.Sirius; import sirius.kernel.async.Operation; -import sirius.kernel.commons.Context; -import sirius.kernel.commons.Explain; -import sirius.kernel.commons.Monoflop; -import sirius.kernel.commons.Streams; -import sirius.kernel.commons.Strings; -import sirius.kernel.commons.Tuple; -import sirius.kernel.commons.Watch; import sirius.kernel.di.std.ConfigValue; import sirius.kernel.health.Average; import sirius.kernel.health.Exceptions; diff --git a/src/main/java/sirius/kernel/xml/TrustingSelfSignedTrustManager.java b/src/main/java/sirius/kernel/commons/TrustingSelfSignedTrustManager.java similarity index 97% rename from src/main/java/sirius/kernel/xml/TrustingSelfSignedTrustManager.java rename to src/main/java/sirius/kernel/commons/TrustingSelfSignedTrustManager.java index 55c4b59d..b8d83947 100644 --- a/src/main/java/sirius/kernel/xml/TrustingSelfSignedTrustManager.java +++ b/src/main/java/sirius/kernel/commons/TrustingSelfSignedTrustManager.java @@ -6,7 +6,7 @@ * http://www.scireum.de - info@scireum.de */ -package sirius.kernel.xml; +package sirius.kernel.commons; import javax.net.ssl.X509TrustManager; import java.security.cert.CertificateException; diff --git a/src/main/java/sirius/kernel/health/metrics/SystemMetricProvider.java b/src/main/java/sirius/kernel/health/metrics/SystemMetricProvider.java index 4956adc3..11786c5a 100644 --- a/src/main/java/sirius/kernel/health/metrics/SystemMetricProvider.java +++ b/src/main/java/sirius/kernel/health/metrics/SystemMetricProvider.java @@ -17,7 +17,7 @@ import sirius.kernel.health.Log; import sirius.kernel.health.MemoryBasedHealthMonitor; import sirius.kernel.nls.NLS; -import sirius.kernel.xml.Outcall; +import sirius.kernel.commons.Outcall; import sirius.kernel.xml.SOAPClient; import java.lang.management.GarbageCollectorMXBean; diff --git a/src/main/java/sirius/kernel/io/IOExceptionSkipLog.java b/src/main/java/sirius/kernel/io/IOExceptionSkipLog.java index d5036460..9a6cda37 100644 --- a/src/main/java/sirius/kernel/io/IOExceptionSkipLog.java +++ b/src/main/java/sirius/kernel/io/IOExceptionSkipLog.java @@ -8,7 +8,7 @@ package sirius.kernel.io; -import sirius.kernel.xml.Outcall; +import sirius.kernel.commons.Outcall; import java.io.IOException; import java.io.Serial; diff --git a/src/main/java/sirius/kernel/xml/SOAPClient.java b/src/main/java/sirius/kernel/xml/SOAPClient.java index 7bccb51e..ad6a6bd3 100644 --- a/src/main/java/sirius/kernel/xml/SOAPClient.java +++ b/src/main/java/sirius/kernel/xml/SOAPClient.java @@ -9,6 +9,7 @@ package sirius.kernel.xml; import sirius.kernel.async.Operation; +import sirius.kernel.commons.Outcall; import sirius.kernel.commons.Strings; import sirius.kernel.commons.Watch; import sirius.kernel.health.Average; diff --git a/src/main/java/sirius/kernel/xml/XMLCall.java b/src/main/java/sirius/kernel/xml/XMLCall.java index 9350d4df..ee565073 100644 --- a/src/main/java/sirius/kernel/xml/XMLCall.java +++ b/src/main/java/sirius/kernel/xml/XMLCall.java @@ -8,6 +8,7 @@ package sirius.kernel.xml; +import sirius.kernel.commons.Outcall; import sirius.kernel.commons.Strings; import sirius.kernel.health.Exceptions; import sirius.kernel.health.Log; diff --git a/src/main/resources/component-050-kernel.conf b/src/main/resources/component-050-kernel.conf index e51c4935..41aae09b 100644 --- a/src/main/resources/component-050-kernel.conf +++ b/src/main/resources/component-050-kernel.conf @@ -128,7 +128,7 @@ http.outcall { # Contains the default timeouts. "default" will take effect in every call in which no other timeout is specified. # # This timeouts can be expanded by new blocks in dependant projects. For the configuration to take effect, on an - # outcall the sirius.kernel.xml.Outcall.withConfiguredTimeout needs to be called with the defined block + # outcall the sirius.kernel.commons.Outcall.withConfiguredTimeout needs to be called with the defined block # key as parameter. timeouts { diff --git a/src/test/kotlin/sirius/kernel/xml/ContentDispositionParserTest.kt b/src/test/kotlin/sirius/kernel/commons/ContentDispositionParserTest.kt similarity index 98% rename from src/test/kotlin/sirius/kernel/xml/ContentDispositionParserTest.kt rename to src/test/kotlin/sirius/kernel/commons/ContentDispositionParserTest.kt index 117de8ba..acd01a1f 100644 --- a/src/test/kotlin/sirius/kernel/xml/ContentDispositionParserTest.kt +++ b/src/test/kotlin/sirius/kernel/commons/ContentDispositionParserTest.kt @@ -6,7 +6,7 @@ * http://www.scireum.de - info@scireum.de */ -package sirius.kernel.xml +package sirius.kernel.commons import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.CsvSource From a65607c6513abba5f2c933f601476081248eb2aa Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:26:39 +0100 Subject: [PATCH 75/93] Permits reusing created HttpClient instances By trying to re-use existing HttpClients, we can utilize the internal connection pool and thus drastically speed up repeated requests against the same host. As a client might be customized through its builder, we now ask for a clientSelector to distinguish these. If null is used as clientSelector, no re-use will happen. --- .../java/sirius/kernel/commons/Outcall.java | 103 ++++++++++++++++-- .../java/sirius/kernel/xml/SOAPClient.java | 28 ++++- .../sirius/kernel/xml/SoapClientTest.kt | 2 +- 3 files changed, 121 insertions(+), 12 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index 3e13660f..43fb78b3 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -129,10 +129,22 @@ public class Outcall { @ConfigValue("http.outcall.connectTimeoutBlacklistDuration") private static Duration connectTimeoutBlacklistDuration; + private static String defaultUserAgent; + + private static final Average timeToFirstByte = new Average(); + + /** + * Contains a cache of re-usable clients based on their clientSelector. + */ + private static final Map cachedHttpClients = new ConcurrentHashMap<>(); + + private static final String DEFAULT_CLIENT_SELECTOR = "_default_"; + + private String clientSelector = DEFAULT_CLIENT_SELECTOR; private HttpClient client; private HttpRequest request; private String blacklistId; - private final HttpClient.Builder clientBuilder; + private HttpClient.Builder clientBuilder; private final HttpRequest.Builder requestBuilder; private HttpResponse response; private HttpClient.Redirect redirectPolicy = HttpClient.Redirect.NORMAL; @@ -174,7 +186,6 @@ public static String buildDefaultUserAgent() { */ public Outcall(URI uri) { this.blacklistId = uri.getHost(); - clientBuilder = HttpClient.newBuilder().connectTimeout(defaultConnectTimeout); requestBuilder = HttpRequest.newBuilder(uri) .header(HEADER_USER_AGENT, buildDefaultUserAgent()) .header(HEADER_ACCEPT, HEADER_ACCEPT_DEFAULT_VALUE) @@ -187,9 +198,35 @@ public Outcall(URI uri) { * @return the underlying {@link HttpClient.Builder} */ public HttpClient.Builder modifyClient() { + return modifyClient(null); + } + + /** + * Allows to modify the client before the request is sent by returning the builder that is used to create it. + *

+ * Note that if a non-null clientSelector is given, the resulting {@link HttpClient} created by the + * modified builder is cached and re-used with the benefit of having a connection pool to re-use connections + * across multiple requests. + * + * @param clientSelector a unique string for all occasions where the builder is customized the same way and thus + * the cached client can be re-used once it has been created + * @return the underlying {@link HttpClient.Builder} + */ + public HttpClient.Builder modifyClient(String clientSelector) { if (client != null) { throw new IllegalStateException("Can no longer modify client, request has already been sent!"); } + + if (!DEFAULT_CLIENT_SELECTOR.equals(this.clientSelector) + && this.clientSelector != null + && !this.clientSelector.equals(clientSelector)) { + throw new IllegalStateException("Client selector cannot be changed"); + } + this.clientSelector = clientSelector; + if (this.clientBuilder == null) { + this.clientBuilder = HttpClient.newBuilder().connectTimeout(defaultConnectTimeout); + } + return clientBuilder; } @@ -277,12 +314,28 @@ public Outcall setAuthParams(String user, String password) { * This will make the connection trust only self-signed certificates! * * @return the outcall itself for fluent method calls + * @deprecated Use {@link #trustSelfSignedCertificates(String)} */ + @Deprecated public Outcall trustSelfSignedCertificates() { + return trustSelfSignedCertificates(null); + } + + /** + * Makes the underlying connection trust self-signed certs. + *

+ * This will make the connection trust only self-signed certificates! + * + * @param clientSelector the selector used to cache the underlying {@link HttpClient} to facilitate connection pooling + * See {@link #modifyClient(String)}. + * @return the outcall itself for fluent method calls + */ + + public Outcall trustSelfSignedCertificates(String clientSelector) { try { SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, new TrustManager[]{TRUST_SELF_SIGNED_CERTS}, new SecureRandom()); - modifyClient().sslContext(sslContext); + modifyClient(clientSelector).sslContext(sslContext); } catch (NoSuchAlgorithmException | KeyManagementException exception) { throw Exceptions.handle(exception); } @@ -293,13 +346,15 @@ public Outcall trustSelfSignedCertificates() { /** * Sets a specified timeout value, in milliseconds, to be used * when opening a communications link to the resource referenced - * by this outcall. If the timeout expires before the - * connection can be established, a + * by this outcall. If the timeout expires before the connection can be established, a * {@link java.net.http.HttpConnectTimeoutException} is raised. A timeout of zero is * interpreted as an infinite timeout. * * @param timeoutMillis specifies the connect-timeout value in milliseconds + * @deprecated Use {@code modifyClient().connectTimeout(Duration.ofMillis(timeoutMillis))} or + * {@link #withConfiguredTimeout(String, String)} */ + @Deprecated public void setConnectTimeout(int timeoutMillis) { modifyClient().connectTimeout(Duration.ofMillis(timeoutMillis)); } @@ -326,11 +381,28 @@ public void setReadTimeout(int timeoutMillis) { * * @param configKey the config key of the timeout configuration block * @return this for fluent method calls + * @deprecated Use {@link #withConfiguredTimeout(String, String)} */ + @Deprecated public Outcall withConfiguredTimeout(@Nonnull String configKey) { + return withConfiguredTimeout(null, configKey); + } + + /** + * Sets the connect-timeout and read-timeout to the values specified in the config block http.outcall.timeouts.* + * where * equals the configKey parameter. + *

+ * See the http.outcall.timeouts block in component-050-kernel.conf for reference. + * + * @param clientSelector the selector used to cache the underlying {@link HttpClient} to facilitate connection pooling + * See {@link #modifyClient(String)}. + * @param configKey the config key of the timeout configuration block + * @return this for fluent method calls + */ + public Outcall withConfiguredTimeout(String clientSelector, @Nonnull String configKey) { Extension extension = Sirius.getSettings().getExtension("http.outcall.timeouts", configKey); - setConnectTimeout((int) extension.getConfig().getDuration("connectTimeout").toMillis()); + modifyClient(clientSelector).connectTimeout(extension.getConfig().getDuration("connectTimeout")); setReadTimeout((int) extension.getConfig().getDuration("readTimeout").toMillis()); return this; @@ -437,7 +509,7 @@ private void connect() throws IOException { } if (client == null) { - client = clientBuilder.build(); + this.client = setupClient(); } if (request == null) { if (postFromOutput) { @@ -457,6 +529,23 @@ private void connect() throws IOException { } } + private HttpClient setupClient() { + if (clientSelector != null) { + HttpClient cachedClient = cachedHttpClients.get(clientSelector); + if (cachedClient != null) { + return cachedClient; + } + } + + HttpClient.Builder builder = + clientBuilder != null ? clientBuilder : HttpClient.newBuilder().connectTimeout(defaultConnectTimeout); + HttpClient result = builder.build(); + if (clientSelector != null) { + cachedHttpClients.put(clientSelector, result); + } + return result; + } + private void performRequest() throws IOException { Watch watch = Watch.start(); try (Operation operation = new Operation(() -> "Outcall to " + request.uri().getHost() + request.uri() diff --git a/src/main/java/sirius/kernel/xml/SOAPClient.java b/src/main/java/sirius/kernel/xml/SOAPClient.java index ad6a6bd3..b9947804 100644 --- a/src/main/java/sirius/kernel/xml/SOAPClient.java +++ b/src/main/java/sirius/kernel/xml/SOAPClient.java @@ -23,6 +23,7 @@ import javax.annotation.Nullable; import java.io.IOException; import java.net.URL; +import java.net.http.HttpClient; import java.time.Duration; import java.util.HashMap; import java.util.LinkedHashMap; @@ -102,6 +103,7 @@ public class SOAPClient { private static final String DEFAULT_CONTENT_TYPE_HEADER = "text/xml"; + private final String clientSelector; private final URL endpoint; private final BasicNamespaceContext namespaceContext = new BasicNamespaceContext(); private List namespaceDefinitions; @@ -126,13 +128,31 @@ public class SOAPClient { * Note that if the actual endpoint depends on the action of the call, use * {@link #withCustomEndpoint(String, URL)}. * - * @param endpoint the default endpoint to talk to + * @param clientSelector the selector used to cache the underlying {@link HttpClient} to facilitate connection pooling + * See {@link Outcall#modifyClient(String)}. + * @param endpoint the default endpoint to talk to */ - public SOAPClient(@Nonnull URL endpoint) { + public SOAPClient(String clientSelector, @Nonnull URL endpoint) { + this.clientSelector = clientSelector; this.endpoint = endpoint; this.withNamespace(SOAP_NAMESPACE, SOAP_NAMESPACE_URI); } + /** + * Creates a new client which talks to the given endpoint. + *

+ * Note that if the actual endpoint depends on the action of the call, use + * {@link #withCustomEndpoint(String, URL)}. + * + * @param endpoint the default endpoint to talk to + * @deprecated Use {@link SOAPClient#SOAPClient(String, URL)} instead and provide a proper client selector or + * choose null explicitly. + */ + @Deprecated + public SOAPClient(@Nonnull URL endpoint) { + this(null, endpoint); + } + /** * Returns the average response time across all SOAP calls. * @@ -330,14 +350,14 @@ public StructuredNode call(@Nonnull String action, Duration.ofSeconds(15))) { XMLCall call = XMLCall.to(effectiveEndpoint.toURI(), contentTypeHeader).withFineLogger(LOG, isDebugLogActive); - call.getOutcall().withConfiguredTimeout(SOAP_TIMEOUT_CONFIG_KEY); + call.getOutcall().withConfiguredTimeout(clientSelector, SOAP_TIMEOUT_CONFIG_KEY); call.withNamespaceContext(namespaceContext); if (callEnhancer != null) { callEnhancer.accept(call); } if (trustSelfSignedCertificates) { - call.getOutcall().trustSelfSignedCertificates(); + call.getOutcall().trustSelfSignedCertificates(clientSelector); } String soapAction = actionPrefix + action; diff --git a/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt b/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt index 046f81a5..d4aaab22 100644 --- a/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt +++ b/src/test/kotlin/sirius/kernel/xml/SoapClientTest.kt @@ -28,7 +28,7 @@ internal class SOAPClientTest { @Test fun `Unsuccessful SOAPClient calls getting blacklisted get logged only once`() { // Use a non-existing endpoint to provoke an exception - val soapClient = SOAPClient(URI.create("http://localhost:2345").toURL()) + val soapClient = SOAPClient(null, URI.create("http://localhost:2345").toURL()) // First call with an expected, non blacklist exception assertThrows { soapClient.call("action") {} } From 4fbbde13c3c8a749cb6b6fb6dd1566636ac29a83 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:27:02 +0100 Subject: [PATCH 76/93] Misc code cleanup --- src/main/java/sirius/kernel/xml/SOAPClient.java | 9 +++++++-- src/main/java/sirius/kernel/xml/XMLCall.java | 6 ++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/sirius/kernel/xml/SOAPClient.java b/src/main/java/sirius/kernel/xml/SOAPClient.java index b9947804..3076fffc 100644 --- a/src/main/java/sirius/kernel/xml/SOAPClient.java +++ b/src/main/java/sirius/kernel/xml/SOAPClient.java @@ -468,7 +468,7 @@ protected StructuredNode handleSOAPFault(Watch watch, * Processes a successfully received SOAP result. *

* By default, this simply invokes the resultTransformer, but it can be overwritten by subclasses for - * additional logging / tracing. This can also modify the result being returned or throw an exception in stead. + * additional logging / tracing. This can also modify the result being returned or throw an exception instead. * * @param watch the watch which record the total duration of the SOAP call * @param action the action which was invoked @@ -543,7 +543,12 @@ public CallBuilder call(@Nonnull String action, @Nonnull String parameterNodeNam return new CallBuilder(action, parameterNodeName); } - private class CallBuilder { + /** + * Used to build a simple and straight forward SOAP call. + * + * @see #call(String, String) + */ + public class CallBuilder { private final String action; private final String method; diff --git a/src/main/java/sirius/kernel/xml/XMLCall.java b/src/main/java/sirius/kernel/xml/XMLCall.java index ee565073..b3161d3c 100644 --- a/src/main/java/sirius/kernel/xml/XMLCall.java +++ b/src/main/java/sirius/kernel/xml/XMLCall.java @@ -29,6 +29,8 @@ */ public class XMLCall { + private static final String HEADER_CONTENT_TYPE = "Content-Type"; + private final Outcall outcall; private NamespaceContext namespaceContext; private Log debugLogger = Log.get("xml"); @@ -42,7 +44,7 @@ public class XMLCall { */ protected XMLCall(URI uri, String contentType) { this.outcall = new Outcall(uri); - this.outcall.setRequestProperty("Content-Type", contentType); + this.outcall.setRequestProperty(HEADER_CONTENT_TYPE, contentType); } /** @@ -182,7 +184,7 @@ public XMLStructuredOutput getOutput() throws IOException { public XMLStructuredInput getInput() throws IOException { // call #getInputStream() before checking for errors, as #getInputStream may log the request/response try (InputStream body = getInputStream()) { - String contentType = outcall.getHeaderField("content-type"); + String contentType = outcall.getHeaderField(HEADER_CONTENT_TYPE); if (!outcall.isErroneous() || (contentType != null && contentType.toLowerCase().contains("xml"))) { return new XMLStructuredInput(body, namespaceContext); } From 82808a223faf20f508cf935e3e924846aae9ef67 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:28:54 +0100 Subject: [PATCH 77/93] Misc code cleanup --- src/main/java/sirius/kernel/commons/Outcall.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index 43fb78b3..836525bc 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -149,16 +149,13 @@ public class Outcall { private HttpResponse response; private HttpClient.Redirect redirectPolicy = HttpClient.Redirect.NORMAL; private Charset charset = StandardCharsets.UTF_8; + private Supplier oAuthAccessToken; + private Runnable oAuthTokenRefresher; // Provide an output stream for old apis private final ByteArrayOutputStream out = new ByteArrayOutputStream(); private boolean postFromOutput = false; - private static String defaultUserAgent; - private static final Average timeToFirstByte = new Average(); - private Supplier oAuthAccessToken; - private Runnable oAuthTokenRefresher; - /** * Builds the default user agent string as 'product.name/product.version (+product.baseUrl)', where version or * baseUrl could be empty. This is attached to every outgoing request (see {@link Outcall#Outcall(java.net.URI)}). @@ -180,6 +177,7 @@ public static String buildDefaultUserAgent() { /** * Creates a new Outcall to the given URL. + *

* Uses the uri's host as blacklist id. * * @param uri the url to call @@ -196,7 +194,9 @@ public Outcall(URI uri) { * Allows to modify the client before the request is sent by returning the builder that is used to create it. * * @return the underlying {@link HttpClient.Builder} + * @deprecated Use {@link #modifyClient(String)} */ + @Deprecated public HttpClient.Builder modifyClient() { return modifyClient(null); } @@ -377,7 +377,7 @@ public void setReadTimeout(int timeoutMillis) { * Sets the connect-timeout and read-timeout to the values specified in the config block http.outcall.timeouts.* * where * equals the configKey parameter. *

- * See the http.outcall.timeouts.soap block in component-050-kernel.conf for reference. + * See the http.outcall.timeouts block in component-050-kernel.conf for reference. * * @param configKey the config key of the timeout configuration block * @return this for fluent method calls From b79d4210f231e962295c882d8ecbc956dcf328ee Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:29:20 +0100 Subject: [PATCH 78/93] Adds a helper method to provide a bearer token like a JWT --- src/main/java/sirius/kernel/commons/Outcall.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index 836525bc..2bbf7f59 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -796,6 +796,17 @@ public Outcall withOAuth(Supplier accessTokenSupplier, Runnable tokenRef return this; } + /** + * Adds an externally computed or supplied bearer token, like a JWT. + * + * @param bearerToken the token to add as Authorization header. + * @return the current instance for fluent method calls + */ + public Outcall withBearerToken(String bearerToken) { + this.oAuthAccessToken = () -> "Bearer " + bearerToken; + return this; + } + private void installRedirectRequest(URI redirectedURI) { HttpRequest.Builder redirectBuilder = requestBuilder.copy(); redirectBuilder.uri(redirectedURI); From bde2b9d228d703135f2c6f4ff85d7a49558d3273 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:35:19 +0100 Subject: [PATCH 79/93] Adds a simple helper to re-try tasks on io errors --- .../java/sirius/kernel/commons/Outcall.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index 2bbf7f59..c9d7381b 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -906,6 +906,54 @@ private boolean canRedirect(URI redirectedURI) { }; } + private static final int DEFAULT_ATTEMPTS = 3; + private static final int DEFAULT_RETRY_DELAY_MILLIS = 250; + + /** + * Executes the given task and returns its result while retrying the operation in case of an {@link IOException}. + *

+ * Executes the task and retries (up to two additional attempts) in case of an io error like a connection + * exception. Note that the task should be idempotent as it might be executed several times. If a non io error + * occurs of the retries run out, the appropriate exception is re-thrown + *

+ * Note that this applies a simple backoff strategy to wait a show amount of time before a retry. + * + * @param task the task to execute + * @param the type returned by the task + * @return the return value generated by the task + * @throws Exception any exception thrown by the task + */ + public static T ioRetry(Producer task) throws Exception { + int attempts = 3; + while (true) { + attempts--; + try { + return task.create(); + } catch (Exception e) { + if (attempts == 0 || (!(e instanceof IOException) && !(e.getCause() instanceof IOException))) { + throw e; + } + Wait.randomMillis((DEFAULT_ATTEMPTS - attempts) * DEFAULT_RETRY_DELAY_MILLIS, + (1 + DEFAULT_ATTEMPTS - attempts) * DEFAULT_RETRY_DELAY_MILLIS); + } + } + } + + /** + * Executes the given unit of work and retries in case of an io error. + *

+ * For details, see {@link #ioRetry(Producer)}. + * + * @param unit the unit of work to execute. This should be idempotent as it might be invoked several times + * @throws Exception any exception thrown by the unit of work + */ + public static void ioRetry(UnitOfWork unit) throws Exception { + ioRetry(() -> { + unit.execute(); + return true; + }); + } + public static Duration getDefaultConnectTimeout() { return defaultConnectTimeout; } From 77bbe2bef7ca7c62afce8962b98e3cd8018a29da Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Wed, 19 Nov 2025 20:51:02 +0100 Subject: [PATCH 80/93] Improves JavaDoc --- .../kernel/commons/ContentDispositionParser.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/ContentDispositionParser.java b/src/main/java/sirius/kernel/commons/ContentDispositionParser.java index 3c8c35e2..98e93414 100644 --- a/src/main/java/sirius/kernel/commons/ContentDispositionParser.java +++ b/src/main/java/sirius/kernel/commons/ContentDispositionParser.java @@ -18,6 +18,12 @@ /** * Static helper class which helps to parse filenames from content disposition headers + *

+ * Based on DownloadUtils by mozilla-mobile/android-components + * DownloadUtils.kt on github.com/mozilla-mobile/android-components + *

+ * Right for use and modification was granted under the Mozilla Public License 2.0 , + * MPL 2.0 */ public class ContentDispositionParser { @@ -61,8 +67,8 @@ public class ContentDispositionParser { /** * Format as defined in RFC 2616 and RFC 5987 * Both inline and attachment types are supported. - * More details can be found - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition + * More details can be found + * developer.mozilla.org: Content-Disposition *

* The first segment is the [contentDispositionType], there you can find the documentation, * Next, it's the filename segment, where we have a filename="filename.ext" @@ -148,7 +154,7 @@ private ContentDispositionParser() { /** * Tries to parse a file name from the given string which is from a content disposition header. *

- * The format of the header is defined here: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html + * The format of the header is defined here: rfc2616-sec19 * This header provides a filename for content that is going to be downloaded to the file system. * * @param contentDisposition the content-disposition header as String From 32fe3d5a2e6bd293c45b8f510e1c521f50157a39 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Thu, 20 Nov 2025 11:34:46 +0100 Subject: [PATCH 81/93] Centralizes constants and documents them properly --- .../java/sirius/kernel/commons/Outcall.java | 77 +++++++++++++++---- src/main/java/sirius/kernel/xml/XMLCall.java | 6 +- 2 files changed, 63 insertions(+), 20 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index c9d7381b..d5c9203c 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -72,10 +72,6 @@ */ public class Outcall { - public static final String HEADER_USER_AGENT = "User-Agent"; - public static final String HEADER_ACCEPT = "Accept"; - public static final String HEADER_ACCEPT_DEFAULT_VALUE = "*/*"; - /** * Date time formatter as per * RFC 2616 section 3.3.1 @@ -90,15 +86,62 @@ public class Outcall { .withChronology(IsoChronology.INSTANCE) .withZone(ZoneOffset.UTC); - private static final String REQUEST_METHOD_HEAD = "HEAD"; - private static final String HEADER_CONTENT_TYPE = "Content-Type"; - private static final String HEADER_LOCATION = "Location"; - private static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; - private static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since"; - private static final String CONTENT_TYPE_FORM_URLENCODED = "application/x-www-form-urlencoded; charset=utf-8"; + /** + * Standard HTTP User-Agent header. + */ + public static final String HEADER_USER_AGENT = "User-Agent"; + + /** + * Standard HTTP Accept header indicating expected response media types. + */ + public static final String HEADER_ACCEPT = "Accept"; + + /** + * Default Accept header value allowing any media type. + */ + public static final String HEADER_ACCEPT_DEFAULT_VALUE = "*/*"; + + /** + * HTTP HEAD request method (requests headers only, no body). + */ + public static final String REQUEST_METHOD_HEAD = "HEAD"; + + /** + * Standard HTTP Content-Type header indicating request/response media type. + */ + public static final String HEADER_CONTENT_TYPE = "Content-Type"; + + /** + * HTTP Location header used for redirects or resource references. + */ + public static final String HEADER_LOCATION = "Location"; + + /** + * HTTP Content-Disposition header (e.g., for file downloads or attachments). + */ + public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; + + /** + * HTTP If-Modified-Since header used for conditional requests. + */ + public static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since"; + + /** + * Content type for URL-encoded form data with UTF-8 encoding. + */ + public static final String CONTENT_TYPE_FORM_URLENCODED = "application/x-www-form-urlencoded; charset=utf-8"; + + /** + * HTTP Authorization header for authentication data. + */ + public static final String HEADER_AUTHORIZATION = "Authorization"; + + /** + * Prefix for Bearer token authorization scheme. + */ + public static final String PREFIX_BEARER = "Bearer "; + private static final Pattern CHARSET_PATTERN = Pattern.compile("(?i)\\bcharset=\\s*\"?([^\\s;\"]*)"); - private static final X509TrustManager TRUST_SELF_SIGNED_CERTS = new TrustingSelfSignedTrustManager(); - private static final int MAX_REDIRECTS = 5; /** * Keeps track of hosts for which we ran into a connect-timeout. @@ -118,8 +161,6 @@ public class Outcall { */ private static final int TIMEOUT_BLACKLIST_HIGH_WATERMARK = 100; - private static final String HEADER_AUTHORIZATION = "Authorization"; - @ConfigValue("http.outcall.timeouts.default.connectTimeout") private static Duration defaultConnectTimeout; @@ -131,6 +172,8 @@ public class Outcall { private static String defaultUserAgent; + private static final X509TrustManager trustManagerForSelfSignedCerts = new TrustingSelfSignedTrustManager(); + private static final Average timeToFirstByte = new Average(); /** @@ -138,6 +181,7 @@ public class Outcall { */ private static final Map cachedHttpClients = new ConcurrentHashMap<>(); + private static final int MAX_REDIRECTS = 5; private static final String DEFAULT_CLIENT_SELECTOR = "_default_"; private String clientSelector = DEFAULT_CLIENT_SELECTOR; @@ -334,7 +378,7 @@ public Outcall trustSelfSignedCertificates() { public Outcall trustSelfSignedCertificates(String clientSelector) { try { SSLContext sslContext = SSLContext.getInstance("TLS"); - sslContext.init(null, new TrustManager[]{TRUST_SELF_SIGNED_CERTS}, new SecureRandom()); + sslContext.init(null, new TrustManager[]{trustManagerForSelfSignedCerts}, new SecureRandom()); modifyClient(clientSelector).sslContext(sslContext); } catch (NoSuchAlgorithmException | KeyManagementException exception) { throw Exceptions.handle(exception); @@ -789,6 +833,7 @@ public static Average getTimeToFirstByte() { * perform the refresh of the token using OAuth refresh token flow. The token * must contain the proper authorization type, e.g. 'Bearer <token>' * @return the current instance for fluent method calls + * @see #PREFIX_BEARER */ public Outcall withOAuth(Supplier accessTokenSupplier, Runnable tokenRefresher) { this.oAuthAccessToken = accessTokenSupplier; @@ -803,7 +848,7 @@ public Outcall withOAuth(Supplier accessTokenSupplier, Runnable tokenRef * @return the current instance for fluent method calls */ public Outcall withBearerToken(String bearerToken) { - this.oAuthAccessToken = () -> "Bearer " + bearerToken; + this.oAuthAccessToken = () -> PREFIX_BEARER + bearerToken; return this; } diff --git a/src/main/java/sirius/kernel/xml/XMLCall.java b/src/main/java/sirius/kernel/xml/XMLCall.java index b3161d3c..c7671b77 100644 --- a/src/main/java/sirius/kernel/xml/XMLCall.java +++ b/src/main/java/sirius/kernel/xml/XMLCall.java @@ -29,8 +29,6 @@ */ public class XMLCall { - private static final String HEADER_CONTENT_TYPE = "Content-Type"; - private final Outcall outcall; private NamespaceContext namespaceContext; private Log debugLogger = Log.get("xml"); @@ -44,7 +42,7 @@ public class XMLCall { */ protected XMLCall(URI uri, String contentType) { this.outcall = new Outcall(uri); - this.outcall.setRequestProperty(HEADER_CONTENT_TYPE, contentType); + this.outcall.setRequestProperty(Outcall.HEADER_CONTENT_TYPE, contentType); } /** @@ -184,7 +182,7 @@ public XMLStructuredOutput getOutput() throws IOException { public XMLStructuredInput getInput() throws IOException { // call #getInputStream() before checking for errors, as #getInputStream may log the request/response try (InputStream body = getInputStream()) { - String contentType = outcall.getHeaderField(HEADER_CONTENT_TYPE); + String contentType = outcall.getHeaderField(Outcall.HEADER_CONTENT_TYPE); if (!outcall.isErroneous() || (contentType != null && contentType.toLowerCase().contains("xml"))) { return new XMLStructuredInput(body, namespaceContext); } From e18b98a1cf321e4bfffd53b5d4efdfcb665fc405 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Thu, 20 Nov 2025 11:35:49 +0100 Subject: [PATCH 82/93] Marks optional parameters as Nullable --- src/main/java/sirius/kernel/commons/Outcall.java | 6 +++--- src/main/java/sirius/kernel/xml/SOAPClient.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index d5c9203c..e8b150bc 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -256,7 +256,7 @@ public HttpClient.Builder modifyClient() { * the cached client can be re-used once it has been created * @return the underlying {@link HttpClient.Builder} */ - public HttpClient.Builder modifyClient(String clientSelector) { + public HttpClient.Builder modifyClient(@Nullable String clientSelector) { if (client != null) { throw new IllegalStateException("Can no longer modify client, request has already been sent!"); } @@ -375,7 +375,7 @@ public Outcall trustSelfSignedCertificates() { * @return the outcall itself for fluent method calls */ - public Outcall trustSelfSignedCertificates(String clientSelector) { + public Outcall trustSelfSignedCertificates(@Nullable String clientSelector) { try { SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, new TrustManager[]{trustManagerForSelfSignedCerts}, new SecureRandom()); @@ -443,7 +443,7 @@ public Outcall withConfiguredTimeout(@Nonnull String configKey) { * @param configKey the config key of the timeout configuration block * @return this for fluent method calls */ - public Outcall withConfiguredTimeout(String clientSelector, @Nonnull String configKey) { + public Outcall withConfiguredTimeout(@Nullable String clientSelector, @Nonnull String configKey) { Extension extension = Sirius.getSettings().getExtension("http.outcall.timeouts", configKey); modifyClient(clientSelector).connectTimeout(extension.getConfig().getDuration("connectTimeout")); diff --git a/src/main/java/sirius/kernel/xml/SOAPClient.java b/src/main/java/sirius/kernel/xml/SOAPClient.java index 3076fffc..ab09a1a6 100644 --- a/src/main/java/sirius/kernel/xml/SOAPClient.java +++ b/src/main/java/sirius/kernel/xml/SOAPClient.java @@ -132,7 +132,7 @@ public class SOAPClient { * See {@link Outcall#modifyClient(String)}. * @param endpoint the default endpoint to talk to */ - public SOAPClient(String clientSelector, @Nonnull URL endpoint) { + public SOAPClient(@Nullable String clientSelector, @Nonnull URL endpoint) { this.clientSelector = clientSelector; this.endpoint = endpoint; this.withNamespace(SOAP_NAMESPACE, SOAP_NAMESPACE_URI); From a44b08bc8071d1ebff8e843bb2aba53a22694f2d Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Thu, 20 Nov 2025 11:36:53 +0100 Subject: [PATCH 83/93] Modernizes timeout handling We now always prefer Duration in favor of ints. Also the documentation was fixes as it was plain wrong. --- .../java/sirius/kernel/commons/Outcall.java | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index e8b150bc..e24a9675 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -404,19 +404,34 @@ public void setConnectTimeout(int timeoutMillis) { } /** - * Sets the read timeout to a specified timeout, in - * milliseconds. A non-zero value specifies the timeout when - * reading from Input stream when a connection is established to a - * resource. If the timeout expires before there is data available - * for read, a {@link java.net.http.HttpTimeoutException} is raised. A - * timeout of zero is interpreted as an infinite timeout. + * Sets the read timeout to a specified timeout, in milliseconds. + *

+ * Specifies the timeout when reading from Input stream when a connection is established to a + * resource. If the timeout expires before there is data available for read, a + * {@link java.net.http.HttpTimeoutException} is raised. * * @param timeoutMillis specifies the timeout value to be used in milliseconds + * @deprecated Use {@link #setReadTimeout(Duration)} */ + @Deprecated public void setReadTimeout(int timeoutMillis) { modifyRequest().timeout(Duration.ofMillis(timeoutMillis)); } + /** + * Sets the read timeout to a specified timeout. + *

+ * Specifies the timeout when reading from Input stream when a connection is established to a + * resource. If the timeout expires before there is data available for read, a + * {@link java.net.http.HttpTimeoutException} is raised. + * + * @param readTimeout specifies the timeout value to be used + * @see #withConfiguredTimeout(String, String) + */ + public void setReadTimeout(Duration readTimeout) { + modifyRequest().timeout(readTimeout); + } + /** * Sets the connect-timeout and read-timeout to the values specified in the config block http.outcall.timeouts.* * where * equals the configKey parameter. @@ -446,8 +461,14 @@ public Outcall withConfiguredTimeout(@Nonnull String configKey) { public Outcall withConfiguredTimeout(@Nullable String clientSelector, @Nonnull String configKey) { Extension extension = Sirius.getSettings().getExtension("http.outcall.timeouts", configKey); - modifyClient(clientSelector).connectTimeout(extension.getConfig().getDuration("connectTimeout")); - setReadTimeout((int) extension.getConfig().getDuration("readTimeout").toMillis()); + Duration connectTimeout = extension.getConfig().getDuration("connectTimeout"); + if (!Duration.ZERO.equals(connectTimeout)) { + modifyClient(clientSelector).connectTimeout(connectTimeout); + } + Duration readTimeout = extension.getConfig().getDuration("readTimeout"); + if (!Duration.ZERO.equals(readTimeout)) { + setReadTimeout(readTimeout); + } return this; } From 216c8cf8b7f50735e2613e2516b7e86255c594ae Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Thu, 20 Nov 2025 11:37:23 +0100 Subject: [PATCH 84/93] Minor code cleanup as suggested in PR review --- src/main/java/sirius/kernel/commons/Outcall.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index e24a9675..d41edc2c 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -847,6 +847,8 @@ public static Average getTimeToFirstByte() { /** * Enables OAuth token support for this outcall. + *

+ * Note that this cannot be used alongside {@link #withBearerToken(String)} as these overwrite each other. * * @param accessTokenSupplier supplies the access token to be used for OAuth. It must contain the proper * authorization type, e.g. 'Bearer ' @@ -864,6 +866,10 @@ public Outcall withOAuth(Supplier accessTokenSupplier, Runnable tokenRef /** * Adds an externally computed or supplied bearer token, like a JWT. + *

+ * Note that this cannot be used alongside {@link #withOAuth(Supplier, Runnable)} as these overwrite each other. + *

+ * Also note that the "Bearer " prefix is applied automatically. * * @param bearerToken the token to add as Authorization header. * @return the current instance for fluent method calls @@ -978,8 +984,8 @@ private boolean canRedirect(URI redirectedURI) { /** * Executes the given task and returns its result while retrying the operation in case of an {@link IOException}. *

- * Executes the task and retries (up to two additional attempts) in case of an io error like a connection - * exception. Note that the task should be idempotent as it might be executed several times. If a non io error + * Executes the task and retries (up to two additional attempts) in case of an IO error like a connection + * exception. Note that the task should be idempotent as it might be executed several times. If a non IO error * occurs of the retries run out, the appropriate exception is re-thrown *

* Note that this applies a simple backoff strategy to wait a show amount of time before a retry. @@ -990,7 +996,7 @@ private boolean canRedirect(URI redirectedURI) { * @throws Exception any exception thrown by the task */ public static T ioRetry(Producer task) throws Exception { - int attempts = 3; + int attempts = DEFAULT_ATTEMPTS; while (true) { attempts--; try { @@ -1006,7 +1012,7 @@ public static T ioRetry(Producer task) throws Exception { } /** - * Executes the given unit of work and retries in case of an io error. + * Executes the given unit of work and retries in case of an IO error. *

* For details, see {@link #ioRetry(Producer)}. * From 34e20e287e8875ad222cb0d2dba8f8a82af5b15e Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Thu, 20 Nov 2025 11:42:16 +0100 Subject: [PATCH 85/93] Code cleanup --- src/main/java/sirius/kernel/commons/Outcall.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index d41edc2c..5709e50c 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -1001,9 +1001,10 @@ public static T ioRetry(Producer task) throws Exception { attempts--; try { return task.create(); - } catch (Exception e) { - if (attempts == 0 || (!(e instanceof IOException) && !(e.getCause() instanceof IOException))) { - throw e; + } catch (Exception exception) { + if (attempts == 0 || (!(exception instanceof IOException) + && !(exception.getCause() instanceof IOException))) { + throw exception; } Wait.randomMillis((DEFAULT_ATTEMPTS - attempts) * DEFAULT_RETRY_DELAY_MILLIS, (1 + DEFAULT_ATTEMPTS - attempts) * DEFAULT_RETRY_DELAY_MILLIS); From 8527633bac54ff9cef42d1decf2bcecb442ec755 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Thu, 20 Nov 2025 14:10:23 +0100 Subject: [PATCH 86/93] BREAKING: Eliminates duplicate header names This is breaking as some constants were public. Use HttpHeaders from guava for proper constants. --- .../java/sirius/kernel/commons/Outcall.java | 59 ++++--------------- src/main/java/sirius/kernel/xml/XMLCall.java | 5 +- 2 files changed, 16 insertions(+), 48 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index 5709e50c..7aea9528 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -8,6 +8,7 @@ package sirius.kernel.commons; +import com.google.common.net.HttpHeaders; import sirius.kernel.Sirius; import sirius.kernel.async.Operation; import sirius.kernel.di.std.ConfigValue; @@ -36,7 +37,6 @@ import java.net.URL; import java.net.URLEncoder; import java.net.http.HttpClient; -import java.net.http.HttpHeaders; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpTimeoutException; @@ -86,16 +86,6 @@ public class Outcall { .withChronology(IsoChronology.INSTANCE) .withZone(ZoneOffset.UTC); - /** - * Standard HTTP User-Agent header. - */ - public static final String HEADER_USER_AGENT = "User-Agent"; - - /** - * Standard HTTP Accept header indicating expected response media types. - */ - public static final String HEADER_ACCEPT = "Accept"; - /** * Default Accept header value allowing any media type. */ @@ -106,41 +96,18 @@ public class Outcall { */ public static final String REQUEST_METHOD_HEAD = "HEAD"; - /** - * Standard HTTP Content-Type header indicating request/response media type. - */ - public static final String HEADER_CONTENT_TYPE = "Content-Type"; - - /** - * HTTP Location header used for redirects or resource references. - */ - public static final String HEADER_LOCATION = "Location"; - - /** - * HTTP Content-Disposition header (e.g., for file downloads or attachments). - */ - public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; - - /** - * HTTP If-Modified-Since header used for conditional requests. - */ - public static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since"; - /** * Content type for URL-encoded form data with UTF-8 encoding. */ public static final String CONTENT_TYPE_FORM_URLENCODED = "application/x-www-form-urlencoded; charset=utf-8"; - /** - * HTTP Authorization header for authentication data. - */ - public static final String HEADER_AUTHORIZATION = "Authorization"; - /** * Prefix for Bearer token authorization scheme. */ public static final String PREFIX_BEARER = "Bearer "; + private static final String PREFIX_BASIC = "Basic "; + private static final Pattern CHARSET_PATTERN = Pattern.compile("(?i)\\bcharset=\\s*\"?([^\\s;\"]*)"); /** @@ -229,8 +196,8 @@ public static String buildDefaultUserAgent() { public Outcall(URI uri) { this.blacklistId = uri.getHost(); requestBuilder = HttpRequest.newBuilder(uri) - .header(HEADER_USER_AGENT, buildDefaultUserAgent()) - .header(HEADER_ACCEPT, HEADER_ACCEPT_DEFAULT_VALUE) + .header(HttpHeaders.USER_AGENT, buildDefaultUserAgent()) + .header(HttpHeaders.ACCEPT, HEADER_ACCEPT_DEFAULT_VALUE) .timeout(defaultReadTimeout); } @@ -329,7 +296,7 @@ public Outcall setRequestProperty(String name, String value) { * @throws IllegalStateException if already connected */ public Outcall setIfModifiedSince(LocalDateTime ifModifiedSince) { - setRequestProperty(HEADER_IF_MODIFIED_SINCE, + setRequestProperty(HttpHeaders.IF_MODIFIED_SINCE, ifModifiedSince.atZone(ZoneId.systemDefault()).format(RFC2616_INSTANT)); return this; } @@ -348,7 +315,7 @@ public Outcall setAuthParams(String user, String password) { String userAndPassword = user + ":" + password; String encodedAuthorization = Base64.getEncoder().encodeToString(userAndPassword.getBytes(charset)); - setRequestProperty(HEADER_AUTHORIZATION, "Basic " + encodedAuthorization); + setRequestProperty(HttpHeaders.AUTHORIZATION, PREFIX_BASIC + encodedAuthorization); return this; } @@ -493,7 +460,7 @@ public Outcall postData(Context params, Charset charset) { parameterString.append("="); parameterString.append(URLEncoder.encode(NLS.toMachineString(entry.getValue()), charset)); } - modifyRequest().setHeader(HEADER_CONTENT_TYPE, CONTENT_TYPE_FORM_URLENCODED) + modifyRequest().setHeader(HttpHeaders.CONTENT_TYPE, CONTENT_TYPE_FORM_URLENCODED) .POST(HttpRequest.BodyPublishers.ofString(parameterString.toString(), charset)); return this; @@ -570,7 +537,7 @@ private void connect() throws IOException { checkTimeoutBlacklist(); if (oAuthAccessToken != null) { - setRequestProperty(HEADER_AUTHORIZATION, oAuthAccessToken.get()); + setRequestProperty(HttpHeaders.AUTHORIZATION, oAuthAccessToken.get()); } if (client == null) { @@ -623,7 +590,7 @@ private void performRequest() throws IOException { oAuthTokenRefresher.run(); oAuthTokenRefresher = null; - requestBuilder.setHeader(HEADER_AUTHORIZATION, oAuthAccessToken.get()); + requestBuilder.setHeader(HttpHeaders.AUTHORIZATION, oAuthAccessToken.get()); request = requestBuilder.build(); performRequest(); } @@ -751,7 +718,7 @@ public Optional getHeaderFieldDate(String name) { * @return an Optional containing the file name given by the header, or {@link Optional#empty()} if no file name is given */ public Optional parseFileNameFromContentDisposition() { - return ContentDispositionParser.parseFileName(getHeaderField(HEADER_CONTENT_DISPOSITION)); + return ContentDispositionParser.parseFileName(getHeaderField(HttpHeaders.CONTENT_DISPOSITION)); } /** @@ -941,9 +908,9 @@ private boolean shouldSwitchToGet(int statusCode, String originalMethod) { }; } - private URI makeRedirectedURI(HttpHeaders headers) throws IOException { + private URI makeRedirectedURI(java.net.http.HttpHeaders headers) throws IOException { String locationHeader = - headers.firstValue(HEADER_LOCATION).orElseThrow(() -> new ConnectException("Invalid redirection")); + headers.firstValue(HttpHeaders.LOCATION).orElseThrow(() -> new ConnectException("Invalid redirection")); return request.uri().resolve(makeURIFromLocation(locationHeader)); } diff --git a/src/main/java/sirius/kernel/xml/XMLCall.java b/src/main/java/sirius/kernel/xml/XMLCall.java index c7671b77..f749aeef 100644 --- a/src/main/java/sirius/kernel/xml/XMLCall.java +++ b/src/main/java/sirius/kernel/xml/XMLCall.java @@ -8,6 +8,7 @@ package sirius.kernel.xml; +import com.google.common.net.HttpHeaders; import sirius.kernel.commons.Outcall; import sirius.kernel.commons.Strings; import sirius.kernel.health.Exceptions; @@ -42,7 +43,7 @@ public class XMLCall { */ protected XMLCall(URI uri, String contentType) { this.outcall = new Outcall(uri); - this.outcall.setRequestProperty(Outcall.HEADER_CONTENT_TYPE, contentType); + this.outcall.setRequestProperty(HttpHeaders.CONTENT_TYPE, contentType); } /** @@ -182,7 +183,7 @@ public XMLStructuredOutput getOutput() throws IOException { public XMLStructuredInput getInput() throws IOException { // call #getInputStream() before checking for errors, as #getInputStream may log the request/response try (InputStream body = getInputStream()) { - String contentType = outcall.getHeaderField(Outcall.HEADER_CONTENT_TYPE); + String contentType = outcall.getHeaderField(HttpHeaders.CONTENT_TYPE); if (!outcall.isErroneous() || (contentType != null && contentType.toLowerCase().contains("xml"))) { return new XMLStructuredInput(body, namespaceContext); } From 8ccfa440b568459f72ad5c247bf04894019a6ab1 Mon Sep 17 00:00:00 2001 From: Andreas Haufler Date: Fri, 21 Nov 2025 13:22:35 +0100 Subject: [PATCH 87/93] Adds an explicit constant to better document behavior Outcall.modifyClient(String) accepts a string to cache a newly constructed HttpClient. null is used to signal that the client must not be cached. To better document this, an explicit constant was added so that call.modifyClient(Outcall.CLIENT_SELECTOR_NO_CACHE) sort of speaks for itself (in contrast to call.modifyClient(null) --- src/main/java/sirius/kernel/commons/Outcall.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/commons/Outcall.java b/src/main/java/sirius/kernel/commons/Outcall.java index 7aea9528..9f73c31b 100644 --- a/src/main/java/sirius/kernel/commons/Outcall.java +++ b/src/main/java/sirius/kernel/commons/Outcall.java @@ -30,6 +30,7 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ConnectException; +import java.net.CookieManager; import java.net.MalformedURLException; import java.net.SocketTimeoutException; import java.net.URI; @@ -110,6 +111,14 @@ public class Outcall { private static final Pattern CHARSET_PATTERN = Pattern.compile("(?i)\\bcharset=\\s*\"?([^\\s;\"]*)"); + /** + * Provides a constant for {@link #modifyClient(String)} to signal that the generated client must not be re-used or + * cached. + */ + public static final String CLIENT_SELECTOR_NO_CACHE = null; + + private static final String DEFAULT_CLIENT_SELECTOR = "_default_"; + /** * Keeps track of hosts for which we ran into a connect-timeout. *

@@ -149,7 +158,6 @@ public class Outcall { private static final Map cachedHttpClients = new ConcurrentHashMap<>(); private static final int MAX_REDIRECTS = 5; - private static final String DEFAULT_CLIENT_SELECTOR = "_default_"; private String clientSelector = DEFAULT_CLIENT_SELECTOR; private HttpClient client; @@ -220,7 +228,9 @@ public HttpClient.Builder modifyClient() { * across multiple requests. * * @param clientSelector a unique string for all occasions where the builder is customized the same way and thus - * the cached client can be re-used once it has been created + * the cached client can be re-used once it has been created. + * Use {@link #CLIENT_SELECTOR_NO_CACHE} to signal that the created client should not be + * re-used (e.g. if a {@link java.net.CookieManager} is used). * @return the underlying {@link HttpClient.Builder} */ public HttpClient.Builder modifyClient(@Nullable String clientSelector) { From 532198d55d28659514eb0105b8b6f656e4d296fb Mon Sep 17 00:00:00 2001 From: scireumskip Date: Fri, 28 Nov 2025 12:24:22 +0100 Subject: [PATCH 88/93] Lokalise: updates --- src/main/resources/kernel_et.properties | 103 ++++++++++++++++++++++++ src/main/resources/kernel_hu.properties | 103 ++++++++++++++++++++++++ src/main/resources/kernel_lt.properties | 103 ++++++++++++++++++++++++ src/main/resources/kernel_lv.properties | 103 ++++++++++++++++++++++++ 4 files changed, 412 insertions(+) create mode 100644 src/main/resources/kernel_et.properties create mode 100644 src/main/resources/kernel_hu.properties create mode 100644 src/main/resources/kernel_lt.properties create mode 100644 src/main/resources/kernel_lv.properties diff --git a/src/main/resources/kernel_et.properties b/src/main/resources/kernel_et.properties new file mode 100644 index 00000000..3b923460 --- /dev/null +++ b/src/main/resources/kernel_et.properties @@ -0,0 +1,103 @@ +AdvancedDateParser.calendarWeek = nรคdal +AdvancedDateParser.day = pรคev +AdvancedDateParser.days = pรคev,pรคevad +AdvancedDateParser.end = lรตpp +AdvancedDateParser.errInvalidDay = Mรครคratud kuu jaoks on vale pรคev (${dayOfMonth}). +AdvancedDateParser.errInvalidHour = Invaliidne tund (${hourOfDay}) ajaformaadis. +AdvancedDateParser.errInvalidMinute = Invaliidne minutit (${minuteOfHour}) ajaformaadis. +AdvancedDateParser.errInvalidMonth = Lubamatu kuu (${monthOfYear}) kuupรคeva formaadis. +AdvancedDateParser.errInvalidSecond = Vale sekundid (${secondOfMinute}) ajaformaadis. +AdvancedDateParser.errInvalidToken = Sisend on vale: ${token}. Oodati numbrit. +AdvancedDateParser.errInvalidYear = Lubamatu aasta (${year}) kuupรคeva formaadis. +AdvancedDateParser.errUnexpectedKeyword = Sisend on vale: ${token}. Oodatud on รผks jรคrgmistest: ${keywords}. +AdvancedDateParser.hours = tund,tundi +AdvancedDateParser.minutes = minut,minutid +AdvancedDateParser.month = kuu +AdvancedDateParser.months = kuu,kuud +AdvancedDateParser.now = nรผรผd, tรคna +AdvancedDateParser.of = aadressilt +AdvancedDateParser.seconds = sekund,sekundid +AdvancedDateParser.start = alustada +AdvancedDateParser.tokenizerMessage = Sรผmbol '${nextToken}' (Mรคrk: ${tokenStart} kuni: ${tokenEnd}) +AdvancedDateParser.week = nรคdal +AdvancedDateParser.weeks = nรคdal,nรคdalad +AdvancedDateParser.year = aasta +AdvancedDateParser.years = aasta,aastat +HandledException.exception = On ilmnenud ootamatu viga: ${errorMessage} (${errorClass}) +HandledException.systemError = Tekkis viga: ${error} +HandledException.unknownError = รœksikasjalik sรตnum puudub +NLS.april = Aprill +NLS.august = August +NLS.back = Tagasi +NLS.cancel = Tรผhista +NLS.close = Sulge +NLS.day = Pรคev +NLS.days = 1 pรคev | ${count} pรคeva +NLS.december = Detsember +NLS.decimalSeparator = , +NLS.delete = Kustuta +NLS.description = Kirjeldus +NLS.edit = Muuda +NLS.errInvalidDate = Palun sisestage kehtiv kuupรคev kujul '${format}'. '${value}' on kehtetu. +NLS.errInvalidDecimalNumber = Palun sisestage kehtiv kรผmnendarv. '${value}' on kehtetu. +NLS.errInvalidIntegerNumber = Palun sisestage kehtiv tรคisarv. '${value}' on kehtetu. +NLS.errInvalidTime = Palun sisestage kehtiv kellaaeg kujul 'HH:MM'. '${value}' on kehtetu. +NLS.february = Veebruar +NLS.filter = Filter +NLS.friday = Reede +NLS.groupingSeparator = . +NLS.hour = Tund +NLS.hours = 1 tund | ${count} tundi +NLS.inNHours = ${hours} tundides +NLS.january = Jaanuar +NLS.july = Juuli +NLS.june = Juuni +NLS.march = Mรคrts +NLS.may = Mai +NLS.millisecond = Millisekundiline +NLS.milliseconds = 1 millisekund | ${count} millisekundid +NLS.minute = Hetk +NLS.minutes = 1 minut | ${count} minutit +NLS.monday = Esmaspรคev +NLS.month = Kuu +NLS.more = rohkem +NLS.nHoursAgo = ${hours} tundi tagasi +NLS.nMinutesAgo = ${minutes} minuti eest +NLS.name = Nimi +NLS.new = Uus +NLS.nextHour = jรคrgmise tunni jooksul +NLS.no = Ei +NLS.november = November +NLS.october = Oktoober +NLS.ok = Ok +NLS.oneHourAgo = รผks tund tagasi +NLS.parseError = Tรผรผpi '${type}' objekte ei saa tรถรถdelda. +NLS.patternDate = dd.MM.yyyy +NLS.patternDateTime = dd.MM.yyyy HH:mm:ss +NLS.patternDateTime.withoutSeconds = dd.MM.yyyy HH:mm +NLS.patternDecimal = #,##0.00 +NLS.patternFullTime = HH:mm:ss +NLS.patternParseTime = H[:mm[:ss]] +NLS.patternShortDate = dd.MM.yy +NLS.patternTime = HH:mm +NLS.quoted.primary = "${value}" +NLS.quoted.secondary = '${value}' +NLS.refresh = Vรคrskenda +NLS.saturday = Laupรคev +NLS.save = Salvesta +NLS.search = Otsi +NLS.searchResult = Otsingu tulemus +NLS.searchkey = Otsi... +NLS.second = Teine +NLS.seconds = 1 sekund | ${count} sekundit +NLS.september = September +NLS.someMinutesAgo = mรตned minutid tagasi +NLS.sunday = Pรผhapรคev +NLS.thursday = Neljapรคev +NLS.today = tรคna +NLS.tomorrow = homme +NLS.tuesday = Teisipรคev +NLS.wednesday = Kolmapรคev +NLS.year = Aasta +NLS.yes = Jah +NLS.yesterday = eile diff --git a/src/main/resources/kernel_hu.properties b/src/main/resources/kernel_hu.properties new file mode 100644 index 00000000..7a6c7cda --- /dev/null +++ b/src/main/resources/kernel_hu.properties @@ -0,0 +1,103 @@ +AdvancedDateParser.calendarWeek = hรฉt +AdvancedDateParser.day = nap +AdvancedDateParser.days = nap,napok +AdvancedDateParser.end = vรฉge +AdvancedDateParser.errInvalidDay = ร‰rvรฉnytelen nap (${dayOfMonth}) a megadott hรณnaphoz. +AdvancedDateParser.errInvalidHour = ร‰rvรฉnytelen รณra (${hourOfDay}) az idล‘ formรกtumban. +AdvancedDateParser.errInvalidMinute = ร‰rvรฉnytelen percek (${minuteOfHour}) az idล‘ formรกtumban. +AdvancedDateParser.errInvalidMonth = ร‰rvรฉnytelen hรณnap (${monthOfYear}) a dรกtumformรกtumban. +AdvancedDateParser.errInvalidSecond = ร‰rvรฉnytelen mรกsodpercek (${secondOfMinute}) az idล‘ formรกtumban. +AdvancedDateParser.errInvalidToken = ร‰rvรฉnytelen bemenet: ${token}. Szรกmot vรกrt. +AdvancedDateParser.errInvalidYear = ร‰rvรฉnytelen รฉvszรกm (${year}) a dรกtumformรกtumban. +AdvancedDateParser.errUnexpectedKeyword = ร‰rvรฉnytelen bemeneti szimbรณlum: ${token}. A kรถvetkezล‘k valamelyikรฉt vรกrtรกk: ${keywords}. +AdvancedDateParser.hours = รณra,รณra +AdvancedDateParser.minutes = perc,perc +AdvancedDateParser.month = hรณnap +AdvancedDateParser.months = hรณnap,hรณnapok +AdvancedDateParser.now = most, ma +AdvancedDateParser.of = a +AdvancedDateParser.seconds = mรกsodperc,mรกsodperc +AdvancedDateParser.start = begin +AdvancedDateParser.tokenizerMessage = Symbol '${nextToken}' (karakter: ${tokenStart} to: ${tokenEnd}) +AdvancedDateParser.week = hรฉt +AdvancedDateParser.weeks = hรฉt,hetek +AdvancedDateParser.year = รฉv +AdvancedDateParser.years = รฉv,รฉv +HandledException.exception = Vรกratlan hiba tรถrtรฉnt: ${errorMessage} (${errorClass}) +HandledException.systemError = Hiba tรถrtรฉnt: ${error} +HandledException.unknownError = Nincs rรฉszletes รผzenet +NLS.april = รprilis +NLS.august = Augusztus +NLS.back = Vissza +NLS.cancel = Tรถrรถlje +NLS.close = Zรกrja be a +NLS.day = Nap +NLS.days = 1 nap | ${count} napok +NLS.december = December +NLS.decimalSeparator = , +NLS.delete = Tรถrรถlje a cรญmet +NLS.description = Leรญrรกs +NLS.edit = Szerkesztรฉs +NLS.errInvalidDate = Kรฉrjรผk, adjon meg egy รฉrvรฉnyes dรกtumot '${format}' formรกtumban. '${value}' รฉrvรฉnytelen. +NLS.errInvalidDecimalNumber = Kรฉrjรผk, adjon meg egy รฉrvรฉnyes tizedes szรกmot. '${value}' รฉrvรฉnytelen. +NLS.errInvalidIntegerNumber = Kรฉrjรผk, adjon meg egy รฉrvรฉnyes egรฉsz szรกmot. '${value}' รฉrvรฉnytelen. +NLS.errInvalidTime = Kรฉrjรผk, adjon meg egy รฉrvรฉnyes idล‘pontot a 'HH:MM' formรกban. '${value}' รฉrvรฉnytelen. +NLS.february = Februรกr +NLS.filter = Szลฑrล‘ +NLS.friday = Pรฉntek +NLS.groupingSeparator = . +NLS.hour = ร“ra +NLS.hours = 1 รณra | ${count} รณra +NLS.inNHours = $-ban{hours} รณra +NLS.january = Januรกr +NLS.july = Jรบlius +NLS.june = Jรบnius +NLS.march = Mรกrcius +NLS.may = Mรกjus +NLS.millisecond = Milliszekundum +NLS.milliseconds = 1 milliszekundum | ${count} milliszekundum +NLS.minute = Perc +NLS.minutes = 1 perc | ${count} perc +NLS.monday = Hรฉtfล‘ +NLS.month = Hรณnap +NLS.more = tovรกbbi +NLS.nHoursAgo = ${hours} รณrรกkkal ezelล‘tt +NLS.nMinutesAgo = elล‘tt ${minutes} jegyzล‘kรถnyv +NLS.name = Nรฉv +NLS.new = รšj +NLS.nextHour = a kรถvetkezล‘ รณrรกban +NLS.no = Nem +NLS.november = November +NLS.october = Oktรณber +NLS.ok = Okรฉ +NLS.oneHourAgo = egy รณrรกja +NLS.parseError = A '${type}' tรญpusรบ objektumok nem dolgozhatรณk fel. +NLS.patternDate = yyyy.MM.dd +NLS.patternDateTime = yyyy.MM.dd HH:mm:ss +NLS.patternDateTime.withoutSeconds = yyyy.MM.dd HH:mm +NLS.patternDecimal = #,##0.00 +NLS.patternFullTime = HH:mm:ss +NLS.patternParseTime = H[:mm[:ss]] +NLS.patternShortDate = yy.MM.dd +NLS.patternTime = HH:mm +NLS.quoted.primary = "${value}" +NLS.quoted.secondary = '${value}' +NLS.refresh = Frissรญtรฉs +NLS.saturday = Szombat +NLS.save = Mentรฉs +NLS.search = Keresรฉs +NLS.searchResult = Keresรฉs eredmรฉnye +NLS.searchkey = Keresรฉs... +NLS.second = Mรกsodik +NLS.seconds = 1 mรกsodperc | ${count} mรกsodperc +NLS.september = Szeptember +NLS.someMinutesAgo = nรฉhรกny perccel ezelล‘tt +NLS.sunday = Vasรกrnap +NLS.thursday = Csรผtรถrtรถk +NLS.today = ma +NLS.tomorrow = holnap +NLS.tuesday = Kedd +NLS.wednesday = Szerda +NLS.year = ร‰v +NLS.yes = Igen +NLS.yesterday = tegnap diff --git a/src/main/resources/kernel_lt.properties b/src/main/resources/kernel_lt.properties new file mode 100644 index 00000000..ae998459 --- /dev/null +++ b/src/main/resources/kernel_lt.properties @@ -0,0 +1,103 @@ +AdvancedDateParser.calendarWeek = savaitฤ— +AdvancedDateParser.day = diena +AdvancedDateParser.days = diena, dienos +AdvancedDateParser.end = pabaiga +AdvancedDateParser.errInvalidDay = Nurodyto mฤ—nesio diena (${dayOfMonth}) negalioja. +AdvancedDateParser.errInvalidHour = Laiko formate neteisingos valandos (${hourOfDay}). +AdvancedDateParser.errInvalidMinute = Netinkamas minuฤiลณ (${minuteOfHour}) laiko formatas. +AdvancedDateParser.errInvalidMonth = Neteisingas mฤ—nesio (${monthOfYear}) datos formatas. +AdvancedDateParser.errInvalidSecond = Laiko formate neteisingos sekundฤ—s (${secondOfMinute}). +AdvancedDateParser.errInvalidToken = Netinkamas ฤฏvesties kodas: ${token}. Tikฤ—tasi skaiฤiaus. +AdvancedDateParser.errInvalidYear = Neteisingi metai (${year}) datos formate. +AdvancedDateParser.errUnexpectedKeyword = Netinkamas ฤฏvesties kodas: ${token}. Laukiama vieno iลก: ${keywords}. +AdvancedDateParser.hours = valanda, valandos +AdvancedDateParser.minutes = minutฤ—, minutฤ—s +AdvancedDateParser.month = mฤ—nuo +AdvancedDateParser.months = mฤ—nuo, mฤ—nesiai +AdvancedDateParser.now = dabar, ลกiandien +AdvancedDateParser.of = iลก +AdvancedDateParser.seconds = sekundฤ—, sekundฤ—s +AdvancedDateParser.start = pradฤ—ti +AdvancedDateParser.tokenizerMessage = Simbolis '${nextToken}' (Simbolis: nuo ${tokenStart} iki: ${tokenEnd}) +AdvancedDateParser.week = savaitฤ— +AdvancedDateParser.weeks = savaitฤ—, savaitฤ—s +AdvancedDateParser.year = metai +AdvancedDateParser.years = metai, metai +HandledException.exception = ฤฎvyko netikฤ—ta iลกimtis: (${errorMessage} (${errorClass}) +HandledException.systemError = ฤฎvyko klaida: ${error} +HandledException.unknownError = Iลกsamaus praneลกimo nฤ—ra +NLS.april = Balandis +NLS.august = Rugpjลซtis +NLS.back = Atgal +NLS.cancel = Atลกaukti +NLS.close = Uลพdaryti +NLS.day = Diena +NLS.days = 1 diena | ${count} dienos +NLS.december = Gruodลพio mฤ—n +NLS.decimalSeparator = , +NLS.delete = Iลกtrinti +NLS.description = Apraลกymas +NLS.edit = Redaguoti +NLS.errInvalidDate = ฤฎveskite galiojanฤiฤ… datฤ…, kurios forma yra "${format}". '${value}' negalioja. +NLS.errInvalidDecimalNumber = ฤฎveskite galiojantฤฏ deลกimtainฤฏ skaiฤiลณ. '${value}' yra negaliojantis. +NLS.errInvalidIntegerNumber = ฤฎveskite galiojantฤฏ sveikฤ…jฤฏ skaiฤiลณ. '${value}' negalioja. +NLS.errInvalidTime = ฤฎveskite galiojantฤฏ laikฤ… forma "HH:MM". "${value}" negalioja. +NLS.february = Vasaris +NLS.filter = Filtras +NLS.friday = Penktadienis +NLS.groupingSeparator = . +NLS.hour = Valanda +NLS.hours = 1 valanda |{count} valandลณ +NLS.inNHours = ${hours} valandos +NLS.january = Sausis +NLS.july = Liepa +NLS.june = Birลพelio mฤ—n +NLS.march = Kovas +NLS.may = Geguลพฤ— +NLS.millisecond = Milisekundฤ—s +NLS.milliseconds = 1 milisekundฤ— | ${count} milisekundฤ—s +NLS.minute = Minutฤ— +NLS.minutes = 1 minutฤ— |{count} minuฤiลณ +NLS.monday = Pirmadienis +NLS.month = Mฤ—nuo +NLS.more = daugiau +NLS.nHoursAgo = prieลก ${hours} valandas +NLS.nMinutesAgo = ${minutes} prieลก kelias minutes +NLS.name = Pavadinimas +NLS.new = Naujas +NLS.nextHour = per artimiausiฤ… valandฤ… +NLS.no = Ne +NLS.november = Lapkritis +NLS.october = Spalio mฤ—n +NLS.ok = Gerai +NLS.oneHourAgo = prieลก vienฤ… valandฤ… +NLS.parseError = Objektลณ, kuriลณ tipas '${type}', negalima apdoroti. +NLS.patternDate = yyyy.MM.dd +NLS.patternDateTime = yyyy.MM.dd HH:mm:ss +NLS.patternDateTime.withoutSeconds = yyyy.MM.dd HH:mm +NLS.patternDecimal = #,##0.00 +NLS.patternFullTime = HH:mm:ss +NLS.patternParseTime = H[:mm[:ss]] +NLS.patternShortDate = yy.MM.dd +NLS.patternTime = HH:mm +NLS.quoted.primary = "${value}" +NLS.quoted.secondary = '${value}' +NLS.refresh = Atnaujinti +NLS.saturday = ล eลกtadienis +NLS.save = Iลกsaugoti +NLS.search = Paieลกka +NLS.searchResult = Paieลกkos rezultatas +NLS.searchkey = Paieลกka... +NLS.second = Antrasis +NLS.seconds = 1 sekundฤ— | ${count} sekundฤ—s +NLS.september = Rugsฤ—jis +NLS.someMinutesAgo = prieลก kelias minutes +NLS.sunday = Sekmadienis +NLS.thursday = Ketvirtadienis +NLS.today = ลกiandien +NLS.tomorrow = rytoj +NLS.tuesday = Antradienis +NLS.wednesday = Treฤiadienis +NLS.year = Metai +NLS.yes = Taip +NLS.yesterday = vakar diff --git a/src/main/resources/kernel_lv.properties b/src/main/resources/kernel_lv.properties new file mode 100644 index 00000000..c4697596 --- /dev/null +++ b/src/main/resources/kernel_lv.properties @@ -0,0 +1,103 @@ +AdvancedDateParser.calendarWeek = nedฤ“ฤผa +AdvancedDateParser.day = diena +AdvancedDateParser.days = diena, dienas +AdvancedDateParser.end = beigas +AdvancedDateParser.errInvalidDay = Nederฤซga diena (${dayOfMonth}) norฤdฤซtajam mฤ“nesim. +AdvancedDateParser.errInvalidHour = Nepareiza stunda (${hourOfDay}) laika formฤtฤ. +AdvancedDateParser.errInvalidMinute = Nederฤซgas minลซtes (${minuteOfHour}) laika formฤtฤ. +AdvancedDateParser.errInvalidMonth = Nederฤซgs mฤ“nesis (${monthOfYear}) datuma formฤtฤ. +AdvancedDateParser.errInvalidSecond = Nederฤซgas sekundes (${secondOfMinute}) laika formฤtฤ. +AdvancedDateParser.errInvalidToken = Nederฤซgs ievades vฤrds: ${token}. Gaidฤซts skaitlis. +AdvancedDateParser.errInvalidYear = Nederฤซgs gads (${year}) datuma formฤtฤ. +AdvancedDateParser.errUnexpectedKeyword = Nederฤซgs ievades simbols: ${token}. Tika gaidฤซts viens no ลกฤdiem simboliem: ${keywords}. +AdvancedDateParser.hours = stunda, stundas +AdvancedDateParser.minutes = minลซte,minลซtes +AdvancedDateParser.month = mฤ“nesis +AdvancedDateParser.months = mฤ“nesis,mฤ“neลกi +AdvancedDateParser.now = tagad, ลกodien +AdvancedDateParser.of = no +AdvancedDateParser.seconds = sekundes,sekundes +AdvancedDateParser.start = sฤkt +AdvancedDateParser.tokenizerMessage = Simbols '${nextToken}' (Simbols: ${tokenStart} lฤซdz: ${tokenEnd}) +AdvancedDateParser.week = nedฤ“ฤผa +AdvancedDateParser.weeks = nedฤ“ฤผu,nedฤ“ฤผas +AdvancedDateParser.year = gads +AdvancedDateParser.years = gads, gadi +HandledException.exception = Ir notikusi neparedzฤ“ta kฤผลซda: ${errorMessage} (${errorClass}) +HandledException.systemError = Ir notikusi kฤผลซda: ${error} +HandledException.unknownError = Nav pieejams detalizฤ“ts ziล†ojums +NLS.april = Aprฤซlis +NLS.august = Augusts +NLS.back = Atpakaฤผ +NLS.cancel = Atcelt +NLS.close = Aizvฤ“rt +NLS.day = Diena +NLS.days = 1 diena | ${count} dienas +NLS.december = Decembris +NLS.decimalSeparator = , +NLS.delete = Dzฤ“st +NLS.description = Apraksts +NLS.edit = Rediฤฃฤ“t +NLS.errInvalidDate = Lลซdzu, ievadiet derฤซgu datumu formฤ '${format}'. '${value}' ir nederฤซgs. +NLS.errInvalidDecimalNumber = Lลซdzu, ievadiet derฤซgu decimฤlskaitli. '${value}' nav derฤซgs. +NLS.errInvalidIntegerNumber = Lลซdzu, ievadiet derฤซgu veselu skaitli. '${value}' nav derฤซgs. +NLS.errInvalidTime = Lลซdzu, ievadiet derฤซgu laiku formฤ "HH:MM". '${value}' nav derฤซgs. +NLS.february = Februฤris +NLS.filter = Filtrs +NLS.friday = Piektdiena +NLS.groupingSeparator = . +NLS.hour = Stunda +NLS.hours = 1 stunda | ${count} stundas +NLS.inNHours = ${hours} stundas +NLS.january = Janvฤris +NLS.july = Jลซlijs +NLS.june = Jลซnijs +NLS.march = Marts +NLS.may = Maijs +NLS.millisecond = Milisekundes +NLS.milliseconds = 1 milisekunde | ${count} milisekundes +NLS.minute = Minลซtes +NLS.minutes = 1 minลซte | ${count} minลซtes +NLS.monday = Pirmdiena +NLS.month = Mฤ“nesis +NLS.more = vairฤk +NLS.nHoursAgo = pirms ${hours} stundฤm +NLS.nMinutesAgo = pirms ${minutes} minลซtes +NLS.name = Nosaukums +NLS.new = Jauns +NLS.nextHour = nฤkamajฤ stundฤ +NLS.no = Nฤ“ +NLS.november = Novembris +NLS.october = Oktobris +NLS.ok = Labi +NLS.oneHourAgo = pirms stundas +NLS.parseError = Objektus ar tipu '${type}' nevar apstrฤdฤt. +NLS.patternDate = yyyy.dd.MM +NLS.patternDateTime = yyyy.dd.MM HH:mm:ss +NLS.patternDateTime.withoutSeconds = yyyy.dd.MM HH:mm +NLS.patternDecimal = #,##0.00 +NLS.patternFullTime = HH:mm:ss +NLS.patternParseTime = H[:mm[:ss]] +NLS.patternShortDate = yy.dd.MM +NLS.patternTime = HH:mm +NLS.quoted.primary = "${value}" +NLS.quoted.secondary = '${value}' +NLS.refresh = Atjauninฤt +NLS.saturday = Sestdiena +NLS.save = Saglabฤt +NLS.search = Meklฤ“ลกana +NLS.searchResult = Meklฤ“ลกanas rezultฤts +NLS.searchkey = Meklฤ“t... +NLS.second = Otrais +NLS.seconds = 1 sekunde | ${count} sekundes +NLS.september = Septembris +NLS.someMinutesAgo = pirms daลพฤm minลซtฤ“m +NLS.sunday = Svฤ“tdiena +NLS.thursday = Ceturtdiena +NLS.today = ลกodien +NLS.tomorrow = rฤซt +NLS.tuesday = Otrdiena +NLS.wednesday = Treลกdiena +NLS.year = Gads +NLS.yes = Jฤ +NLS.yesterday = vakar From 06a7f7530b99583c0768224ea4806468c4c50a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20H=C3=A4fner?= <53555813+fhaScireum@users.noreply.github.com> Date: Fri, 28 Nov 2025 12:43:00 +0100 Subject: [PATCH 89/93] Update src/main/resources/kernel_lt.properties --- src/main/resources/kernel_lt.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/kernel_lt.properties b/src/main/resources/kernel_lt.properties index ae998459..e3717081 100644 --- a/src/main/resources/kernel_lt.properties +++ b/src/main/resources/kernel_lt.properties @@ -38,7 +38,7 @@ NLS.decimalSeparator = , NLS.delete = Iลกtrinti NLS.description = Apraลกymas NLS.edit = Redaguoti -NLS.errInvalidDate = ฤฎveskite galiojanฤiฤ… datฤ…, kurios forma yra "${format}". '${value}' negalioja. +NLS.errInvalidDate = ฤฎveskite galiojanฤiฤ… datฤ…, kurios forma yra "${format}". "${value}" negalioja. NLS.errInvalidDecimalNumber = ฤฎveskite galiojantฤฏ deลกimtainฤฏ skaiฤiลณ. '${value}' yra negaliojantis. NLS.errInvalidIntegerNumber = ฤฎveskite galiojantฤฏ sveikฤ…jฤฏ skaiฤiลณ. '${value}' negalioja. NLS.errInvalidTime = ฤฎveskite galiojantฤฏ laikฤ… forma "HH:MM". "${value}" negalioja. From 7845d86e4ca2176143b9f3a9890806b755e51dd3 Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Thu, 4 Dec 2025 15:53:22 +0100 Subject: [PATCH 90/93] Closes the executor in the right place Fixes: OX-12263 --- src/main/java/sirius/kernel/async/ParallelTaskExecutor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java index df701b95..57f5d047 100644 --- a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java +++ b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java @@ -74,11 +74,11 @@ public boolean submitTask(Runnable task) { public void shutdownWhenDone() { while (TaskContext.get().isActive()) { if (taskQueue.isEmpty() && taskCount.get() == 0) { - executor.close(); break; } Wait.millis(500); } + executor.close(); } private void startProcessing() { From a0bb3efd5ac8f28ade6883f94c6308999c9a589c Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Thu, 4 Dec 2025 15:53:48 +0100 Subject: [PATCH 91/93] Uses unnamed variable where not used Fixes: OX-12263 --- src/main/java/sirius/kernel/async/ParallelTaskExecutor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java index 57f5d047..a6c3c7f6 100644 --- a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java +++ b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java @@ -88,7 +88,7 @@ private void startProcessing() { Runnable task = taskQueue.take(); semaphore.acquire(); executor.submit(task); - } catch (InterruptedException exception) { + } catch (InterruptedException _) { Thread.currentThread().interrupt(); break; } From ce543494ab7f19d5c81bd2f78a134c869008f136 Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Thu, 4 Dec 2025 17:15:06 +0100 Subject: [PATCH 92/93] Permits to override when the executor must stop By default, we check if the current TaskContext is active, but more complex scenarios might require additional checks. Fixes: OX-12263 --- .../kernel/async/ParallelTaskExecutor.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java index a6c3c7f6..c7aaf231 100644 --- a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java +++ b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java @@ -16,6 +16,7 @@ import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Supplier; /** * Executes tasks in parallel in the current node using virtual threads with a limit on concurrency. @@ -34,6 +35,7 @@ public class ParallelTaskExecutor { private final Semaphore semaphore; private final AtomicInteger taskCount; private final CallContext currentContext; + private Supplier isActiveSupplier; /** * Creates a new parallel task executor. @@ -46,9 +48,24 @@ public ParallelTaskExecutor(int maxConcurrentTasks) { this.taskQueue = new LinkedBlockingQueue<>(); this.semaphore = new Semaphore(maxConcurrentTasks); this.taskCount = new AtomicInteger(0); + this.isActiveSupplier = () -> TaskContext.get().isActive(); startProcessing(); } + /** + * Permits to override the active checker which is used to determine when to stop processing tasks. + *

+ * By default, the executor checks whether the current {@link TaskContext} is still active which is enough + * is most cases, but more complex scenarios might require a custom check. + * + * @param isActiveSupplier the supplier which determines whether the executor is still active + * @return the executor itself for fluent method calls + */ + public ParallelTaskExecutor withIsActiveSupplier(Supplier isActiveSupplier) { + this.isActiveSupplier = isActiveSupplier; + return this; + } + /** * Submits a task to be executed in parallel. * @@ -68,11 +85,20 @@ public boolean submitTask(Runnable task) { }); } + /** + * Determines whether the executor is still active. + * + * @return {@code true} if the executor is still active, {@code false} otherwise + */ + public boolean isActive() { + return Boolean.TRUE.equals(isActiveSupplier.get()); + } + /** * Waits for all tasks to complete and shuts down the executor. */ public void shutdownWhenDone() { - while (TaskContext.get().isActive()) { + while (isActive()) { if (taskQueue.isEmpty() && taskCount.get() == 0) { break; } @@ -83,7 +109,7 @@ public void shutdownWhenDone() { private void startProcessing() { Thread.startVirtualThread(() -> { - while (TaskContext.get().isActive()) { + while (isActive()) { try { Runnable task = taskQueue.take(); semaphore.acquire(); From d2977288fac28c8249bc680f8bd37600fb45f253 Mon Sep 17 00:00:00 2001 From: Idevaldo De Lira Date: Fri, 5 Dec 2025 08:31:29 +0100 Subject: [PATCH 93/93] Covers for RejectedExecutionException if something is submitted after the executor have been closed. For cleanliness, empty the queue at the end. Fixes: OX-12263 --- src/main/java/sirius/kernel/async/ParallelTaskExecutor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java index c7aaf231..62ca1737 100644 --- a/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java +++ b/src/main/java/sirius/kernel/async/ParallelTaskExecutor.java @@ -14,6 +14,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Supplier; @@ -114,11 +115,12 @@ private void startProcessing() { Runnable task = taskQueue.take(); semaphore.acquire(); executor.submit(task); - } catch (InterruptedException _) { + } catch (InterruptedException | RejectedExecutionException _) { Thread.currentThread().interrupt(); break; } } }); + taskQueue.clear(); } }