diff --git a/app/components/autocomplete/emoji_suggestion/emoji_suggestion.js b/app/components/autocomplete/emoji_suggestion/emoji_suggestion.js index fce8fc4dc..655fe5ef6 100644 --- a/app/components/autocomplete/emoji_suggestion/emoji_suggestion.js +++ b/app/components/autocomplete/emoji_suggestion/emoji_suggestion.js @@ -27,6 +27,7 @@ export default class EmojiSuggestion extends PureComponent { autocompleteCustomEmojis: PropTypes.func.isRequired, }).isRequired, cursorPosition: PropTypes.number, + customEmojisEnabled: PropTypes.bool, emojis: PropTypes.array.isRequired, isSearch: PropTypes.bool, fuse: PropTypes.object.isRequired, @@ -77,7 +78,7 @@ export default class EmojiSuggestion extends PureComponent { const oldMatchTerm = this.matchTerm; this.matchTerm = match[3] || ''; - if (this.matchTerm !== oldMatchTerm && this.matchTerm.length) { + if (this.matchTerm !== oldMatchTerm && this.matchTerm.length && nextProps.customEmojisEnabled) { this.props.actions.autocompleteCustomEmojis(this.matchTerm); return; } @@ -89,10 +90,10 @@ export default class EmojiSuggestion extends PureComponent { } } - handleFuzzySearch = async (matchTerm, props) => { + handleFuzzySearch = (matchTerm, props) => { const {emojis, fuse} = props; - const results = await fuse.search(matchTerm.toLowerCase()); + const results = fuse.search(matchTerm.toLowerCase()); const data = results.map((index) => emojis[index]); this.setEmojiData(data, matchTerm); }; diff --git a/app/components/autocomplete/emoji_suggestion/index.js b/app/components/autocomplete/emoji_suggestion/index.js index 455ac8af1..3cee4354e 100644 --- a/app/components/autocomplete/emoji_suggestion/index.js +++ b/app/components/autocomplete/emoji_suggestion/index.js @@ -6,6 +6,7 @@ import {createSelector} from 'reselect'; import {bindActionCreators} from 'redux'; import {getCustomEmojisByName} from '@mm-redux/selectors/entities/emojis'; +import {getConfig} from '@mm-redux/selectors/entities/general'; import {autocompleteCustomEmojis} from '@mm-redux/actions/emojis'; import {addReactionToLatestPost} from 'app/actions/views/emoji'; @@ -42,8 +43,9 @@ function mapStateToProps(state) { const fuse = new Fuse(list, options); return { - fuse, emojis, + customEmojisEnabled: getConfig(state).EnableCustomEmoji === 'true', + fuse, theme: getTheme(state), }; } diff --git a/app/components/emoji_picker/emoji_picker_base.js b/app/components/emoji_picker/emoji_picker_base.js index 2ff780260..b4d8c794b 100644 --- a/app/components/emoji_picker/emoji_picker_base.js +++ b/app/components/emoji_picker/emoji_picker_base.js @@ -53,7 +53,6 @@ export default class EmojiPicker extends PureComponent { actions: PropTypes.shape({ getCustomEmojis: PropTypes.func.isRequired, incrementEmojiPickerPage: PropTypes.func.isRequired, - searchCustomEmojis: PropTypes.func.isRequired, }).isRequired, }; @@ -187,7 +186,7 @@ export default class EmojiPicker extends PureComponent { clearTimeout(this.searchTermTimeout); const timeout = searchTerm ? 100 : 0; - this.searchTermTimeout = setTimeout(async () => { + this.searchTermTimeout = setTimeout(() => { const filteredEmojis = this.searchEmojis(searchTerm); this.setState({ filteredEmojis, diff --git a/app/components/emoji_picker/index.js b/app/components/emoji_picker/index.js index 6744b9d59..da2343614 100644 --- a/app/components/emoji_picker/index.js +++ b/app/components/emoji_picker/index.js @@ -8,7 +8,7 @@ import {bindActionCreators} from 'redux'; import {getTheme} from '@mm-redux/selectors/entities/preferences'; import {getCustomEmojisByName} from '@mm-redux/selectors/entities/emojis'; import {getConfig} from '@mm-redux/selectors/entities/general'; -import {getCustomEmojis, searchCustomEmojis} from '@mm-redux/actions/emojis'; +import {getCustomEmojis} from '@mm-redux/actions/emojis'; import {incrementEmojiPickerPage} from 'app/actions/views/emoji'; import {getDimensions, isLandscape} from 'app/selectors/device'; @@ -173,7 +173,6 @@ function mapDispatchToProps(dispatch) { actions: bindActionCreators({ getCustomEmojis, incrementEmojiPickerPage, - searchCustomEmojis, }, dispatch), }; } diff --git a/app/mm-redux/actions/emojis.ts b/app/mm-redux/actions/emojis.ts index 03ebd92d0..c256bb833 100644 --- a/app/mm-redux/actions/emojis.ts +++ b/app/mm-redux/actions/emojis.ts @@ -8,15 +8,12 @@ import {getCustomEmojisByName as selectCustomEmojisByName} from '@mm-redux/selec import {parseNeededCustomEmojisFromText} from '@mm-redux/utils/emoji_utils'; import {GetStateFunc, DispatchFunc, ActionFunc, ActionResult} from '@mm-redux/types/actions'; +import {getSystemEmojis} from 'app/utils/emojis'; import {logError} from './errors'; import {bindClientFunc, forceLogoutIfNecessary} from './helpers'; -import {SystemEmoji, CustomEmoji} from '@mm-redux/types/emojis'; +import {CustomEmoji} from '@mm-redux/types/emojis'; import {Dictionary} from '@mm-redux/types/utilities'; -export let systemEmojis: Map = new Map(); -export function setSystemEmojis(emojis: Map) { - systemEmojis = emojis; -} export function createCustomEmoji(emoji: any, image: any): ActionFunc { return bindClientFunc({ @@ -89,6 +86,7 @@ export function getCustomEmojisInText(text: string): ActionFunc { const state = getState(); const nonExistentEmoji = state.entities.emojis.nonExistentEmoji; const customEmojisByName = selectCustomEmojisByName(state); + const systemEmojis: Set = getSystemEmojis(); const emojisToLoad = parseNeededCustomEmojisFromText(text, systemEmojis, customEmojisByName, nonExistentEmoji); diff --git a/app/mm-redux/actions/posts.test.js b/app/mm-redux/actions/posts.test.js index 409b43ac7..824f00b66 100644 --- a/app/mm-redux/actions/posts.test.js +++ b/app/mm-redux/actions/posts.test.js @@ -8,7 +8,7 @@ import nock from 'nock'; import * as Actions from '@mm-redux/actions/posts'; import {getChannelStats} from '@mm-redux/actions/channels'; import {login} from '@mm-redux/actions/users'; -import {setSystemEmojis, createCustomEmoji} from '@mm-redux/actions/emojis'; +import {createCustomEmoji} from '@mm-redux/actions/emojis'; import {Client4} from '@mm-redux/client'; import {Preferences, Posts, RequestStatus} from '../constants'; import {ChannelTypes, PostTypes} from '@mm-redux/action_types'; @@ -555,8 +555,6 @@ describe('Actions.Posts', () => { }, }; - setSystemEmojis(new Map([['systemEmoji1', {}]])); - it('no emojis in post', () => { assert.deepEqual( Actions.getNeededCustomEmojis(state, [ @@ -578,7 +576,7 @@ describe('Actions.Posts', () => { it('system emoji in post', () => { assert.deepEqual( Actions.getNeededCustomEmojis(state, [ - {message: ':systemEmoji1:'}, + {message: ':mattermost:'}, ]), new Set(), ); @@ -587,7 +585,7 @@ describe('Actions.Posts', () => { it('mixed emojis in post', () => { assert.deepEqual( Actions.getNeededCustomEmojis(state, [ - {message: ':systemEmoji1: :name1: :name2: :name3:'}, + {message: ':mattermost: :name1: :name2: :name3:'}, ]), new Set(['name3']), ); @@ -659,7 +657,7 @@ describe('Actions.Posts', () => { it('mixed emojis in message attachment', () => { assert.deepEqual( Actions.getNeededCustomEmojis(state, [ - {message: '', props: {attachments: [{text: ':name4: :name1:', pretext: ':name3: :systemEmoji1:', fields: [{value: ':name3:'}]}]}}, + {message: '', props: {attachments: [{text: ':name4: :name1:', pretext: ':name3: :mattermost:', fields: [{value: ':name3:'}]}]}}, ]), new Set(['name3', 'name4']), ); diff --git a/app/mm-redux/actions/posts.ts b/app/mm-redux/actions/posts.ts index 8930679ce..a4641e17b 100644 --- a/app/mm-redux/actions/posts.ts +++ b/app/mm-redux/actions/posts.ts @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import {Client4, DEFAULT_LIMIT_AFTER, DEFAULT_LIMIT_BEFORE} from '@mm-redux/client'; +import {Client4} from '@mm-redux/client'; import {General, Preferences, Posts} from '@mm-redux/constants'; import {WebsocketEvents} from '@constants'; import {PostTypes, ChannelTypes, FileTypes, IntegrationTypes} from '@mm-redux/action_types'; @@ -16,11 +16,12 @@ import {getUserIdFromChannelName} from '@mm-redux/utils/channel_utils'; import {parseNeededCustomEmojisFromText} from '@mm-redux/utils/emoji_utils'; import {isFromWebhook, isSystemMessage, shouldIgnorePost} from '@mm-redux/utils/post_utils'; import {isCombinedUserActivityPost} from '@mm-redux/utils/post_list'; +import {getSystemEmojis} from 'app/utils/emojis'; import {getMyChannelMember, markChannelAsUnread, markChannelAsRead, markChannelAsViewed} from './channels'; -import {systemEmojis, getCustomEmojiByName, getCustomEmojisByName} from './emojis'; +import {getCustomEmojiByName, getCustomEmojisByName} from './emojis'; import {logError} from './errors'; -import {bindClientFunc, forceLogoutIfNecessary} from './helpers'; +import {forceLogoutIfNecessary} from './helpers'; import { deletePreferences, @@ -592,7 +593,7 @@ export function getCustomEmojiForReaction(name: string) { return async (dispatch: DispatchFunc, getState: GetStateFunc) => { const nonExistentEmoji = getState().entities.emojis.nonExistentEmoji; const customEmojisByName = selectCustomEmojisByName(getState()); - + const systemEmojis = getSystemEmojis(); if (systemEmojis.has(name)) { return {data: true}; } @@ -623,6 +624,7 @@ export function getReactionsForPost(postId: string) { if (reactions && reactions.length > 0) { const nonExistentEmoji = getState().entities.emojis.nonExistentEmoji; const customEmojisByName = selectCustomEmojisByName(getState()); + const systemEmojis = getSystemEmojis(); const emojisToLoad = new Set(); reactions.forEach((r: Reaction) => { @@ -1034,6 +1036,7 @@ export function getNeededCustomEmojis(state: GlobalState, posts: Array): S let customEmojisByName: Map; // Populate this lazily since it's relatively expensive const nonExistentEmoji = state.entities.emojis.nonExistentEmoji; + const systemEmojis = getSystemEmojis(); posts.forEach((post) => { if (post.message.includes(':')) { @@ -1097,7 +1100,7 @@ export function removePost(post: ExtendedPost) { } export function selectPost(postId: string) { - return async (dispatch: DispatchFunc, getState: GetStateFunc) => { + return async (dispatch: DispatchFunc) => { dispatch({ type: PostTypes.RECEIVED_POST_SELECTED, data: postId, @@ -1179,7 +1182,7 @@ export function doPostActionWithCookie(postId: string, actionId: string, actionC } export function addMessageIntoHistory(message: string) { - return async (dispatch: DispatchFunc, getState: GetStateFunc) => { + return async (dispatch: DispatchFunc) => { dispatch({ type: PostTypes.ADD_MESSAGE_INTO_HISTORY, data: message, @@ -1190,7 +1193,7 @@ export function addMessageIntoHistory(message: string) { } export function resetHistoryIndex(index: number) { - return async (dispatch: DispatchFunc, getState: GetStateFunc) => { + return async (dispatch: DispatchFunc) => { dispatch({ type: PostTypes.RESET_HISTORY_INDEX, data: index, @@ -1201,7 +1204,7 @@ export function resetHistoryIndex(index: number) { } export function moveHistoryIndexBack(index: number) { - return async (dispatch: DispatchFunc, getState: GetStateFunc) => { + return async (dispatch: DispatchFunc) => { dispatch({ type: PostTypes.MOVE_HISTORY_INDEX_BACK, data: index, @@ -1212,7 +1215,7 @@ export function moveHistoryIndexBack(index: number) { } export function moveHistoryIndexForward(index: number) { - return async (dispatch: DispatchFunc, getState: GetStateFunc) => { + return async (dispatch: DispatchFunc) => { dispatch({ type: PostTypes.MOVE_HISTORY_INDEX_FORWARD, data: index, diff --git a/app/mm-redux/utils/emoji_utils.test.js b/app/mm-redux/utils/emoji_utils.test.js index 0fbd442bf..35e0522e9 100644 --- a/app/mm-redux/utils/emoji_utils.test.js +++ b/app/mm-redux/utils/emoji_utils.test.js @@ -10,7 +10,7 @@ describe('EmojiUtils', () => { it('no emojis', () => { const actual = EmojiUtils.parseNeededCustomEmojisFromText( 'This has no emojis', - new Map(), + new Set(), new Map(), new Map(), ); @@ -22,7 +22,7 @@ describe('EmojiUtils', () => { it('some emojis', () => { const actual = EmojiUtils.parseNeededCustomEmojisFromText( ':this: :is_all: :emo-jis: :123:', - new Map(), + new Set(), new Map(), new Map(), ); @@ -34,7 +34,7 @@ describe('EmojiUtils', () => { it('text surrounding emojis', () => { const actual = EmojiUtils.parseNeededCustomEmojisFromText( ':this:/:is_all: (:emo-jis:) surrounding:123:text:456:asdf', - new Map(), + new Set(), new Map(), new Map(), ); @@ -46,7 +46,7 @@ describe('EmojiUtils', () => { it('system emojis', () => { const actual = EmojiUtils.parseNeededCustomEmojisFromText( ':this: :is_all: :emo-jis: :123:', - new Map([['this', {name: 'this'}], ['123', {name: '123'}]]), + new Set(['this', '123']), new Map(), new Map(), ); @@ -58,7 +58,7 @@ describe('EmojiUtils', () => { it('custom emojis', () => { const actual = EmojiUtils.parseNeededCustomEmojisFromText( ':this: :is_all: :emo-jis: :123:', - new Map(), + new Set(), new Map([['is_all', {name: 'is_all'}], ['emo-jis', {name: 'emo-jis'}]]), new Map(), ); @@ -70,7 +70,7 @@ describe('EmojiUtils', () => { it('emojis that we\'ve already tried to load', () => { const actual = EmojiUtils.parseNeededCustomEmojisFromText( ':this: :is_all: :emo-jis: :123:', - new Map(), + new Set(), new Map(), new Map([['this', {name: 'this'}], ['emo-jis', {name: 'emo-jis'}]]), ); diff --git a/app/mm-redux/utils/emoji_utils.ts b/app/mm-redux/utils/emoji_utils.ts index 39d6d081b..d48a219fc 100644 --- a/app/mm-redux/utils/emoji_utils.ts +++ b/app/mm-redux/utils/emoji_utils.ts @@ -21,7 +21,7 @@ export function getEmojiImageUrl(emoji: Emoji): string { return Client4.getSystemEmojiImageUrl(filename); } -export function parseNeededCustomEmojisFromText(text: string, systemEmojis: Map, customEmojisByName: Map, nonExistentEmoji: Set): Set { +export function parseNeededCustomEmojisFromText(text: string, systemEmojis: Set, customEmojisByName: Map, nonExistentEmoji: Set): Set { if (!text.includes(':')) { return new Set(); } diff --git a/app/screens/add_reaction/index.js b/app/screens/add_reaction/index.js index d2096beb1..72df14589 100644 --- a/app/screens/add_reaction/index.js +++ b/app/screens/add_reaction/index.js @@ -4,6 +4,7 @@ import React, {PureComponent} from 'react'; import PropTypes from 'prop-types'; import { + Keyboard, StyleSheet, View, } from 'react-native'; @@ -47,6 +48,7 @@ export default class AddReaction extends PureComponent { } close = () => { + Keyboard.dismiss(); dismissModal(); }; diff --git a/app/utils/emojis.js b/app/utils/emojis.js index b61aa4a2e..32ac743cd 100644 --- a/app/utils/emojis.js +++ b/app/utils/emojis.js @@ -2,6 +2,8 @@ /* eslint-disable */ +import {memoizeResult} from '@mm-redux/utils/helpers'; + export const Emojis = [{"aliases":["grinning"],"filename":"1f600"},{"aliases":["smiley"],"filename":"1f603"},{"aliases":["smile"],"filename":"1f604"},{"aliases":["grin"],"filename":"1f601"},{"aliases":["laughing","satisfied"],"filename":"1f606"},{"aliases":["sweat_smile"],"filename":"1f605"},{"aliases":["joy"],"filename":"1f602"},{"aliases":["rofl"],"filename":"1f923"},{"aliases":["relaxed"],"filename":"263a-fe0f"},{"aliases":["blush"],"filename":"1f60a"},{"aliases":["innocent"],"filename":"1f607"},{"aliases":["slightly_smiling_face"],"filename":"1f642"},{"aliases":["upside_down_face"],"filename":"1f643"},{"aliases":["wink"],"filename":"1f609"},{"aliases":["relieved"],"filename":"1f60c"},{"aliases":["heart_eyes"],"filename":"1f60d"},{"aliases":["kissing_heart"],"filename":"1f618"},{"aliases":["kissing"],"filename":"1f617"},{"aliases":["kissing_smiling_eyes"],"filename":"1f619"},{"aliases":["kissing_closed_eyes"],"filename":"1f61a"},{"aliases":["yum"],"filename":"1f60b"},{"aliases":["stuck_out_tongue_winking_eye"],"filename":"1f61c"},{"aliases":["stuck_out_tongue_closed_eyes"],"filename":"1f61d"},{"aliases":["stuck_out_tongue"],"filename":"1f61b"},{"aliases":["money_mouth_face"],"filename":"1f911"},{"aliases":["hugs"],"filename":"1f917"},{"aliases":["nerd_face"],"filename":"1f913"},{"aliases":["sunglasses"],"filename":"1f60e"},{"aliases":["clown_face"],"filename":"1f921"},{"aliases":["cowboy_hat_face"],"filename":"1f920"},{"aliases":["smirk"],"filename":"1f60f"},{"aliases":["unamused"],"filename":"1f612"},{"aliases":["disappointed"],"filename":"1f61e"},{"aliases":["pensive"],"filename":"1f614"},{"aliases":["worried"],"filename":"1f61f"},{"aliases":["confused"],"filename":"1f615"},{"aliases":["slightly_frowning_face"],"filename":"1f641"},{"aliases":["frowning_face"],"filename":"2639-fe0f"},{"aliases":["persevere"],"filename":"1f623"},{"aliases":["confounded"],"filename":"1f616"},{"aliases":["tired_face"],"filename":"1f62b"},{"aliases":["weary"],"filename":"1f629"},{"aliases":["triumph"],"filename":"1f624"},{"aliases":["angry"],"filename":"1f620"},{"aliases":["rage","pout"],"filename":"1f621"},{"aliases":["no_mouth"],"filename":"1f636"},{"aliases":["neutral_face"],"filename":"1f610"},{"aliases":["expressionless"],"filename":"1f611"},{"aliases":["hushed"],"filename":"1f62f"},{"aliases":["frowning"],"filename":"1f626"},{"aliases":["anguished"],"filename":"1f627"},{"aliases":["open_mouth"],"filename":"1f62e"},{"aliases":["astonished"],"filename":"1f632"},{"aliases":["dizzy_face"],"filename":"1f635"},{"aliases":["flushed"],"filename":"1f633"},{"aliases":["scream"],"filename":"1f631"},{"aliases":["fearful"],"filename":"1f628"},{"aliases":["cold_sweat"],"filename":"1f630"},{"aliases":["cry"],"filename":"1f622"},{"aliases":["disappointed_relieved"],"filename":"1f625"},{"aliases":["drooling_face"],"filename":"1f924"},{"aliases":["sob"],"filename":"1f62d"},{"aliases":["sweat"],"filename":"1f613"},{"aliases":["sleepy"],"filename":"1f62a"},{"aliases":["sleeping"],"filename":"1f634"},{"aliases":["roll_eyes"],"filename":"1f644"},{"aliases":["thinking"],"filename":"1f914"},{"aliases":["lying_face"],"filename":"1f925"},{"aliases":["grimacing"],"filename":"1f62c"},{"aliases":["zipper_mouth_face"],"filename":"1f910"},{"aliases":["nauseated_face"],"filename":"1f922"},{"aliases":["sneezing_face"],"filename":"1f927"},{"aliases":["mask"],"filename":"1f637"},{"aliases":["face_with_thermometer"],"filename":"1f912"},{"aliases":["face_with_head_bandage"],"filename":"1f915"},{"aliases":["smiling_imp"],"filename":"1f608"},{"aliases":["imp"],"filename":"1f47f"},{"aliases":["japanese_ogre"],"filename":"1f479"},{"aliases":["japanese_goblin"],"filename":"1f47a"},{"aliases":["hankey","poop","shit"],"filename":"1f4a9"},{"aliases":["ghost"],"filename":"1f47b"},{"aliases":["skull"],"filename":"1f480"},{"aliases":["skull_and_crossbones"],"filename":"2620-fe0f"},{"aliases":["alien"],"filename":"1f47d"},{"aliases":["space_invader"],"filename":"1f47e"},{"aliases":["robot"],"filename":"1f916"},{"aliases":["jack_o_lantern"],"filename":"1f383"},{"aliases":["smiley_cat"],"filename":"1f63a"},{"aliases":["smile_cat"],"filename":"1f638"},{"aliases":["joy_cat"],"filename":"1f639"},{"aliases":["heart_eyes_cat"],"filename":"1f63b"},{"aliases":["smirk_cat"],"filename":"1f63c"},{"aliases":["kissing_cat"],"filename":"1f63d"},{"aliases":["scream_cat"],"filename":"1f640"},{"aliases":["crying_cat_face"],"filename":"1f63f"},{"aliases":["pouting_cat"],"filename":"1f63e"},{"aliases":["open_hands"],"filename":"1f450"},{"aliases":["raised_hands"],"filename":"1f64c"},{"aliases":["clap"],"filename":"1f44f"},{"aliases":["pray"],"filename":"1f64f"},{"aliases":["handshake"],"filename":"1f91d"},{"aliases":["+1","thumbsup"],"filename":"1f44d"},{"aliases":["-1","thumbsdown"],"filename":"1f44e"},{"aliases":["fist_oncoming","facepunch","punch"],"filename":"1f44a"},{"aliases":["fist_raised","fist"],"filename":"270a"},{"aliases":["fist_left"],"filename":"1f91b"},{"aliases":["fist_right"],"filename":"1f91c"},{"aliases":["crossed_fingers"],"filename":"1f91e"},{"aliases":["v"],"filename":"270c-fe0f"},{"aliases":["metal"],"filename":"1f918"},{"aliases":["ok_hand"],"filename":"1f44c"},{"aliases":["point_left"],"filename":"1f448"},{"aliases":["point_right"],"filename":"1f449"},{"aliases":["point_up_2"],"filename":"1f446"},{"aliases":["point_down"],"filename":"1f447"},{"aliases":["point_up"],"filename":"261d-fe0f"},{"aliases":["hand","raised_hand"],"filename":"270b"},{"aliases":["raised_back_of_hand"],"filename":"1f91a"},{"aliases":["raised_hand_with_fingers_splayed"],"filename":"1f590"},{"aliases":["vulcan_salute"],"filename":"1f596"},{"aliases":["wave"],"filename":"1f44b"},{"aliases":["call_me_hand"],"filename":"1f919"},{"aliases":["muscle"],"filename":"1f4aa"},{"aliases":["middle_finger","fu"],"filename":"1f595"},{"aliases":["writing_hand"],"filename":"270d-fe0f"},{"aliases":["selfie"],"filename":"1f933"},{"aliases":["nail_care"],"filename":"1f485"},{"aliases":["ring"],"filename":"1f48d"},{"aliases":["lipstick"],"filename":"1f484"},{"aliases":["kiss"],"filename":"1f48b"},{"aliases":["lips"],"filename":"1f444"},{"aliases":["tongue"],"filename":"1f445"},{"aliases":["ear"],"filename":"1f442"},{"aliases":["nose"],"filename":"1f443"},{"aliases":["footprints"],"filename":"1f463"},{"aliases":["eye"],"filename":"1f441"},{"aliases":["eyes"],"filename":"1f440"},{"aliases":["speaking_head"],"filename":"1f5e3"},{"aliases":["bust_in_silhouette"],"filename":"1f464"},{"aliases":["busts_in_silhouette"],"filename":"1f465"},{"aliases":["baby"],"filename":"1f476"},{"aliases":["boy"],"filename":"1f466"},{"aliases":["girl"],"filename":"1f467"},{"aliases":["man"],"filename":"1f468"},{"aliases":["woman"],"filename":"1f469"},{"aliases":["blonde_woman"],"filename":"1f471-200d-2640-fe0f"},{"aliases":["blonde_man","person_with_blond_hair"],"filename":"1f471"},{"aliases":["older_man"],"filename":"1f474"},{"aliases":["older_woman"],"filename":"1f475"},{"aliases":["man_with_gua_pi_mao"],"filename":"1f472"},{"aliases":["woman_with_turban"],"filename":"1f473-200d-2640-fe0f"},{"aliases":["man_with_turban"],"filename":"1f473"},{"aliases":["policewoman"],"filename":"1f46e-200d-2640-fe0f"},{"aliases":["policeman","cop"],"filename":"1f46e"},{"aliases":["construction_worker_woman"],"filename":"1f477-200d-2640-fe0f"},{"aliases":["construction_worker_man","construction_worker"],"filename":"1f477"},{"aliases":["guardswoman"],"filename":"1f482-200d-2640-fe0f"},{"aliases":["guardsman"],"filename":"1f482"},{"aliases":["female_detective"],"filename":"1f575-fe0f-200d-2640-fe0f"},{"aliases":["male_detective","detective"],"filename":"1f575-fe0f"},{"aliases":["woman_health_worker"],"filename":"1f469-200d-2695-fe0f"},{"aliases":["man_health_worker"],"filename":"1f468-200d-2695-fe0f"},{"aliases":["woman_farmer"],"filename":"1f469-200d-1f33e"},{"aliases":["man_farmer"],"filename":"1f468-200d-1f33e"},{"aliases":["woman_cook"],"filename":"1f469-200d-1f373"},{"aliases":["man_cook"],"filename":"1f468-200d-1f373"},{"aliases":["woman_student"],"filename":"1f469-200d-1f393"},{"aliases":["man_student"],"filename":"1f468-200d-1f393"},{"aliases":["woman_singer"],"filename":"1f469-200d-1f3a4"},{"aliases":["man_singer"],"filename":"1f468-200d-1f3a4"},{"aliases":["woman_teacher"],"filename":"1f469-200d-1f3eb"},{"aliases":["man_teacher"],"filename":"1f468-200d-1f3eb"},{"aliases":["woman_factory_worker"],"filename":"1f469-200d-1f3ed"},{"aliases":["man_factory_worker"],"filename":"1f468-200d-1f3ed"},{"aliases":["woman_technologist"],"filename":"1f469-200d-1f4bb"},{"aliases":["man_technologist"],"filename":"1f468-200d-1f4bb"},{"aliases":["woman_office_worker"],"filename":"1f469-200d-1f4bc"},{"aliases":["man_office_worker"],"filename":"1f468-200d-1f4bc"},{"aliases":["woman_mechanic"],"filename":"1f469-200d-1f527"},{"aliases":["man_mechanic"],"filename":"1f468-200d-1f527"},{"aliases":["woman_scientist"],"filename":"1f469-200d-1f52c"},{"aliases":["man_scientist"],"filename":"1f468-200d-1f52c"},{"aliases":["woman_artist"],"filename":"1f469-200d-1f3a8"},{"aliases":["man_artist"],"filename":"1f468-200d-1f3a8"},{"aliases":["woman_firefighter"],"filename":"1f469-200d-1f692"},{"aliases":["man_firefighter"],"filename":"1f468-200d-1f692"},{"aliases":["woman_pilot"],"filename":"1f469-200d-2708-fe0f"},{"aliases":["man_pilot"],"filename":"1f468-200d-2708-fe0f"},{"aliases":["woman_astronaut"],"filename":"1f469-200d-1f680"},{"aliases":["man_astronaut"],"filename":"1f468-200d-1f680"},{"aliases":["woman_judge"],"filename":"1f469-200d-2696-fe0f"},{"aliases":["man_judge"],"filename":"1f468-200d-2696-fe0f"},{"aliases":["mrs_claus"],"filename":"1f936"},{"aliases":["santa"],"filename":"1f385"},{"aliases":["princess"],"filename":"1f478"},{"aliases":["prince"],"filename":"1f934"},{"aliases":["bride_with_veil"],"filename":"1f470"},{"aliases":["man_in_tuxedo"],"filename":"1f935"},{"aliases":["angel"],"filename":"1f47c"},{"aliases":["pregnant_woman"],"filename":"1f930"},{"aliases":["bowing_woman"],"filename":"1f647-200d-2640-fe0f"},{"aliases":["bowing_man","bow"],"filename":"1f647"},{"aliases":["tipping_hand_woman","information_desk_person"],"filename":"1f481"},{"aliases":["tipping_hand_man"],"filename":"1f481-200d-2642-fe0f"},{"aliases":["no_good_woman","no_good","ng_woman"],"filename":"1f645"},{"aliases":["no_good_man","ng_man"],"filename":"1f645-200d-2642-fe0f"},{"aliases":["ok_woman"],"filename":"1f646"},{"aliases":["ok_man"],"filename":"1f646-200d-2642-fe0f"},{"aliases":["raising_hand_woman","raising_hand"],"filename":"1f64b"},{"aliases":["raising_hand_man"],"filename":"1f64b-200d-2642-fe0f"},{"aliases":["woman_facepalming"],"filename":"1f926-200d-2640-fe0f"},{"aliases":["man_facepalming"],"filename":"1f926-200d-2642-fe0f"},{"aliases":["woman_shrugging"],"filename":"1f937-200d-2640-fe0f"},{"aliases":["man_shrugging"],"filename":"1f937-200d-2642-fe0f"},{"aliases":["pouting_woman","person_with_pouting_face"],"filename":"1f64e"},{"aliases":["pouting_man"],"filename":"1f64e-200d-2642-fe0f"},{"aliases":["frowning_woman","person_frowning"],"filename":"1f64d"},{"aliases":["frowning_man"],"filename":"1f64d-200d-2642-fe0f"},{"aliases":["haircut_woman","haircut"],"filename":"1f487"},{"aliases":["haircut_man"],"filename":"1f487-200d-2642-fe0f"},{"aliases":["massage_woman","massage"],"filename":"1f486"},{"aliases":["massage_man"],"filename":"1f486-200d-2642-fe0f"},{"aliases":["business_suit_levitating"],"filename":"1f574"},{"aliases":["dancer"],"filename":"1f483"},{"aliases":["man_dancing"],"filename":"1f57a"},{"aliases":["dancing_women","dancers"],"filename":"1f46f"},{"aliases":["dancing_men"],"filename":"1f46f-200d-2642-fe0f"},{"aliases":["walking_woman"],"filename":"1f6b6-200d-2640-fe0f"},{"aliases":["walking_man","walking"],"filename":"1f6b6"},{"aliases":["running_woman"],"filename":"1f3c3-200d-2640-fe0f"},{"aliases":["running_man","runner","running"],"filename":"1f3c3"},{"aliases":["couple"],"filename":"1f46b"},{"aliases":["two_women_holding_hands"],"filename":"1f46d"},{"aliases":["two_men_holding_hands"],"filename":"1f46c"},{"aliases":["couple_with_heart_woman_man","couple_with_heart"],"filename":"1f491"},{"aliases":["couple_with_heart_woman_woman"],"filename":"1f469-200d-2764-fe0f-200d-1f469"},{"aliases":["couple_with_heart_man_man"],"filename":"1f468-200d-2764-fe0f-200d-1f468"},{"aliases":["couplekiss_man_woman"],"filename":"1f48f"},{"aliases":["couplekiss_woman_woman"],"filename":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469"},{"aliases":["couplekiss_man_man"],"filename":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468"},{"aliases":["family_man_woman_boy","family"],"filename":"1f46a"},{"aliases":["family_man_woman_girl"],"filename":"1f468-200d-1f469-200d-1f467"},{"aliases":["family_man_woman_girl_boy"],"filename":"1f468-200d-1f469-200d-1f467-200d-1f466"},{"aliases":["family_man_woman_boy_boy"],"filename":"1f468-200d-1f469-200d-1f466-200d-1f466"},{"aliases":["family_man_woman_girl_girl"],"filename":"1f468-200d-1f469-200d-1f467-200d-1f467"},{"aliases":["family_woman_woman_boy"],"filename":"1f469-200d-1f469-200d-1f466"},{"aliases":["family_woman_woman_girl"],"filename":"1f469-200d-1f469-200d-1f467"},{"aliases":["family_woman_woman_girl_boy"],"filename":"1f469-200d-1f469-200d-1f467-200d-1f466"},{"aliases":["family_woman_woman_boy_boy"],"filename":"1f469-200d-1f469-200d-1f466-200d-1f466"},{"aliases":["family_woman_woman_girl_girl"],"filename":"1f469-200d-1f469-200d-1f467-200d-1f467"},{"aliases":["family_man_man_boy"],"filename":"1f468-200d-1f468-200d-1f466"},{"aliases":["family_man_man_girl"],"filename":"1f468-200d-1f468-200d-1f467"},{"aliases":["family_man_man_girl_boy"],"filename":"1f468-200d-1f468-200d-1f467-200d-1f466"},{"aliases":["family_man_man_boy_boy"],"filename":"1f468-200d-1f468-200d-1f466-200d-1f466"},{"aliases":["family_man_man_girl_girl"],"filename":"1f468-200d-1f468-200d-1f467-200d-1f467"},{"aliases":["family_woman_boy"],"filename":"1f469-200d-1f466"},{"aliases":["family_woman_girl"],"filename":"1f469-200d-1f467"},{"aliases":["family_woman_girl_boy"],"filename":"1f469-200d-1f467-200d-1f466"},{"aliases":["family_woman_boy_boy"],"filename":"1f469-200d-1f466-200d-1f466"},{"aliases":["family_woman_girl_girl"],"filename":"1f469-200d-1f467-200d-1f467"},{"aliases":["family_man_boy"],"filename":"1f468-200d-1f466"},{"aliases":["family_man_girl"],"filename":"1f468-200d-1f467"},{"aliases":["family_man_girl_boy"],"filename":"1f468-200d-1f467-200d-1f466"},{"aliases":["family_man_boy_boy"],"filename":"1f468-200d-1f466-200d-1f466"},{"aliases":["family_man_girl_girl"],"filename":"1f468-200d-1f467-200d-1f467"},{"aliases":["womans_clothes"],"filename":"1f45a"},{"aliases":["shirt","tshirt"],"filename":"1f455"},{"aliases":["jeans"],"filename":"1f456"},{"aliases":["necktie"],"filename":"1f454"},{"aliases":["dress"],"filename":"1f457"},{"aliases":["bikini"],"filename":"1f459"},{"aliases":["kimono"],"filename":"1f458"},{"aliases":["high_heel"],"filename":"1f460"},{"aliases":["sandal"],"filename":"1f461"},{"aliases":["boot"],"filename":"1f462"},{"aliases":["mans_shoe","shoe"],"filename":"1f45e"},{"aliases":["athletic_shoe"],"filename":"1f45f"},{"aliases":["womans_hat"],"filename":"1f452"},{"aliases":["tophat"],"filename":"1f3a9"},{"aliases":["mortar_board"],"filename":"1f393"},{"aliases":["crown"],"filename":"1f451"},{"aliases":["rescue_worker_helmet"],"filename":"26d1"},{"aliases":["school_satchel"],"filename":"1f392"},{"aliases":["pouch"],"filename":"1f45d"},{"aliases":["purse"],"filename":"1f45b"},{"aliases":["handbag"],"filename":"1f45c"},{"aliases":["briefcase"],"filename":"1f4bc"},{"aliases":["eyeglasses"],"filename":"1f453"},{"aliases":["dark_sunglasses"],"filename":"1f576"},{"aliases":["closed_umbrella"],"filename":"1f302"},{"aliases":["open_umbrella"],"filename":"2602-fe0f"},{"aliases":["dog"],"filename":"1f436"},{"aliases":["cat"],"filename":"1f431"},{"aliases":["mouse"],"filename":"1f42d"},{"aliases":["hamster"],"filename":"1f439"},{"aliases":["rabbit"],"filename":"1f430"},{"aliases":["fox_face"],"filename":"1f98a"},{"aliases":["bear"],"filename":"1f43b"},{"aliases":["panda_face"],"filename":"1f43c"},{"aliases":["koala"],"filename":"1f428"},{"aliases":["tiger"],"filename":"1f42f"},{"aliases":["lion"],"filename":"1f981"},{"aliases":["cow"],"filename":"1f42e"},{"aliases":["pig"],"filename":"1f437"},{"aliases":["pig_nose"],"filename":"1f43d"},{"aliases":["frog"],"filename":"1f438"},{"aliases":["monkey_face"],"filename":"1f435"},{"aliases":["see_no_evil"],"filename":"1f648"},{"aliases":["hear_no_evil"],"filename":"1f649"},{"aliases":["speak_no_evil"],"filename":"1f64a"},{"aliases":["monkey"],"filename":"1f412"},{"aliases":["chicken"],"filename":"1f414"},{"aliases":["penguin"],"filename":"1f427"},{"aliases":["bird"],"filename":"1f426"},{"aliases":["baby_chick"],"filename":"1f424"},{"aliases":["hatching_chick"],"filename":"1f423"},{"aliases":["hatched_chick"],"filename":"1f425"},{"aliases":["duck"],"filename":"1f986"},{"aliases":["eagle"],"filename":"1f985"},{"aliases":["owl"],"filename":"1f989"},{"aliases":["bat"],"filename":"1f987"},{"aliases":["wolf"],"filename":"1f43a"},{"aliases":["boar"],"filename":"1f417"},{"aliases":["horse"],"filename":"1f434"},{"aliases":["unicorn"],"filename":"1f984"},{"aliases":["bee","honeybee"],"filename":"1f41d"},{"aliases":["bug"],"filename":"1f41b"},{"aliases":["butterfly"],"filename":"1f98b"},{"aliases":["snail"],"filename":"1f40c"},{"aliases":["shell"],"filename":"1f41a"},{"aliases":["beetle"],"filename":"1f41e"},{"aliases":["ant"],"filename":"1f41c"},{"aliases":["spider"],"filename":"1f577"},{"aliases":["spider_web"],"filename":"1f578"},{"aliases":["turtle"],"filename":"1f422"},{"aliases":["snake"],"filename":"1f40d"},{"aliases":["lizard"],"filename":"1f98e"},{"aliases":["scorpion"],"filename":"1f982"},{"aliases":["crab"],"filename":"1f980"},{"aliases":["squid"],"filename":"1f991"},{"aliases":["octopus"],"filename":"1f419"},{"aliases":["shrimp"],"filename":"1f990"},{"aliases":["tropical_fish"],"filename":"1f420"},{"aliases":["fish"],"filename":"1f41f"},{"aliases":["blowfish"],"filename":"1f421"},{"aliases":["dolphin","flipper"],"filename":"1f42c"},{"aliases":["shark"],"filename":"1f988"},{"aliases":["whale"],"filename":"1f433"},{"aliases":["whale2"],"filename":"1f40b"},{"aliases":["crocodile"],"filename":"1f40a"},{"aliases":["leopard"],"filename":"1f406"},{"aliases":["tiger2"],"filename":"1f405"},{"aliases":["water_buffalo"],"filename":"1f403"},{"aliases":["ox"],"filename":"1f402"},{"aliases":["cow2"],"filename":"1f404"},{"aliases":["deer"],"filename":"1f98c"},{"aliases":["dromedary_camel"],"filename":"1f42a"},{"aliases":["camel"],"filename":"1f42b"},{"aliases":["elephant"],"filename":"1f418"},{"aliases":["rhinoceros"],"filename":"1f98f"},{"aliases":["gorilla"],"filename":"1f98d"},{"aliases":["racehorse"],"filename":"1f40e"},{"aliases":["pig2"],"filename":"1f416"},{"aliases":["goat"],"filename":"1f410"},{"aliases":["ram"],"filename":"1f40f"},{"aliases":["sheep"],"filename":"1f411"},{"aliases":["dog2"],"filename":"1f415"},{"aliases":["poodle"],"filename":"1f429"},{"aliases":["cat2"],"filename":"1f408"},{"aliases":["rooster"],"filename":"1f413"},{"aliases":["turkey"],"filename":"1f983"},{"aliases":["dove"],"filename":"1f54a"},{"aliases":["rabbit2"],"filename":"1f407"},{"aliases":["mouse2"],"filename":"1f401"},{"aliases":["rat"],"filename":"1f400"},{"aliases":["chipmunk"],"filename":"1f43f"},{"aliases":["feet","paw_prints"],"filename":"1f43e"},{"aliases":["dragon"],"filename":"1f409"},{"aliases":["dragon_face"],"filename":"1f432"},{"aliases":["cactus"],"filename":"1f335"},{"aliases":["christmas_tree"],"filename":"1f384"},{"aliases":["evergreen_tree"],"filename":"1f332"},{"aliases":["deciduous_tree"],"filename":"1f333"},{"aliases":["palm_tree"],"filename":"1f334"},{"aliases":["seedling"],"filename":"1f331"},{"aliases":["herb"],"filename":"1f33f"},{"aliases":["shamrock"],"filename":"2618-fe0f"},{"aliases":["four_leaf_clover"],"filename":"1f340"},{"aliases":["bamboo"],"filename":"1f38d"},{"aliases":["tanabata_tree"],"filename":"1f38b"},{"aliases":["leaves"],"filename":"1f343"},{"aliases":["fallen_leaf"],"filename":"1f342"},{"aliases":["maple_leaf"],"filename":"1f341"},{"aliases":["mushroom"],"filename":"1f344"},{"aliases":["ear_of_rice"],"filename":"1f33e"},{"aliases":["bouquet"],"filename":"1f490"},{"aliases":["tulip"],"filename":"1f337"},{"aliases":["rose"],"filename":"1f339"},{"aliases":["wilted_flower"],"filename":"1f940"},{"aliases":["sunflower"],"filename":"1f33b"},{"aliases":["blossom"],"filename":"1f33c"},{"aliases":["cherry_blossom"],"filename":"1f338"},{"aliases":["hibiscus"],"filename":"1f33a"},{"aliases":["earth_americas"],"filename":"1f30e"},{"aliases":["earth_africa"],"filename":"1f30d"},{"aliases":["earth_asia"],"filename":"1f30f"},{"aliases":["full_moon"],"filename":"1f315"},{"aliases":["waning_gibbous_moon"],"filename":"1f316"},{"aliases":["last_quarter_moon"],"filename":"1f317"},{"aliases":["waning_crescent_moon"],"filename":"1f318"},{"aliases":["new_moon"],"filename":"1f311"},{"aliases":["waxing_crescent_moon"],"filename":"1f312"},{"aliases":["first_quarter_moon"],"filename":"1f313"},{"aliases":["moon","waxing_gibbous_moon"],"filename":"1f314"},{"aliases":["new_moon_with_face"],"filename":"1f31a"},{"aliases":["full_moon_with_face"],"filename":"1f31d"},{"aliases":["sun_with_face"],"filename":"1f31e"},{"aliases":["first_quarter_moon_with_face"],"filename":"1f31b"},{"aliases":["last_quarter_moon_with_face"],"filename":"1f31c"},{"aliases":["crescent_moon"],"filename":"1f319"},{"aliases":["dizzy"],"filename":"1f4ab"},{"aliases":["star"],"filename":"2b50-fe0f"},{"aliases":["star2"],"filename":"1f31f"},{"aliases":["sparkles"],"filename":"2728"},{"aliases":["zap"],"filename":"26a1-fe0f"},{"aliases":["fire"],"filename":"1f525"},{"aliases":["boom","collision"],"filename":"1f4a5"},{"aliases":["comet"],"filename":"2604-fe0f"},{"aliases":["sunny"],"filename":"2600-fe0f"},{"aliases":["sun_behind_small_cloud"],"filename":"1f324"},{"aliases":["partly_sunny"],"filename":"26c5-fe0f"},{"aliases":["sun_behind_large_cloud"],"filename":"1f325"},{"aliases":["sun_behind_rain_cloud"],"filename":"1f326"},{"aliases":["rainbow"],"filename":"1f308"},{"aliases":["cloud"],"filename":"2601-fe0f"},{"aliases":["cloud_with_rain"],"filename":"1f327"},{"aliases":["cloud_with_lightning_and_rain"],"filename":"26c8"},{"aliases":["cloud_with_lightning"],"filename":"1f329"},{"aliases":["cloud_with_snow"],"filename":"1f328"},{"aliases":["snowman_with_snow"],"filename":"2603-fe0f"},{"aliases":["snowman"],"filename":"26c4-fe0f"},{"aliases":["snowflake"],"filename":"2744-fe0f"},{"aliases":["wind_face"],"filename":"1f32c"},{"aliases":["dash"],"filename":"1f4a8"},{"aliases":["tornado"],"filename":"1f32a"},{"aliases":["fog"],"filename":"1f32b"},{"aliases":["ocean"],"filename":"1f30a"},{"aliases":["droplet"],"filename":"1f4a7"},{"aliases":["sweat_drops"],"filename":"1f4a6"},{"aliases":["umbrella"],"filename":"2614-fe0f"},{"aliases":["green_apple"],"filename":"1f34f"},{"aliases":["apple"],"filename":"1f34e"},{"aliases":["pear"],"filename":"1f350"},{"aliases":["tangerine","orange","mandarin"],"filename":"1f34a"},{"aliases":["lemon"],"filename":"1f34b"},{"aliases":["banana"],"filename":"1f34c"},{"aliases":["watermelon"],"filename":"1f349"},{"aliases":["grapes"],"filename":"1f347"},{"aliases":["strawberry"],"filename":"1f353"},{"aliases":["melon"],"filename":"1f348"},{"aliases":["cherries"],"filename":"1f352"},{"aliases":["peach"],"filename":"1f351"},{"aliases":["pineapple"],"filename":"1f34d"},{"aliases":["kiwi_fruit"],"filename":"1f95d"},{"aliases":["avocado"],"filename":"1f951"},{"aliases":["tomato"],"filename":"1f345"},{"aliases":["eggplant"],"filename":"1f346"},{"aliases":["cucumber"],"filename":"1f952"},{"aliases":["carrot"],"filename":"1f955"},{"aliases":["corn"],"filename":"1f33d"},{"aliases":["hot_pepper"],"filename":"1f336"},{"aliases":["potato"],"filename":"1f954"},{"aliases":["sweet_potato"],"filename":"1f360"},{"aliases":["chestnut"],"filename":"1f330"},{"aliases":["peanuts"],"filename":"1f95c"},{"aliases":["honey_pot"],"filename":"1f36f"},{"aliases":["croissant"],"filename":"1f950"},{"aliases":["bread"],"filename":"1f35e"},{"aliases":["baguette_bread"],"filename":"1f956"},{"aliases":["cheese"],"filename":"1f9c0"},{"aliases":["egg"],"filename":"1f95a"},{"aliases":["fried_egg"],"filename":"1f373"},{"aliases":["bacon"],"filename":"1f953"},{"aliases":["pancakes"],"filename":"1f95e"},{"aliases":["fried_shrimp"],"filename":"1f364"},{"aliases":["poultry_leg"],"filename":"1f357"},{"aliases":["meat_on_bone"],"filename":"1f356"},{"aliases":["pizza"],"filename":"1f355"},{"aliases":["hotdog"],"filename":"1f32d"},{"aliases":["hamburger"],"filename":"1f354"},{"aliases":["fries"],"filename":"1f35f"},{"aliases":["stuffed_flatbread"],"filename":"1f959"},{"aliases":["taco"],"filename":"1f32e"},{"aliases":["burrito"],"filename":"1f32f"},{"aliases":["green_salad"],"filename":"1f957"},{"aliases":["shallow_pan_of_food"],"filename":"1f958"},{"aliases":["spaghetti"],"filename":"1f35d"},{"aliases":["ramen"],"filename":"1f35c"},{"aliases":["stew"],"filename":"1f372"},{"aliases":["fish_cake"],"filename":"1f365"},{"aliases":["sushi"],"filename":"1f363"},{"aliases":["bento"],"filename":"1f371"},{"aliases":["curry"],"filename":"1f35b"},{"aliases":["rice"],"filename":"1f35a"},{"aliases":["rice_ball"],"filename":"1f359"},{"aliases":["rice_cracker"],"filename":"1f358"},{"aliases":["oden"],"filename":"1f362"},{"aliases":["dango"],"filename":"1f361"},{"aliases":["shaved_ice"],"filename":"1f367"},{"aliases":["ice_cream"],"filename":"1f368"},{"aliases":["icecream"],"filename":"1f366"},{"aliases":["cake"],"filename":"1f370"},{"aliases":["birthday"],"filename":"1f382"},{"aliases":["custard"],"filename":"1f36e"},{"aliases":["lollipop"],"filename":"1f36d"},{"aliases":["candy"],"filename":"1f36c"},{"aliases":["chocolate_bar"],"filename":"1f36b"},{"aliases":["popcorn"],"filename":"1f37f"},{"aliases":["doughnut"],"filename":"1f369"},{"aliases":["cookie"],"filename":"1f36a"},{"aliases":["milk_glass"],"filename":"1f95b"},{"aliases":["baby_bottle"],"filename":"1f37c"},{"aliases":["coffee"],"filename":"2615-fe0f"},{"aliases":["tea"],"filename":"1f375"},{"aliases":["sake"],"filename":"1f376"},{"aliases":["beer"],"filename":"1f37a"},{"aliases":["beers"],"filename":"1f37b"},{"aliases":["clinking_glasses"],"filename":"1f942"},{"aliases":["wine_glass"],"filename":"1f377"},{"aliases":["tumbler_glass"],"filename":"1f943"},{"aliases":["cocktail"],"filename":"1f378"},{"aliases":["tropical_drink"],"filename":"1f379"},{"aliases":["champagne"],"filename":"1f37e"},{"aliases":["spoon"],"filename":"1f944"},{"aliases":["fork_and_knife"],"filename":"1f374"},{"aliases":["plate_with_cutlery"],"filename":"1f37d"},{"aliases":["soccer"],"filename":"26bd-fe0f"},{"aliases":["basketball"],"filename":"1f3c0"},{"aliases":["football"],"filename":"1f3c8"},{"aliases":["baseball"],"filename":"26be-fe0f"},{"aliases":["tennis"],"filename":"1f3be"},{"aliases":["volleyball"],"filename":"1f3d0"},{"aliases":["rugby_football"],"filename":"1f3c9"},{"aliases":["8ball"],"filename":"1f3b1"},{"aliases":["ping_pong"],"filename":"1f3d3"},{"aliases":["badminton"],"filename":"1f3f8"},{"aliases":["goal_net"],"filename":"1f945"},{"aliases":["ice_hockey"],"filename":"1f3d2"},{"aliases":["field_hockey"],"filename":"1f3d1"},{"aliases":["cricket"],"filename":"1f3cf"},{"aliases":["golf"],"filename":"26f3-fe0f"},{"aliases":["bow_and_arrow"],"filename":"1f3f9"},{"aliases":["fishing_pole_and_fish"],"filename":"1f3a3"},{"aliases":["boxing_glove"],"filename":"1f94a"},{"aliases":["martial_arts_uniform"],"filename":"1f94b"},{"aliases":["ice_skate"],"filename":"26f8"},{"aliases":["ski"],"filename":"1f3bf"},{"aliases":["skier"],"filename":"26f7"},{"aliases":["snowboarder"],"filename":"1f3c2"},{"aliases":["weight_lifting_woman"],"filename":"1f3cb-fe0f-200d-2640-fe0f"},{"aliases":["weight_lifting_man"],"filename":"1f3cb-fe0f"},{"aliases":["person_fencing"],"filename":"1f93a"},{"aliases":["women_wrestling"],"filename":"1f93c-200d-2640-fe0f"},{"aliases":["men_wrestling"],"filename":"1f93c-200d-2642-fe0f"},{"aliases":["woman_cartwheeling"],"filename":"1f938-200d-2640-fe0f"},{"aliases":["man_cartwheeling"],"filename":"1f938-200d-2642-fe0f"},{"aliases":["basketball_woman"],"filename":"26f9-fe0f-200d-2640-fe0f"},{"aliases":["basketball_man"],"filename":"26f9-fe0f"},{"aliases":["woman_playing_handball"],"filename":"1f93e-200d-2640-fe0f"},{"aliases":["man_playing_handball"],"filename":"1f93e-200d-2642-fe0f"},{"aliases":["golfing_woman"],"filename":"1f3cc-fe0f-200d-2640-fe0f"},{"aliases":["golfing_man"],"filename":"1f3cc-fe0f"},{"aliases":["surfing_woman"],"filename":"1f3c4-200d-2640-fe0f"},{"aliases":["surfing_man","surfer"],"filename":"1f3c4"},{"aliases":["swimming_woman"],"filename":"1f3ca-200d-2640-fe0f"},{"aliases":["swimming_man","swimmer"],"filename":"1f3ca"},{"aliases":["woman_playing_water_polo"],"filename":"1f93d-200d-2640-fe0f"},{"aliases":["man_playing_water_polo"],"filename":"1f93d-200d-2642-fe0f"},{"aliases":["rowing_woman"],"filename":"1f6a3-200d-2640-fe0f"},{"aliases":["rowing_man","rowboat"],"filename":"1f6a3"},{"aliases":["horse_racing"],"filename":"1f3c7"},{"aliases":["biking_woman"],"filename":"1f6b4-200d-2640-fe0f"},{"aliases":["biking_man","bicyclist"],"filename":"1f6b4"},{"aliases":["mountain_biking_woman"],"filename":"1f6b5-200d-2640-fe0f"},{"aliases":["mountain_biking_man","mountain_bicyclist"],"filename":"1f6b5"},{"aliases":["running_shirt_with_sash"],"filename":"1f3bd"},{"aliases":["medal_sports"],"filename":"1f3c5"},{"aliases":["medal_military"],"filename":"1f396"},{"aliases":["1st_place_medal"],"filename":"1f947"},{"aliases":["2nd_place_medal"],"filename":"1f948"},{"aliases":["3rd_place_medal"],"filename":"1f949"},{"aliases":["trophy"],"filename":"1f3c6"},{"aliases":["rosette"],"filename":"1f3f5"},{"aliases":["reminder_ribbon"],"filename":"1f397"},{"aliases":["ticket"],"filename":"1f3ab"},{"aliases":["tickets"],"filename":"1f39f"},{"aliases":["circus_tent"],"filename":"1f3aa"},{"aliases":["woman_juggling"],"filename":"1f939-200d-2640-fe0f"},{"aliases":["man_juggling"],"filename":"1f939-200d-2642-fe0f"},{"aliases":["performing_arts"],"filename":"1f3ad"},{"aliases":["art"],"filename":"1f3a8"},{"aliases":["clapper"],"filename":"1f3ac"},{"aliases":["microphone"],"filename":"1f3a4"},{"aliases":["headphones"],"filename":"1f3a7"},{"aliases":["musical_score"],"filename":"1f3bc"},{"aliases":["musical_keyboard"],"filename":"1f3b9"},{"aliases":["drum"],"filename":"1f941"},{"aliases":["saxophone"],"filename":"1f3b7"},{"aliases":["trumpet"],"filename":"1f3ba"},{"aliases":["guitar"],"filename":"1f3b8"},{"aliases":["violin"],"filename":"1f3bb"},{"aliases":["game_die"],"filename":"1f3b2"},{"aliases":["dart"],"filename":"1f3af"},{"aliases":["bowling"],"filename":"1f3b3"},{"aliases":["video_game"],"filename":"1f3ae"},{"aliases":["slot_machine"],"filename":"1f3b0"},{"aliases":["car","red_car"],"filename":"1f697"},{"aliases":["taxi"],"filename":"1f695"},{"aliases":["blue_car"],"filename":"1f699"},{"aliases":["bus"],"filename":"1f68c"},{"aliases":["trolleybus"],"filename":"1f68e"},{"aliases":["racing_car"],"filename":"1f3ce"},{"aliases":["police_car"],"filename":"1f693"},{"aliases":["ambulance"],"filename":"1f691"},{"aliases":["fire_engine"],"filename":"1f692"},{"aliases":["minibus"],"filename":"1f690"},{"aliases":["truck"],"filename":"1f69a"},{"aliases":["articulated_lorry"],"filename":"1f69b"},{"aliases":["tractor"],"filename":"1f69c"},{"aliases":["kick_scooter"],"filename":"1f6f4"},{"aliases":["bike"],"filename":"1f6b2"},{"aliases":["motor_scooter"],"filename":"1f6f5"},{"aliases":["motorcycle"],"filename":"1f3cd"},{"aliases":["rotating_light"],"filename":"1f6a8"},{"aliases":["oncoming_police_car"],"filename":"1f694"},{"aliases":["oncoming_bus"],"filename":"1f68d"},{"aliases":["oncoming_automobile"],"filename":"1f698"},{"aliases":["oncoming_taxi"],"filename":"1f696"},{"aliases":["aerial_tramway"],"filename":"1f6a1"},{"aliases":["mountain_cableway"],"filename":"1f6a0"},{"aliases":["suspension_railway"],"filename":"1f69f"},{"aliases":["railway_car"],"filename":"1f683"},{"aliases":["train"],"filename":"1f68b"},{"aliases":["mountain_railway"],"filename":"1f69e"},{"aliases":["monorail"],"filename":"1f69d"},{"aliases":["bullettrain_side"],"filename":"1f684"},{"aliases":["bullettrain_front"],"filename":"1f685"},{"aliases":["light_rail"],"filename":"1f688"},{"aliases":["steam_locomotive"],"filename":"1f682"},{"aliases":["train2"],"filename":"1f686"},{"aliases":["metro"],"filename":"1f687"},{"aliases":["tram"],"filename":"1f68a"},{"aliases":["station"],"filename":"1f689"},{"aliases":["helicopter"],"filename":"1f681"},{"aliases":["small_airplane"],"filename":"1f6e9"},{"aliases":["airplane"],"filename":"2708-fe0f"},{"aliases":["flight_departure"],"filename":"1f6eb"},{"aliases":["flight_arrival"],"filename":"1f6ec"},{"aliases":["rocket"],"filename":"1f680"},{"aliases":["artificial_satellite"],"filename":"1f6f0"},{"aliases":["seat"],"filename":"1f4ba"},{"aliases":["canoe"],"filename":"1f6f6"},{"aliases":["boat","sailboat"],"filename":"26f5-fe0f"},{"aliases":["motor_boat"],"filename":"1f6e5"},{"aliases":["speedboat"],"filename":"1f6a4"},{"aliases":["passenger_ship"],"filename":"1f6f3"},{"aliases":["ferry"],"filename":"26f4"},{"aliases":["ship"],"filename":"1f6a2"},{"aliases":["anchor"],"filename":"2693-fe0f"},{"aliases":["construction"],"filename":"1f6a7"},{"aliases":["fuelpump"],"filename":"26fd-fe0f"},{"aliases":["busstop"],"filename":"1f68f"},{"aliases":["vertical_traffic_light"],"filename":"1f6a6"},{"aliases":["traffic_light"],"filename":"1f6a5"},{"aliases":["world_map"],"filename":"1f5fa"},{"aliases":["moyai"],"filename":"1f5ff"},{"aliases":["statue_of_liberty"],"filename":"1f5fd"},{"aliases":["fountain"],"filename":"26f2-fe0f"},{"aliases":["tokyo_tower"],"filename":"1f5fc"},{"aliases":["european_castle"],"filename":"1f3f0"},{"aliases":["japanese_castle"],"filename":"1f3ef"},{"aliases":["stadium"],"filename":"1f3df"},{"aliases":["ferris_wheel"],"filename":"1f3a1"},{"aliases":["roller_coaster"],"filename":"1f3a2"},{"aliases":["carousel_horse"],"filename":"1f3a0"},{"aliases":["parasol_on_ground"],"filename":"26f1"},{"aliases":["beach_umbrella"],"filename":"1f3d6"},{"aliases":["desert_island"],"filename":"1f3dd"},{"aliases":["mountain"],"filename":"26f0"},{"aliases":["mountain_snow"],"filename":"1f3d4"},{"aliases":["mount_fuji"],"filename":"1f5fb"},{"aliases":["volcano"],"filename":"1f30b"},{"aliases":["desert"],"filename":"1f3dc"},{"aliases":["camping"],"filename":"1f3d5"},{"aliases":["tent"],"filename":"26fa-fe0f"},{"aliases":["railway_track"],"filename":"1f6e4"},{"aliases":["motorway"],"filename":"1f6e3"},{"aliases":["building_construction"],"filename":"1f3d7"},{"aliases":["factory"],"filename":"1f3ed"},{"aliases":["house"],"filename":"1f3e0"},{"aliases":["house_with_garden"],"filename":"1f3e1"},{"aliases":["houses"],"filename":"1f3d8"},{"aliases":["derelict_house"],"filename":"1f3da"},{"aliases":["office"],"filename":"1f3e2"},{"aliases":["department_store"],"filename":"1f3ec"},{"aliases":["post_office"],"filename":"1f3e3"},{"aliases":["european_post_office"],"filename":"1f3e4"},{"aliases":["hospital"],"filename":"1f3e5"},{"aliases":["bank"],"filename":"1f3e6"},{"aliases":["hotel"],"filename":"1f3e8"},{"aliases":["convenience_store"],"filename":"1f3ea"},{"aliases":["school"],"filename":"1f3eb"},{"aliases":["love_hotel"],"filename":"1f3e9"},{"aliases":["wedding"],"filename":"1f492"},{"aliases":["classical_building"],"filename":"1f3db"},{"aliases":["church"],"filename":"26ea-fe0f"},{"aliases":["mosque"],"filename":"1f54c"},{"aliases":["synagogue"],"filename":"1f54d"},{"aliases":["kaaba"],"filename":"1f54b"},{"aliases":["shinto_shrine"],"filename":"26e9"},{"aliases":["japan"],"filename":"1f5fe"},{"aliases":["rice_scene"],"filename":"1f391"},{"aliases":["national_park"],"filename":"1f3de"},{"aliases":["sunrise"],"filename":"1f305"},{"aliases":["sunrise_over_mountains"],"filename":"1f304"},{"aliases":["stars"],"filename":"1f320"},{"aliases":["sparkler"],"filename":"1f387"},{"aliases":["fireworks"],"filename":"1f386"},{"aliases":["city_sunrise"],"filename":"1f307"},{"aliases":["city_sunset"],"filename":"1f306"},{"aliases":["cityscape"],"filename":"1f3d9"},{"aliases":["night_with_stars"],"filename":"1f303"},{"aliases":["milky_way"],"filename":"1f30c"},{"aliases":["bridge_at_night"],"filename":"1f309"},{"aliases":["foggy"],"filename":"1f301"},{"aliases":["watch"],"filename":"231a-fe0f"},{"aliases":["iphone"],"filename":"1f4f1"},{"aliases":["calling"],"filename":"1f4f2"},{"aliases":["computer"],"filename":"1f4bb"},{"aliases":["keyboard"],"filename":"2328-fe0f"},{"aliases":["desktop_computer"],"filename":"1f5a5"},{"aliases":["printer"],"filename":"1f5a8"},{"aliases":["computer_mouse"],"filename":"1f5b1"},{"aliases":["trackball"],"filename":"1f5b2"},{"aliases":["joystick"],"filename":"1f579"},{"aliases":["clamp"],"filename":"1f5dc"},{"aliases":["minidisc"],"filename":"1f4bd"},{"aliases":["floppy_disk"],"filename":"1f4be"},{"aliases":["cd"],"filename":"1f4bf"},{"aliases":["dvd"],"filename":"1f4c0"},{"aliases":["vhs"],"filename":"1f4fc"},{"aliases":["camera"],"filename":"1f4f7"},{"aliases":["camera_flash"],"filename":"1f4f8"},{"aliases":["video_camera"],"filename":"1f4f9"},{"aliases":["movie_camera"],"filename":"1f3a5"},{"aliases":["film_projector"],"filename":"1f4fd"},{"aliases":["film_strip"],"filename":"1f39e"},{"aliases":["telephone_receiver"],"filename":"1f4de"},{"aliases":["phone","telephone"],"filename":"260e-fe0f"},{"aliases":["pager"],"filename":"1f4df"},{"aliases":["fax"],"filename":"1f4e0"},{"aliases":["tv"],"filename":"1f4fa"},{"aliases":["radio"],"filename":"1f4fb"},{"aliases":["studio_microphone"],"filename":"1f399"},{"aliases":["level_slider"],"filename":"1f39a"},{"aliases":["control_knobs"],"filename":"1f39b"},{"aliases":["stopwatch"],"filename":"23f1"},{"aliases":["timer_clock"],"filename":"23f2"},{"aliases":["alarm_clock"],"filename":"23f0"},{"aliases":["mantelpiece_clock"],"filename":"1f570"},{"aliases":["hourglass"],"filename":"231b-fe0f"},{"aliases":["hourglass_flowing_sand"],"filename":"23f3"},{"aliases":["satellite"],"filename":"1f4e1"},{"aliases":["battery"],"filename":"1f50b"},{"aliases":["electric_plug"],"filename":"1f50c"},{"aliases":["bulb"],"filename":"1f4a1"},{"aliases":["flashlight"],"filename":"1f526"},{"aliases":["candle"],"filename":"1f56f"},{"aliases":["wastebasket"],"filename":"1f5d1"},{"aliases":["oil_drum"],"filename":"1f6e2"},{"aliases":["money_with_wings"],"filename":"1f4b8"},{"aliases":["dollar"],"filename":"1f4b5"},{"aliases":["yen"],"filename":"1f4b4"},{"aliases":["euro"],"filename":"1f4b6"},{"aliases":["pound"],"filename":"1f4b7"},{"aliases":["moneybag"],"filename":"1f4b0"},{"aliases":["credit_card"],"filename":"1f4b3"},{"aliases":["gem"],"filename":"1f48e"},{"aliases":["balance_scale"],"filename":"2696-fe0f"},{"aliases":["wrench"],"filename":"1f527"},{"aliases":["hammer"],"filename":"1f528"},{"aliases":["hammer_and_pick"],"filename":"2692"},{"aliases":["hammer_and_wrench"],"filename":"1f6e0"},{"aliases":["pick"],"filename":"26cf"},{"aliases":["nut_and_bolt"],"filename":"1f529"},{"aliases":["gear"],"filename":"2699-fe0f"},{"aliases":["chains"],"filename":"26d3"},{"aliases":["gun"],"filename":"1f52b"},{"aliases":["bomb"],"filename":"1f4a3"},{"aliases":["hocho","knife"],"filename":"1f52a"},{"aliases":["dagger"],"filename":"1f5e1"},{"aliases":["crossed_swords"],"filename":"2694-fe0f"},{"aliases":["shield"],"filename":"1f6e1"},{"aliases":["smoking"],"filename":"1f6ac"},{"aliases":["coffin"],"filename":"26b0-fe0f"},{"aliases":["funeral_urn"],"filename":"26b1-fe0f"},{"aliases":["amphora"],"filename":"1f3fa"},{"aliases":["crystal_ball"],"filename":"1f52e"},{"aliases":["prayer_beads"],"filename":"1f4ff"},{"aliases":["barber"],"filename":"1f488"},{"aliases":["alembic"],"filename":"2697-fe0f"},{"aliases":["telescope"],"filename":"1f52d"},{"aliases":["microscope"],"filename":"1f52c"},{"aliases":["hole"],"filename":"1f573"},{"aliases":["pill"],"filename":"1f48a"},{"aliases":["syringe"],"filename":"1f489"},{"aliases":["thermometer"],"filename":"1f321"},{"aliases":["toilet"],"filename":"1f6bd"},{"aliases":["potable_water"],"filename":"1f6b0"},{"aliases":["shower"],"filename":"1f6bf"},{"aliases":["bathtub"],"filename":"1f6c1"},{"aliases":["bath"],"filename":"1f6c0"},{"aliases":["bellhop_bell"],"filename":"1f6ce"},{"aliases":["key"],"filename":"1f511"},{"aliases":["old_key"],"filename":"1f5dd"},{"aliases":["door"],"filename":"1f6aa"},{"aliases":["couch_and_lamp"],"filename":"1f6cb"},{"aliases":["bed"],"filename":"1f6cf"},{"aliases":["sleeping_bed"],"filename":"1f6cc"},{"aliases":["framed_picture"],"filename":"1f5bc"},{"aliases":["shopping"],"filename":"1f6cd"},{"aliases":["shopping_cart"],"filename":"1f6d2"},{"aliases":["gift"],"filename":"1f381"},{"aliases":["balloon"],"filename":"1f388"},{"aliases":["flags"],"filename":"1f38f"},{"aliases":["ribbon"],"filename":"1f380"},{"aliases":["confetti_ball"],"filename":"1f38a"},{"aliases":["tada"],"filename":"1f389"},{"aliases":["dolls"],"filename":"1f38e"},{"aliases":["izakaya_lantern","lantern"],"filename":"1f3ee"},{"aliases":["wind_chime"],"filename":"1f390"},{"aliases":["email","envelope"],"filename":"2709-fe0f"},{"aliases":["envelope_with_arrow"],"filename":"1f4e9"},{"aliases":["incoming_envelope"],"filename":"1f4e8"},{"aliases":["e-mail"],"filename":"1f4e7"},{"aliases":["love_letter"],"filename":"1f48c"},{"aliases":["inbox_tray"],"filename":"1f4e5"},{"aliases":["outbox_tray"],"filename":"1f4e4"},{"aliases":["package"],"filename":"1f4e6"},{"aliases":["label"],"filename":"1f3f7"},{"aliases":["mailbox_closed"],"filename":"1f4ea"},{"aliases":["mailbox"],"filename":"1f4eb"},{"aliases":["mailbox_with_mail"],"filename":"1f4ec"},{"aliases":["mailbox_with_no_mail"],"filename":"1f4ed"},{"aliases":["postbox"],"filename":"1f4ee"},{"aliases":["postal_horn"],"filename":"1f4ef"},{"aliases":["scroll"],"filename":"1f4dc"},{"aliases":["page_with_curl"],"filename":"1f4c3"},{"aliases":["page_facing_up"],"filename":"1f4c4"},{"aliases":["bookmark_tabs"],"filename":"1f4d1"},{"aliases":["bar_chart"],"filename":"1f4ca"},{"aliases":["chart_with_upwards_trend"],"filename":"1f4c8"},{"aliases":["chart_with_downwards_trend"],"filename":"1f4c9"},{"aliases":["spiral_notepad"],"filename":"1f5d2"},{"aliases":["spiral_calendar"],"filename":"1f5d3"},{"aliases":["calendar"],"filename":"1f4c6"},{"aliases":["date"],"filename":"1f4c5"},{"aliases":["card_index"],"filename":"1f4c7"},{"aliases":["card_file_box"],"filename":"1f5c3"},{"aliases":["ballot_box"],"filename":"1f5f3"},{"aliases":["file_cabinet"],"filename":"1f5c4"},{"aliases":["clipboard"],"filename":"1f4cb"},{"aliases":["file_folder"],"filename":"1f4c1"},{"aliases":["open_file_folder"],"filename":"1f4c2"},{"aliases":["card_index_dividers"],"filename":"1f5c2"},{"aliases":["newspaper_roll"],"filename":"1f5de"},{"aliases":["newspaper"],"filename":"1f4f0"},{"aliases":["notebook"],"filename":"1f4d3"},{"aliases":["notebook_with_decorative_cover"],"filename":"1f4d4"},{"aliases":["ledger"],"filename":"1f4d2"},{"aliases":["closed_book"],"filename":"1f4d5"},{"aliases":["green_book"],"filename":"1f4d7"},{"aliases":["blue_book"],"filename":"1f4d8"},{"aliases":["orange_book"],"filename":"1f4d9"},{"aliases":["books"],"filename":"1f4da"},{"aliases":["book","open_book"],"filename":"1f4d6"},{"aliases":["bookmark"],"filename":"1f516"},{"aliases":["link"],"filename":"1f517"},{"aliases":["paperclip"],"filename":"1f4ce"},{"aliases":["paperclips"],"filename":"1f587"},{"aliases":["triangular_ruler"],"filename":"1f4d0"},{"aliases":["straight_ruler"],"filename":"1f4cf"},{"aliases":["pushpin"],"filename":"1f4cc"},{"aliases":["round_pushpin"],"filename":"1f4cd"},{"aliases":["scissors"],"filename":"2702-fe0f"},{"aliases":["pen"],"filename":"1f58a"},{"aliases":["fountain_pen"],"filename":"1f58b"},{"aliases":["black_nib"],"filename":"2712-fe0f"},{"aliases":["paintbrush"],"filename":"1f58c"},{"aliases":["crayon"],"filename":"1f58d"},{"aliases":["memo","pencil"],"filename":"1f4dd"},{"aliases":["pencil2"],"filename":"270f-fe0f"},{"aliases":["mag"],"filename":"1f50d"},{"aliases":["mag_right"],"filename":"1f50e"},{"aliases":["lock_with_ink_pen"],"filename":"1f50f"},{"aliases":["closed_lock_with_key"],"filename":"1f510"},{"aliases":["lock"],"filename":"1f512"},{"aliases":["unlock"],"filename":"1f513"},{"aliases":["heart"],"filename":"2764-fe0f"},{"aliases":["yellow_heart"],"filename":"1f49b"},{"aliases":["green_heart"],"filename":"1f49a"},{"aliases":["blue_heart"],"filename":"1f499"},{"aliases":["purple_heart"],"filename":"1f49c"},{"aliases":["black_heart"],"filename":"1f5a4"},{"aliases":["broken_heart"],"filename":"1f494"},{"aliases":["heavy_heart_exclamation"],"filename":"2763-fe0f"},{"aliases":["two_hearts"],"filename":"1f495"},{"aliases":["revolving_hearts"],"filename":"1f49e"},{"aliases":["heartbeat"],"filename":"1f493"},{"aliases":["heartpulse"],"filename":"1f497"},{"aliases":["sparkling_heart"],"filename":"1f496"},{"aliases":["cupid"],"filename":"1f498"},{"aliases":["gift_heart"],"filename":"1f49d"},{"aliases":["heart_decoration"],"filename":"1f49f"},{"aliases":["peace_symbol"],"filename":"262e-fe0f"},{"aliases":["latin_cross"],"filename":"271d-fe0f"},{"aliases":["star_and_crescent"],"filename":"262a-fe0f"},{"aliases":["om"],"filename":"1f549"},{"aliases":["wheel_of_dharma"],"filename":"2638-fe0f"},{"aliases":["star_of_david"],"filename":"2721-fe0f"},{"aliases":["six_pointed_star"],"filename":"1f52f"},{"aliases":["menorah"],"filename":"1f54e"},{"aliases":["yin_yang"],"filename":"262f-fe0f"},{"aliases":["orthodox_cross"],"filename":"2626-fe0f"},{"aliases":["place_of_worship"],"filename":"1f6d0"},{"aliases":["ophiuchus"],"filename":"26ce"},{"aliases":["aries"],"filename":"2648-fe0f"},{"aliases":["taurus"],"filename":"2649-fe0f"},{"aliases":["gemini"],"filename":"264a-fe0f"},{"aliases":["cancer"],"filename":"264b-fe0f"},{"aliases":["leo"],"filename":"264c-fe0f"},{"aliases":["virgo"],"filename":"264d-fe0f"},{"aliases":["libra"],"filename":"264e-fe0f"},{"aliases":["scorpius"],"filename":"264f-fe0f"},{"aliases":["sagittarius"],"filename":"2650-fe0f"},{"aliases":["capricorn"],"filename":"2651-fe0f"},{"aliases":["aquarius"],"filename":"2652-fe0f"},{"aliases":["pisces"],"filename":"2653-fe0f"},{"aliases":["id"],"filename":"1f194"},{"aliases":["atom_symbol"],"filename":"269b-fe0f"},{"aliases":["accept"],"filename":"1f251"},{"aliases":["radioactive"],"filename":"2622-fe0f"},{"aliases":["biohazard"],"filename":"2623-fe0f"},{"aliases":["mobile_phone_off"],"filename":"1f4f4"},{"aliases":["vibration_mode"],"filename":"1f4f3"},{"aliases":["u6709"],"filename":"1f236"},{"aliases":["u7121"],"filename":"1f21a-fe0f"},{"aliases":["u7533"],"filename":"1f238"},{"aliases":["u55b6"],"filename":"1f23a"},{"aliases":["u6708"],"filename":"1f237-fe0f"},{"aliases":["eight_pointed_black_star"],"filename":"2734-fe0f"},{"aliases":["vs"],"filename":"1f19a"},{"aliases":["white_flower"],"filename":"1f4ae"},{"aliases":["ideograph_advantage"],"filename":"1f250"},{"aliases":["secret"],"filename":"3299-fe0f"},{"aliases":["congratulations"],"filename":"3297-fe0f"},{"aliases":["u5408"],"filename":"1f234"},{"aliases":["u6e80"],"filename":"1f235"},{"aliases":["u5272"],"filename":"1f239"},{"aliases":["u7981"],"filename":"1f232"},{"aliases":["a"],"filename":"1f170-fe0f"},{"aliases":["b"],"filename":"1f171-fe0f"},{"aliases":["ab"],"filename":"1f18e"},{"aliases":["cl"],"filename":"1f191"},{"aliases":["o2"],"filename":"1f17e-fe0f"},{"aliases":["sos"],"filename":"1f198"},{"aliases":["x"],"filename":"274c"},{"aliases":["o"],"filename":"2b55-fe0f"},{"aliases":["stop_sign"],"filename":"1f6d1"},{"aliases":["no_entry"],"filename":"26d4-fe0f"},{"aliases":["name_badge"],"filename":"1f4db"},{"aliases":["no_entry_sign"],"filename":"1f6ab"},{"aliases":["100"],"filename":"1f4af"},{"aliases":["anger"],"filename":"1f4a2"},{"aliases":["hotsprings"],"filename":"2668-fe0f"},{"aliases":["no_pedestrians"],"filename":"1f6b7"},{"aliases":["do_not_litter"],"filename":"1f6af"},{"aliases":["no_bicycles"],"filename":"1f6b3"},{"aliases":["non-potable_water"],"filename":"1f6b1"},{"aliases":["underage"],"filename":"1f51e"},{"aliases":["no_mobile_phones"],"filename":"1f4f5"},{"aliases":["no_smoking"],"filename":"1f6ad"},{"aliases":["exclamation","heavy_exclamation_mark"],"filename":"2757-fe0f"},{"aliases":["grey_exclamation"],"filename":"2755"},{"aliases":["question"],"filename":"2753"},{"aliases":["grey_question"],"filename":"2754"},{"aliases":["bangbang"],"filename":"203c-fe0f"},{"aliases":["interrobang"],"filename":"2049-fe0f"},{"aliases":["low_brightness"],"filename":"1f505"},{"aliases":["high_brightness"],"filename":"1f506"},{"aliases":["part_alternation_mark"],"filename":"303d-fe0f"},{"aliases":["warning"],"filename":"26a0-fe0f"},{"aliases":["children_crossing"],"filename":"1f6b8"},{"aliases":["trident"],"filename":"1f531"},{"aliases":["fleur_de_lis"],"filename":"269c-fe0f"},{"aliases":["beginner"],"filename":"1f530"},{"aliases":["recycle"],"filename":"267b-fe0f"},{"aliases":["white_check_mark"],"filename":"2705"},{"aliases":["u6307"],"filename":"1f22f-fe0f"},{"aliases":["chart"],"filename":"1f4b9"},{"aliases":["sparkle"],"filename":"2747-fe0f"},{"aliases":["eight_spoked_asterisk"],"filename":"2733-fe0f"},{"aliases":["negative_squared_cross_mark"],"filename":"274e"},{"aliases":["globe_with_meridians"],"filename":"1f310"},{"aliases":["diamond_shape_with_a_dot_inside"],"filename":"1f4a0"},{"aliases":["m"],"filename":"24c2-fe0f"},{"aliases":["cyclone"],"filename":"1f300"},{"aliases":["zzz"],"filename":"1f4a4"},{"aliases":["atm"],"filename":"1f3e7"},{"aliases":["wc"],"filename":"1f6be"},{"aliases":["wheelchair"],"filename":"267f-fe0f"},{"aliases":["parking"],"filename":"1f17f-fe0f"},{"aliases":["u7a7a"],"filename":"1f233"},{"aliases":["sa"],"filename":"1f202-fe0f"},{"aliases":["passport_control"],"filename":"1f6c2"},{"aliases":["customs"],"filename":"1f6c3"},{"aliases":["baggage_claim"],"filename":"1f6c4"},{"aliases":["left_luggage"],"filename":"1f6c5"},{"aliases":["mens"],"filename":"1f6b9"},{"aliases":["womens"],"filename":"1f6ba"},{"aliases":["baby_symbol"],"filename":"1f6bc"},{"aliases":["restroom"],"filename":"1f6bb"},{"aliases":["put_litter_in_its_place"],"filename":"1f6ae"},{"aliases":["cinema"],"filename":"1f3a6"},{"aliases":["signal_strength"],"filename":"1f4f6"},{"aliases":["koko"],"filename":"1f201"},{"aliases":["symbols"],"filename":"1f523"},{"aliases":["information_source"],"filename":"2139-fe0f"},{"aliases":["abc"],"filename":"1f524"},{"aliases":["abcd"],"filename":"1f521"},{"aliases":["capital_abcd"],"filename":"1f520"},{"aliases":["ng"],"filename":"1f196"},{"aliases":["ok"],"filename":"1f197"},{"aliases":["up"],"filename":"1f199"},{"aliases":["cool"],"filename":"1f192"},{"aliases":["new"],"filename":"1f195"},{"aliases":["free"],"filename":"1f193"},{"aliases":["zero"],"filename":"0030-fe0f-20e3"},{"aliases":["one"],"filename":"0031-fe0f-20e3"},{"aliases":["two"],"filename":"0032-fe0f-20e3"},{"aliases":["three"],"filename":"0033-fe0f-20e3"},{"aliases":["four"],"filename":"0034-fe0f-20e3"},{"aliases":["five"],"filename":"0035-fe0f-20e3"},{"aliases":["six"],"filename":"0036-fe0f-20e3"},{"aliases":["seven"],"filename":"0037-fe0f-20e3"},{"aliases":["eight"],"filename":"0038-fe0f-20e3"},{"aliases":["nine"],"filename":"0039-fe0f-20e3"},{"aliases":["keycap_ten"],"filename":"1f51f"},{"aliases":["1234"],"filename":"1f522"},{"aliases":["hash"],"filename":"0023-fe0f-20e3"},{"aliases":["asterisk"],"filename":"002a-fe0f-20e3"},{"aliases":["arrow_forward"],"filename":"25b6-fe0f"},{"aliases":["pause_button"],"filename":"23f8"},{"aliases":["play_or_pause_button"],"filename":"23ef"},{"aliases":["stop_button"],"filename":"23f9"},{"aliases":["record_button"],"filename":"23fa"},{"aliases":["next_track_button"],"filename":"23ed"},{"aliases":["previous_track_button"],"filename":"23ee"},{"aliases":["fast_forward"],"filename":"23e9"},{"aliases":["rewind"],"filename":"23ea"},{"aliases":["arrow_double_up"],"filename":"23eb"},{"aliases":["arrow_double_down"],"filename":"23ec"},{"aliases":["arrow_backward"],"filename":"25c0-fe0f"},{"aliases":["arrow_up_small"],"filename":"1f53c"},{"aliases":["arrow_down_small"],"filename":"1f53d"},{"aliases":["arrow_right"],"filename":"27a1-fe0f"},{"aliases":["arrow_left"],"filename":"2b05-fe0f"},{"aliases":["arrow_up"],"filename":"2b06-fe0f"},{"aliases":["arrow_down"],"filename":"2b07-fe0f"},{"aliases":["arrow_upper_right"],"filename":"2197-fe0f"},{"aliases":["arrow_lower_right"],"filename":"2198-fe0f"},{"aliases":["arrow_lower_left"],"filename":"2199-fe0f"},{"aliases":["arrow_upper_left"],"filename":"2196-fe0f"},{"aliases":["arrow_up_down"],"filename":"2195-fe0f"},{"aliases":["left_right_arrow"],"filename":"2194-fe0f"},{"aliases":["arrow_right_hook"],"filename":"21aa-fe0f"},{"aliases":["leftwards_arrow_with_hook"],"filename":"21a9-fe0f"},{"aliases":["arrow_heading_up"],"filename":"2934-fe0f"},{"aliases":["arrow_heading_down"],"filename":"2935-fe0f"},{"aliases":["twisted_rightwards_arrows"],"filename":"1f500"},{"aliases":["repeat"],"filename":"1f501"},{"aliases":["repeat_one"],"filename":"1f502"},{"aliases":["arrows_counterclockwise"],"filename":"1f504"},{"aliases":["arrows_clockwise"],"filename":"1f503"},{"aliases":["musical_note"],"filename":"1f3b5"},{"aliases":["notes"],"filename":"1f3b6"},{"aliases":["heavy_plus_sign"],"filename":"2795"},{"aliases":["heavy_minus_sign"],"filename":"2796"},{"aliases":["heavy_division_sign"],"filename":"2797"},{"aliases":["heavy_multiplication_x"],"filename":"2716-fe0f"},{"aliases":["heavy_dollar_sign"],"filename":"1f4b2"},{"aliases":["currency_exchange"],"filename":"1f4b1"},{"aliases":["tm"],"filename":"2122-fe0f"},{"aliases":["copyright"],"filename":"00a9-fe0f"},{"aliases":["registered"],"filename":"00ae-fe0f"},{"aliases":["wavy_dash"],"filename":"3030-fe0f"},{"aliases":["curly_loop"],"filename":"27b0"},{"aliases":["loop"],"filename":"27bf"},{"aliases":["end"],"filename":"1f51a"},{"aliases":["back"],"filename":"1f519"},{"aliases":["on"],"filename":"1f51b"},{"aliases":["top"],"filename":"1f51d"},{"aliases":["soon"],"filename":"1f51c"},{"aliases":["heavy_check_mark"],"filename":"2714-fe0f"},{"aliases":["ballot_box_with_check"],"filename":"2611-fe0f"},{"aliases":["radio_button"],"filename":"1f518"},{"aliases":["white_circle"],"filename":"26aa-fe0f"},{"aliases":["black_circle"],"filename":"26ab-fe0f"},{"aliases":["red_circle"],"filename":"1f534"},{"aliases":["large_blue_circle"],"filename":"1f535"},{"aliases":["small_red_triangle"],"filename":"1f53a"},{"aliases":["small_red_triangle_down"],"filename":"1f53b"},{"aliases":["small_orange_diamond"],"filename":"1f538"},{"aliases":["small_blue_diamond"],"filename":"1f539"},{"aliases":["large_orange_diamond"],"filename":"1f536"},{"aliases":["large_blue_diamond"],"filename":"1f537"},{"aliases":["white_square_button"],"filename":"1f533"},{"aliases":["black_square_button"],"filename":"1f532"},{"aliases":["black_small_square"],"filename":"25aa-fe0f"},{"aliases":["white_small_square"],"filename":"25ab-fe0f"},{"aliases":["black_medium_small_square"],"filename":"25fe-fe0f"},{"aliases":["white_medium_small_square"],"filename":"25fd-fe0f"},{"aliases":["black_medium_square"],"filename":"25fc-fe0f"},{"aliases":["white_medium_square"],"filename":"25fb-fe0f"},{"aliases":["black_large_square"],"filename":"2b1b-fe0f"},{"aliases":["white_large_square"],"filename":"2b1c-fe0f"},{"aliases":["speaker"],"filename":"1f508"},{"aliases":["mute"],"filename":"1f507"},{"aliases":["sound"],"filename":"1f509"},{"aliases":["loud_sound"],"filename":"1f50a"},{"aliases":["bell"],"filename":"1f514"},{"aliases":["no_bell"],"filename":"1f515"},{"aliases":["mega"],"filename":"1f4e3"},{"aliases":["loudspeaker"],"filename":"1f4e2"},{"aliases":["eye_speech_bubble"],"filename":"1f441-200d-1f5e8"},{"aliases":["speech_balloon"],"filename":"1f4ac"},{"aliases":["thought_balloon"],"filename":"1f4ad"},{"aliases":["right_anger_bubble"],"filename":"1f5ef"},{"aliases":["spades"],"filename":"2660-fe0f"},{"aliases":["clubs"],"filename":"2663-fe0f"},{"aliases":["hearts"],"filename":"2665-fe0f"},{"aliases":["diamonds"],"filename":"2666-fe0f"},{"aliases":["black_joker"],"filename":"1f0cf"},{"aliases":["flower_playing_cards"],"filename":"1f3b4"},{"aliases":["mahjong"],"filename":"1f004-fe0f"},{"aliases":["clock1"],"filename":"1f550"},{"aliases":["clock2"],"filename":"1f551"},{"aliases":["clock3"],"filename":"1f552"},{"aliases":["clock4"],"filename":"1f553"},{"aliases":["clock5"],"filename":"1f554"},{"aliases":["clock6"],"filename":"1f555"},{"aliases":["clock7"],"filename":"1f556"},{"aliases":["clock8"],"filename":"1f557"},{"aliases":["clock9"],"filename":"1f558"},{"aliases":["clock10"],"filename":"1f559"},{"aliases":["clock11"],"filename":"1f55a"},{"aliases":["clock12"],"filename":"1f55b"},{"aliases":["clock130"],"filename":"1f55c"},{"aliases":["clock230"],"filename":"1f55d"},{"aliases":["clock330"],"filename":"1f55e"},{"aliases":["clock430"],"filename":"1f55f"},{"aliases":["clock530"],"filename":"1f560"},{"aliases":["clock630"],"filename":"1f561"},{"aliases":["clock730"],"filename":"1f562"},{"aliases":["clock830"],"filename":"1f563"},{"aliases":["clock930"],"filename":"1f564"},{"aliases":["clock1030"],"filename":"1f565"},{"aliases":["clock1130"],"filename":"1f566"},{"aliases":["clock1230"],"filename":"1f567"},{"aliases":["white_flag"],"filename":"1f3f3-fe0f"},{"aliases":["black_flag"],"filename":"1f3f4"},{"aliases":["checkered_flag"],"filename":"1f3c1"},{"aliases":["triangular_flag_on_post"],"filename":"1f6a9"},{"aliases":["rainbow_flag"],"filename":"1f3f3-fe0f-200d-1f308"},{"aliases":["afghanistan"],"filename":"1f1e6-1f1eb"},{"aliases":["aland_islands"],"filename":"1f1e6-1f1fd"},{"aliases":["albania"],"filename":"1f1e6-1f1f1"},{"aliases":["algeria"],"filename":"1f1e9-1f1ff"},{"aliases":["american_samoa"],"filename":"1f1e6-1f1f8"},{"aliases":["andorra"],"filename":"1f1e6-1f1e9"},{"aliases":["angola"],"filename":"1f1e6-1f1f4"},{"aliases":["anguilla"],"filename":"1f1e6-1f1ee"},{"aliases":["antarctica"],"filename":"1f1e6-1f1f6"},{"aliases":["antigua_barbuda"],"filename":"1f1e6-1f1ec"},{"aliases":["argentina"],"filename":"1f1e6-1f1f7"},{"aliases":["armenia"],"filename":"1f1e6-1f1f2"},{"aliases":["aruba"],"filename":"1f1e6-1f1fc"},{"aliases":["australia"],"filename":"1f1e6-1f1fa"},{"aliases":["austria"],"filename":"1f1e6-1f1f9"},{"aliases":["azerbaijan"],"filename":"1f1e6-1f1ff"},{"aliases":["bahamas"],"filename":"1f1e7-1f1f8"},{"aliases":["bahrain"],"filename":"1f1e7-1f1ed"},{"aliases":["bangladesh"],"filename":"1f1e7-1f1e9"},{"aliases":["barbados"],"filename":"1f1e7-1f1e7"},{"aliases":["belarus"],"filename":"1f1e7-1f1fe"},{"aliases":["belgium"],"filename":"1f1e7-1f1ea"},{"aliases":["belize"],"filename":"1f1e7-1f1ff"},{"aliases":["benin"],"filename":"1f1e7-1f1ef"},{"aliases":["bermuda"],"filename":"1f1e7-1f1f2"},{"aliases":["bhutan"],"filename":"1f1e7-1f1f9"},{"aliases":["bolivia"],"filename":"1f1e7-1f1f4"},{"aliases":["caribbean_netherlands"],"filename":"1f1e7-1f1f6"},{"aliases":["bosnia_herzegovina"],"filename":"1f1e7-1f1e6"},{"aliases":["botswana"],"filename":"1f1e7-1f1fc"},{"aliases":["brazil"],"filename":"1f1e7-1f1f7"},{"aliases":["british_indian_ocean_territory"],"filename":"1f1ee-1f1f4"},{"aliases":["british_virgin_islands"],"filename":"1f1fb-1f1ec"},{"aliases":["brunei"],"filename":"1f1e7-1f1f3"},{"aliases":["bulgaria"],"filename":"1f1e7-1f1ec"},{"aliases":["burkina_faso"],"filename":"1f1e7-1f1eb"},{"aliases":["burundi"],"filename":"1f1e7-1f1ee"},{"aliases":["cape_verde"],"filename":"1f1e8-1f1fb"},{"aliases":["cambodia"],"filename":"1f1f0-1f1ed"},{"aliases":["cameroon"],"filename":"1f1e8-1f1f2"},{"aliases":["canada"],"filename":"1f1e8-1f1e6"},{"aliases":["canary_islands"],"filename":"1f1ee-1f1e8"},{"aliases":["cayman_islands"],"filename":"1f1f0-1f1fe"},{"aliases":["central_african_republic"],"filename":"1f1e8-1f1eb"},{"aliases":["chad"],"filename":"1f1f9-1f1e9"},{"aliases":["chile"],"filename":"1f1e8-1f1f1"},{"aliases":["cn"],"filename":"1f1e8-1f1f3"},{"aliases":["christmas_island"],"filename":"1f1e8-1f1fd"},{"aliases":["cocos_islands"],"filename":"1f1e8-1f1e8"},{"aliases":["colombia"],"filename":"1f1e8-1f1f4"},{"aliases":["comoros"],"filename":"1f1f0-1f1f2"},{"aliases":["congo_brazzaville"],"filename":"1f1e8-1f1ec"},{"aliases":["congo_kinshasa"],"filename":"1f1e8-1f1e9"},{"aliases":["cook_islands"],"filename":"1f1e8-1f1f0"},{"aliases":["costa_rica"],"filename":"1f1e8-1f1f7"},{"aliases":["cote_divoire"],"filename":"1f1e8-1f1ee"},{"aliases":["croatia"],"filename":"1f1ed-1f1f7"},{"aliases":["cuba"],"filename":"1f1e8-1f1fa"},{"aliases":["curacao"],"filename":"1f1e8-1f1fc"},{"aliases":["cyprus"],"filename":"1f1e8-1f1fe"},{"aliases":["czech_republic"],"filename":"1f1e8-1f1ff"},{"aliases":["denmark"],"filename":"1f1e9-1f1f0"},{"aliases":["djibouti"],"filename":"1f1e9-1f1ef"},{"aliases":["dominica"],"filename":"1f1e9-1f1f2"},{"aliases":["dominican_republic"],"filename":"1f1e9-1f1f4"},{"aliases":["ecuador"],"filename":"1f1ea-1f1e8"},{"aliases":["egypt"],"filename":"1f1ea-1f1ec"},{"aliases":["el_salvador"],"filename":"1f1f8-1f1fb"},{"aliases":["equatorial_guinea"],"filename":"1f1ec-1f1f6"},{"aliases":["eritrea"],"filename":"1f1ea-1f1f7"},{"aliases":["estonia"],"filename":"1f1ea-1f1ea"},{"aliases":["ethiopia"],"filename":"1f1ea-1f1f9"},{"aliases":["eu","european_union"],"filename":"1f1ea-1f1fa"},{"aliases":["falkland_islands"],"filename":"1f1eb-1f1f0"},{"aliases":["faroe_islands"],"filename":"1f1eb-1f1f4"},{"aliases":["fiji"],"filename":"1f1eb-1f1ef"},{"aliases":["finland"],"filename":"1f1eb-1f1ee"},{"aliases":["fr"],"filename":"1f1eb-1f1f7"},{"aliases":["french_guiana"],"filename":"1f1ec-1f1eb"},{"aliases":["french_polynesia"],"filename":"1f1f5-1f1eb"},{"aliases":["french_southern_territories"],"filename":"1f1f9-1f1eb"},{"aliases":["gabon"],"filename":"1f1ec-1f1e6"},{"aliases":["gambia"],"filename":"1f1ec-1f1f2"},{"aliases":["georgia"],"filename":"1f1ec-1f1ea"},{"aliases":["de"],"filename":"1f1e9-1f1ea"},{"aliases":["ghana"],"filename":"1f1ec-1f1ed"},{"aliases":["gibraltar"],"filename":"1f1ec-1f1ee"},{"aliases":["greece"],"filename":"1f1ec-1f1f7"},{"aliases":["greenland"],"filename":"1f1ec-1f1f1"},{"aliases":["grenada"],"filename":"1f1ec-1f1e9"},{"aliases":["guadeloupe"],"filename":"1f1ec-1f1f5"},{"aliases":["guam"],"filename":"1f1ec-1f1fa"},{"aliases":["guatemala"],"filename":"1f1ec-1f1f9"},{"aliases":["guernsey"],"filename":"1f1ec-1f1ec"},{"aliases":["guinea"],"filename":"1f1ec-1f1f3"},{"aliases":["guinea_bissau"],"filename":"1f1ec-1f1fc"},{"aliases":["guyana"],"filename":"1f1ec-1f1fe"},{"aliases":["haiti"],"filename":"1f1ed-1f1f9"},{"aliases":["honduras"],"filename":"1f1ed-1f1f3"},{"aliases":["hong_kong"],"filename":"1f1ed-1f1f0"},{"aliases":["hungary"],"filename":"1f1ed-1f1fa"},{"aliases":["iceland"],"filename":"1f1ee-1f1f8"},{"aliases":["india"],"filename":"1f1ee-1f1f3"},{"aliases":["indonesia"],"filename":"1f1ee-1f1e9"},{"aliases":["iran"],"filename":"1f1ee-1f1f7"},{"aliases":["iraq"],"filename":"1f1ee-1f1f6"},{"aliases":["ireland"],"filename":"1f1ee-1f1ea"},{"aliases":["isle_of_man"],"filename":"1f1ee-1f1f2"},{"aliases":["israel"],"filename":"1f1ee-1f1f1"},{"aliases":["it"],"filename":"1f1ee-1f1f9"},{"aliases":["jamaica"],"filename":"1f1ef-1f1f2"},{"aliases":["jp"],"filename":"1f1ef-1f1f5"},{"aliases":["crossed_flags"],"filename":"1f38c"},{"aliases":["jersey"],"filename":"1f1ef-1f1ea"},{"aliases":["jordan"],"filename":"1f1ef-1f1f4"},{"aliases":["kazakhstan"],"filename":"1f1f0-1f1ff"},{"aliases":["kenya"],"filename":"1f1f0-1f1ea"},{"aliases":["kiribati"],"filename":"1f1f0-1f1ee"},{"aliases":["kosovo"],"filename":"1f1fd-1f1f0"},{"aliases":["kuwait"],"filename":"1f1f0-1f1fc"},{"aliases":["kyrgyzstan"],"filename":"1f1f0-1f1ec"},{"aliases":["laos"],"filename":"1f1f1-1f1e6"},{"aliases":["latvia"],"filename":"1f1f1-1f1fb"},{"aliases":["lebanon"],"filename":"1f1f1-1f1e7"},{"aliases":["lesotho"],"filename":"1f1f1-1f1f8"},{"aliases":["liberia"],"filename":"1f1f1-1f1f7"},{"aliases":["libya"],"filename":"1f1f1-1f1fe"},{"aliases":["liechtenstein"],"filename":"1f1f1-1f1ee"},{"aliases":["lithuania"],"filename":"1f1f1-1f1f9"},{"aliases":["luxembourg"],"filename":"1f1f1-1f1fa"},{"aliases":["macau"],"filename":"1f1f2-1f1f4"},{"aliases":["macedonia"],"filename":"1f1f2-1f1f0"},{"aliases":["madagascar"],"filename":"1f1f2-1f1ec"},{"aliases":["malawi"],"filename":"1f1f2-1f1fc"},{"aliases":["malaysia"],"filename":"1f1f2-1f1fe"},{"aliases":["maldives"],"filename":"1f1f2-1f1fb"},{"aliases":["mali"],"filename":"1f1f2-1f1f1"},{"aliases":["malta"],"filename":"1f1f2-1f1f9"},{"aliases":["marshall_islands"],"filename":"1f1f2-1f1ed"},{"aliases":["martinique"],"filename":"1f1f2-1f1f6"},{"aliases":["mauritania"],"filename":"1f1f2-1f1f7"},{"aliases":["mauritius"],"filename":"1f1f2-1f1fa"},{"aliases":["mayotte"],"filename":"1f1fe-1f1f9"},{"aliases":["mexico"],"filename":"1f1f2-1f1fd"},{"aliases":["micronesia"],"filename":"1f1eb-1f1f2"},{"aliases":["moldova"],"filename":"1f1f2-1f1e9"},{"aliases":["monaco"],"filename":"1f1f2-1f1e8"},{"aliases":["mongolia"],"filename":"1f1f2-1f1f3"},{"aliases":["montenegro"],"filename":"1f1f2-1f1ea"},{"aliases":["montserrat"],"filename":"1f1f2-1f1f8"},{"aliases":["morocco"],"filename":"1f1f2-1f1e6"},{"aliases":["mozambique"],"filename":"1f1f2-1f1ff"},{"aliases":["myanmar"],"filename":"1f1f2-1f1f2"},{"aliases":["namibia"],"filename":"1f1f3-1f1e6"},{"aliases":["nauru"],"filename":"1f1f3-1f1f7"},{"aliases":["nepal"],"filename":"1f1f3-1f1f5"},{"aliases":["netherlands"],"filename":"1f1f3-1f1f1"},{"aliases":["new_caledonia"],"filename":"1f1f3-1f1e8"},{"aliases":["new_zealand"],"filename":"1f1f3-1f1ff"},{"aliases":["nicaragua"],"filename":"1f1f3-1f1ee"},{"aliases":["niger"],"filename":"1f1f3-1f1ea"},{"aliases":["nigeria"],"filename":"1f1f3-1f1ec"},{"aliases":["niue"],"filename":"1f1f3-1f1fa"},{"aliases":["norfolk_island"],"filename":"1f1f3-1f1eb"},{"aliases":["northern_mariana_islands"],"filename":"1f1f2-1f1f5"},{"aliases":["north_korea"],"filename":"1f1f0-1f1f5"},{"aliases":["norway"],"filename":"1f1f3-1f1f4"},{"aliases":["oman"],"filename":"1f1f4-1f1f2"},{"aliases":["pakistan"],"filename":"1f1f5-1f1f0"},{"aliases":["palau"],"filename":"1f1f5-1f1fc"},{"aliases":["palestinian_territories"],"filename":"1f1f5-1f1f8"},{"aliases":["panama"],"filename":"1f1f5-1f1e6"},{"aliases":["papua_new_guinea"],"filename":"1f1f5-1f1ec"},{"aliases":["paraguay"],"filename":"1f1f5-1f1fe"},{"aliases":["peru"],"filename":"1f1f5-1f1ea"},{"aliases":["philippines"],"filename":"1f1f5-1f1ed"},{"aliases":["pitcairn_islands"],"filename":"1f1f5-1f1f3"},{"aliases":["poland"],"filename":"1f1f5-1f1f1"},{"aliases":["portugal"],"filename":"1f1f5-1f1f9"},{"aliases":["puerto_rico"],"filename":"1f1f5-1f1f7"},{"aliases":["qatar"],"filename":"1f1f6-1f1e6"},{"aliases":["reunion"],"filename":"1f1f7-1f1ea"},{"aliases":["romania"],"filename":"1f1f7-1f1f4"},{"aliases":["ru"],"filename":"1f1f7-1f1fa"},{"aliases":["rwanda"],"filename":"1f1f7-1f1fc"},{"aliases":["st_barthelemy"],"filename":"1f1e7-1f1f1"},{"aliases":["st_helena"],"filename":"1f1f8-1f1ed"},{"aliases":["st_kitts_nevis"],"filename":"1f1f0-1f1f3"},{"aliases":["st_lucia"],"filename":"1f1f1-1f1e8"},{"aliases":["st_pierre_miquelon"],"filename":"1f1f5-1f1f2"},{"aliases":["st_vincent_grenadines"],"filename":"1f1fb-1f1e8"},{"aliases":["samoa"],"filename":"1f1fc-1f1f8"},{"aliases":["san_marino"],"filename":"1f1f8-1f1f2"},{"aliases":["sao_tome_principe"],"filename":"1f1f8-1f1f9"},{"aliases":["saudi_arabia"],"filename":"1f1f8-1f1e6"},{"aliases":["senegal"],"filename":"1f1f8-1f1f3"},{"aliases":["serbia"],"filename":"1f1f7-1f1f8"},{"aliases":["seychelles"],"filename":"1f1f8-1f1e8"},{"aliases":["sierra_leone"],"filename":"1f1f8-1f1f1"},{"aliases":["singapore"],"filename":"1f1f8-1f1ec"},{"aliases":["sint_maarten"],"filename":"1f1f8-1f1fd"},{"aliases":["slovakia"],"filename":"1f1f8-1f1f0"},{"aliases":["slovenia"],"filename":"1f1f8-1f1ee"},{"aliases":["solomon_islands"],"filename":"1f1f8-1f1e7"},{"aliases":["somalia"],"filename":"1f1f8-1f1f4"},{"aliases":["south_africa"],"filename":"1f1ff-1f1e6"},{"aliases":["south_georgia_south_sandwich_islands"],"filename":"1f1ec-1f1f8"},{"aliases":["kr"],"filename":"1f1f0-1f1f7"},{"aliases":["south_sudan"],"filename":"1f1f8-1f1f8"},{"aliases":["es"],"filename":"1f1ea-1f1f8"},{"aliases":["sri_lanka"],"filename":"1f1f1-1f1f0"},{"aliases":["sudan"],"filename":"1f1f8-1f1e9"},{"aliases":["suriname"],"filename":"1f1f8-1f1f7"},{"aliases":["swaziland"],"filename":"1f1f8-1f1ff"},{"aliases":["sweden"],"filename":"1f1f8-1f1ea"},{"aliases":["switzerland"],"filename":"1f1e8-1f1ed"},{"aliases":["syria"],"filename":"1f1f8-1f1fe"},{"aliases":["taiwan"],"filename":"1f1f9-1f1fc"},{"aliases":["tajikistan"],"filename":"1f1f9-1f1ef"},{"aliases":["tanzania"],"filename":"1f1f9-1f1ff"},{"aliases":["thailand"],"filename":"1f1f9-1f1ed"},{"aliases":["timor_leste"],"filename":"1f1f9-1f1f1"},{"aliases":["togo"],"filename":"1f1f9-1f1ec"},{"aliases":["tokelau"],"filename":"1f1f9-1f1f0"},{"aliases":["tonga"],"filename":"1f1f9-1f1f4"},{"aliases":["trinidad_tobago"],"filename":"1f1f9-1f1f9"},{"aliases":["tunisia"],"filename":"1f1f9-1f1f3"},{"aliases":["tr"],"filename":"1f1f9-1f1f7"},{"aliases":["turkmenistan"],"filename":"1f1f9-1f1f2"},{"aliases":["turks_caicos_islands"],"filename":"1f1f9-1f1e8"},{"aliases":["tuvalu"],"filename":"1f1f9-1f1fb"},{"aliases":["uganda"],"filename":"1f1fa-1f1ec"},{"aliases":["ukraine"],"filename":"1f1fa-1f1e6"},{"aliases":["united_arab_emirates"],"filename":"1f1e6-1f1ea"},{"aliases":["gb","uk"],"filename":"1f1ec-1f1e7"},{"aliases":["us"],"filename":"1f1fa-1f1f8"},{"aliases":["us_virgin_islands"],"filename":"1f1fb-1f1ee"},{"aliases":["uruguay"],"filename":"1f1fa-1f1fe"},{"aliases":["uzbekistan"],"filename":"1f1fa-1f1ff"},{"aliases":["vanuatu"],"filename":"1f1fb-1f1fa"},{"aliases":["vatican_city"],"filename":"1f1fb-1f1e6"},{"aliases":["venezuela"],"filename":"1f1fb-1f1ea"},{"aliases":["vietnam"],"filename":"1f1fb-1f1f3"},{"aliases":["wallis_futuna"],"filename":"1f1fc-1f1eb"},{"aliases":["western_sahara"],"filename":"1f1ea-1f1ed"},{"aliases":["yemen"],"filename":"1f1fe-1f1ea"},{"aliases":["zambia"],"filename":"1f1ff-1f1f2"},{"aliases":["zimbabwe"],"filename":"1f1ff-1f1fc"},{"aliases":["bowtie"],"filename":"bowtie"},{"aliases":["feelsgood"],"filename":"feelsgood"},{"aliases":["finnadie"],"filename":"finnadie"},{"aliases":["goberserk"],"filename":"goberserk"},{"aliases":["godmode"],"filename":"godmode"},{"aliases":["hurtrealbad"],"filename":"hurtrealbad"},{"aliases":["neckbeard"],"filename":"neckbeard"},{"aliases":["octocat"],"filename":"octocat"},{"aliases":["rage1"],"filename":"rage1"},{"aliases":["rage2"],"filename":"rage2"},{"aliases":["rage3"],"filename":"rage3"},{"aliases":["rage4"],"filename":"rage4"},{"aliases":["shipit","squirrel"],"filename":"shipit"},{"aliases":["suspect"],"filename":"suspect"},{"aliases":["trollface"],"filename":"trollface"},{"aliases":["mattermost"],"filename":"mattermost"}]; export const EmojiIndicesByAlias = new Map([["grinning",0],["smiley",1],["smile",2],["grin",3],["laughing",4],["satisfied",4],["sweat_smile",5],["joy",6],["rofl",7],["relaxed",8],["blush",9],["innocent",10],["slightly_smiling_face",11],["upside_down_face",12],["wink",13],["relieved",14],["heart_eyes",15],["kissing_heart",16],["kissing",17],["kissing_smiling_eyes",18],["kissing_closed_eyes",19],["yum",20],["stuck_out_tongue_winking_eye",21],["stuck_out_tongue_closed_eyes",22],["stuck_out_tongue",23],["money_mouth_face",24],["hugs",25],["nerd_face",26],["sunglasses",27],["clown_face",28],["cowboy_hat_face",29],["smirk",30],["unamused",31],["disappointed",32],["pensive",33],["worried",34],["confused",35],["slightly_frowning_face",36],["frowning_face",37],["persevere",38],["confounded",39],["tired_face",40],["weary",41],["triumph",42],["angry",43],["rage",44],["pout",44],["no_mouth",45],["neutral_face",46],["expressionless",47],["hushed",48],["frowning",49],["anguished",50],["open_mouth",51],["astonished",52],["dizzy_face",53],["flushed",54],["scream",55],["fearful",56],["cold_sweat",57],["cry",58],["disappointed_relieved",59],["drooling_face",60],["sob",61],["sweat",62],["sleepy",63],["sleeping",64],["roll_eyes",65],["thinking",66],["lying_face",67],["grimacing",68],["zipper_mouth_face",69],["nauseated_face",70],["sneezing_face",71],["mask",72],["face_with_thermometer",73],["face_with_head_bandage",74],["smiling_imp",75],["imp",76],["japanese_ogre",77],["japanese_goblin",78],["hankey",79],["poop",79],["shit",79],["ghost",80],["skull",81],["skull_and_crossbones",82],["alien",83],["space_invader",84],["robot",85],["jack_o_lantern",86],["smiley_cat",87],["smile_cat",88],["joy_cat",89],["heart_eyes_cat",90],["smirk_cat",91],["kissing_cat",92],["scream_cat",93],["crying_cat_face",94],["pouting_cat",95],["open_hands",96],["raised_hands",97],["clap",98],["pray",99],["handshake",100],["+1",101],["thumbsup",101],["-1",102],["thumbsdown",102],["fist_oncoming",103],["facepunch",103],["punch",103],["fist_raised",104],["fist",104],["fist_left",105],["fist_right",106],["crossed_fingers",107],["v",108],["metal",109],["ok_hand",110],["point_left",111],["point_right",112],["point_up_2",113],["point_down",114],["point_up",115],["hand",116],["raised_hand",116],["raised_back_of_hand",117],["raised_hand_with_fingers_splayed",118],["vulcan_salute",119],["wave",120],["call_me_hand",121],["muscle",122],["middle_finger",123],["fu",123],["writing_hand",124],["selfie",125],["nail_care",126],["ring",127],["lipstick",128],["kiss",129],["lips",130],["tongue",131],["ear",132],["nose",133],["footprints",134],["eye",135],["eyes",136],["speaking_head",137],["bust_in_silhouette",138],["busts_in_silhouette",139],["baby",140],["boy",141],["girl",142],["man",143],["woman",144],["blonde_woman",145],["blonde_man",146],["person_with_blond_hair",146],["older_man",147],["older_woman",148],["man_with_gua_pi_mao",149],["woman_with_turban",150],["man_with_turban",151],["policewoman",152],["policeman",153],["cop",153],["construction_worker_woman",154],["construction_worker_man",155],["construction_worker",155],["guardswoman",156],["guardsman",157],["female_detective",158],["male_detective",159],["detective",159],["woman_health_worker",160],["man_health_worker",161],["woman_farmer",162],["man_farmer",163],["woman_cook",164],["man_cook",165],["woman_student",166],["man_student",167],["woman_singer",168],["man_singer",169],["woman_teacher",170],["man_teacher",171],["woman_factory_worker",172],["man_factory_worker",173],["woman_technologist",174],["man_technologist",175],["woman_office_worker",176],["man_office_worker",177],["woman_mechanic",178],["man_mechanic",179],["woman_scientist",180],["man_scientist",181],["woman_artist",182],["man_artist",183],["woman_firefighter",184],["man_firefighter",185],["woman_pilot",186],["man_pilot",187],["woman_astronaut",188],["man_astronaut",189],["woman_judge",190],["man_judge",191],["mrs_claus",192],["santa",193],["princess",194],["prince",195],["bride_with_veil",196],["man_in_tuxedo",197],["angel",198],["pregnant_woman",199],["bowing_woman",200],["bowing_man",201],["bow",201],["tipping_hand_woman",202],["information_desk_person",202],["tipping_hand_man",203],["no_good_woman",204],["no_good",204],["ng_woman",204],["no_good_man",205],["ng_man",205],["ok_woman",206],["ok_man",207],["raising_hand_woman",208],["raising_hand",208],["raising_hand_man",209],["woman_facepalming",210],["man_facepalming",211],["woman_shrugging",212],["man_shrugging",213],["pouting_woman",214],["person_with_pouting_face",214],["pouting_man",215],["frowning_woman",216],["person_frowning",216],["frowning_man",217],["haircut_woman",218],["haircut",218],["haircut_man",219],["massage_woman",220],["massage",220],["massage_man",221],["business_suit_levitating",222],["dancer",223],["man_dancing",224],["dancing_women",225],["dancers",225],["dancing_men",226],["walking_woman",227],["walking_man",228],["walking",228],["running_woman",229],["running_man",230],["runner",230],["running",230],["couple",231],["two_women_holding_hands",232],["two_men_holding_hands",233],["couple_with_heart_woman_man",234],["couple_with_heart",234],["couple_with_heart_woman_woman",235],["couple_with_heart_man_man",236],["couplekiss_man_woman",237],["couplekiss_woman_woman",238],["couplekiss_man_man",239],["family_man_woman_boy",240],["family",240],["family_man_woman_girl",241],["family_man_woman_girl_boy",242],["family_man_woman_boy_boy",243],["family_man_woman_girl_girl",244],["family_woman_woman_boy",245],["family_woman_woman_girl",246],["family_woman_woman_girl_boy",247],["family_woman_woman_boy_boy",248],["family_woman_woman_girl_girl",249],["family_man_man_boy",250],["family_man_man_girl",251],["family_man_man_girl_boy",252],["family_man_man_boy_boy",253],["family_man_man_girl_girl",254],["family_woman_boy",255],["family_woman_girl",256],["family_woman_girl_boy",257],["family_woman_boy_boy",258],["family_woman_girl_girl",259],["family_man_boy",260],["family_man_girl",261],["family_man_girl_boy",262],["family_man_boy_boy",263],["family_man_girl_girl",264],["womans_clothes",265],["shirt",266],["tshirt",266],["jeans",267],["necktie",268],["dress",269],["bikini",270],["kimono",271],["high_heel",272],["sandal",273],["boot",274],["mans_shoe",275],["shoe",275],["athletic_shoe",276],["womans_hat",277],["tophat",278],["mortar_board",279],["crown",280],["rescue_worker_helmet",281],["school_satchel",282],["pouch",283],["purse",284],["handbag",285],["briefcase",286],["eyeglasses",287],["dark_sunglasses",288],["closed_umbrella",289],["open_umbrella",290],["dog",291],["cat",292],["mouse",293],["hamster",294],["rabbit",295],["fox_face",296],["bear",297],["panda_face",298],["koala",299],["tiger",300],["lion",301],["cow",302],["pig",303],["pig_nose",304],["frog",305],["monkey_face",306],["see_no_evil",307],["hear_no_evil",308],["speak_no_evil",309],["monkey",310],["chicken",311],["penguin",312],["bird",313],["baby_chick",314],["hatching_chick",315],["hatched_chick",316],["duck",317],["eagle",318],["owl",319],["bat",320],["wolf",321],["boar",322],["horse",323],["unicorn",324],["bee",325],["honeybee",325],["bug",326],["butterfly",327],["snail",328],["shell",329],["beetle",330],["ant",331],["spider",332],["spider_web",333],["turtle",334],["snake",335],["lizard",336],["scorpion",337],["crab",338],["squid",339],["octopus",340],["shrimp",341],["tropical_fish",342],["fish",343],["blowfish",344],["dolphin",345],["flipper",345],["shark",346],["whale",347],["whale2",348],["crocodile",349],["leopard",350],["tiger2",351],["water_buffalo",352],["ox",353],["cow2",354],["deer",355],["dromedary_camel",356],["camel",357],["elephant",358],["rhinoceros",359],["gorilla",360],["racehorse",361],["pig2",362],["goat",363],["ram",364],["sheep",365],["dog2",366],["poodle",367],["cat2",368],["rooster",369],["turkey",370],["dove",371],["rabbit2",372],["mouse2",373],["rat",374],["chipmunk",375],["feet",376],["paw_prints",376],["dragon",377],["dragon_face",378],["cactus",379],["christmas_tree",380],["evergreen_tree",381],["deciduous_tree",382],["palm_tree",383],["seedling",384],["herb",385],["shamrock",386],["four_leaf_clover",387],["bamboo",388],["tanabata_tree",389],["leaves",390],["fallen_leaf",391],["maple_leaf",392],["mushroom",393],["ear_of_rice",394],["bouquet",395],["tulip",396],["rose",397],["wilted_flower",398],["sunflower",399],["blossom",400],["cherry_blossom",401],["hibiscus",402],["earth_americas",403],["earth_africa",404],["earth_asia",405],["full_moon",406],["waning_gibbous_moon",407],["last_quarter_moon",408],["waning_crescent_moon",409],["new_moon",410],["waxing_crescent_moon",411],["first_quarter_moon",412],["moon",413],["waxing_gibbous_moon",413],["new_moon_with_face",414],["full_moon_with_face",415],["sun_with_face",416],["first_quarter_moon_with_face",417],["last_quarter_moon_with_face",418],["crescent_moon",419],["dizzy",420],["star",421],["star2",422],["sparkles",423],["zap",424],["fire",425],["boom",426],["collision",426],["comet",427],["sunny",428],["sun_behind_small_cloud",429],["partly_sunny",430],["sun_behind_large_cloud",431],["sun_behind_rain_cloud",432],["rainbow",433],["cloud",434],["cloud_with_rain",435],["cloud_with_lightning_and_rain",436],["cloud_with_lightning",437],["cloud_with_snow",438],["snowman_with_snow",439],["snowman",440],["snowflake",441],["wind_face",442],["dash",443],["tornado",444],["fog",445],["ocean",446],["droplet",447],["sweat_drops",448],["umbrella",449],["green_apple",450],["apple",451],["pear",452],["tangerine",453],["orange",453],["mandarin",453],["lemon",454],["banana",455],["watermelon",456],["grapes",457],["strawberry",458],["melon",459],["cherries",460],["peach",461],["pineapple",462],["kiwi_fruit",463],["avocado",464],["tomato",465],["eggplant",466],["cucumber",467],["carrot",468],["corn",469],["hot_pepper",470],["potato",471],["sweet_potato",472],["chestnut",473],["peanuts",474],["honey_pot",475],["croissant",476],["bread",477],["baguette_bread",478],["cheese",479],["egg",480],["fried_egg",481],["bacon",482],["pancakes",483],["fried_shrimp",484],["poultry_leg",485],["meat_on_bone",486],["pizza",487],["hotdog",488],["hamburger",489],["fries",490],["stuffed_flatbread",491],["taco",492],["burrito",493],["green_salad",494],["shallow_pan_of_food",495],["spaghetti",496],["ramen",497],["stew",498],["fish_cake",499],["sushi",500],["bento",501],["curry",502],["rice",503],["rice_ball",504],["rice_cracker",505],["oden",506],["dango",507],["shaved_ice",508],["ice_cream",509],["icecream",510],["cake",511],["birthday",512],["custard",513],["lollipop",514],["candy",515],["chocolate_bar",516],["popcorn",517],["doughnut",518],["cookie",519],["milk_glass",520],["baby_bottle",521],["coffee",522],["tea",523],["sake",524],["beer",525],["beers",526],["clinking_glasses",527],["wine_glass",528],["tumbler_glass",529],["cocktail",530],["tropical_drink",531],["champagne",532],["spoon",533],["fork_and_knife",534],["plate_with_cutlery",535],["soccer",536],["basketball",537],["football",538],["baseball",539],["tennis",540],["volleyball",541],["rugby_football",542],["8ball",543],["ping_pong",544],["badminton",545],["goal_net",546],["ice_hockey",547],["field_hockey",548],["cricket",549],["golf",550],["bow_and_arrow",551],["fishing_pole_and_fish",552],["boxing_glove",553],["martial_arts_uniform",554],["ice_skate",555],["ski",556],["skier",557],["snowboarder",558],["weight_lifting_woman",559],["weight_lifting_man",560],["person_fencing",561],["women_wrestling",562],["men_wrestling",563],["woman_cartwheeling",564],["man_cartwheeling",565],["basketball_woman",566],["basketball_man",567],["woman_playing_handball",568],["man_playing_handball",569],["golfing_woman",570],["golfing_man",571],["surfing_woman",572],["surfing_man",573],["surfer",573],["swimming_woman",574],["swimming_man",575],["swimmer",575],["woman_playing_water_polo",576],["man_playing_water_polo",577],["rowing_woman",578],["rowing_man",579],["rowboat",579],["horse_racing",580],["biking_woman",581],["biking_man",582],["bicyclist",582],["mountain_biking_woman",583],["mountain_biking_man",584],["mountain_bicyclist",584],["running_shirt_with_sash",585],["medal_sports",586],["medal_military",587],["1st_place_medal",588],["2nd_place_medal",589],["3rd_place_medal",590],["trophy",591],["rosette",592],["reminder_ribbon",593],["ticket",594],["tickets",595],["circus_tent",596],["woman_juggling",597],["man_juggling",598],["performing_arts",599],["art",600],["clapper",601],["microphone",602],["headphones",603],["musical_score",604],["musical_keyboard",605],["drum",606],["saxophone",607],["trumpet",608],["guitar",609],["violin",610],["game_die",611],["dart",612],["bowling",613],["video_game",614],["slot_machine",615],["car",616],["red_car",616],["taxi",617],["blue_car",618],["bus",619],["trolleybus",620],["racing_car",621],["police_car",622],["ambulance",623],["fire_engine",624],["minibus",625],["truck",626],["articulated_lorry",627],["tractor",628],["kick_scooter",629],["bike",630],["motor_scooter",631],["motorcycle",632],["rotating_light",633],["oncoming_police_car",634],["oncoming_bus",635],["oncoming_automobile",636],["oncoming_taxi",637],["aerial_tramway",638],["mountain_cableway",639],["suspension_railway",640],["railway_car",641],["train",642],["mountain_railway",643],["monorail",644],["bullettrain_side",645],["bullettrain_front",646],["light_rail",647],["steam_locomotive",648],["train2",649],["metro",650],["tram",651],["station",652],["helicopter",653],["small_airplane",654],["airplane",655],["flight_departure",656],["flight_arrival",657],["rocket",658],["artificial_satellite",659],["seat",660],["canoe",661],["boat",662],["sailboat",662],["motor_boat",663],["speedboat",664],["passenger_ship",665],["ferry",666],["ship",667],["anchor",668],["construction",669],["fuelpump",670],["busstop",671],["vertical_traffic_light",672],["traffic_light",673],["world_map",674],["moyai",675],["statue_of_liberty",676],["fountain",677],["tokyo_tower",678],["european_castle",679],["japanese_castle",680],["stadium",681],["ferris_wheel",682],["roller_coaster",683],["carousel_horse",684],["parasol_on_ground",685],["beach_umbrella",686],["desert_island",687],["mountain",688],["mountain_snow",689],["mount_fuji",690],["volcano",691],["desert",692],["camping",693],["tent",694],["railway_track",695],["motorway",696],["building_construction",697],["factory",698],["house",699],["house_with_garden",700],["houses",701],["derelict_house",702],["office",703],["department_store",704],["post_office",705],["european_post_office",706],["hospital",707],["bank",708],["hotel",709],["convenience_store",710],["school",711],["love_hotel",712],["wedding",713],["classical_building",714],["church",715],["mosque",716],["synagogue",717],["kaaba",718],["shinto_shrine",719],["japan",720],["rice_scene",721],["national_park",722],["sunrise",723],["sunrise_over_mountains",724],["stars",725],["sparkler",726],["fireworks",727],["city_sunrise",728],["city_sunset",729],["cityscape",730],["night_with_stars",731],["milky_way",732],["bridge_at_night",733],["foggy",734],["watch",735],["iphone",736],["calling",737],["computer",738],["keyboard",739],["desktop_computer",740],["printer",741],["computer_mouse",742],["trackball",743],["joystick",744],["clamp",745],["minidisc",746],["floppy_disk",747],["cd",748],["dvd",749],["vhs",750],["camera",751],["camera_flash",752],["video_camera",753],["movie_camera",754],["film_projector",755],["film_strip",756],["telephone_receiver",757],["phone",758],["telephone",758],["pager",759],["fax",760],["tv",761],["radio",762],["studio_microphone",763],["level_slider",764],["control_knobs",765],["stopwatch",766],["timer_clock",767],["alarm_clock",768],["mantelpiece_clock",769],["hourglass",770],["hourglass_flowing_sand",771],["satellite",772],["battery",773],["electric_plug",774],["bulb",775],["flashlight",776],["candle",777],["wastebasket",778],["oil_drum",779],["money_with_wings",780],["dollar",781],["yen",782],["euro",783],["pound",784],["moneybag",785],["credit_card",786],["gem",787],["balance_scale",788],["wrench",789],["hammer",790],["hammer_and_pick",791],["hammer_and_wrench",792],["pick",793],["nut_and_bolt",794],["gear",795],["chains",796],["gun",797],["bomb",798],["hocho",799],["knife",799],["dagger",800],["crossed_swords",801],["shield",802],["smoking",803],["coffin",804],["funeral_urn",805],["amphora",806],["crystal_ball",807],["prayer_beads",808],["barber",809],["alembic",810],["telescope",811],["microscope",812],["hole",813],["pill",814],["syringe",815],["thermometer",816],["toilet",817],["potable_water",818],["shower",819],["bathtub",820],["bath",821],["bellhop_bell",822],["key",823],["old_key",824],["door",825],["couch_and_lamp",826],["bed",827],["sleeping_bed",828],["framed_picture",829],["shopping",830],["shopping_cart",831],["gift",832],["balloon",833],["flags",834],["ribbon",835],["confetti_ball",836],["tada",837],["dolls",838],["izakaya_lantern",839],["lantern",839],["wind_chime",840],["email",841],["envelope",841],["envelope_with_arrow",842],["incoming_envelope",843],["e-mail",844],["love_letter",845],["inbox_tray",846],["outbox_tray",847],["package",848],["label",849],["mailbox_closed",850],["mailbox",851],["mailbox_with_mail",852],["mailbox_with_no_mail",853],["postbox",854],["postal_horn",855],["scroll",856],["page_with_curl",857],["page_facing_up",858],["bookmark_tabs",859],["bar_chart",860],["chart_with_upwards_trend",861],["chart_with_downwards_trend",862],["spiral_notepad",863],["spiral_calendar",864],["calendar",865],["date",866],["card_index",867],["card_file_box",868],["ballot_box",869],["file_cabinet",870],["clipboard",871],["file_folder",872],["open_file_folder",873],["card_index_dividers",874],["newspaper_roll",875],["newspaper",876],["notebook",877],["notebook_with_decorative_cover",878],["ledger",879],["closed_book",880],["green_book",881],["blue_book",882],["orange_book",883],["books",884],["book",885],["open_book",885],["bookmark",886],["link",887],["paperclip",888],["paperclips",889],["triangular_ruler",890],["straight_ruler",891],["pushpin",892],["round_pushpin",893],["scissors",894],["pen",895],["fountain_pen",896],["black_nib",897],["paintbrush",898],["crayon",899],["memo",900],["pencil",900],["pencil2",901],["mag",902],["mag_right",903],["lock_with_ink_pen",904],["closed_lock_with_key",905],["lock",906],["unlock",907],["heart",908],["yellow_heart",909],["green_heart",910],["blue_heart",911],["purple_heart",912],["black_heart",913],["broken_heart",914],["heavy_heart_exclamation",915],["two_hearts",916],["revolving_hearts",917],["heartbeat",918],["heartpulse",919],["sparkling_heart",920],["cupid",921],["gift_heart",922],["heart_decoration",923],["peace_symbol",924],["latin_cross",925],["star_and_crescent",926],["om",927],["wheel_of_dharma",928],["star_of_david",929],["six_pointed_star",930],["menorah",931],["yin_yang",932],["orthodox_cross",933],["place_of_worship",934],["ophiuchus",935],["aries",936],["taurus",937],["gemini",938],["cancer",939],["leo",940],["virgo",941],["libra",942],["scorpius",943],["sagittarius",944],["capricorn",945],["aquarius",946],["pisces",947],["id",948],["atom_symbol",949],["accept",950],["radioactive",951],["biohazard",952],["mobile_phone_off",953],["vibration_mode",954],["u6709",955],["u7121",956],["u7533",957],["u55b6",958],["u6708",959],["eight_pointed_black_star",960],["vs",961],["white_flower",962],["ideograph_advantage",963],["secret",964],["congratulations",965],["u5408",966],["u6e80",967],["u5272",968],["u7981",969],["a",970],["b",971],["ab",972],["cl",973],["o2",974],["sos",975],["x",976],["o",977],["stop_sign",978],["no_entry",979],["name_badge",980],["no_entry_sign",981],["100",982],["anger",983],["hotsprings",984],["no_pedestrians",985],["do_not_litter",986],["no_bicycles",987],["non-potable_water",988],["underage",989],["no_mobile_phones",990],["no_smoking",991],["exclamation",992],["heavy_exclamation_mark",992],["grey_exclamation",993],["question",994],["grey_question",995],["bangbang",996],["interrobang",997],["low_brightness",998],["high_brightness",999],["part_alternation_mark",1000],["warning",1001],["children_crossing",1002],["trident",1003],["fleur_de_lis",1004],["beginner",1005],["recycle",1006],["white_check_mark",1007],["u6307",1008],["chart",1009],["sparkle",1010],["eight_spoked_asterisk",1011],["negative_squared_cross_mark",1012],["globe_with_meridians",1013],["diamond_shape_with_a_dot_inside",1014],["m",1015],["cyclone",1016],["zzz",1017],["atm",1018],["wc",1019],["wheelchair",1020],["parking",1021],["u7a7a",1022],["sa",1023],["passport_control",1024],["customs",1025],["baggage_claim",1026],["left_luggage",1027],["mens",1028],["womens",1029],["baby_symbol",1030],["restroom",1031],["put_litter_in_its_place",1032],["cinema",1033],["signal_strength",1034],["koko",1035],["symbols",1036],["information_source",1037],["abc",1038],["abcd",1039],["capital_abcd",1040],["ng",1041],["ok",1042],["up",1043],["cool",1044],["new",1045],["free",1046],["zero",1047],["one",1048],["two",1049],["three",1050],["four",1051],["five",1052],["six",1053],["seven",1054],["eight",1055],["nine",1056],["keycap_ten",1057],["1234",1058],["hash",1059],["asterisk",1060],["arrow_forward",1061],["pause_button",1062],["play_or_pause_button",1063],["stop_button",1064],["record_button",1065],["next_track_button",1066],["previous_track_button",1067],["fast_forward",1068],["rewind",1069],["arrow_double_up",1070],["arrow_double_down",1071],["arrow_backward",1072],["arrow_up_small",1073],["arrow_down_small",1074],["arrow_right",1075],["arrow_left",1076],["arrow_up",1077],["arrow_down",1078],["arrow_upper_right",1079],["arrow_lower_right",1080],["arrow_lower_left",1081],["arrow_upper_left",1082],["arrow_up_down",1083],["left_right_arrow",1084],["arrow_right_hook",1085],["leftwards_arrow_with_hook",1086],["arrow_heading_up",1087],["arrow_heading_down",1088],["twisted_rightwards_arrows",1089],["repeat",1090],["repeat_one",1091],["arrows_counterclockwise",1092],["arrows_clockwise",1093],["musical_note",1094],["notes",1095],["heavy_plus_sign",1096],["heavy_minus_sign",1097],["heavy_division_sign",1098],["heavy_multiplication_x",1099],["heavy_dollar_sign",1100],["currency_exchange",1101],["tm",1102],["copyright",1103],["registered",1104],["wavy_dash",1105],["curly_loop",1106],["loop",1107],["end",1108],["back",1109],["on",1110],["top",1111],["soon",1112],["heavy_check_mark",1113],["ballot_box_with_check",1114],["radio_button",1115],["white_circle",1116],["black_circle",1117],["red_circle",1118],["large_blue_circle",1119],["small_red_triangle",1120],["small_red_triangle_down",1121],["small_orange_diamond",1122],["small_blue_diamond",1123],["large_orange_diamond",1124],["large_blue_diamond",1125],["white_square_button",1126],["black_square_button",1127],["black_small_square",1128],["white_small_square",1129],["black_medium_small_square",1130],["white_medium_small_square",1131],["black_medium_square",1132],["white_medium_square",1133],["black_large_square",1134],["white_large_square",1135],["speaker",1136],["mute",1137],["sound",1138],["loud_sound",1139],["bell",1140],["no_bell",1141],["mega",1142],["loudspeaker",1143],["eye_speech_bubble",1144],["speech_balloon",1145],["thought_balloon",1146],["right_anger_bubble",1147],["spades",1148],["clubs",1149],["hearts",1150],["diamonds",1151],["black_joker",1152],["flower_playing_cards",1153],["mahjong",1154],["clock1",1155],["clock2",1156],["clock3",1157],["clock4",1158],["clock5",1159],["clock6",1160],["clock7",1161],["clock8",1162],["clock9",1163],["clock10",1164],["clock11",1165],["clock12",1166],["clock130",1167],["clock230",1168],["clock330",1169],["clock430",1170],["clock530",1171],["clock630",1172],["clock730",1173],["clock830",1174],["clock930",1175],["clock1030",1176],["clock1130",1177],["clock1230",1178],["white_flag",1179],["black_flag",1180],["checkered_flag",1181],["triangular_flag_on_post",1182],["rainbow_flag",1183],["afghanistan",1184],["aland_islands",1185],["albania",1186],["algeria",1187],["american_samoa",1188],["andorra",1189],["angola",1190],["anguilla",1191],["antarctica",1192],["antigua_barbuda",1193],["argentina",1194],["armenia",1195],["aruba",1196],["australia",1197],["austria",1198],["azerbaijan",1199],["bahamas",1200],["bahrain",1201],["bangladesh",1202],["barbados",1203],["belarus",1204],["belgium",1205],["belize",1206],["benin",1207],["bermuda",1208],["bhutan",1209],["bolivia",1210],["caribbean_netherlands",1211],["bosnia_herzegovina",1212],["botswana",1213],["brazil",1214],["british_indian_ocean_territory",1215],["british_virgin_islands",1216],["brunei",1217],["bulgaria",1218],["burkina_faso",1219],["burundi",1220],["cape_verde",1221],["cambodia",1222],["cameroon",1223],["canada",1224],["canary_islands",1225],["cayman_islands",1226],["central_african_republic",1227],["chad",1228],["chile",1229],["cn",1230],["christmas_island",1231],["cocos_islands",1232],["colombia",1233],["comoros",1234],["congo_brazzaville",1235],["congo_kinshasa",1236],["cook_islands",1237],["costa_rica",1238],["cote_divoire",1239],["croatia",1240],["cuba",1241],["curacao",1242],["cyprus",1243],["czech_republic",1244],["denmark",1245],["djibouti",1246],["dominica",1247],["dominican_republic",1248],["ecuador",1249],["egypt",1250],["el_salvador",1251],["equatorial_guinea",1252],["eritrea",1253],["estonia",1254],["ethiopia",1255],["eu",1256],["european_union",1256],["falkland_islands",1257],["faroe_islands",1258],["fiji",1259],["finland",1260],["fr",1261],["french_guiana",1262],["french_polynesia",1263],["french_southern_territories",1264],["gabon",1265],["gambia",1266],["georgia",1267],["de",1268],["ghana",1269],["gibraltar",1270],["greece",1271],["greenland",1272],["grenada",1273],["guadeloupe",1274],["guam",1275],["guatemala",1276],["guernsey",1277],["guinea",1278],["guinea_bissau",1279],["guyana",1280],["haiti",1281],["honduras",1282],["hong_kong",1283],["hungary",1284],["iceland",1285],["india",1286],["indonesia",1287],["iran",1288],["iraq",1289],["ireland",1290],["isle_of_man",1291],["israel",1292],["it",1293],["jamaica",1294],["jp",1295],["crossed_flags",1296],["jersey",1297],["jordan",1298],["kazakhstan",1299],["kenya",1300],["kiribati",1301],["kosovo",1302],["kuwait",1303],["kyrgyzstan",1304],["laos",1305],["latvia",1306],["lebanon",1307],["lesotho",1308],["liberia",1309],["libya",1310],["liechtenstein",1311],["lithuania",1312],["luxembourg",1313],["macau",1314],["macedonia",1315],["madagascar",1316],["malawi",1317],["malaysia",1318],["maldives",1319],["mali",1320],["malta",1321],["marshall_islands",1322],["martinique",1323],["mauritania",1324],["mauritius",1325],["mayotte",1326],["mexico",1327],["micronesia",1328],["moldova",1329],["monaco",1330],["mongolia",1331],["montenegro",1332],["montserrat",1333],["morocco",1334],["mozambique",1335],["myanmar",1336],["namibia",1337],["nauru",1338],["nepal",1339],["netherlands",1340],["new_caledonia",1341],["new_zealand",1342],["nicaragua",1343],["niger",1344],["nigeria",1345],["niue",1346],["norfolk_island",1347],["northern_mariana_islands",1348],["north_korea",1349],["norway",1350],["oman",1351],["pakistan",1352],["palau",1353],["palestinian_territories",1354],["panama",1355],["papua_new_guinea",1356],["paraguay",1357],["peru",1358],["philippines",1359],["pitcairn_islands",1360],["poland",1361],["portugal",1362],["puerto_rico",1363],["qatar",1364],["reunion",1365],["romania",1366],["ru",1367],["rwanda",1368],["st_barthelemy",1369],["st_helena",1370],["st_kitts_nevis",1371],["st_lucia",1372],["st_pierre_miquelon",1373],["st_vincent_grenadines",1374],["samoa",1375],["san_marino",1376],["sao_tome_principe",1377],["saudi_arabia",1378],["senegal",1379],["serbia",1380],["seychelles",1381],["sierra_leone",1382],["singapore",1383],["sint_maarten",1384],["slovakia",1385],["slovenia",1386],["solomon_islands",1387],["somalia",1388],["south_africa",1389],["south_georgia_south_sandwich_islands",1390],["kr",1391],["south_sudan",1392],["es",1393],["sri_lanka",1394],["sudan",1395],["suriname",1396],["swaziland",1397],["sweden",1398],["switzerland",1399],["syria",1400],["taiwan",1401],["tajikistan",1402],["tanzania",1403],["thailand",1404],["timor_leste",1405],["togo",1406],["tokelau",1407],["tonga",1408],["trinidad_tobago",1409],["tunisia",1410],["tr",1411],["turkmenistan",1412],["turks_caicos_islands",1413],["tuvalu",1414],["uganda",1415],["ukraine",1416],["united_arab_emirates",1417],["gb",1418],["uk",1418],["us",1419],["us_virgin_islands",1420],["uruguay",1421],["uzbekistan",1422],["vanuatu",1423],["vatican_city",1424],["venezuela",1425],["vietnam",1426],["wallis_futuna",1427],["western_sahara",1428],["yemen",1429],["zambia",1430],["zimbabwe",1431],["bowtie",1432],["feelsgood",1433],["finnadie",1434],["goberserk",1435],["godmode",1436],["hurtrealbad",1437],["neckbeard",1438],["octocat",1439],["rage1",1440],["rage2",1441],["rage3",1442],["rage4",1443],["shipit",1444],["squirrel",1444],["suspect",1445],["trollface",1446],["mattermost",1447]]); @@ -33,3 +35,12 @@ export const BuiltInEmojis = [ 'trollface', 'mattermost', ]; + +export const getSystemEmojis = memoizeResult(() => { + const emojis = new Set(BuiltInEmojis); + for (const [key] of EmojiIndicesByAlias.entries()) { + emojis.add(key); + } + + return emojis; +}); diff --git a/package-lock.json b/package-lock.json index f18859e24..1229f4cab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4780,14 +4780,6 @@ "resolved": "https://registry.npmjs.org/@react-native-community/cameraroll/-/cameraroll-1.5.2.tgz", "integrity": "sha512-xrkrmcI5V8IzWoGQOqycs2YZRmGqASqZMDkjOzFFg6bCy95+OMquPnCmGdaUx1ONO1x6tsQSCv87xM/oL+9m/A==" }, - "@react-native-community/cli-debugger-ui": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.6.3.tgz", - "integrity": "sha512-5hnzGBP1eXmc1gOuKm9x5uyw9z5QE3C2pSz57eaV6dHjl9LKfeBXd9L+RqeG/uWi7buE4YyJwirvpufLREoyJg==", - "requires": { - "serve-static": "^1.13.1" - } - }, "@react-native-community/cli-platform-android": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-4.6.3.tgz", @@ -4988,11 +4980,6 @@ } } }, - "@react-native-community/cli-types": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-4.6.3.tgz", - "integrity": "sha512-76uXaqPV1m6zGmL+x/KGHfLZiVVbCvkI4KElnd1dVEsDrVVoAsJ0tvBad+GhHh/NtYU1VmtuJ/zcKnjWdVla1A==" - }, "@react-native-community/netinfo": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-4.4.0.tgz", @@ -6982,6 +6969,12 @@ } } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true + }, "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", @@ -9674,6 +9667,15 @@ "universalify": "^0.1.0" } }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -9739,12 +9741,6 @@ "concat-map": "0.0.1" } }, - "chownr": { - "version": "1.1.1", - "resolved": false, - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "optional": true - }, "code-point-at": { "version": "1.1.0", "resolved": false, @@ -9796,15 +9792,6 @@ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "optional": true }, - "fs-minipass": { - "version": "1.2.5", - "resolved": false, - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": false, @@ -9911,38 +9898,13 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "0.0.8", - "resolved": false, - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "optional": true - }, - "minipass": { - "version": "2.3.5", - "resolved": false, - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": false, - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, "mkdirp": { - "version": "0.5.1", - "resolved": false, - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "optional": true, "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "ms": { @@ -10086,9 +10048,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "optional": true } } @@ -10188,21 +10150,6 @@ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "optional": true }, - "tar": { - "version": "4.4.8", - "resolved": false, - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": false, @@ -10223,12 +10170,6 @@ "resolved": false, "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "optional": true - }, - "yallist": { - "version": "3.0.3", - "resolved": false, - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "optional": true } } }, @@ -10317,9 +10258,9 @@ "dev": true }, "fuse.js": { - "version": "5.0.10-beta", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-5.0.10-beta.tgz", - "integrity": "sha512-/tZI6BiF4zToF1neZxOIa5YmSw6j5+3yJW/agoYUZBiaxHJk/ANBxafYDS/60Tvo3JQM2u/ceRvOgBmRYkv70A==" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.6.1.tgz", + "integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==" }, "gensync": { "version": "1.0.0-beta.1", @@ -16839,20 +16780,12 @@ "dev": true }, "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } + "minimist": "^1.2.5" } }, "jsonfile": { @@ -17965,9 +17898,36 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "optional": true, + "requires": { + "minipass": "^2.9.0" + } }, "mixin-deep": { "version": "1.3.2", @@ -17989,11 +17949,11 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "mmjstool": { @@ -18594,9 +18554,9 @@ } }, "yargs": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.1.0.tgz", - "integrity": "sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg==", + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -18609,13 +18569,13 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^16.1.0" + "yargs-parser": "^18.1.1" } }, "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -19589,9 +19549,9 @@ }, "dependencies": { "@jest/types": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.3.0.tgz", - "integrity": "sha512-UkaDNewdqXAmCDbN2GlUM6amDKS78eCqiw/UmF5nE0mmLTd6moJkiZJML/X52Ke3LH7Swhw883IRXq8o9nWjVw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", @@ -19600,14 +19560,14 @@ } }, "@react-native-community/cli": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-4.6.3.tgz", - "integrity": "sha512-MqOvUyKfspzA/uUSQELouYDkS4hbqaCWG/Nc13/k+vwQnXjq2sJlVKZCrctV4IY33oKMr/S0LwyZiiiwhQ8GMg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-4.8.0.tgz", + "integrity": "sha512-z4qHfxtoTxKhQ0V9B02a82IxBkEBH5FfKnaJn9WL5Tf4SmE91ER8ZNVEWNr97S4TCFVYDrpM7iKnrYpNi/ciYQ==", "requires": { "@hapi/joi": "^15.0.3", - "@react-native-community/cli-debugger-ui": "^4.6.3", - "@react-native-community/cli-tools": "^4.6.3", - "@react-native-community/cli-types": "^4.6.3", + "@react-native-community/cli-debugger-ui": "^4.8.0", + "@react-native-community/cli-tools": "^4.8.0", + "@react-native-community/cli-types": "^4.8.0", "chalk": "^3.0.0", "command-exists": "^1.2.8", "commander": "^2.19.0", @@ -19644,17 +19604,43 @@ "ws": "^1.1.0" }, "dependencies": { + "@react-native-community/cli-debugger-ui": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.8.0.tgz", + "integrity": "sha512-Eq9lHINDXiBAwmFRCMN8jeKk6FTDnTxAfITkjPUNNTj7q3K+fH/oyOMJjxbIZbryIJY6g+g/ln6vsS2WzISNYQ==", + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-tools": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-4.8.0.tgz", + "integrity": "sha512-voXGruhYyyhCbEYM2uZ54dMZcBgXFFcQxVK3nLwJDG9nSQGObZInj9Zf76ix5qGnvKKGWIGUcbmRhyLpAzTXuQ==", + "requires": { + "chalk": "^3.0.0", + "lodash": "^4.17.15", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "shell-quote": "1.6.1" + } + }, + "@react-native-community/cli-types": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-4.8.0.tgz", + "integrity": "sha512-gkjQdmzskQJdddVNRBATa7rWMbamD2j4B7w9shbg20tIBYoh/tgHdkgiLqZQSfBKa8HqrAkeCJTYaT1oV4oReQ==" + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "pretty-format": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.3.0.tgz", - "integrity": "sha512-wToHwF8bkQknIcFkBqNfKu4+UZqnrLn/Vr+wwKQwwvPzkBfDDKp/qIabFqdgtoi5PEnM8LFByVsOrHoa3SpTVA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.5.0", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -19828,10 +19814,10 @@ "p-locate": "^4.1.0" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "mime": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", + "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==" }, "p-locate": { "version": "4.1.0", @@ -21957,6 +21943,29 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } + }, "temp": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", @@ -22184,9 +22193,9 @@ } }, "ts-jest": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.2.1.tgz", - "integrity": "sha512-TnntkEEjuXq/Gxpw7xToarmHbAafgCaAzOpnajnFC6jI7oo1trMzAHA04eWpc3MhV6+yvhE8uUBAmN+teRJh0A==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.0.tgz", + "integrity": "sha512-govrjbOk1UEzcJ5cX5k8X8IUtFuP3lp3mrF3ZuKtCdAOQzdeCM7qualhb/U8s8SWFwEDutOqfF5PLkJ+oaYD4w==", "dev": true, "requires": { "bs-logger": "0.x", @@ -22195,22 +22204,65 @@ "json5": "2.x", "lodash.memoize": "4.x", "make-error": "1.x", + "micromatch": "4.x", "mkdirp": "0.x", - "resolve": "1.x", - "semver": "^5.5", - "yargs-parser": "^16.1.0" + "semver": "6.x", + "yargs-parser": "18.x" }, "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", diff --git a/package.json b/package.json index b6019e890..333a4ef4d 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "deepmerge": "4.2.2", "emoji-regex": "8.0.0", "form-data": "3.0.0", - "fuse.js": "5.0.10-beta", + "fuse.js": "3.6.1", "intl": "1.2.5", "jail-monkey": "2.3.2", "mime-db": "1.43.0", @@ -116,8 +116,8 @@ "eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#070ce792d105482ffb2b27cfc0b7e78b3d20acee", "eslint-plugin-react": "7.19.0", "harmony-reflect": "1.6.1", - "isomorphic-fetch": "2.2.1", "husky": "4.2.3", + "isomorphic-fetch": "2.2.1", "jest": "25.2.3", "jest-cli": "25.2.3", "jest-enzyme": "7.1.2", @@ -135,7 +135,7 @@ "redux-mock-store": "1.5.4", "redux-persist-node-storage": "2.0.0", "socketcluster": "16.0.1", - "ts-jest": "25.2.1", + "ts-jest": "25.5.0", "typescript": "3.8.3", "underscore": "1.9.2", "util": "0.12.2"